From 384df0ccb4a5324da6daee8f18712ef5a81fa05a Mon Sep 17 00:00:00 2001
From: Dmytro Kirpa <dmytrokirpa@microsoft.com>
Date: Tue, 7 Jan 2025 14:52:33 +0100
Subject: [PATCH 01/78] feat(eslint-plugin-react-components): add
 prefer-fluentui-v9 rule (#33449)

---
 ...-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json |   7 +
 .../.eslintrc.json                            |  10 +-
 .../eslint-plugin-react-components/README.md  |  29 +++-
 .../etc/eslint-plugin-react-components.api.md |  10 +-
 .../src/index.ts                              |   7 +-
 .../src/rules/prefer-fluentui-v9.spec.ts      |  40 +++++
 .../src/rules/prefer-fluentui-v9.ts           | 148 ++++++++++++++++++
 .../src/rules/utils/create-rule.ts            |   9 ++
 .../tsconfig.spec.json                        |   3 +-
 9 files changed, 251 insertions(+), 12 deletions(-)
 create mode 100644 change/@fluentui-eslint-plugin-react-components-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json
 create mode 100644 packages/react-components/eslint-plugin-react-components/src/rules/prefer-fluentui-v9.spec.ts
 create mode 100644 packages/react-components/eslint-plugin-react-components/src/rules/prefer-fluentui-v9.ts
 create mode 100644 packages/react-components/eslint-plugin-react-components/src/rules/utils/create-rule.ts

diff --git a/change/@fluentui-eslint-plugin-react-components-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json b/change/@fluentui-eslint-plugin-react-components-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json
new file mode 100644
index 00000000000000..5459e40ce0c429
--- /dev/null
+++ b/change/@fluentui-eslint-plugin-react-components-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "feat: add prefer-fluentui-v9 rule",
+  "packageName": "@fluentui/eslint-plugin-react-components",
+  "email": "dmytrokirpa@microsoft.com",
+  "dependentChangeType": "none"
+}
diff --git a/packages/react-components/eslint-plugin-react-components/.eslintrc.json b/packages/react-components/eslint-plugin-react-components/.eslintrc.json
index 63b4e8d8a8963a..700ea69cb4542d 100644
--- a/packages/react-components/eslint-plugin-react-components/.eslintrc.json
+++ b/packages/react-components/eslint-plugin-react-components/.eslintrc.json
@@ -1,5 +1,13 @@
 {
   "extends": ["plugin:@fluentui/eslint-plugin/node", "plugin:eslint-plugin/recommended"],
   "plugins": ["eslint-plugin"],
-  "root": true
+  "root": true,
+  "overrides": [
+    {
+      "files": ["src/rules/*.ts"],
+      "rules": {
+        "@typescript-eslint/naming-convention": "off"
+      }
+    }
+  ]
 }
diff --git a/packages/react-components/eslint-plugin-react-components/README.md b/packages/react-components/eslint-plugin-react-components/README.md
index 5da83b63a80507..0b22544de65533 100644
--- a/packages/react-components/eslint-plugin-react-components/README.md
+++ b/packages/react-components/eslint-plugin-react-components/README.md
@@ -40,21 +40,42 @@ module.exports = {
 };
 ```
 
-1. Or configure individual rules manually:
+2. Or configure individual rules manually:
 
 ```js
 module.exports = {
   plugins: ['@fluentui/react-components'],
   rules: {
-    '@fluentui/react-components/rule-name-1': 'error',
-    '@fluentui/react-components/rule-name-2': 'warn',
+    '@fluentui/react-components/prefer-fluentui-v9': 'warn',
   },
 };
 ```
 
 ## Available Rules
 
-TBD
+### prefer-fluentui-v9
+
+This rule ensures the use of Fluent UI v9 counterparts for Fluent UI v8 components.
+
+#### Examples
+
+**✅ Do**
+
+```js
+// Import and use components that have been already migrated to Fluent UI v9
+import { Button } from '@fluentui/react-components';
+
+const Component = () => <Button>...</Button>;
+```
+
+**❌ Don't**
+
+```js
+// Avoid importing and using Fluent UI V8 components that have already been migrated to Fluent UI V9.
+import { DefaultButton } from '@fluentui/react';
+
+const Component = () => <DefaultButton>...</DefaultButton>;
+```
 
 ## License
 
diff --git a/packages/react-components/eslint-plugin-react-components/etc/eslint-plugin-react-components.api.md b/packages/react-components/eslint-plugin-react-components/etc/eslint-plugin-react-components.api.md
index ebe584c246463f..d4416ee6720ef5 100644
--- a/packages/react-components/eslint-plugin-react-components/etc/eslint-plugin-react-components.api.md
+++ b/packages/react-components/eslint-plugin-react-components/etc/eslint-plugin-react-components.api.md
@@ -4,8 +4,11 @@
 
 ```ts
 
+import { RuleListener } from '@typescript-eslint/utils/dist/ts-eslint';
+import { RuleModule } from '@typescript-eslint/utils/dist/ts-eslint';
+
 // @public (undocumented)
-const plugin: {
+export const plugin: {
     meta: {
         name: string;
         version: string;
@@ -16,9 +19,10 @@ const plugin: {
             rules: {};
         };
     };
-    rules: {};
+    rules: {
+        "prefer-fluentui-v9": RuleModule<"replaceFluent8With9" | "replaceIconWithJsx" | "replaceStackWithFlex" | "replaceFocusZoneWithTabster", {}[], unknown, RuleListener>;
+    };
 };
-export default plugin;
 
 // (No @packageDocumentation comment for this package)
 
diff --git a/packages/react-components/eslint-plugin-react-components/src/index.ts b/packages/react-components/eslint-plugin-react-components/src/index.ts
index 821e8d8738ab9e..e3ed57c99b71fd 100644
--- a/packages/react-components/eslint-plugin-react-components/src/index.ts
+++ b/packages/react-components/eslint-plugin-react-components/src/index.ts
@@ -1,7 +1,8 @@
 import { name, version } from '../package.json';
+import { RULE_NAME as preferFluentUIV9Name, rule as preferFluentUIV9 } from './rules/prefer-fluentui-v9';
 
 const allRules = {
-  // add all rules here
+  [preferFluentUIV9Name]: preferFluentUIV9,
 };
 
 const configs = {
@@ -14,7 +15,7 @@ const configs = {
 };
 
 // Plugin definition
-const plugin = {
+export const plugin = {
   meta: {
     name,
     version,
@@ -33,4 +34,4 @@ Object.assign(configs, {
   },
 });
 
-export default plugin;
+module.exports = plugin;
diff --git a/packages/react-components/eslint-plugin-react-components/src/rules/prefer-fluentui-v9.spec.ts b/packages/react-components/eslint-plugin-react-components/src/rules/prefer-fluentui-v9.spec.ts
new file mode 100644
index 00000000000000..22f79c07d8055a
--- /dev/null
+++ b/packages/react-components/eslint-plugin-react-components/src/rules/prefer-fluentui-v9.spec.ts
@@ -0,0 +1,40 @@
+import { RuleTester } from '@typescript-eslint/rule-tester';
+import { RULE_NAME, rule } from './prefer-fluentui-v9';
+
+const ruleTester = new RuleTester();
+
+ruleTester.run(RULE_NAME, rule, {
+  valid: [
+    {
+      code: `import type { IDropdownOption } from '@fluentui/react';`,
+    },
+    {
+      code: `import type { ITheme } from '@fluentui/react';`,
+    },
+    {
+      code: `import { ThemeProvider } from '@fluentui/react';`,
+    },
+    {
+      code: `import { Button } from '@fluentui/react-components';`,
+    },
+  ],
+  invalid: [
+    {
+      code: `import { Dropdown, Icon } from '@fluentui/react';`,
+      errors: [{ messageId: 'replaceFluent8With9' }, { messageId: 'replaceIconWithJsx' }],
+    },
+    {
+      code: `import { Stack } from '@fluentui/react';`,
+      errors: [{ messageId: 'replaceStackWithFlex' }],
+    },
+    {
+      code: `import { DatePicker } from '@fluentui/react';`,
+      errors: [
+        {
+          messageId: 'replaceFluent8With9',
+          data: { fluent8: 'DatePicker', fluent9: 'DatePicker', package: '@fluentui/react-datepicker-compat' },
+        },
+      ],
+    },
+  ],
+});
diff --git a/packages/react-components/eslint-plugin-react-components/src/rules/prefer-fluentui-v9.ts b/packages/react-components/eslint-plugin-react-components/src/rules/prefer-fluentui-v9.ts
new file mode 100644
index 00000000000000..bf43866a6e90dd
--- /dev/null
+++ b/packages/react-components/eslint-plugin-react-components/src/rules/prefer-fluentui-v9.ts
@@ -0,0 +1,148 @@
+import { AST_NODE_TYPES } from '@typescript-eslint/utils';
+
+import { createRule } from './utils/create-rule';
+
+export const RULE_NAME = 'prefer-fluentui-v9';
+
+type Options = Array<{}>;
+
+type MessageIds = 'replaceFluent8With9' | 'replaceIconWithJsx' | 'replaceStackWithFlex' | 'replaceFocusZoneWithTabster';
+
+export const rule = createRule<Options, MessageIds>({
+  name: RULE_NAME,
+  meta: {
+    type: 'problem',
+    docs: {
+      description: 'This rule ensures the use of Fluent UI v9 counterparts for Fluent UI v8 components.',
+    },
+    schema: [],
+    messages: {
+      replaceFluent8With9: `Avoid importing {{ fluent8 }} from '@fluentui/react', as this package has started migration to Fluent UI 9. Import {{ fluent9 }} from '{{ package }}' instead.`,
+      replaceIconWithJsx: `Avoid using Icon from '@fluentui/react', as this package has already migrated to Fluent UI 9. Use a JSX SVG icon from '@fluentui/react-icons' instead.`,
+      replaceStackWithFlex: `Avoid using Stack from '@fluentui/react', as this package has already migrated to Fluent UI 9. Use native CSS flexbox instead. More details are available at https://react.fluentui.dev/?path=/docs/concepts-migration-from-v8-components-flex-stack--docs`,
+      replaceFocusZoneWithTabster: `Avoid using {{ fluent8 }} from '@fluentui/react', as this package has already migrated to Fluent UI 9. Use the equivalent [Tabster](https://tabster.io/) hook instead.`,
+    },
+  },
+  defaultOptions: [],
+  create(context) {
+    return {
+      ImportDeclaration(node) {
+        if (node.source.value !== '@fluentui/react') {
+          return;
+        }
+
+        for (const specifier of node.specifiers) {
+          if (
+            specifier.type === AST_NODE_TYPES.ImportSpecifier &&
+            specifier.imported.type === AST_NODE_TYPES.Identifier
+          ) {
+            const name = specifier.imported.name;
+
+            switch (name) {
+              case 'Icon':
+                context.report({ node, messageId: 'replaceIconWithJsx' });
+                break;
+              case 'Stack':
+                context.report({ node, messageId: 'replaceStackWithFlex' });
+                break;
+              case 'FocusTrapZone':
+              case 'FocusZone':
+                context.report({ node, messageId: 'replaceFocusZoneWithTabster', data: { fluent8: name } });
+                break;
+              default:
+                if (isMigration(name)) {
+                  const migration = MIGRATIONS[name];
+
+                  context.report({
+                    node,
+                    messageId: 'replaceFluent8With9',
+                    data: {
+                      fluent8: name,
+                      fluent9: migration.import,
+                      package: migration.package,
+                    },
+                  });
+                }
+            }
+          }
+        }
+      },
+    };
+  },
+});
+
+/**
+ * Migrations from Fluent 8 components to Fluent 9 components.
+ * @see https://react.fluentui.dev/?path=/docs/concepts-migration-from-v8-component-mapping--docs
+ */
+const MIGRATIONS = {
+  makeStyles: { import: 'makeStyles', package: '@fluentui/react-components' },
+  ActionButton: { import: 'Button', package: '@fluentui/react-components' },
+  Announced: { import: 'useAnnounce', package: '@fluentui/react-components' },
+  Breadcrumb: { import: 'Breadcrumb', package: '@fluentui/react-components' },
+  Button: { import: 'Button', package: '@fluentui/react-components' },
+  Callout: { import: 'Popover', package: '@fluentui/react-components' },
+  Calendar: { import: 'Calendar', package: '@fluentui/react-calendar-compat' },
+  CommandBar: { import: 'Toolbar', package: '@fluentui/react-components' },
+  CommandBarButton: { import: 'Toolbar', package: '@fluentui/react-components' },
+  CommandButton: { import: 'MenuButton', package: '@fluentui/react-components' },
+  CompoundButton: { import: 'CompoundButton', package: '@fluentui/react-components' },
+  Checkbox: { import: 'Checkbox', package: '@fluentui/react-components' },
+  ChoiceGroup: { import: 'RadioGroup', package: '@fluentui/react-components' },
+  Coachmark: { import: 'TeachingPopover', package: '@fluentui/react-components' },
+  ComboBox: { import: 'Combobox', package: '@fluentui/react-components' },
+  ContextualMenu: { import: 'Menu', package: '@fluentui/react-components' },
+  DefaultButton: { import: 'Button', package: '@fluentui/react-components' },
+  DatePicker: { import: 'DatePicker', package: '@fluentui/react-datepicker-compat' },
+  DetailsList: { import: 'DataGrid', package: '@fluentui/react-components' },
+  Dialog: { import: 'Dialog', package: '@fluentui/react-components' },
+  DocumentCard: { import: 'Card', package: '@fluentui/react-components' },
+  Dropdown: { import: 'Dropdown', package: '@fluentui/react-components' },
+  Fabric: { import: 'FluentProvider', package: '@fluentui/react-components' },
+  Facepile: { import: 'AvatarGroup', package: '@fluentui/react-components' },
+  FocusTrapZone: { import: 'Tabster', package: '@fluentui/react-components' },
+  FocusZone: { import: 'Tabster', package: '@fluentui/react-components' },
+  GroupedList: { import: 'Tree', package: '@fluentui/react-components' },
+  HoverCard: { import: 'Popover', package: '@fluentui/react-components' }, // Not a direct equivalent; but could be used with custom behavior.
+  IconButton: { import: 'Button', package: '@fluentui/react-components' },
+  Image: { import: 'Image', package: '@fluentui/react-components' },
+  Keytips: { import: 'Keytips', package: '@fluentui-contrib/react-keytips' },
+  Label: { import: 'Label', package: '@fluentui/react-components' },
+  Layer: { import: 'Portal', package: '@fluentui/react-components' },
+  Link: { import: 'Link', package: '@fluentui/react-components' },
+  MessageBar: { import: 'MessageBar', package: '@fluentui/react-components' },
+  Modal: { import: 'Dialog', package: '@fluentui/react-components' },
+  OverflowSet: { import: 'Overflow', package: '@fluentui/react-components' },
+  Overlay: { import: 'Portal', package: '@fluentui/react-components' },
+  Panel: { import: 'Drawer', package: '@fluentui/react-components' },
+  PeoplePicker: { import: 'TagPicker', package: '@fluentui/react-components' },
+  Persona: { import: 'Persona', package: '@fluentui/react-components' },
+  Pivot: { import: 'TabList', package: '@fluentui/react-components' },
+  PivotItem: { import: 'Tab', package: '@fluentui/react-components' },
+  ProgressIndicator: { import: 'ProgressBar', package: '@fluentui/react-components' },
+  Rating: { import: 'Rating', package: '@fluentui/react-components' },
+  SearchBox: { import: 'SearchBox', package: '@fluentui/react-components' },
+  Separator: { import: 'Divider', package: '@fluentui/react-components' },
+  Shimmer: { import: 'Skeleton', package: '@fluentui/react-components' },
+  Slider: { import: 'Slider', package: '@fluentui/react-components' },
+  SplitButton: { import: 'SplitButton', package: '@fluentui/react-components' },
+  SpinButton: { import: 'SpinButton', package: '@fluentui/react-components' },
+  Spinner: { import: 'Spinner', package: '@fluentui/react-components' },
+  Stack: { import: 'StackShim', package: '@fluentui/react-components' },
+  SwatchColorPicker: { import: 'SwatchPicker', package: '@fluentui/react-components' },
+  TagPicker: { import: 'TagPicker', package: '@fluentui/react-components' },
+  TeachingBubble: { import: 'TeachingPopover', package: '@fluentui/react-components' },
+  Text: { import: 'Text', package: '@fluentui/react-components' },
+  TextField: { import: 'Input', package: '@fluentui/react-components' },
+  TimePicker: { import: 'TimePicker', package: '@fluentui/react-timepicker-compat' },
+  ToggleButton: { import: 'ToggleButton', package: '@fluentui/react-components' },
+  Toggle: { import: 'Switch', package: '@fluentui/react-components' },
+  Tooltip: { import: 'Tooltip', package: '@fluentui/react-components' },
+};
+
+/**
+ * Checks if a component name is in the MIGRATIONS list.
+ * @param name - The name of the component.
+ * @returns True if the component is in the MIGRATIONS list, false otherwise.
+ */
+const isMigration = (name: string): name is keyof typeof MIGRATIONS => name in MIGRATIONS;
diff --git a/packages/react-components/eslint-plugin-react-components/src/rules/utils/create-rule.ts b/packages/react-components/eslint-plugin-react-components/src/rules/utils/create-rule.ts
new file mode 100644
index 00000000000000..0365797e179f62
--- /dev/null
+++ b/packages/react-components/eslint-plugin-react-components/src/rules/utils/create-rule.ts
@@ -0,0 +1,9 @@
+import { ESLintUtils } from '@typescript-eslint/utils';
+
+/**
+ * Creates an ESLint rule with a pre-configured URL pointing to the rule's documentation.
+ */
+export const createRule = ESLintUtils.RuleCreator(
+  name =>
+    `https://github.com/microsoft/fluentui/blob/master/packages/react-components/eslint-plugin-react-components/README.md#${name}`,
+);
diff --git a/packages/react-components/eslint-plugin-react-components/tsconfig.spec.json b/packages/react-components/eslint-plugin-react-components/tsconfig.spec.json
index 469fcba4d7ba75..18aba1c9375371 100644
--- a/packages/react-components/eslint-plugin-react-components/tsconfig.spec.json
+++ b/packages/react-components/eslint-plugin-react-components/tsconfig.spec.json
@@ -1,7 +1,8 @@
 {
   "extends": "./tsconfig.json",
   "compilerOptions": {
-    "module": "CommonJS",
+    "module": "NodeNext",
+    "moduleResolution": "NodeNext",
     "outDir": "dist",
     "types": ["jest", "node"]
   },

From 8f763922d713d9ccd35e65db07206c10b170fafd Mon Sep 17 00:00:00 2001
From: Makoto Morimoto <Humberto.Morimoto@microsoft.com>
Date: Tue, 7 Jan 2025 12:14:01 -0800
Subject: [PATCH 02/78] chore: Adding key to inner slot in Stack component
 (#33578)

---
 ...luentui-react-94a6046f-d21a-4386-9830-79921b5d4337.json | 7 +++++++
 packages/react/src/components/Stack/Stack.tsx              | 5 ++++-
 .../__snapshots__/TeachingBubble.deprecated.test.tsx.snap  | 4 ++--
 .../__snapshots__/TeachingBubble.test.tsx.snap             | 4 ++--
 4 files changed, 15 insertions(+), 5 deletions(-)
 create mode 100644 change/@fluentui-react-94a6046f-d21a-4386-9830-79921b5d4337.json

diff --git a/change/@fluentui-react-94a6046f-d21a-4386-9830-79921b5d4337.json b/change/@fluentui-react-94a6046f-d21a-4386-9830-79921b5d4337.json
new file mode 100644
index 00000000000000..fe47255a1a8393
--- /dev/null
+++ b/change/@fluentui-react-94a6046f-d21a-4386-9830-79921b5d4337.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "chore: Adding key to inner slot in Stack component.",
+  "packageName": "@fluentui/react",
+  "email": "Humberto.Morimoto@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react/src/components/Stack/Stack.tsx b/packages/react/src/components/Stack/Stack.tsx
index 3caa6aa3d37fb7..259f45c7a26fce 100644
--- a/packages/react/src/components/Stack/Stack.tsx
+++ b/packages/react/src/components/Stack/Stack.tsx
@@ -2,6 +2,7 @@
 /** @jsx withSlots */
 import * as React from 'react';
 import { withSlots, createComponent, getSlots } from '@fluentui/foundation-legacy';
+import { useId } from '@fluentui/react-hooks';
 import { css, getNativeProps, htmlElementProperties, warnDeprecations } from '../../Utilities';
 import { styles, GlobalClassNames as StackGlobalClassNames } from './Stack.styles';
 import { StackItem } from './StackItem/StackItem';
@@ -26,6 +27,8 @@ const StackView: IStackComponent['view'] = props => {
     padding: 'tokens.padding',
   });
 
+  const stackInnerId = useId('stack-inner');
+
   const stackChildren = _processStackChildren(props.children, {
     disableShrink,
     enableScopedSelectors,
@@ -42,7 +45,7 @@ const StackView: IStackComponent['view'] = props => {
   if (wrap) {
     return (
       <Slots.root {...nativeProps}>
-        <Slots.inner>{stackChildren}</Slots.inner>
+        <Slots.inner key={stackInnerId}>{stackChildren}</Slots.inner>
       </Slots.root>
     );
   }
diff --git a/packages/react/src/components/TeachingBubble/__snapshots__/TeachingBubble.deprecated.test.tsx.snap b/packages/react/src/components/TeachingBubble/__snapshots__/TeachingBubble.deprecated.test.tsx.snap
index 538429c8d9bda9..1cadc860cd9c60 100644
--- a/packages/react/src/components/TeachingBubble/__snapshots__/TeachingBubble.deprecated.test.tsx.snap
+++ b/packages/react/src/components/TeachingBubble/__snapshots__/TeachingBubble.deprecated.test.tsx.snap
@@ -326,7 +326,7 @@ exports[`TeachingBubble renders renders with hasCloseIcon which is deprecated 1`
                         margin-right: 4px;
                         margin-top: 0;
                       }
-                  id="id__3"
+                  id="id__4"
                 >
                   Test Primary Button
                 </span>
@@ -481,7 +481,7 @@ exports[`TeachingBubble renders renders with hasCloseIcon which is deprecated 1`
                         margin-right: 4px;
                         margin-top: 0;
                       }
-                  id="id__6"
+                  id="id__7"
                 >
                   Test Secondary Button
                 </span>
diff --git a/packages/react/src/components/TeachingBubble/__snapshots__/TeachingBubble.test.tsx.snap b/packages/react/src/components/TeachingBubble/__snapshots__/TeachingBubble.test.tsx.snap
index 9fd15c657e6be6..15cbda84535c98 100644
--- a/packages/react/src/components/TeachingBubble/__snapshots__/TeachingBubble.test.tsx.snap
+++ b/packages/react/src/components/TeachingBubble/__snapshots__/TeachingBubble.test.tsx.snap
@@ -610,7 +610,7 @@ exports[`TeachingBubble renders TeachingBubbleContent with buttons correctly 1`]
                         margin-right: 4px;
                         margin-top: 0;
                       }
-                  id="id__3"
+                  id="id__4"
                 >
                   Test Primary Button
                 </span>
@@ -765,7 +765,7 @@ exports[`TeachingBubble renders TeachingBubbleContent with buttons correctly 1`]
                         margin-right: 4px;
                         margin-top: 0;
                       }
-                  id="id__6"
+                  id="id__7"
                 >
                   Test Secondary Button
                 </span>

From 60b2d9cd2d0ea61cc331abf47ef196e1b9f81f75 Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Wed, 8 Jan 2025 07:21:56 +0000
Subject: [PATCH 03/78] release: applying package updates - react v8

---
 ...-94a6046f-d21a-4386-9830-79921b5d4337.json |  7 -------
 packages/azure-themes/CHANGELOG.json          | 15 +++++++++++++
 packages/azure-themes/CHANGELOG.md            | 11 +++++++++-
 packages/azure-themes/package.json            |  4 ++--
 packages/charts/react-charting/CHANGELOG.json | 21 +++++++++++++++++++
 packages/charts/react-charting/CHANGELOG.md   | 12 ++++++++++-
 packages/charts/react-charting/package.json   |  6 +++---
 packages/cra-template/package.json            |  2 +-
 packages/fluent2-theme/CHANGELOG.json         | 15 +++++++++++++
 packages/fluent2-theme/CHANGELOG.md           | 11 +++++++++-
 packages/fluent2-theme/package.json           |  4 ++--
 packages/react-cards/CHANGELOG.json           | 15 +++++++++++++
 packages/react-cards/CHANGELOG.md             | 11 +++++++++-
 packages/react-cards/package.json             |  4 ++--
 .../library/package.json                      |  4 ++--
 packages/react-date-time/CHANGELOG.json       | 15 +++++++++++++
 packages/react-date-time/CHANGELOG.md         | 11 +++++++++-
 packages/react-date-time/package.json         |  4 ++--
 .../react-docsite-components/CHANGELOG.json   | 21 +++++++++++++++++++
 .../react-docsite-components/CHANGELOG.md     | 12 ++++++++++-
 .../react-docsite-components/package.json     |  6 +++---
 packages/react-examples/package.json          | 14 ++++++-------
 packages/react-experiments/CHANGELOG.json     | 15 +++++++++++++
 packages/react-experiments/CHANGELOG.md       | 11 +++++++++-
 packages/react-experiments/package.json       |  4 ++--
 packages/react-monaco-editor/CHANGELOG.json   | 21 +++++++++++++++++++
 packages/react-monaco-editor/CHANGELOG.md     | 12 ++++++++++-
 packages/react-monaco-editor/package.json     |  6 +++---
 packages/react/CHANGELOG.json                 | 15 +++++++++++++
 packages/react/CHANGELOG.md                   | 11 +++++++++-
 packages/react/package.json                   |  2 +-
 packages/storybook/package.json               |  6 +++---
 packages/theme-samples/CHANGELOG.json         | 15 +++++++++++++
 packages/theme-samples/CHANGELOG.md           | 11 +++++++++-
 packages/theme-samples/package.json           |  4 ++--
 35 files changed, 306 insertions(+), 52 deletions(-)
 delete mode 100644 change/@fluentui-react-94a6046f-d21a-4386-9830-79921b5d4337.json

diff --git a/change/@fluentui-react-94a6046f-d21a-4386-9830-79921b5d4337.json b/change/@fluentui-react-94a6046f-d21a-4386-9830-79921b5d4337.json
deleted file mode 100644
index fe47255a1a8393..00000000000000
--- a/change/@fluentui-react-94a6046f-d21a-4386-9830-79921b5d4337.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "chore: Adding key to inner slot in Stack component.",
-  "packageName": "@fluentui/react",
-  "email": "Humberto.Morimoto@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/packages/azure-themes/CHANGELOG.json b/packages/azure-themes/CHANGELOG.json
index 43392ea44f3ada..d805638349bb4e 100644
--- a/packages/azure-themes/CHANGELOG.json
+++ b/packages/azure-themes/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/azure-themes",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/azure-themes_v8.6.118",
+      "version": "8.6.118",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/azure-themes",
+            "comment": "Bump @fluentui/react to v8.122.5",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 03 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/azure-themes_v8.6.117",
diff --git a/packages/azure-themes/CHANGELOG.md b/packages/azure-themes/CHANGELOG.md
index c68c4e0e6ca104..6d33570bd6959c 100644
--- a/packages/azure-themes/CHANGELOG.md
+++ b/packages/azure-themes/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/azure-themes
 
-This log was last generated on Fri, 03 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.6.118](https://github.com/microsoft/fluentui/tree/@fluentui/azure-themes_v8.6.118)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/azure-themes_v8.6.117..@fluentui/azure-themes_v8.6.118)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.5 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+
 ## [8.6.117](https://github.com/microsoft/fluentui/tree/@fluentui/azure-themes_v8.6.117)
 
 Fri, 03 Jan 2025 07:21:32 GMT 
diff --git a/packages/azure-themes/package.json b/packages/azure-themes/package.json
index 56290726705740..84b147bb49e9cc 100644
--- a/packages/azure-themes/package.json
+++ b/packages/azure-themes/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/azure-themes",
-  "version": "8.6.117",
+  "version": "8.6.118",
   "description": "Azure themes for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   }
diff --git a/packages/charts/react-charting/CHANGELOG.json b/packages/charts/react-charting/CHANGELOG.json
index 7f4d219e1bc5b8..e5ceb86a70036d 100644
--- a/packages/charts/react-charting/CHANGELOG.json
+++ b/packages/charts/react-charting/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-charting",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/react-charting_v5.23.39",
+      "version": "5.23.39",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charting",
+            "comment": "Bump @fluentui/theme-samples to v8.7.194",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charting",
+            "comment": "Bump @fluentui/react to v8.122.5",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 06 Jan 2025 07:16:33 GMT",
       "tag": "@fluentui/react-charting_v5.23.38",
diff --git a/packages/charts/react-charting/CHANGELOG.md b/packages/charts/react-charting/CHANGELOG.md
index 1a31a12f7e1668..9660401028e9d1 100644
--- a/packages/charts/react-charting/CHANGELOG.md
+++ b/packages/charts/react-charting/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-charting
 
-This log was last generated on Mon, 06 Jan 2025 07:16:33 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [5.23.39](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.39)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charting_v5.23.38..@fluentui/react-charting_v5.23.39)
+
+### Patches
+
+- Bump @fluentui/theme-samples to v8.7.194 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+- Bump @fluentui/react to v8.122.5 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+
 ## [5.23.38](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.38)
 
 Mon, 06 Jan 2025 07:16:33 GMT 
diff --git a/packages/charts/react-charting/package.json b/packages/charts/react-charting/package.json
index abe45679da3c3e..f0c8be40c0d649 100644
--- a/packages/charts/react-charting/package.json
+++ b/packages/charts/react-charting/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-charting",
-  "version": "5.23.38",
+  "version": "5.23.39",
   "description": "React web charting controls for Microsoft fluentui system.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -40,7 +40,7 @@
   },
   "dependencies": {
     "@fluentui/react-focus": "^8.9.20",
-    "@fluentui/theme-samples": "^8.7.193",
+    "@fluentui/theme-samples": "^8.7.194",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@types/d3-array": "^3.0.0",
     "@types/d3-axis": "^3.0.0",
@@ -66,7 +66,7 @@
     "tslib": "^2.1.0"
   },
   "peerDependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@types/react": ">=16.8.0 <19.0.0",
     "@types/react-dom": ">=16.8.0 <19.0.0",
     "react": ">=16.8.0 <19.0.0",
diff --git a/packages/cra-template/package.json b/packages/cra-template/package.json
index f1f5b95012939e..4b7d2b9b1a85d3 100644
--- a/packages/cra-template/package.json
+++ b/packages/cra-template/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/cra-template",
-  "version": "8.4.194",
+  "version": "8.4.195",
   "description": "Create React App template for Fluent UI React (@fluentui/react)",
   "repository": {
     "type": "git",
diff --git a/packages/fluent2-theme/CHANGELOG.json b/packages/fluent2-theme/CHANGELOG.json
index 8db818dd7af00c..c98ffb340e50a4 100644
--- a/packages/fluent2-theme/CHANGELOG.json
+++ b/packages/fluent2-theme/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/fluent2-theme",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/fluent2-theme_v8.107.122",
+      "version": "8.107.122",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/fluent2-theme",
+            "comment": "Bump @fluentui/react to v8.122.5",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 03 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/fluent2-theme_v8.107.121",
diff --git a/packages/fluent2-theme/CHANGELOG.md b/packages/fluent2-theme/CHANGELOG.md
index b2177427f6ca44..20c6586e7c4892 100644
--- a/packages/fluent2-theme/CHANGELOG.md
+++ b/packages/fluent2-theme/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/fluent2-theme
 
-This log was last generated on Fri, 03 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.107.122](https://github.com/microsoft/fluentui/tree/@fluentui/fluent2-theme_v8.107.122)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/fluent2-theme_v8.107.121..@fluentui/fluent2-theme_v8.107.122)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.5 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+
 ## [8.107.121](https://github.com/microsoft/fluentui/tree/@fluentui/fluent2-theme_v8.107.121)
 
 Fri, 03 Jan 2025 07:21:32 GMT 
diff --git a/packages/fluent2-theme/package.json b/packages/fluent2-theme/package.json
index f275ccaa2071bc..390598b19b7209 100644
--- a/packages/fluent2-theme/package.json
+++ b/packages/fluent2-theme/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/fluent2-theme",
-  "version": "8.107.121",
+  "version": "8.107.122",
   "description": "A Fluent2 theme for Fluent UI React 8.x",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   }
diff --git a/packages/react-cards/CHANGELOG.json b/packages/react-cards/CHANGELOG.json
index 4e7c9c3d5fe586..4cbe3386256270 100644
--- a/packages/react-cards/CHANGELOG.json
+++ b/packages/react-cards/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-cards",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/react-cards_v0.205.194",
+      "version": "0.205.194",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-cards",
+            "comment": "Bump @fluentui/react to v8.122.5",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 03 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/react-cards_v0.205.193",
diff --git a/packages/react-cards/CHANGELOG.md b/packages/react-cards/CHANGELOG.md
index b625859d167a73..6b5143a5965031 100644
--- a/packages/react-cards/CHANGELOG.md
+++ b/packages/react-cards/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-cards
 
-This log was last generated on Fri, 03 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.205.194](https://github.com/microsoft/fluentui/tree/@fluentui/react-cards_v0.205.194)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-cards_v0.205.193..@fluentui/react-cards_v0.205.194)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.5 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+
 ## [0.205.193](https://github.com/microsoft/fluentui/tree/@fluentui/react-cards_v0.205.193)
 
 Fri, 03 Jan 2025 07:21:32 GMT 
diff --git a/packages/react-cards/package.json b/packages/react-cards/package.json
index 81d5951bf76ff6..b4577baff1d012 100644
--- a/packages/react-cards/package.json
+++ b/packages/react-cards/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-cards",
-  "version": "0.205.193",
+  "version": "0.205.194",
   "description": "Deprecated experimental Card container components for Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -33,7 +33,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@fluentui/foundation-legacy": "^8.4.23",
     "@fluentui/set-version": "^8.2.23",
     "@microsoft/load-themed-styles": "^1.10.26",
diff --git a/packages/react-components/react-migration-v8-v9/library/package.json b/packages/react-components/react-migration-v8-v9/library/package.json
index f6400d33a76637..4fc09ed6074b93 100644
--- a/packages/react-components/react-migration-v8-v9/library/package.json
+++ b/packages/react-components/react-migration-v8-v9/library/package.json
@@ -19,8 +19,8 @@
   },
   "dependencies": {
     "@ctrl/tinycolor": "3.3.4",
-    "@fluentui/fluent2-theme": "^8.107.121",
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/fluent2-theme": "^8.107.122",
+    "@fluentui/react": "^8.122.5",
     "@fluentui/react-components": "^9.56.8",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-hooks": "^8.8.16",
diff --git a/packages/react-date-time/CHANGELOG.json b/packages/react-date-time/CHANGELOG.json
index aea80f2408bca6..e294f99c2f0f5f 100644
--- a/packages/react-date-time/CHANGELOG.json
+++ b/packages/react-date-time/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-date-time",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/react-date-time_v8.7.194",
+      "version": "8.7.194",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-date-time",
+            "comment": "Bump @fluentui/react to v8.122.5",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 03 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/react-date-time_v8.7.193",
diff --git a/packages/react-date-time/CHANGELOG.md b/packages/react-date-time/CHANGELOG.md
index 458c9611f62318..efce8ba0cfdd80 100644
--- a/packages/react-date-time/CHANGELOG.md
+++ b/packages/react-date-time/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-date-time
 
-This log was last generated on Fri, 03 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.7.194](https://github.com/microsoft/fluentui/tree/@fluentui/react-date-time_v8.7.194)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-date-time_v8.7.193..@fluentui/react-date-time_v8.7.194)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.5 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+
 ## [8.7.193](https://github.com/microsoft/fluentui/tree/@fluentui/react-date-time_v8.7.193)
 
 Fri, 03 Jan 2025 07:21:32 GMT 
diff --git a/packages/react-date-time/package.json b/packages/react-date-time/package.json
index bd11841eb9126f..1efd230ad16fcc 100644
--- a/packages/react-date-time/package.json
+++ b/packages/react-date-time/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-date-time",
-  "version": "8.7.193",
+  "version": "8.7.194",
   "description": "Date and time related React components for building experiences for Microsoft 365.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   },
diff --git a/packages/react-docsite-components/CHANGELOG.json b/packages/react-docsite-components/CHANGELOG.json
index 079e8260021da3..953fe83726c9bd 100644
--- a/packages/react-docsite-components/CHANGELOG.json
+++ b/packages/react-docsite-components/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-docsite-components",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/react-docsite-components_v8.13.159",
+      "version": "8.13.159",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react to v8.122.5",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react-monaco-editor to v1.7.277",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 06 Jan 2025 07:16:33 GMT",
       "tag": "@fluentui/react-docsite-components_v8.13.158",
diff --git a/packages/react-docsite-components/CHANGELOG.md b/packages/react-docsite-components/CHANGELOG.md
index 15f0c2c0bc1c88..c79eb080c69f62 100644
--- a/packages/react-docsite-components/CHANGELOG.md
+++ b/packages/react-docsite-components/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-docsite-components
 
-This log was last generated on Mon, 06 Jan 2025 07:16:33 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.13.159](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.159)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-docsite-components_v8.13.158..@fluentui/react-docsite-components_v8.13.159)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.5 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+- Bump @fluentui/react-monaco-editor to v1.7.277 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+
 ## [8.13.158](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.158)
 
 Mon, 06 Jan 2025 07:16:33 GMT 
diff --git a/packages/react-docsite-components/package.json b/packages/react-docsite-components/package.json
index 576fff39a25a91..30d1083227846e 100644
--- a/packages/react-docsite-components/package.json
+++ b/packages/react-docsite-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-docsite-components",
-  "version": "8.13.158",
+  "version": "8.13.159",
   "description": "Fluent UI React components for building documentation sites.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -35,14 +35,14 @@
     "react-dom": ">=16.8.0 <19.0.0"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@fluentui/theme": "^2.6.64",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/public-docsite-setup": "^0.3.34",
     "@fluentui/react-hooks": "^8.8.16",
     "@fluentui/set-version": "^8.2.23",
-    "@fluentui/react-monaco-editor": "^1.7.276",
+    "@fluentui/react-monaco-editor": "^1.7.277",
     "color-check": "0.0.2",
     "markdown-to-jsx": "^7.0.0",
     "office-ui-fabric-core": "^11.0.0",
diff --git a/packages/react-examples/package.json b/packages/react-examples/package.json
index 31db239fd53bd3..6acc283a63b1da 100644
--- a/packages/react-examples/package.json
+++ b/packages/react-examples/package.json
@@ -27,18 +27,18 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/azure-themes": "^8.6.117",
+    "@fluentui/azure-themes": "^8.6.118",
     "@fluentui/date-time-utilities": "^8.6.9",
     "@fluentui/dom-utilities": "^2.3.9",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/font-icons-mdl2": "^8.5.57",
     "@fluentui/foundation-legacy": "^8.4.23",
     "@fluentui/merge-styles": "^8.6.13",
-    "@fluentui/react": "^8.122.4",
-    "@fluentui/react-cards": "^0.205.193",
-    "@fluentui/react-charting": "^5.23.38",
-    "@fluentui/react-docsite-components": "^8.13.158",
-    "@fluentui/react-experiments": "^8.14.190",
+    "@fluentui/react": "^8.122.5",
+    "@fluentui/react-cards": "^0.205.194",
+    "@fluentui/react-charting": "^5.23.39",
+    "@fluentui/react-docsite-components": "^8.13.159",
+    "@fluentui/react-experiments": "^8.14.191",
     "@fluentui/react-file-type-icons": "^8.12.7",
     "@fluentui/react-focus": "^8.9.20",
     "@fluentui/react-hooks": "^8.8.16",
@@ -47,7 +47,7 @@
     "@fluentui/scheme-utilities": "^8.3.65",
     "@fluentui/style-utilities": "^8.11.6",
     "@fluentui/theme": "^2.6.64",
-    "@fluentui/theme-samples": "^8.7.193",
+    "@fluentui/theme-samples": "^8.7.194",
     "@fluentui/utilities": "^8.15.19",
     "@microsoft/load-themed-styles": "^1.10.26",
     "d3-fetch": "3.0.1",
diff --git a/packages/react-experiments/CHANGELOG.json b/packages/react-experiments/CHANGELOG.json
index 64f65979a5fe63..d0177c7041f7a3 100644
--- a/packages/react-experiments/CHANGELOG.json
+++ b/packages/react-experiments/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-experiments",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/react-experiments_v8.14.191",
+      "version": "8.14.191",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-experiments",
+            "comment": "Bump @fluentui/react to v8.122.5",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 03 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/react-experiments_v8.14.190",
diff --git a/packages/react-experiments/CHANGELOG.md b/packages/react-experiments/CHANGELOG.md
index e3caacded43df6..597552adf1297e 100644
--- a/packages/react-experiments/CHANGELOG.md
+++ b/packages/react-experiments/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-experiments
 
-This log was last generated on Fri, 03 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.14.191](https://github.com/microsoft/fluentui/tree/@fluentui/react-experiments_v8.14.191)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-experiments_v8.14.190..@fluentui/react-experiments_v8.14.191)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.5 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+
 ## [8.14.190](https://github.com/microsoft/fluentui/tree/@fluentui/react-experiments_v8.14.190)
 
 Fri, 03 Jan 2025 07:21:32 GMT 
diff --git a/packages/react-experiments/package.json b/packages/react-experiments/package.json
index 75fff504cd8e1c..e2658817839fe1 100644
--- a/packages/react-experiments/package.json
+++ b/packages/react-experiments/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-experiments",
-  "version": "8.14.190",
+  "version": "8.14.191",
   "description": "Experimental React components for building experiences for Microsoft 365.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -38,7 +38,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@fluentui/theme": "^2.6.64",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
diff --git a/packages/react-monaco-editor/CHANGELOG.json b/packages/react-monaco-editor/CHANGELOG.json
index ae031efd326d78..b649aef893a820 100644
--- a/packages/react-monaco-editor/CHANGELOG.json
+++ b/packages/react-monaco-editor/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-monaco-editor",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/react-monaco-editor_v1.7.277",
+      "version": "1.7.277",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react to v8.122.5",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react-charting to v5.23.39",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 06 Jan 2025 07:16:33 GMT",
       "tag": "@fluentui/react-monaco-editor_v1.7.276",
diff --git a/packages/react-monaco-editor/CHANGELOG.md b/packages/react-monaco-editor/CHANGELOG.md
index 66951d7cda12d9..2610eace648b0d 100644
--- a/packages/react-monaco-editor/CHANGELOG.md
+++ b/packages/react-monaco-editor/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-monaco-editor
 
-This log was last generated on Mon, 06 Jan 2025 07:16:33 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [1.7.277](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.277)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-monaco-editor_v1.7.276..@fluentui/react-monaco-editor_v1.7.277)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.5 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+- Bump @fluentui/react-charting to v5.23.39 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+
 ## [1.7.276](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.276)
 
 Mon, 06 Jan 2025 07:16:33 GMT 
diff --git a/packages/react-monaco-editor/package.json b/packages/react-monaco-editor/package.json
index c0f1a356be8c49..de09ff4bbac275 100644
--- a/packages/react-monaco-editor/package.json
+++ b/packages/react-monaco-editor/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-monaco-editor",
-  "version": "1.7.276",
+  "version": "1.7.277",
   "description": "Live React example editing using monaco",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -29,12 +29,12 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/monaco-editor": "^1.3.24",
     "@fluentui/react-hooks": "^8.8.16",
-    "@fluentui/react-charting": "^5.23.38",
+    "@fluentui/react-charting": "^5.23.39",
     "raw-loader": "4.0.2",
     "react-syntax-highlighter": "^10.1.3",
     "tslib": "^2.1.0"
diff --git a/packages/react/CHANGELOG.json b/packages/react/CHANGELOG.json
index 25521c31e3e2fc..cb5cd89cc85b01 100644
--- a/packages/react/CHANGELOG.json
+++ b/packages/react/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/react_v8.122.5",
+      "version": "8.122.5",
+      "comments": {
+        "patch": [
+          {
+            "author": "Humberto.Morimoto@microsoft.com",
+            "package": "@fluentui/react",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd",
+            "comment": "chore: Adding key to inner slot in Stack component."
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 03 Jan 2025 07:21:31 GMT",
       "tag": "@fluentui/react_v8.122.4",
diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md
index 5ea71f70d4ab0e..dbf76e1ebe0846 100644
--- a/packages/react/CHANGELOG.md
+++ b/packages/react/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react
 
-This log was last generated on Fri, 03 Jan 2025 07:21:31 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.122.5](https://github.com/microsoft/fluentui/tree/@fluentui/react_v8.122.5)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react_v8.122.4..@fluentui/react_v8.122.5)
+
+### Patches
+
+- chore: Adding key to inner slot in Stack component. ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by Humberto.Morimoto@microsoft.com)
+
 ## [8.122.4](https://github.com/microsoft/fluentui/tree/@fluentui/react_v8.122.4)
 
 Fri, 03 Jan 2025 07:21:31 GMT 
diff --git a/packages/react/package.json b/packages/react/package.json
index 5b9ca3512e6bf6..90b98f3293d83b 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react",
-  "version": "8.122.4",
+  "version": "8.122.5",
   "description": "Reusable React components for building web experiences.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/storybook/package.json b/packages/storybook/package.json
index be92f2ea032aa0..ccf3ca88252d40 100644
--- a/packages/storybook/package.json
+++ b/packages/storybook/package.json
@@ -22,11 +22,11 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@fluentui/theme": "^2.6.64",
     "@storybook/addon-essentials": "7.6.20",
-    "@fluentui/azure-themes": "^8.6.117",
-    "@fluentui/theme-samples": "^8.7.193",
+    "@fluentui/azure-themes": "^8.6.118",
+    "@fluentui/theme-samples": "^8.7.194",
     "tslib": "^2.1.0"
   },
   "peerDependencies": {
diff --git a/packages/theme-samples/CHANGELOG.json b/packages/theme-samples/CHANGELOG.json
index 565407386dd702..b54d2d9b34977f 100644
--- a/packages/theme-samples/CHANGELOG.json
+++ b/packages/theme-samples/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/theme-samples",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 07:21:37 GMT",
+      "tag": "@fluentui/theme-samples_v8.7.194",
+      "version": "8.7.194",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/theme-samples",
+            "comment": "Bump @fluentui/react to v8.122.5",
+            "commit": "8f763922d713d9ccd35e65db07206c10b170fafd"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 03 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/theme-samples_v8.7.193",
diff --git a/packages/theme-samples/CHANGELOG.md b/packages/theme-samples/CHANGELOG.md
index 5a86bc6267f446..4f840e8fc6bd63 100644
--- a/packages/theme-samples/CHANGELOG.md
+++ b/packages/theme-samples/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/theme-samples
 
-This log was last generated on Fri, 03 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.7.194](https://github.com/microsoft/fluentui/tree/@fluentui/theme-samples_v8.7.194)
+
+Wed, 08 Jan 2025 07:21:37 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/theme-samples_v8.7.193..@fluentui/theme-samples_v8.7.194)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.5 ([PR #33578](https://github.com/microsoft/fluentui/pull/33578) by beachball)
+
 ## [8.7.193](https://github.com/microsoft/fluentui/tree/@fluentui/theme-samples_v8.7.193)
 
 Fri, 03 Jan 2025 07:21:32 GMT 
diff --git a/packages/theme-samples/package.json b/packages/theme-samples/package.json
index b98a87701ee4d7..53714d03b041ed 100644
--- a/packages/theme-samples/package.json
+++ b/packages/theme-samples/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/theme-samples",
-  "version": "8.7.193",
+  "version": "8.7.194",
   "description": "Sample themes for use with Fabric components.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -26,7 +26,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.4",
+    "@fluentui/react": "^8.122.5",
     "@fluentui/set-version": "^8.2.23",
     "@fluentui/scheme-utilities": "^8.3.65",
     "tslib": "^2.1.0"

From b52d6ba234a24ce1d05c636cfc41b0098b15cfb9 Mon Sep 17 00:00:00 2001
From: Valentyna <vkozlova@microsoft.com>
Date: Wed, 8 Jan 2025 01:47:17 -0800
Subject: [PATCH 04/78] feat(react-color-picker): a11y labels and behaviors
 (#33543)

---
 ...-cf2c2f44-2d77-4ead-b123-c81b1da98292.json |  7 +++++
 .../ColorSlider/ColorSlider.test.tsx          |  3 ++
 .../components/ColorSlider/useColorSlider.ts  |  7 ++++-
 .../AlphaSliderDefault.stories.tsx            | 18 ++++++++++--
 .../ColorPicker/ColorAreaDefault.stories.tsx  | 17 +++++++++--
 .../ColorPickerDefault.stories.tsx            | 17 +++++++++--
 .../ColorSliderDefault.stories.tsx            | 28 +++++++++++++++++--
 7 files changed, 85 insertions(+), 12 deletions(-)
 create mode 100644 change/@fluentui-react-color-picker-preview-cf2c2f44-2d77-4ead-b123-c81b1da98292.json

diff --git a/change/@fluentui-react-color-picker-preview-cf2c2f44-2d77-4ead-b123-c81b1da98292.json b/change/@fluentui-react-color-picker-preview-cf2c2f44-2d77-4ead-b123-c81b1da98292.json
new file mode 100644
index 00000000000000..e5329cbb374e3c
--- /dev/null
+++ b/change/@fluentui-react-color-picker-preview-cf2c2f44-2d77-4ead-b123-c81b1da98292.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "feat: added aria-attributes to the ColorPicker",
+  "packageName": "@fluentui/react-color-picker-preview",
+  "email": "vkozlova@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/ColorSlider.test.tsx b/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/ColorSlider.test.tsx
index 1c8ef38586b7f0..6917a93ee1435d 100644
--- a/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/ColorSlider.test.tsx
+++ b/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/ColorSlider.test.tsx
@@ -16,13 +16,16 @@ describe('ColorSlider', () => {
       <div>
         <div
           class="fui-ColorSlider"
+          role="group"
           style="--fui-Slider--direction: -90deg; --fui-Slider--progress: 0%; --fui-Slider__thumb--color: hsl(0, 100%, 50%);"
         >
           <input
+            aria-orientation="horizontal"
             class="fui-ColorSlider__input"
             id="slider-9"
             max="360"
             min="0"
+            tabindex="0"
             type="range"
             value="0"
           />
diff --git a/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/useColorSlider.ts b/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/useColorSlider.ts
index 2cb225eae94d25..0d59f6c3529ba6 100644
--- a/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/useColorSlider.ts
+++ b/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/useColorSlider.ts
@@ -87,7 +87,10 @@ export const useColorSlider_unstable = (
       thumb: 'div',
     },
     root: slot.always(root, {
-      defaultProps: nativeProps.root,
+      defaultProps: {
+        role: 'group',
+        ...nativeProps.root,
+      },
       elementType: 'div',
     }),
     input: slot.always(input, {
@@ -96,6 +99,8 @@ export const useColorSlider_unstable = (
         ref,
         min: MIN,
         max: MAX,
+        tabIndex: 0,
+        ['aria-orientation']: vertical ? 'vertical' : 'horizontal',
         ...nativeProps.primary,
         type: 'range',
       },
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx
index 0887a9e81f9cf1..bce95432ff2ccf 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx
@@ -27,13 +27,25 @@ export const AlphaSliderExample = (props: Partial<AlphaSliderProps>) => {
   const styles = useStyles();
 
   const [color, setColor] = React.useState(COLOR);
-  const onSliderChange: AlphaSliderProps['onChange'] = (_, data) => setColor({ ...data.color, a: data.color.a ?? 1 });
+  const [value, setValue] = React.useState(COLOR.a * 100);
+  const onSliderChange: AlphaSliderProps['onChange'] = (_, data) => {
+    const alpha = data.color.a ?? 1;
+    setColor({ ...data.color, a: alpha });
+    setValue(alpha * 100);
+  };
   const resetSlider = () => setColor(COLOR);
 
   return (
     <div className={styles.example}>
-      <AlphaSlider color={color} onChange={onSliderChange} {...props} />
-      <AlphaSlider color={color} onChange={onSliderChange} vertical {...props} />
+      <AlphaSlider color={color} onChange={onSliderChange} aria-valuetext={`${value}%`} aria-label="Alpha" {...props} />
+      <AlphaSlider
+        color={color}
+        onChange={onSliderChange}
+        aria-valuetext={`${value}%`}
+        aria-label="Vertical alpha"
+        vertical
+        {...props}
+      />
       <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toRgbString() }} />
       <Button onClick={resetSlider}>Reset</Button>
     </div>
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx
index 2d935e63115e01..53b06d3ee52946 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx
@@ -27,12 +27,25 @@ export const ColorAreaExample = () => {
   const styles = useStyles();
 
   const [color, setColor] = React.useState(DEFAULT_COLOR_HSV);
-  const onChange: ColorAreaProps['onChange'] = (_, data) => setColor({ ...data.color, a: data.color.a ?? 1 });
+  const [namedColor, setNamedColor] = React.useState('');
+
+  const onChange: ColorAreaProps['onChange'] = (_, data) => {
+    setColor({ ...data.color, a: data.color.a ?? 1 });
+    const _namedColor = tinycolor(`hsl(${data.color.h},100%,50%)`).toName();
+    if (_namedColor) {
+      setNamedColor(_namedColor);
+    }
+  };
   const resetSlider = () => setColor(DEFAULT_COLOR_HSV);
+  const ariaAttributes = {
+    'aria-label': 'ColorPicker',
+    'aria-roledescription': '2D slider',
+    'aria-valuetext': `Saturation ${color.s * 100}, Brightness: ${color.v * 100}, ${namedColor}`,
+  };
 
   return (
     <div className={styles.example}>
-      <ColorArea color={color} onChange={onChange} />
+      <ColorArea color={color} onChange={onChange} inputX={ariaAttributes} inputY={ariaAttributes} />
       <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toHexString() }} />
       <Button onClick={resetSlider}>Reset</Button>
     </div>
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
index 7740403609d1a5..3d903f1a6eb8b7 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
@@ -67,11 +67,16 @@ export const Default = () => {
   const [color, setColor] = React.useState(DEFAULT_COLOR_HSV);
   const [hex, setHex] = React.useState(tinycolor(color).toHexString());
   const [rgb, setRgb] = React.useState(tinycolor(color).toRgb());
+  const [namedColor, setNamedColor] = React.useState('');
 
   const handleChange: ColorPickerProps['onColorChange'] = (_, data) => {
     setColor({ ...data.color, a: data.color.a ?? 1 });
     setHex(tinycolor(data.color).toHexString());
     setRgb(tinycolor(data.color).toRgb());
+    const _namedColor = tinycolor(`hsl(${data.color.h},100%,50%)`).toName();
+    if (_namedColor) {
+      setNamedColor(_namedColor);
+    }
   };
 
   const onRgbChange = (event: SpinButtonChangeEvent, data: SpinButtonOnChangeData) => {
@@ -91,12 +96,18 @@ export const Default = () => {
     }
   };
 
+  const colorAriaAttributes = {
+    'aria-label': 'ColorPicker',
+    'aria-roledescription': '2D slider',
+    'aria-valuetext': `Saturation ${color.s * 100}, Brightness: ${color.v * 100}, ${namedColor}`,
+  };
+
   return (
     <div className={styles.example}>
       <ColorPicker color={color} onColorChange={handleChange}>
-        <ColorArea />
-        <ColorSlider />
-        <AlphaSlider />
+        <ColorArea inputX={colorAriaAttributes} inputY={colorAriaAttributes} />
+        <ColorSlider aria-label="Hue" aria-valuetext={`${color.h}°, ${namedColor}`} />
+        <AlphaSlider aria-label="Alpha" aria-valuetext={`${color.a * 100}%`} />
       </ColorPicker>
       <div className={styles.inputFields}>
         <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toRgbString() }} />
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorSliderDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorSliderDefault.stories.tsx
index a26bed7accaa17..1062a371d2bb9e 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorSliderDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorSliderDefault.stories.tsx
@@ -26,13 +26,35 @@ const DEFAULT_COLOR_HSV = tinycolor('#2be700').toHsv();
 export const ColorSliderExample = (props: Partial<ColorSliderProps>) => {
   const styles = useStyles();
   const [color, setColor] = React.useState(DEFAULT_COLOR_HSV);
-  const onSliderChange: ColorSliderProps['onChange'] = (_, data) => setColor({ ...data.color, a: data.color.a ?? 1 });
+  const [hue, setHue] = React.useState(DEFAULT_COLOR_HSV.h);
+  const [namedColor, setNamedColor] = React.useState('');
+  const onSliderChange: ColorSliderProps['onChange'] = (_, data) => {
+    setColor({ ...data.color, a: data.color.a ?? 1 });
+    setHue(data.color.h);
+    const _namedColor = tinycolor(`hsl(${data.color.h},100%,50%)`).toName();
+    if (_namedColor) {
+      setNamedColor(_namedColor);
+    }
+  };
   const resetSlider = () => setColor(DEFAULT_COLOR_HSV);
 
   return (
     <div className={styles.example}>
-      <ColorSlider color={color} onChange={onSliderChange} {...props} />
-      <ColorSlider color={color} onChange={onSliderChange} vertical {...props} />
+      <ColorSlider
+        color={color}
+        onChange={onSliderChange}
+        aria-label="Hue"
+        aria-valuetext={`${hue}°, ${namedColor}`}
+        {...props}
+      />
+      <ColorSlider
+        color={color}
+        onChange={onSliderChange}
+        vertical
+        aria-label="Vertical Hue"
+        aria-valuetext={`${hue}°, ${namedColor}`}
+        {...props}
+      />
       <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toHexString() }} />
       <Button onClick={resetSlider}>Reset</Button>
     </div>

From bd3e4c27b89c17e279e99342f305eb9c71714a09 Mon Sep 17 00:00:00 2001
From: Dmytro Kirpa <dmytrokirpa@microsoft.com>
Date: Wed, 8 Jan 2025 14:05:22 +0100
Subject: [PATCH 05/78] fix(react-tabs): update tab border color to fix issues
 in high contrast mode (#33573)

---
 ...ui-react-tabs-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json | 7 +++++++
 .../library/src/components/Tab/useTabStyles.styles.ts      | 6 +++---
 2 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100644 change/@fluentui-react-tabs-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json

diff --git a/change/@fluentui-react-tabs-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json b/change/@fluentui-react-tabs-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json
new file mode 100644
index 00000000000000..ca5b255c638c47
--- /dev/null
+++ b/change/@fluentui-react-tabs-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: update tab border color for better visibility in high contrast mode",
+  "packageName": "@fluentui/react-tabs",
+  "email": "dmytrokirpa@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-tabs/library/src/components/Tab/useTabStyles.styles.ts b/packages/react-components/react-tabs/library/src/components/Tab/useTabStyles.styles.ts
index 665b37b7d26558..c6d3116d6c22cf 100644
--- a/packages/react-components/react-tabs/library/src/components/Tab/useTabStyles.styles.ts
+++ b/packages/react-components/react-tabs/library/src/components/Tab/useTabStyles.styles.ts
@@ -190,7 +190,7 @@ const useCircularAppearanceStyles = makeStyles({
   },
   subtle: {
     backgroundColor: tokens.colorSubtleBackground,
-    border: `solid ${tokens.strokeWidthThin} ${tokens.colorTransparentStroke}`,
+    border: `solid ${tokens.strokeWidthThin} transparent`,
     color: tokens.colorNeutralForeground2,
     ':enabled:hover': {
       backgroundColor: tokens.colorSubtleBackgroundHover,
@@ -221,7 +221,7 @@ const useCircularAppearanceStyles = makeStyles({
   subtleDisabled: {
     backgroundColor: tokens.colorSubtleBackground,
     color: tokens.colorNeutralForegroundDisabled,
-    border: `solid ${tokens.strokeWidthThin} ${tokens.colorTransparentStroke}`,
+    border: `solid ${tokens.strokeWidthThin} transparent`,
   },
   subtleDisabledSelected: {
     backgroundColor: tokens.colorNeutralBackgroundDisabled,
@@ -254,7 +254,7 @@ const useCircularAppearanceStyles = makeStyles({
   },
   filledDisabled: {
     backgroundColor: tokens.colorNeutralBackgroundDisabled,
-    border: `solid ${tokens.strokeWidthThin} ${tokens.colorTransparentStroke}`,
+    border: `solid ${tokens.strokeWidthThin} transparent`,
     color: tokens.colorNeutralForegroundDisabled,
   },
   filledDisabledSelected: {

From 52572e1cdd452d32c67195bdc42f1114f58242bb Mon Sep 17 00:00:00 2001
From: Soumya Tripathy <soumya_tripathy@outlook.com>
Date: Wed, 8 Jan 2025 21:17:19 +0530
Subject: [PATCH 06/78] Improvement/33473 react toast styling (#33550)

---
 ...i-react-toast-e37ea84e-b210-4707-bac3-e4fd689b556e.json | 7 +++++++
 .../library/src/components/Toast/Toast.types.ts            | 2 ++
 .../react-toast/library/src/components/Toast/useToast.ts   | 4 ++++
 .../components/ToastTitle/useToastTitleStyles.styles.ts    | 2 +-
 4 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 change/@fluentui-react-toast-e37ea84e-b210-4707-bac3-e4fd689b556e.json

diff --git a/change/@fluentui-react-toast-e37ea84e-b210-4707-bac3-e4fd689b556e.json b/change/@fluentui-react-toast-e37ea84e-b210-4707-bac3-e4fd689b556e.json
new file mode 100644
index 00000000000000..c4a1d4c3f55c15
--- /dev/null
+++ b/change/@fluentui-react-toast-e37ea84e-b210-4707-bac3-e4fd689b556e.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "feat: Add intent property to Toast state and useToast hook. Correct media className assignment in useToastTitleStyles.",
+  "packageName": "@fluentui/react-toast",
+  "email": "soumya_tripathy@outlook.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-toast/library/src/components/Toast/Toast.types.ts b/packages/react-components/react-toast/library/src/components/Toast/Toast.types.ts
index b19b50447c8ec9..5e418eb9f17718 100644
--- a/packages/react-components/react-toast/library/src/components/Toast/Toast.types.ts
+++ b/packages/react-components/react-toast/library/src/components/Toast/Toast.types.ts
@@ -1,5 +1,6 @@
 import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
 import { BackgroundAppearanceContextValue } from '@fluentui/react-shared-contexts';
+import type { ToastIntent } from '../../state/types';
 
 export type ToastSlots = {
   root: Slot<'div'>;
@@ -21,4 +22,5 @@ export type ToastProps = ComponentProps<ToastSlots> & {
  */
 export type ToastState = ComponentState<ToastSlots> & {
   backgroundAppearance: BackgroundAppearanceContextValue;
+  intent?: ToastIntent | undefined;
 };
diff --git a/packages/react-components/react-toast/library/src/components/Toast/useToast.ts b/packages/react-components/react-toast/library/src/components/Toast/useToast.ts
index 43f3af33d3a21c..0d67fc235b9eb4 100644
--- a/packages/react-components/react-toast/library/src/components/Toast/useToast.ts
+++ b/packages/react-components/react-toast/library/src/components/Toast/useToast.ts
@@ -1,6 +1,7 @@
 import * as React from 'react';
 import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';
 import type { ToastProps, ToastState } from './Toast.types';
+import { useToastContainerContext } from '../../contexts/toastContainerContext';
 
 /**
  * Create the state required to render Toast.
@@ -12,6 +13,8 @@ import type { ToastProps, ToastState } from './Toast.types';
  * @param ref - reference to root HTMLElement of Toast
  */
 export const useToast_unstable = (props: ToastProps, ref: React.Ref<HTMLElement>): ToastState => {
+  const { intent } = useToastContainerContext();
+
   return {
     components: {
       root: 'div',
@@ -27,5 +30,6 @@ export const useToast_unstable = (props: ToastProps, ref: React.Ref<HTMLElement>
       { elementType: 'div' },
     ),
     backgroundAppearance: props.appearance,
+    intent,
   };
 };
diff --git a/packages/react-components/react-toast/library/src/components/ToastTitle/useToastTitleStyles.styles.ts b/packages/react-components/react-toast/library/src/components/ToastTitle/useToastTitleStyles.styles.ts
index e04b74aa19a063..5776211c3fd01b 100644
--- a/packages/react-components/react-toast/library/src/components/ToastTitle/useToastTitleStyles.styles.ts
+++ b/packages/react-components/react-toast/library/src/components/ToastTitle/useToastTitleStyles.styles.ts
@@ -102,9 +102,9 @@ export const useToastTitleStyles_unstable = (state: ToastTitleState): ToastTitle
       toastTitleClassNames.media,
       mediaBaseClassName,
       state.backgroundAppearance === 'inverted' && invertedStyles.media,
-      state.media.className,
       intent && intentIconStyles[intent],
       intent && state.backgroundAppearance === 'inverted' && intentIconStylesInverted[intent],
+      state.media.className,
     );
   }
 

From 6473e08086509d7dab294243777a2066c75b62aa Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Wed, 8 Jan 2025 18:33:56 +0000
Subject: [PATCH 07/78] release: applying package updates - react-components

---
 apps/vr-tests-react-components/package.json   |   2 +-
 ...-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json |   7 --
 ...-0f7e3b1e-353f-410a-8642-202d0d30d244.json |   7 --
 ...-cf2c2f44-2d77-4ead-b123-c81b1da98292.json |   7 --
 ...-4c011c9c-802b-466f-8bf8-cacdc208ad49.json |   7 --
 ...-33c0a62b-e18c-45a1-9fbd-bfd7089f997c.json |   7 --
 ...-06d8884d-7988-49cd-a359-4efb7050f12c.json |   7 --
 ...-72abc821-ab32-4cac-8dd2-4c8dce4c810e.json |   7 --
 ...-f4f8b668-785c-48d9-9d8f-2410472b12f4.json |   7 --
 ...-f474a804-4972-4d68-b0dc-f1d699251a90.json |   7 --
 ...-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json |   7 --
 ...-c3487ced-27ab-4e86-ab00-dca2debf985c.json |   7 --
 ...-e37ea84e-b210-4707-bac3-e4fd689b556e.json |   7 --
 .../library/CHANGELOG.json                    |  39 +++++++
 .../react-charts-preview/library/CHANGELOG.md |  15 ++-
 .../react-charts-preview/library/package.json |  12 +-
 .../CHANGELOG.json                            |  15 +++
 .../CHANGELOG.md                              |  11 +-
 .../package.json                              |   2 +-
 .../react-accordion/library/CHANGELOG.json    |  33 ++++++
 .../react-accordion/library/CHANGELOG.md      |  14 ++-
 .../react-accordion/library/package.json      |  10 +-
 .../react-aria/library/CHANGELOG.json         |  15 +++
 .../react-aria/library/CHANGELOG.md           |  11 +-
 .../react-aria/library/package.json           |   4 +-
 .../react-avatar/library/CHANGELOG.json       |  33 ++++++
 .../react-avatar/library/CHANGELOG.md         |  14 ++-
 .../react-avatar/library/package.json         |  10 +-
 .../react-badge/library/CHANGELOG.json        |  15 +++
 .../react-badge/library/CHANGELOG.md          |  11 +-
 .../react-badge/library/package.json          |   4 +-
 .../react-breadcrumb/library/CHANGELOG.json   |  33 ++++++
 .../react-breadcrumb/library/CHANGELOG.md     |  14 ++-
 .../react-breadcrumb/library/package.json     |  10 +-
 .../react-button/library/CHANGELOG.json       |  21 ++++
 .../react-button/library/CHANGELOG.md         |  12 +-
 .../react-button/library/package.json         |   6 +-
 .../library/CHANGELOG.json                    |  15 +++
 .../library/CHANGELOG.md                      |  11 +-
 .../library/package.json                      |   4 +-
 .../react-card/library/CHANGELOG.json         |  21 ++++
 .../react-card/library/CHANGELOG.md           |  12 +-
 .../react-card/library/package.json           |   6 +-
 .../react-carousel/library/CHANGELOG.json     |  27 +++++
 .../react-carousel/library/CHANGELOG.md       |  13 ++-
 .../react-carousel/library/package.json       |   8 +-
 .../react-checkbox/library/CHANGELOG.json     |  27 +++++
 .../react-checkbox/library/CHANGELOG.md       |  13 ++-
 .../react-checkbox/library/package.json       |   8 +-
 .../library/CHANGELOG.json                    |  27 +++++
 .../library/CHANGELOG.md                      |  13 ++-
 .../library/package.json                      |   4 +-
 .../react-colorpicker-compat/package.json     |   2 +-
 .../react-combobox/library/CHANGELOG.json     |  39 +++++++
 .../react-combobox/library/CHANGELOG.md       |  15 ++-
 .../react-combobox/library/package.json       |  12 +-
 .../react-components/CHANGELOG.json           |  83 ++++++++++++++
 .../react-components/CHANGELOG.md             |  36 +++++-
 .../react-components/package.json             | 106 +++++++++---------
 .../react-conformance-griffel/CHANGELOG.json  |  15 +++
 .../react-conformance-griffel/CHANGELOG.md    |  11 +-
 .../react-conformance-griffel/package.json    |   4 +-
 .../library/CHANGELOG.json                    |  51 +++++++++
 .../library/CHANGELOG.md                      |  17 ++-
 .../library/package.json                      |  16 +--
 .../react-dialog/library/CHANGELOG.json       |  39 +++++++
 .../react-dialog/library/CHANGELOG.md         |  15 ++-
 .../react-dialog/library/package.json         |  12 +-
 .../react-divider/library/CHANGELOG.json      |  15 +++
 .../react-divider/library/CHANGELOG.md        |  11 +-
 .../react-divider/library/package.json        |   4 +-
 .../react-drawer/library/CHANGELOG.json       |  33 ++++++
 .../react-drawer/library/CHANGELOG.md         |  14 ++-
 .../react-drawer/library/package.json         |  10 +-
 .../react-field/library/CHANGELOG.json        |  21 ++++
 .../react-field/library/CHANGELOG.md          |  12 +-
 .../react-field/library/package.json          |   6 +-
 .../react-icons-compat/library/CHANGELOG.json |  15 +++
 .../react-icons-compat/library/CHANGELOG.md   |  11 +-
 .../react-icons-compat/library/package.json   |   4 +-
 .../react-image/library/CHANGELOG.json        |  15 +++
 .../react-image/library/CHANGELOG.md          |  11 +-
 .../react-image/library/package.json          |   4 +-
 .../react-infolabel/library/CHANGELOG.json    |  27 +++++
 .../react-infolabel/library/CHANGELOG.md      |  13 ++-
 .../react-infolabel/library/package.json      |   8 +-
 .../react-input/library/CHANGELOG.json        |  21 ++++
 .../react-input/library/CHANGELOG.md          |  12 +-
 .../react-input/library/package.json          |   6 +-
 .../react-jsx-runtime/package.json            |   2 +-
 .../react-label/library/CHANGELOG.json        |  15 +++
 .../react-label/library/CHANGELOG.md          |  11 +-
 .../react-label/library/package.json          |   4 +-
 .../react-link/library/CHANGELOG.json         |  15 +++
 .../react-link/library/CHANGELOG.md           |  11 +-
 .../react-link/library/package.json           |   4 +-
 .../react-list/library/CHANGELOG.json         |  29 ++++-
 .../react-list/library/CHANGELOG.md           |  15 ++-
 .../react-list/library/package.json           |   6 +-
 .../react-menu/library/CHANGELOG.json         |  33 ++++++
 .../react-menu/library/CHANGELOG.md           |  14 ++-
 .../react-menu/library/package.json           |  10 +-
 .../react-message-bar/library/CHANGELOG.json  |  45 ++++++++
 .../react-message-bar/library/CHANGELOG.md    |  16 ++-
 .../react-message-bar/library/package.json    |  12 +-
 .../library/CHANGELOG.json                    |  27 +++++
 .../library/CHANGELOG.md                      |  13 ++-
 .../library/package.json                      |   8 +-
 .../library/CHANGELOG.json                    |  15 +++
 .../library/CHANGELOG.md                      |  11 +-
 .../library/package.json                      |   4 +-
 .../library/package.json                      |   2 +-
 .../react-motion/library/CHANGELOG.json       |  15 +++
 .../react-motion/library/CHANGELOG.md         |  11 +-
 .../react-motion/library/package.json         |   2 +-
 .../react-nav-preview/library/CHANGELOG.json  |  45 ++++++++
 .../react-nav-preview/library/CHANGELOG.md    |  16 ++-
 .../react-nav-preview/library/package.json    |  14 +--
 .../react-overflow/library/package.json       |   2 +-
 .../react-persona/library/CHANGELOG.json      |  27 +++++
 .../react-persona/library/CHANGELOG.md        |  13 ++-
 .../react-persona/library/package.json        |   8 +-
 .../react-popover/library/CHANGELOG.json      |  33 ++++++
 .../react-popover/library/CHANGELOG.md        |  14 ++-
 .../react-popover/library/package.json        |  10 +-
 .../react-portal-compat/CHANGELOG.json        |  15 +++
 .../react-portal-compat/CHANGELOG.md          |  11 +-
 .../react-portal-compat/package.json          |   4 +-
 .../react-portal/library/package.json         |   2 +-
 .../react-positioning/CHANGELOG.json          |  15 +++
 .../react-positioning/CHANGELOG.md            |  11 +-
 .../react-positioning/package.json            |   2 +-
 .../react-progress/library/CHANGELOG.json     |  21 ++++
 .../react-progress/library/CHANGELOG.md       |  12 +-
 .../react-progress/library/package.json       |   6 +-
 .../react-provider/library/CHANGELOG.json     |  15 +++
 .../react-provider/library/CHANGELOG.md       |  11 +-
 .../react-provider/library/package.json       |   4 +-
 .../react-radio/library/CHANGELOG.json        |  27 +++++
 .../react-radio/library/CHANGELOG.md          |  13 ++-
 .../react-radio/library/package.json          |   8 +-
 .../react-rating/library/CHANGELOG.json       |  15 +++
 .../react-rating/library/CHANGELOG.md         |  11 +-
 .../react-rating/library/package.json         |   4 +-
 .../react-search/library/CHANGELOG.json       |  21 ++++
 .../react-search/library/CHANGELOG.md         |  12 +-
 .../react-search/library/package.json         |   6 +-
 .../react-select/library/CHANGELOG.json       |  21 ++++
 .../react-select/library/CHANGELOG.md         |  12 +-
 .../react-select/library/package.json         |   6 +-
 .../react-skeleton/library/CHANGELOG.json     |  21 ++++
 .../react-skeleton/library/CHANGELOG.md       |  12 +-
 .../react-skeleton/library/package.json       |   6 +-
 .../react-slider/library/CHANGELOG.json       |  21 ++++
 .../react-slider/library/CHANGELOG.md         |  12 +-
 .../react-slider/library/package.json         |   6 +-
 .../react-spinbutton/library/CHANGELOG.json   |  21 ++++
 .../react-spinbutton/library/CHANGELOG.md     |  12 +-
 .../react-spinbutton/library/package.json     |   6 +-
 .../react-spinner/library/CHANGELOG.json      |  21 ++++
 .../react-spinner/library/CHANGELOG.md        |  12 +-
 .../react-spinner/library/package.json        |   6 +-
 .../react-storybook-addon/package.json        |   4 +-
 .../library/CHANGELOG.json                    |  21 ++++
 .../react-swatch-picker/library/CHANGELOG.md  |  12 +-
 .../react-swatch-picker/library/package.json  |   6 +-
 .../react-switch/library/CHANGELOG.json       |  27 +++++
 .../react-switch/library/CHANGELOG.md         |  13 ++-
 .../react-switch/library/package.json         |   8 +-
 .../react-table/library/CHANGELOG.json        |  39 +++++++
 .../react-table/library/CHANGELOG.md          |  15 ++-
 .../react-table/library/package.json          |  12 +-
 .../react-tabs/library/CHANGELOG.json         |  21 ++++
 .../react-tabs/library/CHANGELOG.md           |  12 +-
 .../react-tabs/library/package.json           |   4 +-
 .../react-tag-picker/library/CHANGELOG.json   |  51 +++++++++
 .../react-tag-picker/library/CHANGELOG.md     |  17 ++-
 .../react-tag-picker/library/package.json     |  16 +--
 .../react-tags/library/CHANGELOG.json         |  27 +++++
 .../react-tags/library/CHANGELOG.md           |  13 ++-
 .../react-tags/library/package.json           |   8 +-
 .../library/CHANGELOG.json                    |  39 +++++++
 .../library/CHANGELOG.md                      |  15 ++-
 .../library/package.json                      |  10 +-
 .../react-text/library/CHANGELOG.json         |  15 +++
 .../react-text/library/CHANGELOG.md           |  11 +-
 .../react-text/library/package.json           |   4 +-
 .../react-textarea/library/CHANGELOG.json     |  21 ++++
 .../react-textarea/library/CHANGELOG.md       |  12 +-
 .../react-textarea/library/package.json       |   6 +-
 .../library/CHANGELOG.json                    |  27 +++++
 .../library/CHANGELOG.md                      |  13 ++-
 .../library/package.json                      |   8 +-
 .../react-toast/library/CHANGELOG.json        |  45 ++++++++
 .../react-toast/library/CHANGELOG.md          |  16 ++-
 .../react-toast/library/package.json          |  12 +-
 .../react-toolbar/library/CHANGELOG.json      |  33 ++++++
 .../react-toolbar/library/CHANGELOG.md        |  14 ++-
 .../react-toolbar/library/package.json        |  10 +-
 .../react-tooltip/library/CHANGELOG.json      |  27 +++++
 .../react-tooltip/library/CHANGELOG.md        |  13 ++-
 .../react-tooltip/library/package.json        |   8 +-
 .../react-tree/library/CHANGELOG.json         |  57 ++++++++++
 .../react-tree/library/CHANGELOG.md           |  18 ++-
 .../react-tree/library/package.json           |  18 +--
 .../library/package.json                      |   2 +-
 .../react-virtualizer/library/CHANGELOG.json  |  15 +++
 .../react-virtualizer/library/CHANGELOG.md    |  11 +-
 .../react-virtualizer/library/package.json    |   4 +-
 .../react-components/recipes/package.json     |   4 +-
 .../theme-designer/package.json               |   2 +-
 packages/react-conformance/CHANGELOG.json     |  15 +++
 packages/react-conformance/CHANGELOG.md       |  11 +-
 packages/react-conformance/package.json       |   2 +-
 214 files changed, 2779 insertions(+), 443 deletions(-)
 delete mode 100644 change/@fluentui-eslint-plugin-react-components-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json
 delete mode 100644 change/@fluentui-react-color-picker-preview-0f7e3b1e-353f-410a-8642-202d0d30d244.json
 delete mode 100644 change/@fluentui-react-color-picker-preview-cf2c2f44-2d77-4ead-b123-c81b1da98292.json
 delete mode 100644 change/@fluentui-react-components-4c011c9c-802b-466f-8bf8-cacdc208ad49.json
 delete mode 100644 change/@fluentui-react-conformance-33c0a62b-e18c-45a1-9fbd-bfd7089f997c.json
 delete mode 100644 change/@fluentui-react-list-06d8884d-7988-49cd-a359-4efb7050f12c.json
 delete mode 100644 change/@fluentui-react-message-bar-72abc821-ab32-4cac-8dd2-4c8dce4c810e.json
 delete mode 100644 change/@fluentui-react-motion-f4f8b668-785c-48d9-9d8f-2410472b12f4.json
 delete mode 100644 change/@fluentui-react-positioning-f474a804-4972-4d68-b0dc-f1d699251a90.json
 delete mode 100644 change/@fluentui-react-tabs-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json
 delete mode 100644 change/@fluentui-react-teaching-popover-c3487ced-27ab-4e86-ab00-dca2debf985c.json
 delete mode 100644 change/@fluentui-react-toast-e37ea84e-b210-4707-bac3-e4fd689b556e.json

diff --git a/apps/vr-tests-react-components/package.json b/apps/vr-tests-react-components/package.json
index b7dcfa211e8f53..52951858b54e45 100644
--- a/apps/vr-tests-react-components/package.json
+++ b/apps/vr-tests-react-components/package.json
@@ -82,6 +82,6 @@
     "@fluentui/react-teaching-popover": "*",
     "@fluentui/react-tag-picker": "*",
     "@fluentui/react-carousel": "*",
-    "@fluentui/react-list": ">=9.0.0-alpha"
+    "@fluentui/react-list": "*"
   }
 }
diff --git a/change/@fluentui-eslint-plugin-react-components-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json b/change/@fluentui-eslint-plugin-react-components-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json
deleted file mode 100644
index 5459e40ce0c429..00000000000000
--- a/change/@fluentui-eslint-plugin-react-components-1c2bc691-c857-43cf-9806-ffe8d0d058c0.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "feat: add prefer-fluentui-v9 rule",
-  "packageName": "@fluentui/eslint-plugin-react-components",
-  "email": "dmytrokirpa@microsoft.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-color-picker-preview-0f7e3b1e-353f-410a-8642-202d0d30d244.json b/change/@fluentui-react-color-picker-preview-0f7e3b1e-353f-410a-8642-202d0d30d244.json
deleted file mode 100644
index 817c04f0d17a40..00000000000000
--- a/change/@fluentui-react-color-picker-preview-0f7e3b1e-353f-410a-8642-202d0d30d244.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: contrast border of thumb",
-  "packageName": "@fluentui/react-color-picker-preview",
-  "email": "vkozlova@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-color-picker-preview-cf2c2f44-2d77-4ead-b123-c81b1da98292.json b/change/@fluentui-react-color-picker-preview-cf2c2f44-2d77-4ead-b123-c81b1da98292.json
deleted file mode 100644
index e5329cbb374e3c..00000000000000
--- a/change/@fluentui-react-color-picker-preview-cf2c2f44-2d77-4ead-b123-c81b1da98292.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "feat: added aria-attributes to the ColorPicker",
-  "packageName": "@fluentui/react-color-picker-preview",
-  "email": "vkozlova@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-components-4c011c9c-802b-466f-8bf8-cacdc208ad49.json b/change/@fluentui-react-components-4c011c9c-802b-466f-8bf8-cacdc208ad49.json
deleted file mode 100644
index a7215bf4831779..00000000000000
--- a/change/@fluentui-react-components-4c011c9c-802b-466f-8bf8-cacdc208ad49.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "feat: add @fluentui/react-list to suite",
-  "packageName": "@fluentui/react-components",
-  "email": "jirivyhnalek@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-conformance-33c0a62b-e18c-45a1-9fbd-bfd7089f997c.json b/change/@fluentui-react-conformance-33c0a62b-e18c-45a1-9fbd-bfd7089f997c.json
deleted file mode 100644
index 132ef6bac19f53..00000000000000
--- a/change/@fluentui-react-conformance-33c0a62b-e18c-45a1-9fbd-bfd7089f997c.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "chore: remove usage of \"export *\"",
-  "packageName": "@fluentui/react-conformance",
-  "email": "olfedias@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-list-06d8884d-7988-49cd-a359-4efb7050f12c.json b/change/@fluentui-react-list-06d8884d-7988-49cd-a359-4efb7050f12c.json
deleted file mode 100644
index 3af28cbdf09ec9..00000000000000
--- a/change/@fluentui-react-list-06d8884d-7988-49cd-a359-4efb7050f12c.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "feat: release stable",
-  "packageName": "@fluentui/react-list",
-  "email": "jirivyhnalek@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-message-bar-72abc821-ab32-4cac-8dd2-4c8dce4c810e.json b/change/@fluentui-react-message-bar-72abc821-ab32-4cac-8dd2-4c8dce4c810e.json
deleted file mode 100644
index 45370fc286bc2a..00000000000000
--- a/change/@fluentui-react-message-bar-72abc821-ab32-4cac-8dd2-4c8dce4c810e.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "refactor(MessageBar): migrate slide & fade to motion components",
-  "packageName": "@fluentui/react-message-bar",
-  "email": "robertpenner@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-motion-f4f8b668-785c-48d9-9d8f-2410472b12f4.json b/change/@fluentui-react-motion-f4f8b668-785c-48d9-9d8f-2410472b12f4.json
deleted file mode 100644
index 81ed563ea2612c..00000000000000
--- a/change/@fluentui-react-motion-f4f8b668-785c-48d9-9d8f-2410472b12f4.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: handle case when Animation.persist() does not exist",
-  "packageName": "@fluentui/react-motion",
-  "email": "seanmonahan@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-positioning-f474a804-4972-4d68-b0dc-f1d699251a90.json b/change/@fluentui-react-positioning-f474a804-4972-4d68-b0dc-f1d699251a90.json
deleted file mode 100644
index c76bca52bb3cc9..00000000000000
--- a/change/@fluentui-react-positioning-f474a804-4972-4d68-b0dc-f1d699251a90.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "chore: bump @floating-ui/dom",
-  "packageName": "@fluentui/react-positioning",
-  "email": "863023+radium-v@users.noreply.github.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-tabs-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json b/change/@fluentui-react-tabs-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json
deleted file mode 100644
index ca5b255c638c47..00000000000000
--- a/change/@fluentui-react-tabs-9ce35d6f-27b5-451e-aa6f-d2902a97787b.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: update tab border color for better visibility in high contrast mode",
-  "packageName": "@fluentui/react-tabs",
-  "email": "dmytrokirpa@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-teaching-popover-c3487ced-27ab-4e86-ab00-dca2debf985c.json b/change/@fluentui-react-teaching-popover-c3487ced-27ab-4e86-ab00-dca2debf985c.json
deleted file mode 100644
index d70149ff0dba7c..00000000000000
--- a/change/@fluentui-react-teaching-popover-c3487ced-27ab-4e86-ab00-dca2debf985c.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "fix: accName updates and semantic fixes",
-  "packageName": "@fluentui/react-teaching-popover",
-  "email": "sarah.higley@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-toast-e37ea84e-b210-4707-bac3-e4fd689b556e.json b/change/@fluentui-react-toast-e37ea84e-b210-4707-bac3-e4fd689b556e.json
deleted file mode 100644
index c4a1d4c3f55c15..00000000000000
--- a/change/@fluentui-react-toast-e37ea84e-b210-4707-bac3-e4fd689b556e.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "feat: Add intent property to Toast state and useToast hook. Correct media className assignment in useToastTitleStyles.",
-  "packageName": "@fluentui/react-toast",
-  "email": "soumya_tripathy@outlook.com",
-  "dependentChangeType": "patch"
-}
diff --git a/packages/charts/react-charts-preview/library/CHANGELOG.json b/packages/charts/react-charts-preview/library/CHANGELOG.json
index 5a9a3eb9685df3..94ed98519669a4 100644
--- a/packages/charts/react-charts-preview/library/CHANGELOG.json
+++ b/packages/charts/react-charts-preview/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-charts-preview",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-charts-preview_v0.1.6",
+      "version": "0.1.6",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-button to v9.3.99",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-overflow to v9.2.6",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-popover to v9.9.30",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-tooltip to v9.5.3",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-charts-preview_v0.1.5",
diff --git a/packages/charts/react-charts-preview/library/CHANGELOG.md b/packages/charts/react-charts-preview/library/CHANGELOG.md
index ae5c058ec77e90..ede8b5d0bf0233 100644
--- a/packages/charts/react-charts-preview/library/CHANGELOG.md
+++ b/packages/charts/react-charts-preview/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-charts-preview
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.1.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-charts-preview_v0.1.6)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charts-preview_v0.1.5..@fluentui/react-charts-preview_v0.1.6)
+
+### Patches
+
+- Bump @fluentui/react-button to v9.3.99 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-overflow to v9.2.6 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-popover to v9.9.30 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-tooltip to v9.5.3 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [0.1.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-charts-preview_v0.1.5)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/charts/react-charts-preview/library/package.json b/packages/charts/react-charts-preview/library/package.json
index 32be5463b027cd..2bcc9cb58d91b8 100644
--- a/packages/charts/react-charts-preview/library/package.json
+++ b/packages/charts/react-charts-preview/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-charts-preview",
-  "version": "0.1.5",
+  "version": "0.1.6",
   "description": "React web chart controls for Microsoft fluentui v9 system.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -37,14 +37,14 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/react-button": "^9.3.98",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-overflow": "^9.2.5",
-    "@fluentui/react-popover": "^9.9.29",
+    "@fluentui/react-button": "^9.3.99",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-overflow": "^9.2.6",
+    "@fluentui/react-popover": "^9.9.30",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-tooltip": "^9.5.2",
+    "@fluentui/react-tooltip": "^9.5.3",
     "@fluentui/react-utilities": "^9.18.19",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
diff --git a/packages/react-components/eslint-plugin-react-components/CHANGELOG.json b/packages/react-components/eslint-plugin-react-components/CHANGELOG.json
index fbf6513e4e7dbd..c3080ab03dec51 100644
--- a/packages/react-components/eslint-plugin-react-components/CHANGELOG.json
+++ b/packages/react-components/eslint-plugin-react-components/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/eslint-plugin-react-components",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:32 GMT",
+      "tag": "@fluentui/eslint-plugin-react-components_v0.1.1",
+      "version": "0.1.1",
+      "comments": {
+        "patch": [
+          {
+            "author": "dmytrokirpa@microsoft.com",
+            "package": "@fluentui/eslint-plugin-react-components",
+            "commit": "384df0ccb4a5324da6daee8f18712ef5a81fa05a",
+            "comment": "feat: add prefer-fluentui-v9 rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 06 Dec 2024 12:53:38 GMT",
       "tag": "@fluentui/eslint-plugin-react-components_v0.1.0",
diff --git a/packages/react-components/eslint-plugin-react-components/CHANGELOG.md b/packages/react-components/eslint-plugin-react-components/CHANGELOG.md
index 32ebceabc4cfa7..0501f8787c383f 100644
--- a/packages/react-components/eslint-plugin-react-components/CHANGELOG.md
+++ b/packages/react-components/eslint-plugin-react-components/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/eslint-plugin-react-components
 
-This log was last generated on Fri, 06 Dec 2024 12:53:38 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.1.1](https://github.com/microsoft/fluentui/tree/@fluentui/eslint-plugin-react-components_v0.1.1)
+
+Wed, 08 Jan 2025 18:33:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/eslint-plugin-react-components_v0.1.0..@fluentui/eslint-plugin-react-components_v0.1.1)
+
+### Patches
+
+- feat: add prefer-fluentui-v9 rule ([PR #33449](https://github.com/microsoft/fluentui/pull/33449) by dmytrokirpa@microsoft.com)
+
 ## [0.1.0](https://github.com/microsoft/fluentui/tree/@fluentui/eslint-plugin-react-components_v0.1.0)
 
 Fri, 06 Dec 2024 12:53:38 GMT
diff --git a/packages/react-components/eslint-plugin-react-components/package.json b/packages/react-components/eslint-plugin-react-components/package.json
index a7bfca2ce415e6..b67ca20a4c7985 100644
--- a/packages/react-components/eslint-plugin-react-components/package.json
+++ b/packages/react-components/eslint-plugin-react-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/eslint-plugin-react-components",
-  "version": "0.1.0",
+  "version": "0.1.1",
   "description": "ESLint plugin and custom rules for Fluent UI components v9",
   "main": "./lib-commonjs/index.js",
   "module": "./lib/index.js",
diff --git a/packages/react-components/react-accordion/library/CHANGELOG.json b/packages/react-components/react-accordion/library/CHANGELOG.json
index f054c4eacb5926..6d918b9c6a9ec7 100644
--- a/packages/react-components/react-accordion/library/CHANGELOG.json
+++ b/packages/react-components/react-accordion/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-accordion",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-accordion_v9.5.13",
+      "version": "9.5.13",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-motion to v9.6.6",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.2",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-accordion_v9.5.12",
diff --git a/packages/react-components/react-accordion/library/CHANGELOG.md b/packages/react-components/react-accordion/library/CHANGELOG.md
index e39d97bf662dfb..5f4519eed6cf93 100644
--- a/packages/react-components/react-accordion/library/CHANGELOG.md
+++ b/packages/react-components/react-accordion/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-accordion
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.5.13](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v9.5.13)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-accordion_v9.5.12..@fluentui/react-accordion_v9.5.13)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion to v9.6.6 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.2 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.5.12](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v9.5.12)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-accordion/library/package.json b/packages/react-components/react-accordion/library/package.json
index 6b972c03096921..b9812bfd106852 100644
--- a/packages/react-components/react-accordion/library/package.json
+++ b/packages/react-components/react-accordion/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-accordion",
-  "version": "9.5.12",
+  "version": "9.5.13",
   "description": "Fluent UI accordion component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,13 +18,13 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.12",
+    "@fluentui/react-aria": "^9.13.13",
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-motion": "^9.6.5",
-    "@fluentui/react-motion-components-preview": "^0.4.1",
+    "@fluentui/react-motion": "^9.6.6",
+    "@fluentui/react-motion-components-preview": "^0.4.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-aria/library/CHANGELOG.json b/packages/react-components/react-aria/library/CHANGELOG.json
index 6a27e3b825e8cb..bd4d8fd100391d 100644
--- a/packages/react-components/react-aria/library/CHANGELOG.json
+++ b/packages/react-components/react-aria/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-aria",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-aria_v9.13.13",
+      "version": "9.13.13",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-aria",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-aria_v9.13.12",
diff --git a/packages/react-components/react-aria/library/CHANGELOG.md b/packages/react-components/react-aria/library/CHANGELOG.md
index 9007f8b13fbab8..de32309340dabb 100644
--- a/packages/react-components/react-aria/library/CHANGELOG.md
+++ b/packages/react-components/react-aria/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-aria
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.13.13](https://github.com/microsoft/fluentui/tree/@fluentui/react-aria_v9.13.13)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-aria_v9.13.12..@fluentui/react-aria_v9.13.13)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.13.12](https://github.com/microsoft/fluentui/tree/@fluentui/react-aria_v9.13.12)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-aria/library/package.json b/packages/react-components/react-aria/library/package.json
index cc8e4e6fc85ccc..8df4f1e8f2d1dc 100644
--- a/packages/react-components/react-aria/library/package.json
+++ b/packages/react-components/react-aria/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-aria",
-  "version": "9.13.12",
+  "version": "9.13.13",
   "description": "React helper to ensure ARIA",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,7 +20,7 @@
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-utilities": "^9.18.19",
     "@swc/helpers": "^0.5.1"
diff --git a/packages/react-components/react-avatar/library/CHANGELOG.json b/packages/react-components/react-avatar/library/CHANGELOG.json
index 2566640b7b57e6..20f5de14d1b2a7 100644
--- a/packages/react-components/react-avatar/library/CHANGELOG.json
+++ b/packages/react-components/react-avatar/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-avatar",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-avatar_v9.6.48",
+      "version": "9.6.48",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-badge to v9.2.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-popover to v9.9.30",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-tooltip to v9.5.3",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-avatar_v9.6.47",
diff --git a/packages/react-components/react-avatar/library/CHANGELOG.md b/packages/react-components/react-avatar/library/CHANGELOG.md
index ffe7d5ebb1e270..944829443990ca 100644
--- a/packages/react-components/react-avatar/library/CHANGELOG.md
+++ b/packages/react-components/react-avatar/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-avatar
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.48](https://github.com/microsoft/fluentui/tree/@fluentui/react-avatar_v9.6.48)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-avatar_v9.6.47..@fluentui/react-avatar_v9.6.48)
+
+### Patches
+
+- Bump @fluentui/react-badge to v9.2.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-popover to v9.9.30 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-tooltip to v9.5.3 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.6.47](https://github.com/microsoft/fluentui/tree/@fluentui/react-avatar_v9.6.47)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-avatar/library/package.json b/packages/react-components/react-avatar/library/package.json
index cd07c63f6f0996..2f9d349d45ee4e 100644
--- a/packages/react-components/react-avatar/library/package.json
+++ b/packages/react-components/react-avatar/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-avatar",
-  "version": "9.6.47",
+  "version": "9.6.48",
   "description": "React components for building Microsoft web experiences.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,16 +21,16 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-badge": "^9.2.48",
+    "@fluentui/react-badge": "^9.2.49",
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-popover": "^9.9.29",
+    "@fluentui/react-popover": "^9.9.30",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-tooltip": "^9.5.2",
+    "@fluentui/react-tooltip": "^9.5.3",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-badge/library/CHANGELOG.json b/packages/react-components/react-badge/library/CHANGELOG.json
index 3f09172012b249..f1cc7a2126c9a1 100644
--- a/packages/react-components/react-badge/library/CHANGELOG.json
+++ b/packages/react-components/react-badge/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-badge",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-badge_v9.2.49",
+      "version": "9.2.49",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-badge",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-badge_v9.2.48",
diff --git a/packages/react-components/react-badge/library/CHANGELOG.md b/packages/react-components/react-badge/library/CHANGELOG.md
index 7660ccb6ebae67..6c04179d03e350 100644
--- a/packages/react-components/react-badge/library/CHANGELOG.md
+++ b/packages/react-components/react-badge/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-badge
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.49](https://github.com/microsoft/fluentui/tree/@fluentui/react-badge_v9.2.49)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-badge_v9.2.48..@fluentui/react-badge_v9.2.49)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.48](https://github.com/microsoft/fluentui/tree/@fluentui/react-badge_v9.2.48)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-badge/library/package.json b/packages/react-components/react-badge/library/package.json
index f425921e38959f..25d81efe78c90c 100644
--- a/packages/react-components/react-badge/library/package.json
+++ b/packages/react-components/react-badge/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-badge",
-  "version": "9.2.48",
+  "version": "9.2.49",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,7 +19,7 @@
   },
   "dependencies": {
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-breadcrumb/library/CHANGELOG.json b/packages/react-components/react-breadcrumb/library/CHANGELOG.json
index 96f9192e5d3f60..0fb1591c357a6b 100644
--- a/packages/react-components/react-breadcrumb/library/CHANGELOG.json
+++ b/packages/react-components/react-breadcrumb/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-breadcrumb",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-breadcrumb_v9.0.48",
+      "version": "9.0.48",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-button to v9.3.99",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-link to v9.3.6",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-breadcrumb_v9.0.46",
diff --git a/packages/react-components/react-breadcrumb/library/CHANGELOG.md b/packages/react-components/react-breadcrumb/library/CHANGELOG.md
index 9ed2e6dc7e45a5..703053e51edcfd 100644
--- a/packages/react-components/react-breadcrumb/library/CHANGELOG.md
+++ b/packages/react-components/react-breadcrumb/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-breadcrumb
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.48](https://github.com/microsoft/fluentui/tree/@fluentui/react-breadcrumb_v9.0.48)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-breadcrumb_v9.0.46..@fluentui/react-breadcrumb_v9.0.48)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-button to v9.3.99 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-link to v9.3.6 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.0.46](https://github.com/microsoft/fluentui/tree/@fluentui/react-breadcrumb_v9.0.46)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-breadcrumb/library/package.json b/packages/react-components/react-breadcrumb/library/package.json
index acfb5dbf3fe059..55e7425017793e 100644
--- a/packages/react-components/react-breadcrumb/library/package.json
+++ b/packages/react-components/react-breadcrumb/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-breadcrumb",
-  "version": "9.0.47",
+  "version": "9.0.48",
   "description": "Breadcrumb component for Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -22,15 +22,15 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.12",
-    "@fluentui/react-button": "^9.3.98",
+    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-button": "^9.3.99",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-link": "^9.3.5",
+    "@fluentui/react-link": "^9.3.6",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-button/library/CHANGELOG.json b/packages/react-components/react-button/library/CHANGELOG.json
index 3272fcc2e7a6b4..d7913c861648d2 100644
--- a/packages/react-components/react-button/library/CHANGELOG.json
+++ b/packages/react-components/react-button/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-button",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-button_v9.3.99",
+      "version": "9.3.99",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-button",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-button",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:47 GMT",
       "tag": "@fluentui/react-button_v9.3.98",
diff --git a/packages/react-components/react-button/library/CHANGELOG.md b/packages/react-components/react-button/library/CHANGELOG.md
index 29a60e44cfc364..55ed9021a9fb48 100644
--- a/packages/react-components/react-button/library/CHANGELOG.md
+++ b/packages/react-components/react-button/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-button
 
-This log was last generated on Mon, 16 Dec 2024 16:26:47 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.99](https://github.com/microsoft/fluentui/tree/@fluentui/react-button_v9.3.99)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-button_v9.3.98..@fluentui/react-button_v9.3.99)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.3.98](https://github.com/microsoft/fluentui/tree/@fluentui/react-button_v9.3.98)
 
 Mon, 16 Dec 2024 16:26:47 GMT 
diff --git a/packages/react-components/react-button/library/package.json b/packages/react-components/react-button/library/package.json
index d400e4c6d83fa0..b632cf2d08c840 100644
--- a/packages/react-components/react-button/library/package.json
+++ b/packages/react-components/react-button/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-button",
-  "version": "9.3.98",
+  "version": "9.3.99",
   "description": "Fluent UI React Button component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,9 +20,9 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.12",
+    "@fluentui/react-aria": "^9.13.13",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-calendar-compat/library/CHANGELOG.json b/packages/react-components/react-calendar-compat/library/CHANGELOG.json
index 510e8a28b20fc7..edb0f761aaea45 100644
--- a/packages/react-components/react-calendar-compat/library/CHANGELOG.json
+++ b/packages/react-components/react-calendar-compat/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-calendar-compat",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-calendar-compat_v0.1.25",
+      "version": "0.1.25",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-calendar-compat",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-calendar-compat_v0.1.24",
diff --git a/packages/react-components/react-calendar-compat/library/CHANGELOG.md b/packages/react-components/react-calendar-compat/library/CHANGELOG.md
index b93d888faa30bb..c0f3f3865b4c77 100644
--- a/packages/react-components/react-calendar-compat/library/CHANGELOG.md
+++ b/packages/react-components/react-calendar-compat/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-calendar-compat
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.1.25](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.1.25)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.1.24..@fluentui/react-calendar-compat_v0.1.25)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [0.1.24](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.1.24)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-calendar-compat/library/package.json b/packages/react-components/react-calendar-compat/library/package.json
index 472a14ed776673..8dfb256dc9abf6 100644
--- a/packages/react-components/react-calendar-compat/library/package.json
+++ b/packages/react-components/react-calendar-compat/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-calendar-compat",
-  "version": "0.1.24",
+  "version": "0.1.25",
   "description": "Calendar compat component for Fluent UI v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,7 +20,7 @@
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-card/library/CHANGELOG.json b/packages/react-components/react-card/library/CHANGELOG.json
index 8b203f585f0f94..98cac8664bfbe8 100644
--- a/packages/react-components/react-card/library/CHANGELOG.json
+++ b/packages/react-components/react-card/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-card",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-card_v9.0.101",
+      "version": "9.0.101",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-card",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-card",
+            "comment": "Bump @fluentui/react-text to v9.4.31",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-card_v9.0.100",
diff --git a/packages/react-components/react-card/library/CHANGELOG.md b/packages/react-components/react-card/library/CHANGELOG.md
index db8460d2369086..3e15430679e69c 100644
--- a/packages/react-components/react-card/library/CHANGELOG.md
+++ b/packages/react-components/react-card/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-card
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.101](https://github.com/microsoft/fluentui/tree/@fluentui/react-card_v9.0.101)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-card_v9.0.100..@fluentui/react-card_v9.0.101)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-text to v9.4.31 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.0.100](https://github.com/microsoft/fluentui/tree/@fluentui/react-card_v9.0.100)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-card/library/package.json b/packages/react-components/react-card/library/package.json
index 2d5555d5656da3..f0a088e09f34b2 100644
--- a/packages/react-components/react-card/library/package.json
+++ b/packages/react-components/react-card/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-card",
-  "version": "9.0.100",
+  "version": "9.0.101",
   "private": false,
   "description": "Card container components for Fluent UI React.",
   "main": "lib-commonjs/index.js",
@@ -23,9 +23,9 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-text": "^9.4.30",
+    "@fluentui/react-text": "^9.4.31",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-carousel/library/CHANGELOG.json b/packages/react-components/react-carousel/library/CHANGELOG.json
index a8f2222ae9a225..0081147104e9ac 100644
--- a/packages/react-components/react-carousel/library/CHANGELOG.json
+++ b/packages/react-components/react-carousel/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-carousel",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-carousel_v9.4.4",
+      "version": "9.4.4",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-carousel",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-carousel",
+            "comment": "Bump @fluentui/react-button to v9.3.99",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-carousel",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:47 GMT",
       "tag": "@fluentui/react-carousel_v9.4.3",
diff --git a/packages/react-components/react-carousel/library/CHANGELOG.md b/packages/react-components/react-carousel/library/CHANGELOG.md
index a79d70f0ff4492..ffcbf93a31bdd2 100644
--- a/packages/react-components/react-carousel/library/CHANGELOG.md
+++ b/packages/react-components/react-carousel/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-carousel
 
-This log was last generated on Mon, 16 Dec 2024 16:26:47 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.4.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-carousel_v9.4.4)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-carousel_v9.4.3..@fluentui/react-carousel_v9.4.4)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-button to v9.3.99 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.4.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-carousel_v9.4.3)
 
 Mon, 16 Dec 2024 16:26:47 GMT 
diff --git a/packages/react-components/react-carousel/library/package.json b/packages/react-components/react-carousel/library/package.json
index adca635a564059..8f8e5514146c4f 100644
--- a/packages/react-components/react-carousel/library/package.json
+++ b/packages/react-components/react-carousel/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-carousel",
-  "version": "9.4.3",
+  "version": "9.4.4",
   "description": "A composable carousel component that enables pagination with minimal rerenders",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -25,11 +25,11 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.12",
-    "@fluentui/react-button": "^9.3.98",
+    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-button": "^9.3.99",
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-checkbox/library/CHANGELOG.json b/packages/react-components/react-checkbox/library/CHANGELOG.json
index e389153c3b1f91..be6eaffe0562ac 100644
--- a/packages/react-components/react-checkbox/library/CHANGELOG.json
+++ b/packages/react-components/react-checkbox/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-checkbox",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-checkbox_v9.2.45",
+      "version": "9.2.45",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-checkbox",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-checkbox",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-checkbox",
+            "comment": "Bump @fluentui/react-label to v9.1.82",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-checkbox_v9.2.44",
diff --git a/packages/react-components/react-checkbox/library/CHANGELOG.md b/packages/react-components/react-checkbox/library/CHANGELOG.md
index 6a18380fb5121d..77f54ee619c374 100644
--- a/packages/react-components/react-checkbox/library/CHANGELOG.md
+++ b/packages/react-components/react-checkbox/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-checkbox
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.45](https://github.com/microsoft/fluentui/tree/@fluentui/react-checkbox_v9.2.45)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-checkbox_v9.2.44..@fluentui/react-checkbox_v9.2.45)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-label to v9.1.82 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.44](https://github.com/microsoft/fluentui/tree/@fluentui/react-checkbox_v9.2.44)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-checkbox/library/package.json b/packages/react-components/react-checkbox/library/package.json
index 86f85036ed0447..60de9de02621c0 100644
--- a/packages/react-components/react-checkbox/library/package.json
+++ b/packages/react-components/react-checkbox/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-checkbox",
-  "version": "9.2.44",
+  "version": "9.2.45",
   "description": "Fluent UI checkbox component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,10 +18,10 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.83",
+    "@fluentui/react-field": "^9.1.84",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-label": "^9.1.81",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-label": "^9.1.82",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-color-picker-preview/library/CHANGELOG.json b/packages/react-components/react-color-picker-preview/library/CHANGELOG.json
index 173928e5dd1b24..f8e64896e9ddc1 100644
--- a/packages/react-components/react-color-picker-preview/library/CHANGELOG.json
+++ b/packages/react-components/react-color-picker-preview/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-color-picker-preview",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:32 GMT",
+      "tag": "@fluentui/react-color-picker-preview_v0.1.3",
+      "version": "0.1.3",
+      "comments": {
+        "patch": [
+          {
+            "author": "vkozlova@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "c53044a18a262e2defa3f27bf09950ec724a8997",
+            "comment": "fix: contrast border of thumb"
+          },
+          {
+            "author": "vkozlova@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "b52d6ba234a24ce1d05c636cfc41b0098b15cfb9",
+            "comment": "feat: added aria-attributes to the ColorPicker"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-color-picker-preview",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:48 GMT",
       "tag": "@fluentui/react-color-picker-preview_v0.1.2",
diff --git a/packages/react-components/react-color-picker-preview/library/CHANGELOG.md b/packages/react-components/react-color-picker-preview/library/CHANGELOG.md
index e0a5a638c81c6c..52bcf72cde4c4d 100644
--- a/packages/react-components/react-color-picker-preview/library/CHANGELOG.md
+++ b/packages/react-components/react-color-picker-preview/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-color-picker-preview
 
-This log was last generated on Mon, 16 Dec 2024 16:26:48 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.1.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-color-picker-preview_v0.1.3)
+
+Wed, 08 Jan 2025 18:33:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-color-picker-preview_v0.1.2..@fluentui/react-color-picker-preview_v0.1.3)
+
+### Patches
+
+- fix: contrast border of thumb ([PR #33526](https://github.com/microsoft/fluentui/pull/33526) by vkozlova@microsoft.com)
+- feat: added aria-attributes to the ColorPicker ([PR #33543](https://github.com/microsoft/fluentui/pull/33543) by vkozlova@microsoft.com)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [0.1.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-color-picker-preview_v0.1.2)
 
 Mon, 16 Dec 2024 16:26:48 GMT 
diff --git a/packages/react-components/react-color-picker-preview/library/package.json b/packages/react-components/react-color-picker-preview/library/package.json
index 401162146c746b..6f3f46d0a1615c 100644
--- a/packages/react-components/react-color-picker-preview/library/package.json
+++ b/packages/react-components/react-color-picker-preview/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-color-picker-preview",
-  "version": "0.1.2",
+  "version": "0.1.3",
   "description": "ColorPicker component for Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -26,7 +26,7 @@
   "dependencies": {
     "@ctrl/tinycolor": "3.3.4",
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-colorpicker-compat/package.json b/packages/react-components/react-colorpicker-compat/package.json
index a45b6b1865a591..e9209a38f85286 100644
--- a/packages/react-components/react-colorpicker-compat/package.json
+++ b/packages/react-components/react-colorpicker-compat/package.json
@@ -19,7 +19,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-combobox/library/CHANGELOG.json b/packages/react-components/react-combobox/library/CHANGELOG.json
index 7073fcfe6e8d9b..03ad9f5d9ce256 100644
--- a/packages/react-components/react-combobox/library/CHANGELOG.json
+++ b/packages/react-components/react-combobox/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-combobox",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-combobox_v9.13.16",
+      "version": "9.13.16",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-portal to v9.4.41",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-positioning to v9.16.1",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-combobox_v9.13.15",
diff --git a/packages/react-components/react-combobox/library/CHANGELOG.md b/packages/react-components/react-combobox/library/CHANGELOG.md
index dd65c1ea6c722b..9d10ca0edeb740 100644
--- a/packages/react-components/react-combobox/library/CHANGELOG.md
+++ b/packages/react-components/react-combobox/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-combobox
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.13.16](https://github.com/microsoft/fluentui/tree/@fluentui/react-combobox_v9.13.16)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-combobox_v9.13.15..@fluentui/react-combobox_v9.13.16)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-portal to v9.4.41 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-positioning to v9.16.1 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.13.15](https://github.com/microsoft/fluentui/tree/@fluentui/react-combobox_v9.13.15)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-combobox/library/package.json b/packages/react-components/react-combobox/library/package.json
index 9cf5745494ce9a..4500264946ddb9 100644
--- a/packages/react-components/react-combobox/library/package.json
+++ b/packages/react-components/react-combobox/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-combobox",
-  "version": "9.13.15",
+  "version": "9.13.16",
   "description": "Fluent UI React Combobox component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,14 +19,14 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.12",
+    "@fluentui/react-aria": "^9.13.13",
     "@fluentui/keyboard-keys": "^9.0.8",
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-field": "^9.1.83",
+    "@fluentui/react-field": "^9.1.84",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-portal": "^9.4.40",
-    "@fluentui/react-positioning": "^9.16.0",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-portal": "^9.4.41",
+    "@fluentui/react-positioning": "^9.16.1",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-components/CHANGELOG.json b/packages/react-components/react-components/CHANGELOG.json
index d41c76fea81a72..c695eca381bf9f 100644
--- a/packages/react-components/react-components/CHANGELOG.json
+++ b/packages/react-components/react-components/CHANGELOG.json
@@ -1,6 +1,89 @@
 {
   "name": "@fluentui/react-components",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:32 GMT",
+      "tag": "@fluentui/react-components_v9.57.0",
+      "version": "9.57.0",
+      "comments": {
+        "patch": [
+          {
+            "author": "dmytrokirpa@microsoft.com",
+            "package": "@fluentui/eslint-plugin-react-components",
+            "commit": "384df0ccb4a5324da6daee8f18712ef5a81fa05a",
+            "comment": "feat: add prefer-fluentui-v9 rule"
+          },
+          {
+            "author": "vkozlova@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "c53044a18a262e2defa3f27bf09950ec724a8997",
+            "comment": "fix: contrast border of thumb"
+          },
+          {
+            "author": "vkozlova@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "b52d6ba234a24ce1d05c636cfc41b0098b15cfb9",
+            "comment": "feat: added aria-attributes to the ColorPicker"
+          },
+          {
+            "author": "olfedias@microsoft.com",
+            "package": "@fluentui/react-conformance",
+            "commit": "dc7bb663e3d93a19b611cf1892556d69c57b1269",
+            "comment": "chore: remove usage of \"export *\""
+          },
+          {
+            "author": "seanmonahan@microsoft.com",
+            "package": "@fluentui/react-motion",
+            "commit": "7f1647fadcd193c0d16e51b314d299ee19ae5746",
+            "comment": "fix: handle case when Animation.persist() does not exist"
+          },
+          {
+            "author": "863023+radium-v@users.noreply.github.com",
+            "package": "@fluentui/react-positioning",
+            "commit": "8bd0e68bc5a78f8b9b3ea10210ad876151849d7a",
+            "comment": "chore: bump @floating-ui/dom"
+          },
+          {
+            "author": "dmytrokirpa@microsoft.com",
+            "package": "@fluentui/react-tabs",
+            "commit": "bd3e4c27b89c17e279e99342f305eb9c71714a09",
+            "comment": "fix: update tab border color for better visibility in high contrast mode"
+          },
+          {
+            "author": "soumya_tripathy@outlook.com",
+            "package": "@fluentui/react-toast",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb",
+            "comment": "feat: Add intent property to Toast state and useToast hook. Correct media className assignment in useToastTitleStyles."
+          }
+        ],
+        "minor": [
+          {
+            "author": "jirivyhnalek@microsoft.com",
+            "package": "@fluentui/react-components",
+            "commit": "aa6e5ddc04518065cd0a25bcdd5c91d2c1615bbd",
+            "comment": "feat: add @fluentui/react-list to suite"
+          },
+          {
+            "author": "jirivyhnalek@microsoft.com",
+            "package": "@fluentui/react-list",
+            "commit": "aa6e5ddc04518065cd0a25bcdd5c91d2c1615bbd",
+            "comment": "feat: release stable"
+          },
+          {
+            "author": "robertpenner@microsoft.com",
+            "package": "@fluentui/react-message-bar",
+            "commit": "9c716b2519ad2d135fb5d16a60ef6ee183a16e31",
+            "comment": "refactor(MessageBar): migrate slide & fade to motion components"
+          },
+          {
+            "author": "sarah.higley@microsoft.com",
+            "package": "@fluentui/react-teaching-popover",
+            "commit": "0bfe0c7fdf8981d7ccf8c4c15e927d8202fbdd12",
+            "comment": "fix: accName updates and semantic fixes"
+          }
+        ]
+      }
+    },
     {
       "date": "Thu, 19 Dec 2024 14:30:56 GMT",
       "tag": "@fluentui/react-components_v9.56.8",
diff --git a/packages/react-components/react-components/CHANGELOG.md b/packages/react-components/react-components/CHANGELOG.md
index 0d568f05c23fa6..afacfc2fae0f59 100644
--- a/packages/react-components/react-components/CHANGELOG.md
+++ b/packages/react-components/react-components/CHANGELOG.md
@@ -1,9 +1,43 @@
 # Change Log - @fluentui/react-components
 
-This log was last generated on Thu, 19 Dec 2024 14:30:56 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.57.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-components_v9.57.0)
+
+Wed, 08 Jan 2025 18:33:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.56.8..@fluentui/react-components_v9.57.0)
+
+### Minor changes
+
+- `@fluentui/react-components`
+  - feat: add @fluentui/react-list to suite ([PR #33378](https://github.com/microsoft/fluentui/pull/33378) by jirivyhnalek@microsoft.com)
+- `@fluentui/react-list`
+  - feat: release stable ([PR #33378](https://github.com/microsoft/fluentui/pull/33378) by jirivyhnalek@microsoft.com)
+- `@fluentui/react-message-bar`
+  - refactor(MessageBar): migrate slide & fade to motion components ([PR #33465](https://github.com/microsoft/fluentui/pull/33465) by robertpenner@microsoft.com)
+- `@fluentui/react-teaching-popover`
+  - fix: accName updates and semantic fixes ([PR #33194](https://github.com/microsoft/fluentui/pull/33194) by sarah.higley@microsoft.com)
+
+### Patches
+
+- `@fluentui/eslint-plugin-react-components`
+  - feat: add prefer-fluentui-v9 rule ([PR #33449](https://github.com/microsoft/fluentui/pull/33449) by dmytrokirpa@microsoft.com)
+- `@fluentui/react-color-picker-preview`
+  - fix: contrast border of thumb ([PR #33526](https://github.com/microsoft/fluentui/pull/33526) by vkozlova@microsoft.com)
+  - feat: added aria-attributes to the ColorPicker ([PR #33543](https://github.com/microsoft/fluentui/pull/33543) by vkozlova@microsoft.com)
+- `@fluentui/react-conformance`
+  - chore: remove usage of "export *" ([PR #33448](https://github.com/microsoft/fluentui/pull/33448) by olfedias@microsoft.com)
+- `@fluentui/react-motion`
+  - fix: handle case when Animation.persist() does not exist ([PR #33282](https://github.com/microsoft/fluentui/pull/33282) by seanmonahan@microsoft.com)
+- `@fluentui/react-positioning`
+  - chore: bump @floating-ui/dom ([PR #33458](https://github.com/microsoft/fluentui/pull/33458) by 863023+radium-v@users.noreply.github.com)
+- `@fluentui/react-tabs`
+  - fix: update tab border color for better visibility in high contrast mode ([PR #33573](https://github.com/microsoft/fluentui/pull/33573) by dmytrokirpa@microsoft.com)
+- `@fluentui/react-toast`
+  - feat: Add intent property to Toast state and useToast hook. Correct media className assignment in useToastTitleStyles. ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by soumya_tripathy@outlook.com)
+
 ## [9.56.8](https://github.com/microsoft/fluentui/tree/@fluentui/react-components_v9.56.8)
 
 Thu, 19 Dec 2024 14:30:56 GMT 
diff --git a/packages/react-components/react-components/package.json b/packages/react-components/react-components/package.json
index 224551b149af34..ba48442cdf3a95 100644
--- a/packages/react-components/react-components/package.json
+++ b/packages/react-components/react-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-components",
-  "version": "9.56.8",
+  "version": "9.57.0",
   "description": "Suite package for converged React components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -16,66 +16,66 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-accordion": "^9.5.12",
+    "@fluentui/react-accordion": "^9.5.13",
     "@fluentui/react-alert": "9.0.0-beta.124",
-    "@fluentui/react-avatar": "^9.6.47",
-    "@fluentui/react-badge": "^9.2.48",
-    "@fluentui/react-button": "^9.3.98",
-    "@fluentui/react-card": "^9.0.100",
-    "@fluentui/react-checkbox": "^9.2.44",
-    "@fluentui/react-combobox": "^9.13.15",
-    "@fluentui/react-dialog": "^9.11.26",
-    "@fluentui/react-divider": "^9.2.80",
-    "@fluentui/react-drawer": "^9.6.6",
-    "@fluentui/react-field": "^9.1.83",
-    "@fluentui/react-image": "^9.1.78",
+    "@fluentui/react-avatar": "^9.6.48",
+    "@fluentui/react-badge": "^9.2.49",
+    "@fluentui/react-button": "^9.3.99",
+    "@fluentui/react-card": "^9.0.101",
+    "@fluentui/react-checkbox": "^9.2.45",
+    "@fluentui/react-combobox": "^9.13.16",
+    "@fluentui/react-dialog": "^9.11.27",
+    "@fluentui/react-divider": "^9.2.81",
+    "@fluentui/react-drawer": "^9.6.7",
+    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-image": "^9.1.79",
     "@fluentui/react-infobutton": "9.0.0-beta.102",
-    "@fluentui/react-infolabel": "^9.0.54",
-    "@fluentui/react-input": "^9.4.96",
-    "@fluentui/react-label": "^9.1.81",
-    "@fluentui/react-link": "^9.3.5",
-    "@fluentui/react-list": "9.0.0-alpha.0",
-    "@fluentui/react-menu": "^9.14.24",
-    "@fluentui/react-overflow": "^9.2.5",
-    "@fluentui/react-persona": "^9.2.106",
-    "@fluentui/react-portal": "^9.4.40",
-    "@fluentui/react-popover": "^9.9.29",
-    "@fluentui/react-positioning": "^9.16.0",
-    "@fluentui/react-progress": "^9.1.94",
-    "@fluentui/react-provider": "^9.18.2",
-    "@fluentui/react-radio": "^9.2.39",
-    "@fluentui/react-select": "^9.1.94",
+    "@fluentui/react-infolabel": "^9.0.55",
+    "@fluentui/react-input": "^9.4.97",
+    "@fluentui/react-label": "^9.1.82",
+    "@fluentui/react-link": "^9.3.6",
+    "@fluentui/react-list": "^9.0.0",
+    "@fluentui/react-menu": "^9.14.25",
+    "@fluentui/react-overflow": "^9.2.6",
+    "@fluentui/react-persona": "^9.2.107",
+    "@fluentui/react-portal": "^9.4.41",
+    "@fluentui/react-popover": "^9.9.30",
+    "@fluentui/react-positioning": "^9.16.1",
+    "@fluentui/react-progress": "^9.1.95",
+    "@fluentui/react-provider": "^9.18.3",
+    "@fluentui/react-radio": "^9.2.40",
+    "@fluentui/react-select": "^9.1.95",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-skeleton": "^9.1.23",
-    "@fluentui/react-slider": "^9.2.3",
-    "@fluentui/react-spinbutton": "^9.2.95",
-    "@fluentui/react-spinner": "^9.5.5",
-    "@fluentui/react-swatch-picker": "^9.1.17",
-    "@fluentui/react-switch": "^9.1.101",
-    "@fluentui/react-table": "^9.15.26",
-    "@fluentui/react-tabs": "^9.6.5",
+    "@fluentui/react-skeleton": "^9.1.24",
+    "@fluentui/react-slider": "^9.2.4",
+    "@fluentui/react-spinbutton": "^9.2.96",
+    "@fluentui/react-spinner": "^9.5.6",
+    "@fluentui/react-swatch-picker": "^9.1.18",
+    "@fluentui/react-switch": "^9.1.102",
+    "@fluentui/react-table": "^9.15.27",
+    "@fluentui/react-tabs": "^9.6.6",
     "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-tags": "^9.3.27",
-    "@fluentui/react-textarea": "^9.3.95",
+    "@fluentui/react-tags": "^9.3.28",
+    "@fluentui/react-textarea": "^9.3.96",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-toast": "^9.3.63",
-    "@fluentui/react-toolbar": "^9.2.13",
-    "@fluentui/react-tooltip": "^9.5.2",
+    "@fluentui/react-toast": "^9.3.64",
+    "@fluentui/react-toolbar": "^9.2.14",
+    "@fluentui/react-tooltip": "^9.5.3",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-text": "^9.4.30",
-    "@fluentui/react-virtualizer": "9.0.0-alpha.89",
-    "@fluentui/react-tree": "^9.8.11",
+    "@fluentui/react-text": "^9.4.31",
+    "@fluentui/react-virtualizer": "9.0.0-alpha.90",
+    "@fluentui/react-tree": "^9.8.12",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
-    "@fluentui/react-message-bar": "^9.2.19",
-    "@fluentui/react-breadcrumb": "^9.0.47",
-    "@fluentui/react-aria": "^9.13.12",
-    "@fluentui/react-rating": "^9.0.26",
-    "@fluentui/react-search": "^9.0.26",
-    "@fluentui/react-teaching-popover": "^9.1.26",
-    "@fluentui/react-tag-picker": "^9.3.13",
-    "@fluentui/react-motion": "^9.6.5",
-    "@fluentui/react-carousel": "^9.4.3"
+    "@fluentui/react-message-bar": "^9.3.0",
+    "@fluentui/react-breadcrumb": "^9.0.48",
+    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-rating": "^9.0.27",
+    "@fluentui/react-search": "^9.0.27",
+    "@fluentui/react-teaching-popover": "^9.2.0",
+    "@fluentui/react-tag-picker": "^9.3.14",
+    "@fluentui/react-motion": "^9.6.6",
+    "@fluentui/react-carousel": "^9.4.4"
   },
   "peerDependencies": {
     "@types/react": ">=16.14.0 <19.0.0",
diff --git a/packages/react-components/react-conformance-griffel/CHANGELOG.json b/packages/react-components/react-conformance-griffel/CHANGELOG.json
index 5012a22f7787f5..87000c04c0a1ca 100644
--- a/packages/react-components/react-conformance-griffel/CHANGELOG.json
+++ b/packages/react-components/react-conformance-griffel/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-conformance-griffel",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-conformance-griffel_v9.0.13",
+      "version": "9.0.13",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-conformance-griffel",
+            "comment": "Bump @fluentui/react-conformance to v0.19.3",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 11 Nov 2024 10:01:11 GMT",
       "tag": "@fluentui/react-conformance-griffel_v9.0.12",
diff --git a/packages/react-components/react-conformance-griffel/CHANGELOG.md b/packages/react-components/react-conformance-griffel/CHANGELOG.md
index 3486ea68be0f7d..309c3bc2280f50 100644
--- a/packages/react-components/react-conformance-griffel/CHANGELOG.md
+++ b/packages/react-components/react-conformance-griffel/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-conformance-griffel
 
-This log was last generated on Mon, 11 Nov 2024 10:01:11 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.13](https://github.com/microsoft/fluentui/tree/@fluentui/react-conformance-griffel_v9.0.13)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-conformance-griffel_v9.0.12..@fluentui/react-conformance-griffel_v9.0.13)
+
+### Patches
+
+- Bump @fluentui/react-conformance to v0.19.3 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.0.12](https://github.com/microsoft/fluentui/tree/@fluentui/react-conformance-griffel_v9.0.12)
 
 Mon, 11 Nov 2024 10:01:11 GMT 
diff --git a/packages/react-components/react-conformance-griffel/package.json b/packages/react-components/react-conformance-griffel/package.json
index fdc7b4d9a4fd81..c86e6cc2a301a7 100644
--- a/packages/react-components/react-conformance-griffel/package.json
+++ b/packages/react-components/react-conformance-griffel/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-conformance-griffel",
-  "version": "9.0.12",
+  "version": "9.0.13",
   "description": "A set of conformance tests for Griffel CSS-in-JS",
   "main": "lib-commonjs/index.js",
   "typings": "./dist/index.d.ts",
@@ -18,7 +18,7 @@
     "@types/react": ">=16.14.0 <19.0.0",
     "@types/react-dom": ">=16.9.0 <19.0.0",
     "typescript": "^4.3.0",
-    "@fluentui/react-conformance": "^0.19.2"
+    "@fluentui/react-conformance": "^0.19.3"
   },
   "dependencies": {
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-datepicker-compat/library/CHANGELOG.json b/packages/react-components/react-datepicker-compat/library/CHANGELOG.json
index eee18adda14d6b..9d9fff5f088e67 100644
--- a/packages/react-components/react-datepicker-compat/library/CHANGELOG.json
+++ b/packages/react-components/react-datepicker-compat/library/CHANGELOG.json
@@ -1,6 +1,57 @@
 {
   "name": "@fluentui/react-datepicker-compat",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-datepicker-compat_v0.4.60",
+      "version": "0.4.60",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-calendar-compat to v0.1.25",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-input to v9.4.97",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-popover to v9.9.30",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-portal to v9.4.41",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-positioning to v9.16.1",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-datepicker-compat_v0.4.59",
diff --git a/packages/react-components/react-datepicker-compat/library/CHANGELOG.md b/packages/react-components/react-datepicker-compat/library/CHANGELOG.md
index f430f52192888c..c05f0a647e00ec 100644
--- a/packages/react-components/react-datepicker-compat/library/CHANGELOG.md
+++ b/packages/react-components/react-datepicker-compat/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-datepicker-compat
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.4.60](https://github.com/microsoft/fluentui/tree/@fluentui/react-datepicker-compat_v0.4.60)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-datepicker-compat_v0.4.59..@fluentui/react-datepicker-compat_v0.4.60)
+
+### Patches
+
+- Bump @fluentui/react-calendar-compat to v0.1.25 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-input to v9.4.97 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-popover to v9.9.30 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-portal to v9.4.41 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-positioning to v9.16.1 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [0.4.59](https://github.com/microsoft/fluentui/tree/@fluentui/react-datepicker-compat_v0.4.59)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-datepicker-compat/library/package.json b/packages/react-components/react-datepicker-compat/library/package.json
index 8a749c1b98a0f7..c389c90fbe7add 100644
--- a/packages/react-components/react-datepicker-compat/library/package.json
+++ b/packages/react-components/react-datepicker-compat/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-datepicker-compat",
-  "version": "0.4.59",
+  "version": "0.4.60",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,14 +21,14 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-calendar-compat": "^0.1.24",
-    "@fluentui/react-field": "^9.1.83",
+    "@fluentui/react-calendar-compat": "^0.1.25",
+    "@fluentui/react-field": "^9.1.84",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-input": "^9.4.96",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-popover": "^9.9.29",
-    "@fluentui/react-portal": "^9.4.40",
-    "@fluentui/react-positioning": "^9.16.0",
+    "@fluentui/react-input": "^9.4.97",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-popover": "^9.9.30",
+    "@fluentui/react-portal": "^9.4.41",
+    "@fluentui/react-positioning": "^9.16.1",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-dialog/library/CHANGELOG.json b/packages/react-components/react-dialog/library/CHANGELOG.json
index 9db09ede386696..db2f8af9726443 100644
--- a/packages/react-components/react-dialog/library/CHANGELOG.json
+++ b/packages/react-components/react-dialog/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-dialog",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-dialog_v9.11.27",
+      "version": "9.11.27",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-motion to v9.6.6",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.2",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-portal to v9.4.41",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:36 GMT",
       "tag": "@fluentui/react-dialog_v9.11.26",
diff --git a/packages/react-components/react-dialog/library/CHANGELOG.md b/packages/react-components/react-dialog/library/CHANGELOG.md
index 7981ed712d1234..c81c59e32589b5 100644
--- a/packages/react-components/react-dialog/library/CHANGELOG.md
+++ b/packages/react-components/react-dialog/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-dialog
 
-This log was last generated on Wed, 18 Dec 2024 10:59:36 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.11.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-dialog_v9.11.27)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-dialog_v9.11.26..@fluentui/react-dialog_v9.11.27)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion to v9.6.6 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.2 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-portal to v9.4.41 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.11.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-dialog_v9.11.26)
 
 Wed, 18 Dec 2024 10:59:36 GMT 
diff --git a/packages/react-components/react-dialog/library/package.json b/packages/react-components/react-dialog/library/package.json
index d9690afee5ece9..35ebfdfe0dbc31 100644
--- a/packages/react-components/react-dialog/library/package.json
+++ b/packages/react-components/react-dialog/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-dialog",
-  "version": "9.11.26",
+  "version": "9.11.27",
   "description": "Dialog component for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -25,17 +25,17 @@
   },
   "dependencies": {
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/keyboard-keys": "^9.0.8",
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-motion": "^9.6.5",
-    "@fluentui/react-motion-components-preview": "^0.4.1",
+    "@fluentui/react-motion": "^9.6.6",
+    "@fluentui/react-motion-components-preview": "^0.4.2",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-aria": "^9.13.12",
+    "@fluentui/react-aria": "^9.13.13",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-portal": "^9.4.40",
+    "@fluentui/react-portal": "^9.4.41",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-divider/library/CHANGELOG.json b/packages/react-components/react-divider/library/CHANGELOG.json
index 12861306696bc5..cfd921712513ba 100644
--- a/packages/react-components/react-divider/library/CHANGELOG.json
+++ b/packages/react-components/react-divider/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-divider",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-divider_v9.2.81",
+      "version": "9.2.81",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-divider",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-divider_v9.2.80",
diff --git a/packages/react-components/react-divider/library/CHANGELOG.md b/packages/react-components/react-divider/library/CHANGELOG.md
index fb892cf385cec0..38a29a2f69e7f1 100644
--- a/packages/react-components/react-divider/library/CHANGELOG.md
+++ b/packages/react-components/react-divider/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-divider
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.81](https://github.com/microsoft/fluentui/tree/@fluentui/react-divider_v9.2.81)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-divider_v9.2.80..@fluentui/react-divider_v9.2.81)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.80](https://github.com/microsoft/fluentui/tree/@fluentui/react-divider_v9.2.80)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-divider/library/package.json b/packages/react-components/react-divider/library/package.json
index 33d964b56d5bc7..485f8b83c26716 100644
--- a/packages/react-components/react-divider/library/package.json
+++ b/packages/react-components/react-divider/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-divider",
-  "version": "9.2.80",
+  "version": "9.2.81",
   "description": "Fluent UI component to visually separate content.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,7 +18,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-drawer/library/CHANGELOG.json b/packages/react-components/react-drawer/library/CHANGELOG.json
index 37f190c2cbecd4..673e1556b54f6e 100644
--- a/packages/react-components/react-drawer/library/CHANGELOG.json
+++ b/packages/react-components/react-drawer/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-drawer",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-drawer_v9.6.7",
+      "version": "9.6.7",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-dialog to v9.11.27",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-motion to v9.6.6",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-portal to v9.4.41",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-drawer_v9.6.6",
diff --git a/packages/react-components/react-drawer/library/CHANGELOG.md b/packages/react-components/react-drawer/library/CHANGELOG.md
index 209a903a7db912..6ddf6d54166b1d 100644
--- a/packages/react-components/react-drawer/library/CHANGELOG.md
+++ b/packages/react-components/react-drawer/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-drawer
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-drawer_v9.6.7)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-drawer_v9.6.6..@fluentui/react-drawer_v9.6.7)
+
+### Patches
+
+- Bump @fluentui/react-dialog to v9.11.27 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion to v9.6.6 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-portal to v9.4.41 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.6.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-drawer_v9.6.6)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-drawer/library/package.json b/packages/react-components/react-drawer/library/package.json
index d475b3e597c2dc..d94a138f8a88f9 100644
--- a/packages/react-components/react-drawer/library/package.json
+++ b/packages/react-components/react-drawer/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-drawer",
-  "version": "9.6.6",
+  "version": "9.6.7",
   "description": "Drawer components for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,10 +20,10 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-dialog": "^9.11.26",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-motion": "^9.6.5",
-    "@fluentui/react-portal": "^9.4.40",
+    "@fluentui/react-dialog": "^9.11.27",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-motion": "^9.6.6",
+    "@fluentui/react-portal": "^9.4.41",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-field/library/CHANGELOG.json b/packages/react-components/react-field/library/CHANGELOG.json
index 4e71e32e04687b..71f917cde5b92f 100644
--- a/packages/react-components/react-field/library/CHANGELOG.json
+++ b/packages/react-components/react-field/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-field",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-field_v9.1.84",
+      "version": "9.1.84",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-field",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-field",
+            "comment": "Bump @fluentui/react-label to v9.1.82",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-field_v9.1.83",
diff --git a/packages/react-components/react-field/library/CHANGELOG.md b/packages/react-components/react-field/library/CHANGELOG.md
index 882fcf4b4b0d27..96c5540dc6f1da 100644
--- a/packages/react-components/react-field/library/CHANGELOG.md
+++ b/packages/react-components/react-field/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-field
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.84](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.1.84)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.1.83..@fluentui/react-field_v9.1.84)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-label to v9.1.82 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.1.83](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.1.83)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-field/library/package.json b/packages/react-components/react-field/library/package.json
index 2acac90e36ceb2..e8e239bba65a46 100644
--- a/packages/react-components/react-field/library/package.json
+++ b/packages/react-components/react-field/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-field",
-  "version": "9.1.83",
+  "version": "9.1.84",
   "description": "Fluent UI Field components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,8 +21,8 @@
   "dependencies": {
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-label": "^9.1.81",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-label": "^9.1.82",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-icons-compat/library/CHANGELOG.json b/packages/react-components/react-icons-compat/library/CHANGELOG.json
index c3ed6a507a8896..6c529be129823a 100644
--- a/packages/react-components/react-icons-compat/library/CHANGELOG.json
+++ b/packages/react-components/react-icons-compat/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-icons-compat",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-icons-compat_v0.1.7",
+      "version": "0.1.7",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-icons-compat",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-icons-compat_v0.1.6",
diff --git a/packages/react-components/react-icons-compat/library/CHANGELOG.md b/packages/react-components/react-icons-compat/library/CHANGELOG.md
index 8d6b6b99dee2f3..b43bc400205907 100644
--- a/packages/react-components/react-icons-compat/library/CHANGELOG.md
+++ b/packages/react-components/react-icons-compat/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-icons-compat
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.1.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-icons-compat_v0.1.7)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-icons-compat_v0.1.6..@fluentui/react-icons-compat_v0.1.7)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [0.1.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-icons-compat_v0.1.6)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-icons-compat/library/package.json b/packages/react-components/react-icons-compat/library/package.json
index 1910e01272b437..cf92fb784977c4 100644
--- a/packages/react-components/react-icons-compat/library/package.json
+++ b/packages/react-components/react-icons-compat/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-icons-compat",
-  "version": "0.1.6",
+  "version": "0.1.7",
   "description": "Package for icon utility methods used by font and svg icons.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -24,7 +24,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-image/library/CHANGELOG.json b/packages/react-components/react-image/library/CHANGELOG.json
index 7bfd0f97a836a0..53cc360c714a0b 100644
--- a/packages/react-components/react-image/library/CHANGELOG.json
+++ b/packages/react-components/react-image/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-image",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-image_v9.1.79",
+      "version": "9.1.79",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-image",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-image_v9.1.78",
diff --git a/packages/react-components/react-image/library/CHANGELOG.md b/packages/react-components/react-image/library/CHANGELOG.md
index 57dc9836716671..dc84fa08a79a35 100644
--- a/packages/react-components/react-image/library/CHANGELOG.md
+++ b/packages/react-components/react-image/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-image
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.79](https://github.com/microsoft/fluentui/tree/@fluentui/react-image_v9.1.79)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-image_v9.1.78..@fluentui/react-image_v9.1.79)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.1.78](https://github.com/microsoft/fluentui/tree/@fluentui/react-image_v9.1.78)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-image/library/package.json b/packages/react-components/react-image/library/package.json
index 97a6cb4820a228..aed4249848420b 100644
--- a/packages/react-components/react-image/library/package.json
+++ b/packages/react-components/react-image/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-image",
-  "version": "9.1.78",
+  "version": "9.1.79",
   "description": "Fluent UI React Image component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,7 +20,7 @@
   "dependencies": {
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-theme": "^9.1.24",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
diff --git a/packages/react-components/react-infolabel/library/CHANGELOG.json b/packages/react-components/react-infolabel/library/CHANGELOG.json
index 60a99447d46d24..412ff5f8625b2f 100644
--- a/packages/react-components/react-infolabel/library/CHANGELOG.json
+++ b/packages/react-components/react-infolabel/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-infolabel",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-infolabel_v9.0.55",
+      "version": "9.0.55",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-infolabel",
+            "comment": "Bump @fluentui/react-label to v9.1.82",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-infolabel",
+            "comment": "Bump @fluentui/react-popover to v9.9.30",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-infolabel",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-infolabel_v9.0.54",
diff --git a/packages/react-components/react-infolabel/library/CHANGELOG.md b/packages/react-components/react-infolabel/library/CHANGELOG.md
index 29f67f2804eeaf..fbbafa546ef0f0 100644
--- a/packages/react-components/react-infolabel/library/CHANGELOG.md
+++ b/packages/react-components/react-infolabel/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-infolabel
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.55](https://github.com/microsoft/fluentui/tree/@fluentui/react-infolabel_v9.0.55)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-infolabel_v9.0.54..@fluentui/react-infolabel_v9.0.55)
+
+### Patches
+
+- Bump @fluentui/react-label to v9.1.82 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-popover to v9.9.30 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.0.54](https://github.com/microsoft/fluentui/tree/@fluentui/react-infolabel_v9.0.54)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-infolabel/library/package.json b/packages/react-components/react-infolabel/library/package.json
index 8401759d0ec358..ca362048345b94 100644
--- a/packages/react-components/react-infolabel/library/package.json
+++ b/packages/react-components/react-infolabel/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-infolabel",
-  "version": "9.0.54",
+  "version": "9.0.55",
   "description": "InfoLabel component for Fluent UI v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,10 +21,10 @@
   },
   "dependencies": {
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-label": "^9.1.81",
-    "@fluentui/react-popover": "^9.9.29",
+    "@fluentui/react-label": "^9.1.82",
+    "@fluentui/react-popover": "^9.9.30",
     "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-input/library/CHANGELOG.json b/packages/react-components/react-input/library/CHANGELOG.json
index 2a9577a10c0936..ba43058f1db9cb 100644
--- a/packages/react-components/react-input/library/CHANGELOG.json
+++ b/packages/react-components/react-input/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-input",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-input_v9.4.97",
+      "version": "9.4.97",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-input",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-input",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-input_v9.4.96",
diff --git a/packages/react-components/react-input/library/CHANGELOG.md b/packages/react-components/react-input/library/CHANGELOG.md
index e06621c2218993..6bbbc3d63c5273 100644
--- a/packages/react-components/react-input/library/CHANGELOG.md
+++ b/packages/react-components/react-input/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-input
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.4.97](https://github.com/microsoft/fluentui/tree/@fluentui/react-input_v9.4.97)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-input_v9.4.96..@fluentui/react-input_v9.4.97)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.4.96](https://github.com/microsoft/fluentui/tree/@fluentui/react-input_v9.4.96)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-input/library/package.json b/packages/react-components/react-input/library/package.json
index f0c0faf7dc15c3..d412181b1a0799 100644
--- a/packages/react-components/react-input/library/package.json
+++ b/packages/react-components/react-input/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-input",
-  "version": "9.4.96",
+  "version": "9.4.97",
   "description": "Fluent UI React Input component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,8 +19,8 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.83",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-jsx-runtime/package.json b/packages/react-components/react-jsx-runtime/package.json
index 6d0c69efb5761c..dd92ba6fb9fe72 100644
--- a/packages/react-components/react-jsx-runtime/package.json
+++ b/packages/react-components/react-jsx-runtime/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-jsx-runtime",
-  "version": "9.0.48",
+  "version": "9.0.49",
   "description": "Custom JSX runtime for @fluentui/react-components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/react-components/react-label/library/CHANGELOG.json b/packages/react-components/react-label/library/CHANGELOG.json
index 2d1380b2a4bc5e..4efc646a403d9e 100644
--- a/packages/react-components/react-label/library/CHANGELOG.json
+++ b/packages/react-components/react-label/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-label",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-label_v9.1.82",
+      "version": "9.1.82",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-label",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-label_v9.1.81",
diff --git a/packages/react-components/react-label/library/CHANGELOG.md b/packages/react-components/react-label/library/CHANGELOG.md
index 2a142b0a4398be..b79ad510eff75e 100644
--- a/packages/react-components/react-label/library/CHANGELOG.md
+++ b/packages/react-components/react-label/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-label
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.82](https://github.com/microsoft/fluentui/tree/@fluentui/react-label_v9.1.82)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-label_v9.1.81..@fluentui/react-label_v9.1.82)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.1.81](https://github.com/microsoft/fluentui/tree/@fluentui/react-label_v9.1.81)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-label/library/package.json b/packages/react-components/react-label/library/package.json
index 960cae5ef3cd59..73b906301626c4 100644
--- a/packages/react-components/react-label/library/package.json
+++ b/packages/react-components/react-label/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-label",
-  "version": "9.1.81",
+  "version": "9.1.82",
   "description": "Fluent UI React Label component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,7 +21,7 @@
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-link/library/CHANGELOG.json b/packages/react-components/react-link/library/CHANGELOG.json
index c95e9a8dd55ec3..8061cf7c2ee68f 100644
--- a/packages/react-components/react-link/library/CHANGELOG.json
+++ b/packages/react-components/react-link/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-link",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-link_v9.3.6",
+      "version": "9.3.6",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-link",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-link_v9.3.5",
diff --git a/packages/react-components/react-link/library/CHANGELOG.md b/packages/react-components/react-link/library/CHANGELOG.md
index 9b5645d43cf746..fcfc2d45b52b1e 100644
--- a/packages/react-components/react-link/library/CHANGELOG.md
+++ b/packages/react-components/react-link/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-link
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.3.6)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-link_v9.3.5..@fluentui/react-link_v9.3.6)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.3.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.3.5)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-link/library/package.json b/packages/react-components/react-link/library/package.json
index a9e4a2f0e2dc5f..91c545008a75ae 100644
--- a/packages/react-components/react-link/library/package.json
+++ b/packages/react-components/react-link/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-link",
-  "version": "9.3.5",
+  "version": "9.3.6",
   "description": "Fluent UI React Link component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,7 +20,7 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-list/library/CHANGELOG.json b/packages/react-components/react-list/library/CHANGELOG.json
index 7ab989757171a6..13cf7d94e5ff49 100644
--- a/packages/react-components/react-list/library/CHANGELOG.json
+++ b/packages/react-components/react-list/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
-  "name": "@fluentui/react-list-preview",
+  "name": "@fluentui/react-list",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:34 GMT",
+      "tag": "@fluentui/react-list_v9.0.0",
+      "version": "9.0.0",
+      "comments": {
+        "minor": [
+          {
+            "author": "jirivyhnalek@microsoft.com",
+            "package": "@fluentui/react-list",
+            "commit": "aa6e5ddc04518065cd0a25bcdd5c91d2c1615bbd",
+            "comment": "feat: release stable"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-list",
+            "comment": "Bump @fluentui/react-checkbox to v9.2.45",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-list",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-list-preview_v0.4.4",
diff --git a/packages/react-components/react-list/library/CHANGELOG.md b/packages/react-components/react-list/library/CHANGELOG.md
index c851cc897195a3..746ef1c75daf81 100644
--- a/packages/react-components/react-list/library/CHANGELOG.md
+++ b/packages/react-components/react-list/library/CHANGELOG.md
@@ -1,9 +1,20 @@
-# Change Log - @fluentui/react-list-preview
+# Change Log - @fluentui/react-list
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:34 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-list_v9.0.0)
+
+Wed, 08 Jan 2025 18:33:34 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-list-preview_v0.4.4..@fluentui/react-list_v9.0.0)
+
+### Minor changes
+
+- feat: release stable ([PR #33378](https://github.com/microsoft/fluentui/pull/33378) by jirivyhnalek@microsoft.com)
+- Bump @fluentui/react-checkbox to v9.2.45 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [0.4.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-list-preview_v0.4.4)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-list/library/package.json b/packages/react-components/react-list/library/package.json
index 0bb815194667d4..06086197b8399f 100644
--- a/packages/react-components/react-list/library/package.json
+++ b/packages/react-components/react-list/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-list",
-  "version": "9.0.0-alpha.0",
+  "version": "9.0.0",
   "description": "React List v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -26,9 +26,9 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-checkbox": "^9.2.44",
+    "@fluentui/react-checkbox": "^9.2.45",
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/keyboard-keys": "^9.0.8",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-menu/library/CHANGELOG.json b/packages/react-components/react-menu/library/CHANGELOG.json
index 1fdd22876e8b59..ed7f7f386ba708 100644
--- a/packages/react-components/react-menu/library/CHANGELOG.json
+++ b/packages/react-components/react-menu/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-menu",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-menu_v9.14.25",
+      "version": "9.14.25",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-portal to v9.4.41",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-positioning to v9.16.1",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:36 GMT",
       "tag": "@fluentui/react-menu_v9.14.24",
diff --git a/packages/react-components/react-menu/library/CHANGELOG.md b/packages/react-components/react-menu/library/CHANGELOG.md
index 21ffdb0f06672c..75a603f314dc95 100644
--- a/packages/react-components/react-menu/library/CHANGELOG.md
+++ b/packages/react-components/react-menu/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-menu
 
-This log was last generated on Wed, 18 Dec 2024 10:59:36 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.14.25](https://github.com/microsoft/fluentui/tree/@fluentui/react-menu_v9.14.25)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-menu_v9.14.24..@fluentui/react-menu_v9.14.25)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-portal to v9.4.41 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-positioning to v9.16.1 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.14.24](https://github.com/microsoft/fluentui/tree/@fluentui/react-menu_v9.14.24)
 
 Wed, 18 Dec 2024 10:59:36 GMT 
diff --git a/packages/react-components/react-menu/library/package.json b/packages/react-components/react-menu/library/package.json
index dd6fdf9899d947..ff33f37bbafc2d 100644
--- a/packages/react-components/react-menu/library/package.json
+++ b/packages/react-components/react-menu/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-menu",
-  "version": "9.14.24",
+  "version": "9.14.25",
   "description": "Fluent UI menu component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,16 +21,16 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.12",
+    "@fluentui/react-aria": "^9.13.13",
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-portal": "^9.4.40",
-    "@fluentui/react-positioning": "^9.16.0",
+    "@fluentui/react-portal": "^9.4.41",
+    "@fluentui/react-positioning": "^9.16.1",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-message-bar/library/CHANGELOG.json b/packages/react-components/react-message-bar/library/CHANGELOG.json
index 76cb7b3b7d04aa..b0c4cd2750ca7b 100644
--- a/packages/react-components/react-message-bar/library/CHANGELOG.json
+++ b/packages/react-components/react-message-bar/library/CHANGELOG.json
@@ -1,6 +1,51 @@
 {
   "name": "@fluentui/react-message-bar",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:34 GMT",
+      "tag": "@fluentui/react-message-bar_v9.3.0",
+      "version": "9.3.0",
+      "comments": {
+        "minor": [
+          {
+            "author": "robertpenner@microsoft.com",
+            "package": "@fluentui/react-message-bar",
+            "commit": "9c716b2519ad2d135fb5d16a60ef6ee183a16e31",
+            "comment": "refactor(MessageBar): migrate slide & fade to motion components"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-button to v9.3.99",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-motion to v9.6.6",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.2",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-link to v9.3.6",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Thu, 19 Dec 2024 14:30:56 GMT",
       "tag": "@fluentui/react-message-bar_v9.2.19",
diff --git a/packages/react-components/react-message-bar/library/CHANGELOG.md b/packages/react-components/react-message-bar/library/CHANGELOG.md
index 47343bfcb13b62..8ae29562aba1e7 100644
--- a/packages/react-components/react-message-bar/library/CHANGELOG.md
+++ b/packages/react-components/react-message-bar/library/CHANGELOG.md
@@ -1,9 +1,23 @@
 # Change Log - @fluentui/react-message-bar
 
-This log was last generated on Thu, 19 Dec 2024 14:30:56 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:34 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-message-bar_v9.3.0)
+
+Wed, 08 Jan 2025 18:33:34 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-message-bar_v9.2.19..@fluentui/react-message-bar_v9.3.0)
+
+### Minor changes
+
+- refactor(MessageBar): migrate slide & fade to motion components ([PR #33465](https://github.com/microsoft/fluentui/pull/33465) by robertpenner@microsoft.com)
+- Bump @fluentui/react-button to v9.3.99 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion to v9.6.6 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.2 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-link to v9.3.6 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.19](https://github.com/microsoft/fluentui/tree/@fluentui/react-message-bar_v9.2.19)
 
 Thu, 19 Dec 2024 14:30:56 GMT 
diff --git a/packages/react-components/react-message-bar/library/package.json b/packages/react-components/react-message-bar/library/package.json
index 4fd78689ddb5a2..e0524bef605bf4 100644
--- a/packages/react-components/react-message-bar/library/package.json
+++ b/packages/react-components/react-message-bar/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-message-bar",
-  "version": "9.2.19",
+  "version": "9.3.0",
   "description": "Fluent UI MessageBar component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,13 +18,13 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-button": "^9.3.98",
+    "@fluentui/react-button": "^9.3.99",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-motion": "^9.6.5",
-    "@fluentui/react-motion-components-preview": "^0.4.1",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-motion": "^9.6.6",
+    "@fluentui/react-motion-components-preview": "^0.4.2",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-link": "^9.3.5",
+    "@fluentui/react-link": "^9.3.6",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-migration-v0-v9/library/CHANGELOG.json b/packages/react-components/react-migration-v0-v9/library/CHANGELOG.json
index 192dbf6cdb2303..4419d284333423 100644
--- a/packages/react-components/react-migration-v0-v9/library/CHANGELOG.json
+++ b/packages/react-components/react-migration-v0-v9/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-migration-v0-v9",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-migration-v0-v9_v9.2.26",
+      "version": "9.2.26",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v0-v9",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v0-v9",
+            "comment": "Bump @fluentui/react-components to v9.57.0",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v0-v9",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Thu, 19 Dec 2024 14:30:56 GMT",
       "tag": "@fluentui/react-migration-v0-v9_v9.2.25",
diff --git a/packages/react-components/react-migration-v0-v9/library/CHANGELOG.md b/packages/react-components/react-migration-v0-v9/library/CHANGELOG.md
index 45990059abacff..981da181f3b33e 100644
--- a/packages/react-components/react-migration-v0-v9/library/CHANGELOG.md
+++ b/packages/react-components/react-migration-v0-v9/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-migration-v0-v9
 
-This log was last generated on Thu, 19 Dec 2024 14:30:56 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-migration-v0-v9_v9.2.26)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-migration-v0-v9_v9.2.25..@fluentui/react-migration-v0-v9_v9.2.26)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-components to v9.57.0 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.25](https://github.com/microsoft/fluentui/tree/@fluentui/react-migration-v0-v9_v9.2.25)
 
 Thu, 19 Dec 2024 14:30:56 GMT 
diff --git a/packages/react-components/react-migration-v0-v9/library/package.json b/packages/react-components/react-migration-v0-v9/library/package.json
index 1a9f2e4164c5a9..e858ab14609575 100644
--- a/packages/react-components/react-migration-v0-v9/library/package.json
+++ b/packages/react-components/react-migration-v0-v9/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-migration-v0-v9",
-  "version": "9.2.25",
+  "version": "9.2.26",
   "description": "Migration shim components and methods for hybrid v0/v9 applications building on Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,11 +20,11 @@
     "@fluentui/scripts-storybook": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.12",
-    "@fluentui/react-components": "^9.56.8",
+    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-components": "^9.57.0",
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-migration-v8-v9/library/CHANGELOG.json b/packages/react-components/react-migration-v8-v9/library/CHANGELOG.json
index 9e0442e9187172..fcdd600308112f 100644
--- a/packages/react-components/react-migration-v8-v9/library/CHANGELOG.json
+++ b/packages/react-components/react-migration-v8-v9/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-migration-v8-v9",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-migration-v8-v9_v9.6.45",
+      "version": "9.6.45",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v8-v9",
+            "comment": "Bump @fluentui/react-components to v9.57.0",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Thu, 19 Dec 2024 14:30:56 GMT",
       "tag": "@fluentui/react-migration-v8-v9_v9.6.44",
diff --git a/packages/react-components/react-migration-v8-v9/library/CHANGELOG.md b/packages/react-components/react-migration-v8-v9/library/CHANGELOG.md
index d3764f2a61d43c..0accaa8a4bde60 100644
--- a/packages/react-components/react-migration-v8-v9/library/CHANGELOG.md
+++ b/packages/react-components/react-migration-v8-v9/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-migration-v8-v9
 
-This log was last generated on Thu, 19 Dec 2024 14:30:56 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.45](https://github.com/microsoft/fluentui/tree/@fluentui/react-migration-v8-v9_v9.6.45)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-migration-v8-v9_v9.6.44..@fluentui/react-migration-v8-v9_v9.6.45)
+
+### Patches
+
+- Bump @fluentui/react-components to v9.57.0 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.6.44](https://github.com/microsoft/fluentui/tree/@fluentui/react-migration-v8-v9_v9.6.44)
 
 Thu, 19 Dec 2024 14:30:56 GMT 
diff --git a/packages/react-components/react-migration-v8-v9/library/package.json b/packages/react-components/react-migration-v8-v9/library/package.json
index 4fc09ed6074b93..cddd7a5f762af6 100644
--- a/packages/react-components/react-migration-v8-v9/library/package.json
+++ b/packages/react-components/react-migration-v8-v9/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-migration-v8-v9",
-  "version": "9.6.44",
+  "version": "9.6.45",
   "description": "Migration shim components and methods for hybrid v8/v9 applications building on Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,7 +21,7 @@
     "@ctrl/tinycolor": "3.3.4",
     "@fluentui/fluent2-theme": "^8.107.122",
     "@fluentui/react": "^8.122.5",
-    "@fluentui/react-components": "^9.56.8",
+    "@fluentui/react-components": "^9.57.0",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-hooks": "^8.8.16",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-motion-components-preview/library/package.json b/packages/react-components/react-motion-components-preview/library/package.json
index 1728d67fb379f9..aad5bb8e23a1c0 100644
--- a/packages/react-components/react-motion-components-preview/library/package.json
+++ b/packages/react-components/react-motion-components-preview/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-motion-components-preview",
-  "version": "0.4.1",
+  "version": "0.4.2",
   "description": "A preview package for Fluent UI motion components, providing a collection of components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/react-components/react-motion/library/CHANGELOG.json b/packages/react-components/react-motion/library/CHANGELOG.json
index 24bb99cd1b605f..05292b2f68c12e 100644
--- a/packages/react-components/react-motion/library/CHANGELOG.json
+++ b/packages/react-components/react-motion/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-motion",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:34 GMT",
+      "tag": "@fluentui/react-motion_v9.6.6",
+      "version": "9.6.6",
+      "comments": {
+        "patch": [
+          {
+            "author": "seanmonahan@microsoft.com",
+            "package": "@fluentui/react-motion",
+            "commit": "7f1647fadcd193c0d16e51b314d299ee19ae5746",
+            "comment": "fix: handle case when Animation.persist() does not exist"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-motion_v9.6.5",
diff --git a/packages/react-components/react-motion/library/CHANGELOG.md b/packages/react-components/react-motion/library/CHANGELOG.md
index 0889c60147dc63..298064f61dda1d 100644
--- a/packages/react-components/react-motion/library/CHANGELOG.md
+++ b/packages/react-components/react-motion/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-motion
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:34 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-motion_v9.6.6)
+
+Wed, 08 Jan 2025 18:33:34 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-motion_v9.6.5..@fluentui/react-motion_v9.6.6)
+
+### Patches
+
+- fix: handle case when Animation.persist() does not exist ([PR #33282](https://github.com/microsoft/fluentui/pull/33282) by seanmonahan@microsoft.com)
+
 ## [9.6.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-motion_v9.6.5)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-motion/library/package.json b/packages/react-components/react-motion/library/package.json
index 1c64fa8617afb7..2b96ece2a6d9b6 100644
--- a/packages/react-components/react-motion/library/package.json
+++ b/packages/react-components/react-motion/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-motion",
-  "version": "9.6.5",
+  "version": "9.6.6",
   "description": "A package with utilities & motion definitions using Web Animations API",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/react-components/react-nav-preview/library/CHANGELOG.json b/packages/react-components/react-nav-preview/library/CHANGELOG.json
index f979f9ca6a8609..f9ffcea5af28db 100644
--- a/packages/react-components/react-nav-preview/library/CHANGELOG.json
+++ b/packages/react-components/react-nav-preview/library/CHANGELOG.json
@@ -1,6 +1,51 @@
 {
   "name": "@fluentui/react-nav-preview",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-nav-preview_v0.10.7",
+      "version": "0.10.7",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-button to v9.3.99",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-tooltip to v9.5.3",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-divider to v9.2.81",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-drawer to v9.6.7",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-nav-preview_v0.10.6",
diff --git a/packages/react-components/react-nav-preview/library/CHANGELOG.md b/packages/react-components/react-nav-preview/library/CHANGELOG.md
index f55721b6c8d25b..dc55f6c71f26f3 100644
--- a/packages/react-components/react-nav-preview/library/CHANGELOG.md
+++ b/packages/react-components/react-nav-preview/library/CHANGELOG.md
@@ -1,9 +1,23 @@
 # Change Log - @fluentui/react-nav-preview
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.10.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-nav-preview_v0.10.7)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-nav-preview_v0.10.6..@fluentui/react-nav-preview_v0.10.7)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-button to v9.3.99 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-tooltip to v9.5.3 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-divider to v9.2.81 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-drawer to v9.6.7 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [0.10.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-nav-preview_v0.10.6)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-nav-preview/library/package.json b/packages/react-components/react-nav-preview/library/package.json
index 2a005fbfe34060..00060495d63485 100644
--- a/packages/react-components/react-nav-preview/library/package.json
+++ b/packages/react-components/react-nav-preview/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-nav-preview",
-  "version": "0.10.6",
+  "version": "0.10.7",
   "description": "New fluentui react package",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,14 +18,14 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.12",
-    "@fluentui/react-button": "^9.3.98",
-    "@fluentui/react-tooltip": "^9.5.2",
+    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-button": "^9.3.99",
+    "@fluentui/react-tooltip": "^9.5.3",
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-divider": "^9.2.80",
-    "@fluentui/react-drawer": "^9.6.6",
+    "@fluentui/react-divider": "^9.2.81",
+    "@fluentui/react-drawer": "^9.6.7",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-overflow/library/package.json b/packages/react-components/react-overflow/library/package.json
index 070258ecb9f299..f043a99aaff0e8 100644
--- a/packages/react-components/react-overflow/library/package.json
+++ b/packages/react-components/react-overflow/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-overflow",
-  "version": "9.2.5",
+  "version": "9.2.6",
   "description": "React bindings for @fluentui/priority-overflow",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/react-components/react-persona/library/CHANGELOG.json b/packages/react-components/react-persona/library/CHANGELOG.json
index ed6f87cb9ac87a..309665ce51dffd 100644
--- a/packages/react-components/react-persona/library/CHANGELOG.json
+++ b/packages/react-components/react-persona/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-persona",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-persona_v9.2.107",
+      "version": "9.2.107",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-persona",
+            "comment": "Bump @fluentui/react-avatar to v9.6.48",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-persona",
+            "comment": "Bump @fluentui/react-badge to v9.2.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-persona",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-persona_v9.2.106",
diff --git a/packages/react-components/react-persona/library/CHANGELOG.md b/packages/react-components/react-persona/library/CHANGELOG.md
index 4edfffc9ef1572..ed990a25a7a6c1 100644
--- a/packages/react-components/react-persona/library/CHANGELOG.md
+++ b/packages/react-components/react-persona/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-persona
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.107](https://github.com/microsoft/fluentui/tree/@fluentui/react-persona_v9.2.107)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-persona_v9.2.106..@fluentui/react-persona_v9.2.107)
+
+### Patches
+
+- Bump @fluentui/react-avatar to v9.6.48 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-badge to v9.2.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.106](https://github.com/microsoft/fluentui/tree/@fluentui/react-persona_v9.2.106)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-persona/library/package.json b/packages/react-components/react-persona/library/package.json
index 3d393e34cacd26..9b28d4120f31a4 100644
--- a/packages/react-components/react-persona/library/package.json
+++ b/packages/react-components/react-persona/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-persona",
-  "version": "9.2.106",
+  "version": "9.2.107",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,12 +18,12 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-avatar": "^9.6.47",
-    "@fluentui/react-badge": "^9.2.48",
+    "@fluentui/react-avatar": "^9.6.48",
+    "@fluentui/react-badge": "^9.2.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-popover/library/CHANGELOG.json b/packages/react-components/react-popover/library/CHANGELOG.json
index c94ce03602c922..5ce44b032d9446 100644
--- a/packages/react-components/react-popover/library/CHANGELOG.json
+++ b/packages/react-components/react-popover/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-popover",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-popover_v9.9.30",
+      "version": "9.9.30",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-portal to v9.4.41",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-positioning to v9.16.1",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-popover_v9.9.29",
diff --git a/packages/react-components/react-popover/library/CHANGELOG.md b/packages/react-components/react-popover/library/CHANGELOG.md
index a50fe337667ae0..f89e0f32d6635f 100644
--- a/packages/react-components/react-popover/library/CHANGELOG.md
+++ b/packages/react-components/react-popover/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-popover
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.9.30](https://github.com/microsoft/fluentui/tree/@fluentui/react-popover_v9.9.30)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-popover_v9.9.29..@fluentui/react-popover_v9.9.30)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-portal to v9.4.41 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-positioning to v9.16.1 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.9.29](https://github.com/microsoft/fluentui/tree/@fluentui/react-popover_v9.9.29)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-popover/library/package.json b/packages/react-components/react-popover/library/package.json
index b799df80949d37..56a67c2063dc3d 100644
--- a/packages/react-components/react-popover/library/package.json
+++ b/packages/react-components/react-popover/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-popover",
-  "version": "9.9.29",
+  "version": "9.9.30",
   "description": "Popover component for Fluent UI",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -22,15 +22,15 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.12",
+    "@fluentui/react-aria": "^9.13.13",
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-portal": "^9.4.40",
-    "@fluentui/react-positioning": "^9.16.0",
+    "@fluentui/react-portal": "^9.4.41",
+    "@fluentui/react-positioning": "^9.16.1",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-portal-compat/CHANGELOG.json b/packages/react-components/react-portal-compat/CHANGELOG.json
index 2a97f72c72d312..90ce8c3c195e61 100644
--- a/packages/react-components/react-portal-compat/CHANGELOG.json
+++ b/packages/react-components/react-portal-compat/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-portal-compat",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-portal-compat_v9.0.177",
+      "version": "9.0.177",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-portal-compat",
+            "comment": "Bump @fluentui/react-components to v9.57.0",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Thu, 19 Dec 2024 14:30:56 GMT",
       "tag": "@fluentui/react-portal-compat_v9.0.176",
diff --git a/packages/react-components/react-portal-compat/CHANGELOG.md b/packages/react-components/react-portal-compat/CHANGELOG.md
index 24aec79e8fa1bf..bd2c4bacc8df30 100644
--- a/packages/react-components/react-portal-compat/CHANGELOG.md
+++ b/packages/react-components/react-portal-compat/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-portal-compat
 
-This log was last generated on Thu, 19 Dec 2024 14:30:56 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.177](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal-compat_v9.0.177)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-portal-compat_v9.0.176..@fluentui/react-portal-compat_v9.0.177)
+
+### Patches
+
+- Bump @fluentui/react-components to v9.57.0 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.0.176](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal-compat_v9.0.176)
 
 Thu, 19 Dec 2024 14:30:56 GMT 
diff --git a/packages/react-components/react-portal-compat/package.json b/packages/react-components/react-portal-compat/package.json
index 907063c27bb591..ba113e75699290 100644
--- a/packages/react-components/react-portal-compat/package.json
+++ b/packages/react-components/react-portal-compat/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-portal-compat",
-  "version": "9.0.176",
+  "version": "9.0.177",
   "description": "A package that contains compatibility layer for React Portals",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@swc/helpers": "^0.5.1"
   },
   "peerDependencies": {
-    "@fluentui/react-components": "^9.56.8",
+    "@fluentui/react-components": "^9.57.0",
     "@types/react": ">=16.14.0 <19.0.0",
     "react": ">=16.14.0 <19.0.0"
   },
diff --git a/packages/react-components/react-portal/library/package.json b/packages/react-components/react-portal/library/package.json
index e08c24eaffb1bc..3055707457ae4a 100644
--- a/packages/react-components/react-portal/library/package.json
+++ b/packages/react-components/react-portal/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-portal",
-  "version": "9.4.40",
+  "version": "9.4.41",
   "description": "A utility component that creates portals compatible with Fluent UI",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/react-components/react-positioning/CHANGELOG.json b/packages/react-components/react-positioning/CHANGELOG.json
index e87dc53c98d909..e22728dd3ce15f 100644
--- a/packages/react-components/react-positioning/CHANGELOG.json
+++ b/packages/react-components/react-positioning/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-positioning",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:34 GMT",
+      "tag": "@fluentui/react-positioning_v9.16.1",
+      "version": "9.16.1",
+      "comments": {
+        "patch": [
+          {
+            "author": "863023+radium-v@users.noreply.github.com",
+            "package": "@fluentui/react-positioning",
+            "commit": "8bd0e68bc5a78f8b9b3ea10210ad876151849d7a",
+            "comment": "chore: bump @floating-ui/dom"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-positioning_v9.16.0",
diff --git a/packages/react-components/react-positioning/CHANGELOG.md b/packages/react-components/react-positioning/CHANGELOG.md
index 3c502e8e232ef1..b1be7944e080cb 100644
--- a/packages/react-components/react-positioning/CHANGELOG.md
+++ b/packages/react-components/react-positioning/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-positioning
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:34 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.16.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-positioning_v9.16.1)
+
+Wed, 08 Jan 2025 18:33:34 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-positioning_v9.16.0..@fluentui/react-positioning_v9.16.1)
+
+### Patches
+
+- chore: bump @floating-ui/dom ([PR #33458](https://github.com/microsoft/fluentui/pull/33458) by 863023+radium-v@users.noreply.github.com)
+
 ## [9.16.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-positioning_v9.16.0)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-positioning/package.json b/packages/react-components/react-positioning/package.json
index 2c34e23a8c5483..87b6218997dcdf 100644
--- a/packages/react-components/react-positioning/package.json
+++ b/packages/react-components/react-positioning/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-positioning",
-  "version": "9.16.0",
+  "version": "9.16.1",
   "description": "A react wrapper around Popper.js for Fluent UI",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/react-components/react-progress/library/CHANGELOG.json b/packages/react-components/react-progress/library/CHANGELOG.json
index 2331d8fd3ed57e..4d4a0bbc6d3583 100644
--- a/packages/react-components/react-progress/library/CHANGELOG.json
+++ b/packages/react-components/react-progress/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-progress",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-progress_v9.1.95",
+      "version": "9.1.95",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-progress",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-progress",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-progress_v9.1.94",
diff --git a/packages/react-components/react-progress/library/CHANGELOG.md b/packages/react-components/react-progress/library/CHANGELOG.md
index c659b7965cd53e..ef369438ccf483 100644
--- a/packages/react-components/react-progress/library/CHANGELOG.md
+++ b/packages/react-components/react-progress/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-progress
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.95](https://github.com/microsoft/fluentui/tree/@fluentui/react-progress_v9.1.95)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-progress_v9.1.94..@fluentui/react-progress_v9.1.95)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.1.94](https://github.com/microsoft/fluentui/tree/@fluentui/react-progress_v9.1.94)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-progress/library/package.json b/packages/react-components/react-progress/library/package.json
index 3a636c008886e7..8b1fb03db94805 100644
--- a/packages/react-components/react-progress/library/package.json
+++ b/packages/react-components/react-progress/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-progress",
-  "version": "9.1.94",
+  "version": "9.1.95",
   "description": "Progress component for FluentUI v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,8 +18,8 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.83",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-provider/library/CHANGELOG.json b/packages/react-components/react-provider/library/CHANGELOG.json
index e6fd2fad4ec7b2..05211ef22f12dc 100644
--- a/packages/react-components/react-provider/library/CHANGELOG.json
+++ b/packages/react-components/react-provider/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-provider",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-provider_v9.18.3",
+      "version": "9.18.3",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-provider",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-provider_v9.18.2",
diff --git a/packages/react-components/react-provider/library/CHANGELOG.md b/packages/react-components/react-provider/library/CHANGELOG.md
index 7cfddde12588a5..999afeec8067a1 100644
--- a/packages/react-components/react-provider/library/CHANGELOG.md
+++ b/packages/react-components/react-provider/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-provider
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.18.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-provider_v9.18.3)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-provider_v9.18.2..@fluentui/react-provider_v9.18.3)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.18.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-provider_v9.18.2)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-provider/library/package.json b/packages/react-components/react-provider/library/package.json
index a3e9631e170547..79600a7aa21537 100644
--- a/packages/react-components/react-provider/library/package.json
+++ b/packages/react-components/react-provider/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-provider",
-  "version": "9.18.2",
+  "version": "9.18.3",
   "description": "Fluent UI React provider component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -23,7 +23,7 @@
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/core": "^1.16.0",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
diff --git a/packages/react-components/react-radio/library/CHANGELOG.json b/packages/react-components/react-radio/library/CHANGELOG.json
index e5b96985ef0773..57d6d9e181e407 100644
--- a/packages/react-components/react-radio/library/CHANGELOG.json
+++ b/packages/react-components/react-radio/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-radio",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-radio_v9.2.40",
+      "version": "9.2.40",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-radio",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-radio",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-radio",
+            "comment": "Bump @fluentui/react-label to v9.1.82",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:45 GMT",
       "tag": "@fluentui/react-radio_v9.2.39",
diff --git a/packages/react-components/react-radio/library/CHANGELOG.md b/packages/react-components/react-radio/library/CHANGELOG.md
index e9837cc96dc5da..a922d4370c8a52 100644
--- a/packages/react-components/react-radio/library/CHANGELOG.md
+++ b/packages/react-components/react-radio/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-radio
 
-This log was last generated on Mon, 16 Dec 2024 16:26:45 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.40](https://github.com/microsoft/fluentui/tree/@fluentui/react-radio_v9.2.40)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-radio_v9.2.39..@fluentui/react-radio_v9.2.40)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-label to v9.1.82 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.39](https://github.com/microsoft/fluentui/tree/@fluentui/react-radio_v9.2.39)
 
 Mon, 16 Dec 2024 16:26:45 GMT 
diff --git a/packages/react-components/react-radio/library/package.json b/packages/react-components/react-radio/library/package.json
index be2e7bd795d8f6..0c7a944e3a0dca 100644
--- a/packages/react-components/react-radio/library/package.json
+++ b/packages/react-components/react-radio/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-radio",
-  "version": "9.2.39",
+  "version": "9.2.40",
   "description": "Fluent UI Radio component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,9 +18,9 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.83",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-label": "^9.1.81",
+    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-label": "^9.1.82",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-rating/library/CHANGELOG.json b/packages/react-components/react-rating/library/CHANGELOG.json
index df938bde41798b..753e044c2b8474 100644
--- a/packages/react-components/react-rating/library/CHANGELOG.json
+++ b/packages/react-components/react-rating/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-rating",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-rating_v9.0.27",
+      "version": "9.0.27",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-rating",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-rating_v9.0.26",
diff --git a/packages/react-components/react-rating/library/CHANGELOG.md b/packages/react-components/react-rating/library/CHANGELOG.md
index 40f23176c40902..522b9b150e0900 100644
--- a/packages/react-components/react-rating/library/CHANGELOG.md
+++ b/packages/react-components/react-rating/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-rating
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-rating_v9.0.27)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-rating_v9.0.26..@fluentui/react-rating_v9.0.27)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.0.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-rating_v9.0.26)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-rating/library/package.json b/packages/react-components/react-rating/library/package.json
index 475a9d86c01c11..9813715e14f83c 100644
--- a/packages/react-components/react-rating/library/package.json
+++ b/packages/react-components/react-rating/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-rating",
-  "version": "9.0.26",
+  "version": "9.0.27",
   "description": "Rating component for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,7 +18,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-tabster": "^9.23.2",
diff --git a/packages/react-components/react-search/library/CHANGELOG.json b/packages/react-components/react-search/library/CHANGELOG.json
index 5a4ce3c60cfba2..efa469de9a9e3d 100644
--- a/packages/react-components/react-search/library/CHANGELOG.json
+++ b/packages/react-components/react-search/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-search",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-search_v9.0.27",
+      "version": "9.0.27",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-search",
+            "comment": "Bump @fluentui/react-input to v9.4.97",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-search",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-search_v9.0.26",
diff --git a/packages/react-components/react-search/library/CHANGELOG.md b/packages/react-components/react-search/library/CHANGELOG.md
index 14ad3329e17fd3..f8f5ef72e11ac7 100644
--- a/packages/react-components/react-search/library/CHANGELOG.md
+++ b/packages/react-components/react-search/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-search
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-search_v9.0.27)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-search_v9.0.26..@fluentui/react-search_v9.0.27)
+
+### Patches
+
+- Bump @fluentui/react-input to v9.4.97 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.0.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-search_v9.0.26)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-search/library/package.json b/packages/react-components/react-search/library/package.json
index eb2a1f1abfac37..7ca2a9087c1ff9 100644
--- a/packages/react-components/react-search/library/package.json
+++ b/packages/react-components/react-search/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-search",
-  "version": "9.0.26",
+  "version": "9.0.27",
   "description": "Search input for Fluent UI v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,8 +19,8 @@
   },
   "dependencies": {
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-input": "^9.4.96",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-input": "^9.4.97",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-select/library/CHANGELOG.json b/packages/react-components/react-select/library/CHANGELOG.json
index 938167b408407d..1d631967311040 100644
--- a/packages/react-components/react-select/library/CHANGELOG.json
+++ b/packages/react-components/react-select/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-select",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-select_v9.1.95",
+      "version": "9.1.95",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-select",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-select",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-select_v9.1.94",
diff --git a/packages/react-components/react-select/library/CHANGELOG.md b/packages/react-components/react-select/library/CHANGELOG.md
index e748652046f588..27c2d8590820de 100644
--- a/packages/react-components/react-select/library/CHANGELOG.md
+++ b/packages/react-components/react-select/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-select
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.95](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.1.95)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.1.94..@fluentui/react-select_v9.1.95)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.1.94](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.1.94)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-select/library/package.json b/packages/react-components/react-select/library/package.json
index a227ac934979ea..b1b41ae03e5701 100644
--- a/packages/react-components/react-select/library/package.json
+++ b/packages/react-components/react-select/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-select",
-  "version": "9.1.94",
+  "version": "9.1.95",
   "description": "Fluent UI React Select component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,9 +18,9 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.83",
+    "@fluentui/react-field": "^9.1.84",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-skeleton/library/CHANGELOG.json b/packages/react-components/react-skeleton/library/CHANGELOG.json
index c137fd85ef87e6..900979ee683885 100644
--- a/packages/react-components/react-skeleton/library/CHANGELOG.json
+++ b/packages/react-components/react-skeleton/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-skeleton",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-skeleton_v9.1.24",
+      "version": "9.1.24",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-skeleton",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-skeleton",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-skeleton_v9.1.23",
diff --git a/packages/react-components/react-skeleton/library/CHANGELOG.md b/packages/react-components/react-skeleton/library/CHANGELOG.md
index ad25c767ca042a..af93dc948549d1 100644
--- a/packages/react-components/react-skeleton/library/CHANGELOG.md
+++ b/packages/react-components/react-skeleton/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-skeleton
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.24](https://github.com/microsoft/fluentui/tree/@fluentui/react-skeleton_v9.1.24)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-skeleton_v9.1.23..@fluentui/react-skeleton_v9.1.24)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.1.23](https://github.com/microsoft/fluentui/tree/@fluentui/react-skeleton_v9.1.23)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-skeleton/library/package.json b/packages/react-components/react-skeleton/library/package.json
index af6f284cc3a87d..1c7f8beb5b1aad 100644
--- a/packages/react-components/react-skeleton/library/package.json
+++ b/packages/react-components/react-skeleton/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-skeleton",
-  "version": "9.1.23",
+  "version": "9.1.24",
   "description": "Converged v9 Skeleton Component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,8 +18,8 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.83",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-slider/library/CHANGELOG.json b/packages/react-components/react-slider/library/CHANGELOG.json
index e8d8d49e0466c6..897b1640bab726 100644
--- a/packages/react-components/react-slider/library/CHANGELOG.json
+++ b/packages/react-components/react-slider/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-slider",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-slider_v9.2.4",
+      "version": "9.2.4",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-slider",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-slider",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-slider_v9.2.3",
diff --git a/packages/react-components/react-slider/library/CHANGELOG.md b/packages/react-components/react-slider/library/CHANGELOG.md
index 029e3bf7d2f38c..8ed1e09a45b67a 100644
--- a/packages/react-components/react-slider/library/CHANGELOG.md
+++ b/packages/react-components/react-slider/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-slider
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-slider_v9.2.4)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-slider_v9.2.3..@fluentui/react-slider_v9.2.4)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-slider_v9.2.3)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-slider/library/package.json b/packages/react-components/react-slider/library/package.json
index bc97aec7e96d3b..bc6355ab336e04 100644
--- a/packages/react-components/react-slider/library/package.json
+++ b/packages/react-components/react-slider/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-slider",
-  "version": "9.2.3",
+  "version": "9.2.4",
   "description": "Fluent UI React Slider component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,8 +19,8 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.83",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-spinbutton/library/CHANGELOG.json b/packages/react-components/react-spinbutton/library/CHANGELOG.json
index 23e855fb9010fa..8018e6b7edd7e7 100644
--- a/packages/react-components/react-spinbutton/library/CHANGELOG.json
+++ b/packages/react-components/react-spinbutton/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-spinbutton",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-spinbutton_v9.2.96",
+      "version": "9.2.96",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinbutton",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinbutton",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-spinbutton_v9.2.95",
diff --git a/packages/react-components/react-spinbutton/library/CHANGELOG.md b/packages/react-components/react-spinbutton/library/CHANGELOG.md
index 11eb1bc311d4cb..05f57ff9e7d707 100644
--- a/packages/react-components/react-spinbutton/library/CHANGELOG.md
+++ b/packages/react-components/react-spinbutton/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-spinbutton
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.96](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v9.2.96)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinbutton_v9.2.95..@fluentui/react-spinbutton_v9.2.96)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.95](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v9.2.95)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-spinbutton/library/package.json b/packages/react-components/react-spinbutton/library/package.json
index 93b1a2bd3aac76..b5cf8472b53796 100644
--- a/packages/react-components/react-spinbutton/library/package.json
+++ b/packages/react-components/react-spinbutton/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-spinbutton",
-  "version": "9.2.95",
+  "version": "9.2.96",
   "description": "Fluent UI React SpinButton component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,9 +20,9 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-field": "^9.1.83",
+    "@fluentui/react-field": "^9.1.84",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-spinner/library/CHANGELOG.json b/packages/react-components/react-spinner/library/CHANGELOG.json
index 017e026c38b7f6..1a41b356e3b9be 100644
--- a/packages/react-components/react-spinner/library/CHANGELOG.json
+++ b/packages/react-components/react-spinner/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-spinner",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-spinner_v9.5.6",
+      "version": "9.5.6",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinner",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinner",
+            "comment": "Bump @fluentui/react-label to v9.1.82",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-spinner_v9.5.5",
diff --git a/packages/react-components/react-spinner/library/CHANGELOG.md b/packages/react-components/react-spinner/library/CHANGELOG.md
index af04d213ea57cd..7074cc9fd1c101 100644
--- a/packages/react-components/react-spinner/library/CHANGELOG.md
+++ b/packages/react-components/react-spinner/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-spinner
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.5.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinner_v9.5.6)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinner_v9.5.5..@fluentui/react-spinner_v9.5.6)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-label to v9.1.82 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.5.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinner_v9.5.5)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-spinner/library/package.json b/packages/react-components/react-spinner/library/package.json
index 9b17b7d96842fa..75407220d5e09c 100644
--- a/packages/react-components/react-spinner/library/package.json
+++ b/packages/react-components/react-spinner/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-spinner",
-  "version": "9.5.5",
+  "version": "9.5.6",
   "description": "Spinner component for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,8 +18,8 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-label": "^9.1.81",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-label": "^9.1.82",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-storybook-addon/package.json b/packages/react-components/react-storybook-addon/package.json
index c59fd67adbc08b..85f0abd762c951 100644
--- a/packages/react-components/react-storybook-addon/package.json
+++ b/packages/react-components/react-storybook-addon/package.json
@@ -17,8 +17,8 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.12",
-    "@fluentui/react-provider": "^9.18.2",
+    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-provider": "^9.18.3",
     "@fluentui/react-theme": "^9.1.24",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-swatch-picker/library/CHANGELOG.json b/packages/react-components/react-swatch-picker/library/CHANGELOG.json
index 0776c2dd9eef38..5cd3633c8601ca 100644
--- a/packages/react-components/react-swatch-picker/library/CHANGELOG.json
+++ b/packages/react-components/react-swatch-picker/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-swatch-picker",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-swatch-picker_v9.1.18",
+      "version": "9.1.18",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-swatch-picker",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-swatch-picker",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-swatch-picker_v9.1.17",
diff --git a/packages/react-components/react-swatch-picker/library/CHANGELOG.md b/packages/react-components/react-swatch-picker/library/CHANGELOG.md
index bb073c3c88ca95..c26125e374a697 100644
--- a/packages/react-components/react-swatch-picker/library/CHANGELOG.md
+++ b/packages/react-components/react-swatch-picker/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-swatch-picker
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.18](https://github.com/microsoft/fluentui/tree/@fluentui/react-swatch-picker_v9.1.18)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-swatch-picker_v9.1.17..@fluentui/react-swatch-picker_v9.1.18)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.1.17](https://github.com/microsoft/fluentui/tree/@fluentui/react-swatch-picker_v9.1.17)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-swatch-picker/library/package.json b/packages/react-components/react-swatch-picker/library/package.json
index 81bcd3bd8605a2..c2bc2a4cb65ff9 100644
--- a/packages/react-components/react-swatch-picker/library/package.json
+++ b/packages/react-components/react-swatch-picker/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-swatch-picker",
-  "version": "9.1.17",
+  "version": "9.1.18",
   "description": "New fluentui react package",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,9 +21,9 @@
   },
   "dependencies": {
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-field": "^9.1.83",
+    "@fluentui/react-field": "^9.1.84",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-switch/library/CHANGELOG.json b/packages/react-components/react-switch/library/CHANGELOG.json
index de58e85b9a63ae..a04f296cc6c8f4 100644
--- a/packages/react-components/react-switch/library/CHANGELOG.json
+++ b/packages/react-components/react-switch/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-switch",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-switch_v9.1.102",
+      "version": "9.1.102",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-switch",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-switch",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-switch",
+            "comment": "Bump @fluentui/react-label to v9.1.82",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-switch_v9.1.101",
diff --git a/packages/react-components/react-switch/library/CHANGELOG.md b/packages/react-components/react-switch/library/CHANGELOG.md
index 311cc3f498aecc..03080221d07978 100644
--- a/packages/react-components/react-switch/library/CHANGELOG.md
+++ b/packages/react-components/react-switch/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-switch
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.102](https://github.com/microsoft/fluentui/tree/@fluentui/react-switch_v9.1.102)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-switch_v9.1.101..@fluentui/react-switch_v9.1.102)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-label to v9.1.82 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.1.101](https://github.com/microsoft/fluentui/tree/@fluentui/react-switch_v9.1.101)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-switch/library/package.json b/packages/react-components/react-switch/library/package.json
index f36956d1e9a2d2..2b11b352e15869 100644
--- a/packages/react-components/react-switch/library/package.json
+++ b/packages/react-components/react-switch/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-switch",
-  "version": "9.1.101",
+  "version": "9.1.102",
   "description": "Fluent UI React Switch component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,10 +18,10 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.83",
+    "@fluentui/react-field": "^9.1.84",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-label": "^9.1.81",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-label": "^9.1.82",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-table/library/CHANGELOG.json b/packages/react-components/react-table/library/CHANGELOG.json
index a886e5816aee6f..8fe333c75e9d26 100644
--- a/packages/react-components/react-table/library/CHANGELOG.json
+++ b/packages/react-components/react-table/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-table",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-table_v9.15.27",
+      "version": "9.15.27",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-avatar to v9.6.48",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-checkbox to v9.2.45",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-radio to v9.2.40",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-table_v9.15.26",
diff --git a/packages/react-components/react-table/library/CHANGELOG.md b/packages/react-components/react-table/library/CHANGELOG.md
index 12e5af8af60b18..b9f25c208af8f2 100644
--- a/packages/react-components/react-table/library/CHANGELOG.md
+++ b/packages/react-components/react-table/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-table
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.15.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-table_v9.15.27)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-table_v9.15.26..@fluentui/react-table_v9.15.27)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-avatar to v9.6.48 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-checkbox to v9.2.45 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-radio to v9.2.40 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.15.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-table_v9.15.26)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-table/library/package.json b/packages/react-components/react-table/library/package.json
index 64b5817d9c20c5..c689784c43e4d0 100644
--- a/packages/react-components/react-table/library/package.json
+++ b/packages/react-components/react-table/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-table",
-  "version": "9.15.26",
+  "version": "9.15.27",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,17 +21,17 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.12",
-    "@fluentui/react-avatar": "^9.6.47",
-    "@fluentui/react-checkbox": "^9.2.44",
+    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-avatar": "^9.6.48",
+    "@fluentui/react-checkbox": "^9.2.45",
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-radio": "^9.2.39",
+    "@fluentui/react-radio": "^9.2.40",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-tabs/library/CHANGELOG.json b/packages/react-components/react-tabs/library/CHANGELOG.json
index 200250dc31f644..92a23bf4ad3592 100644
--- a/packages/react-components/react-tabs/library/CHANGELOG.json
+++ b/packages/react-components/react-tabs/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-tabs",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:35 GMT",
+      "tag": "@fluentui/react-tabs_v9.6.6",
+      "version": "9.6.6",
+      "comments": {
+        "patch": [
+          {
+            "author": "dmytrokirpa@microsoft.com",
+            "package": "@fluentui/react-tabs",
+            "commit": "bd3e4c27b89c17e279e99342f305eb9c71714a09",
+            "comment": "fix: update tab border color for better visibility in high contrast mode"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tabs",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:45 GMT",
       "tag": "@fluentui/react-tabs_v9.6.5",
diff --git a/packages/react-components/react-tabs/library/CHANGELOG.md b/packages/react-components/react-tabs/library/CHANGELOG.md
index 0007817dd87583..aea9dcd16bdf24 100644
--- a/packages/react-components/react-tabs/library/CHANGELOG.md
+++ b/packages/react-components/react-tabs/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-tabs
 
-This log was last generated on Mon, 16 Dec 2024 16:26:45 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:35 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabs_v9.6.6)
+
+Wed, 08 Jan 2025 18:33:35 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tabs_v9.6.5..@fluentui/react-tabs_v9.6.6)
+
+### Patches
+
+- fix: update tab border color for better visibility in high contrast mode ([PR #33573](https://github.com/microsoft/fluentui/pull/33573) by dmytrokirpa@microsoft.com)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.6.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabs_v9.6.5)
 
 Mon, 16 Dec 2024 16:26:45 GMT 
diff --git a/packages/react-components/react-tabs/library/package.json b/packages/react-components/react-tabs/library/package.json
index f725a304f761bf..a8fe90af743ee2 100644
--- a/packages/react-components/react-tabs/library/package.json
+++ b/packages/react-components/react-tabs/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tabs",
-  "version": "9.6.5",
+  "version": "9.6.6",
   "description": "Fluent UI React tabs components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,7 +19,7 @@
   },
   "dependencies": {
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-tag-picker/library/CHANGELOG.json b/packages/react-components/react-tag-picker/library/CHANGELOG.json
index dcdb7e04548c97..59c378ad76f988 100644
--- a/packages/react-components/react-tag-picker/library/CHANGELOG.json
+++ b/packages/react-components/react-tag-picker/library/CHANGELOG.json
@@ -1,6 +1,57 @@
 {
   "name": "@fluentui/react-tag-picker",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-tag-picker_v9.3.14",
+      "version": "9.3.14",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-portal to v9.4.41",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-combobox to v9.13.16",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-tags to v9.3.28",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-positioning to v9.16.1",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-tag-picker_v9.3.13",
diff --git a/packages/react-components/react-tag-picker/library/CHANGELOG.md b/packages/react-components/react-tag-picker/library/CHANGELOG.md
index 470b1ed2359132..47a429155cacba 100644
--- a/packages/react-components/react-tag-picker/library/CHANGELOG.md
+++ b/packages/react-components/react-tag-picker/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-tag-picker
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.14](https://github.com/microsoft/fluentui/tree/@fluentui/react-tag-picker_v9.3.14)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tag-picker_v9.3.13..@fluentui/react-tag-picker_v9.3.14)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-portal to v9.4.41 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-combobox to v9.13.16 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-tags to v9.3.28 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-positioning to v9.16.1 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.3.13](https://github.com/microsoft/fluentui/tree/@fluentui/react-tag-picker_v9.3.13)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-tag-picker/library/package.json b/packages/react-components/react-tag-picker/library/package.json
index 7b986adf517ad8..20c3a7e79e3b55 100644
--- a/packages/react-components/react-tag-picker/library/package.json
+++ b/packages/react-components/react-tag-picker/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tag-picker",
-  "version": "9.3.13",
+  "version": "9.3.14",
   "description": "FluentUI TagPicker component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -28,20 +28,20 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-portal": "^9.4.40",
+    "@fluentui/react-portal": "^9.4.41",
     "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-aria": "^9.13.12",
+    "@fluentui/react-aria": "^9.13.13",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-combobox": "^9.13.15",
-    "@fluentui/react-tags": "^9.3.27",
+    "@fluentui/react-combobox": "^9.13.16",
+    "@fluentui/react-tags": "^9.3.28",
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-positioning": "^9.16.0",
+    "@fluentui/react-positioning": "^9.16.1",
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-field": "^9.1.83",
+    "@fluentui/react-field": "^9.1.84",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-tags/library/CHANGELOG.json b/packages/react-components/react-tags/library/CHANGELOG.json
index f56534ae1e173f..3184e3dc41e7c9 100644
--- a/packages/react-components/react-tags/library/CHANGELOG.json
+++ b/packages/react-components/react-tags/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-tags",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-tags_v9.3.28",
+      "version": "9.3.28",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tags",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tags",
+            "comment": "Bump @fluentui/react-avatar to v9.6.48",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tags",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-tags_v9.3.27",
diff --git a/packages/react-components/react-tags/library/CHANGELOG.md b/packages/react-components/react-tags/library/CHANGELOG.md
index 1e5eca39fc03ac..e5767dadce9caf 100644
--- a/packages/react-components/react-tags/library/CHANGELOG.md
+++ b/packages/react-components/react-tags/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-tags
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.28](https://github.com/microsoft/fluentui/tree/@fluentui/react-tags_v9.3.28)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tags_v9.3.27..@fluentui/react-tags_v9.3.28)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-avatar to v9.6.48 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.3.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-tags_v9.3.27)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-tags/library/package.json b/packages/react-components/react-tags/library/package.json
index 260179433ba036..54045929a198da 100644
--- a/packages/react-components/react-tags/library/package.json
+++ b/packages/react-components/react-tags/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tags",
-  "version": "9.3.27",
+  "version": "9.3.28",
   "description": "Fluent UI Tag component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,10 +21,10 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.12",
-    "@fluentui/react-avatar": "^9.6.47",
+    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-avatar": "^9.6.48",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-teaching-popover/library/CHANGELOG.json b/packages/react-components/react-teaching-popover/library/CHANGELOG.json
index 4a3e38967b0e8f..bf57242cc48bd5 100644
--- a/packages/react-components/react-teaching-popover/library/CHANGELOG.json
+++ b/packages/react-components/react-teaching-popover/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-teaching-popover",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:35 GMT",
+      "tag": "@fluentui/react-teaching-popover_v9.2.0",
+      "version": "9.2.0",
+      "comments": {
+        "minor": [
+          {
+            "author": "sarah.higley@microsoft.com",
+            "package": "@fluentui/react-teaching-popover",
+            "commit": "0bfe0c7fdf8981d7ccf8c4c15e927d8202fbdd12",
+            "comment": "fix: accName updates and semantic fixes"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-popover to v9.9.30",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-button to v9.3.99",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-teaching-popover_v9.1.26",
diff --git a/packages/react-components/react-teaching-popover/library/CHANGELOG.md b/packages/react-components/react-teaching-popover/library/CHANGELOG.md
index c29d691b79d335..dfd3e92c3e9a66 100644
--- a/packages/react-components/react-teaching-popover/library/CHANGELOG.md
+++ b/packages/react-components/react-teaching-popover/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-teaching-popover
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:35 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-teaching-popover_v9.2.0)
+
+Wed, 08 Jan 2025 18:33:35 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-teaching-popover_v9.1.26..@fluentui/react-teaching-popover_v9.2.0)
+
+### Minor changes
+
+- fix: accName updates and semantic fixes ([PR #33194](https://github.com/microsoft/fluentui/pull/33194) by sarah.higley@microsoft.com)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-popover to v9.9.30 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-button to v9.3.99 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.1.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-teaching-popover_v9.1.26)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-teaching-popover/library/package.json b/packages/react-components/react-teaching-popover/library/package.json
index 24cda56556d13e..71051338731bf5 100644
--- a/packages/react-components/react-teaching-popover/library/package.json
+++ b/packages/react-components/react-teaching-popover/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-teaching-popover",
-  "version": "9.1.26",
+  "version": "9.2.0",
   "description": "New fluentui react package",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -24,17 +24,17 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-popover": "^9.9.29",
-    "@fluentui/react-button": "^9.3.98",
+    "@fluentui/react-popover": "^9.9.30",
+    "@fluentui/react-button": "^9.3.99",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-aria": "^9.13.12",
+    "@fluentui/react-aria": "^9.13.13",
     "@fluentui/react-context-selector": "^9.1.71",
     "use-sync-external-store": "^1.2.0"
   },
diff --git a/packages/react-components/react-text/library/CHANGELOG.json b/packages/react-components/react-text/library/CHANGELOG.json
index c9e98e07e508bc..000c38549c4fe4 100644
--- a/packages/react-components/react-text/library/CHANGELOG.json
+++ b/packages/react-components/react-text/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-text",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-text_v9.4.31",
+      "version": "9.4.31",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-text",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-text_v9.4.30",
diff --git a/packages/react-components/react-text/library/CHANGELOG.md b/packages/react-components/react-text/library/CHANGELOG.md
index 69cd6b493caa2a..141a7d41f48f09 100644
--- a/packages/react-components/react-text/library/CHANGELOG.md
+++ b/packages/react-components/react-text/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-text
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.4.31](https://github.com/microsoft/fluentui/tree/@fluentui/react-text_v9.4.31)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-text_v9.4.30..@fluentui/react-text_v9.4.31)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.4.30](https://github.com/microsoft/fluentui/tree/@fluentui/react-text_v9.4.30)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-text/library/package.json b/packages/react-components/react-text/library/package.json
index ef50ba68f13a70..915cb6d2e42d65 100644
--- a/packages/react-components/react-text/library/package.json
+++ b/packages/react-components/react-text/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-text",
-  "version": "9.4.30",
+  "version": "9.4.31",
   "description": "Text is a typography and styling abstraction component that can be used to ensure the consistency of all text across your application.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,7 +21,7 @@
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-textarea/library/CHANGELOG.json b/packages/react-components/react-textarea/library/CHANGELOG.json
index 59d2c4aacfd0b2..10476a2cd14da6 100644
--- a/packages/react-components/react-textarea/library/CHANGELOG.json
+++ b/packages/react-components/react-textarea/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-textarea",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-textarea_v9.3.96",
+      "version": "9.3.96",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-textarea",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-textarea",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-textarea_v9.3.95",
diff --git a/packages/react-components/react-textarea/library/CHANGELOG.md b/packages/react-components/react-textarea/library/CHANGELOG.md
index 32a6809825d9e6..40d3ce4eb73a94 100644
--- a/packages/react-components/react-textarea/library/CHANGELOG.md
+++ b/packages/react-components/react-textarea/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-textarea
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.96](https://github.com/microsoft/fluentui/tree/@fluentui/react-textarea_v9.3.96)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-textarea_v9.3.95..@fluentui/react-textarea_v9.3.96)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.3.95](https://github.com/microsoft/fluentui/tree/@fluentui/react-textarea_v9.3.95)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-textarea/library/package.json b/packages/react-components/react-textarea/library/package.json
index 1b805b4ee2747d..ab0f6978f6093b 100644
--- a/packages/react-components/react-textarea/library/package.json
+++ b/packages/react-components/react-textarea/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-textarea",
-  "version": "9.3.95",
+  "version": "9.3.96",
   "description": "Fluent UI TextArea component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,11 +18,11 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.83",
+    "@fluentui/react-field": "^9.1.84",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-timepicker-compat/library/CHANGELOG.json b/packages/react-components/react-timepicker-compat/library/CHANGELOG.json
index d91f937b5c4360..e8f43b5ac291f3 100644
--- a/packages/react-components/react-timepicker-compat/library/CHANGELOG.json
+++ b/packages/react-components/react-timepicker-compat/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-timepicker-compat",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-timepicker-compat_v0.2.46",
+      "version": "0.2.46",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-timepicker-compat",
+            "comment": "Bump @fluentui/react-combobox to v9.13.16",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-timepicker-compat",
+            "comment": "Bump @fluentui/react-field to v9.1.84",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-timepicker-compat",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-timepicker-compat_v0.2.43",
diff --git a/packages/react-components/react-timepicker-compat/library/CHANGELOG.md b/packages/react-components/react-timepicker-compat/library/CHANGELOG.md
index 108a7686647029..99fddd77436dca 100644
--- a/packages/react-components/react-timepicker-compat/library/CHANGELOG.md
+++ b/packages/react-components/react-timepicker-compat/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-timepicker-compat
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.2.46](https://github.com/microsoft/fluentui/tree/@fluentui/react-timepicker-compat_v0.2.46)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-timepicker-compat_v0.2.43..@fluentui/react-timepicker-compat_v0.2.46)
+
+### Patches
+
+- Bump @fluentui/react-combobox to v9.13.16 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-field to v9.1.84 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [0.2.43](https://github.com/microsoft/fluentui/tree/@fluentui/react-timepicker-compat_v0.2.43)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-timepicker-compat/library/package.json b/packages/react-components/react-timepicker-compat/library/package.json
index 0eca335dda8f2e..7c7f9cf217a4e6 100644
--- a/packages/react-components/react-timepicker-compat/library/package.json
+++ b/packages/react-components/react-timepicker-compat/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-timepicker-compat",
-  "version": "0.2.45",
+  "version": "0.2.46",
   "description": "Fluent UI TimePicker Compat Component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -28,9 +28,9 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-combobox": "^9.13.15",
-    "@fluentui/react-field": "^9.1.83",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-combobox": "^9.13.16",
+    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-toast/library/CHANGELOG.json b/packages/react-components/react-toast/library/CHANGELOG.json
index 3248dc1d1bac5d..7d756df4532bcf 100644
--- a/packages/react-components/react-toast/library/CHANGELOG.json
+++ b/packages/react-components/react-toast/library/CHANGELOG.json
@@ -1,6 +1,51 @@
 {
   "name": "@fluentui/react-toast",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:35 GMT",
+      "tag": "@fluentui/react-toast_v9.3.64",
+      "version": "9.3.64",
+      "comments": {
+        "patch": [
+          {
+            "author": "soumya_tripathy@outlook.com",
+            "package": "@fluentui/react-toast",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb",
+            "comment": "feat: Add intent property to Toast state and useToast hook. Correct media className assignment in useToastTitleStyles."
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-motion to v9.6.6",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.2",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-portal to v9.4.41",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-toast_v9.3.63",
diff --git a/packages/react-components/react-toast/library/CHANGELOG.md b/packages/react-components/react-toast/library/CHANGELOG.md
index cbcc7c29c8b979..fd8c6b52b431d8 100644
--- a/packages/react-components/react-toast/library/CHANGELOG.md
+++ b/packages/react-components/react-toast/library/CHANGELOG.md
@@ -1,9 +1,23 @@
 # Change Log - @fluentui/react-toast
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:35 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.64](https://github.com/microsoft/fluentui/tree/@fluentui/react-toast_v9.3.64)
+
+Wed, 08 Jan 2025 18:33:35 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-toast_v9.3.63..@fluentui/react-toast_v9.3.64)
+
+### Patches
+
+- feat: Add intent property to Toast state and useToast hook. Correct media className assignment in useToastTitleStyles. ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by soumya_tripathy@outlook.com)
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion to v9.6.6 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.2 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-portal to v9.4.41 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.3.63](https://github.com/microsoft/fluentui/tree/@fluentui/react-toast_v9.3.63)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-toast/library/package.json b/packages/react-components/react-toast/library/package.json
index c259c41a4866df..f293206e1e0164 100644
--- a/packages/react-components/react-toast/library/package.json
+++ b/packages/react-components/react-toast/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-toast",
-  "version": "9.3.63",
+  "version": "9.3.64",
   "description": "Toast component for Fluent UI",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,12 +21,12 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.12",
+    "@fluentui/react-aria": "^9.13.13",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-motion": "^9.6.5",
-    "@fluentui/react-motion-components-preview": "^0.4.1",
-    "@fluentui/react-portal": "^9.4.40",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-motion": "^9.6.6",
+    "@fluentui/react-motion-components-preview": "^0.4.2",
+    "@fluentui/react-portal": "^9.4.41",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-toolbar/library/CHANGELOG.json b/packages/react-components/react-toolbar/library/CHANGELOG.json
index 24591b1b04dd9b..7687952f67677f 100644
--- a/packages/react-components/react-toolbar/library/CHANGELOG.json
+++ b/packages/react-components/react-toolbar/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-toolbar",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-toolbar_v9.2.14",
+      "version": "9.2.14",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-button to v9.3.99",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-divider to v9.2.81",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-radio to v9.2.40",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-toolbar_v9.2.13",
diff --git a/packages/react-components/react-toolbar/library/CHANGELOG.md b/packages/react-components/react-toolbar/library/CHANGELOG.md
index ce804c026b75d5..f8de414f13cd9f 100644
--- a/packages/react-components/react-toolbar/library/CHANGELOG.md
+++ b/packages/react-components/react-toolbar/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-toolbar
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.14](https://github.com/microsoft/fluentui/tree/@fluentui/react-toolbar_v9.2.14)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-toolbar_v9.2.13..@fluentui/react-toolbar_v9.2.14)
+
+### Patches
+
+- Bump @fluentui/react-button to v9.3.99 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-divider to v9.2.81 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-radio to v9.2.40 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.2.13](https://github.com/microsoft/fluentui/tree/@fluentui/react-toolbar_v9.2.13)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-toolbar/library/package.json b/packages/react-components/react-toolbar/library/package.json
index afaf5041bbc076..d27a6121e3a1be 100644
--- a/packages/react-components/react-toolbar/library/package.json
+++ b/packages/react-components/react-toolbar/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-toolbar",
-  "version": "9.2.13",
+  "version": "9.2.14",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,13 +20,13 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-button": "^9.3.98",
-    "@fluentui/react-divider": "^9.2.80",
+    "@fluentui/react-button": "^9.3.99",
+    "@fluentui/react-divider": "^9.2.81",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-radio": "^9.2.39",
+    "@fluentui/react-radio": "^9.2.40",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-tooltip/library/CHANGELOG.json b/packages/react-components/react-tooltip/library/CHANGELOG.json
index 098a78d2bcc7cd..6a00ff1c9fcc92 100644
--- a/packages/react-components/react-tooltip/library/CHANGELOG.json
+++ b/packages/react-components/react-tooltip/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-tooltip",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-tooltip_v9.5.3",
+      "version": "9.5.3",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tooltip",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tooltip",
+            "comment": "Bump @fluentui/react-portal to v9.4.41",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tooltip",
+            "comment": "Bump @fluentui/react-positioning to v9.16.1",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-tooltip_v9.5.2",
diff --git a/packages/react-components/react-tooltip/library/CHANGELOG.md b/packages/react-components/react-tooltip/library/CHANGELOG.md
index 513571721b4d3b..ec6e48cf3f019a 100644
--- a/packages/react-components/react-tooltip/library/CHANGELOG.md
+++ b/packages/react-components/react-tooltip/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-tooltip
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.5.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-tooltip_v9.5.3)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tooltip_v9.5.2..@fluentui/react-tooltip_v9.5.3)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-portal to v9.4.41 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-positioning to v9.16.1 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.5.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-tooltip_v9.5.2)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-tooltip/library/package.json b/packages/react-components/react-tooltip/library/package.json
index 0c8e69581d8ef1..83f0b10c1d815f 100644
--- a/packages/react-components/react-tooltip/library/package.json
+++ b/packages/react-components/react-tooltip/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tooltip",
-  "version": "9.5.2",
+  "version": "9.5.3",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,9 +19,9 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
-    "@fluentui/react-portal": "^9.4.40",
-    "@fluentui/react-positioning": "^9.16.0",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-portal": "^9.4.41",
+    "@fluentui/react-positioning": "^9.16.1",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
diff --git a/packages/react-components/react-tree/library/CHANGELOG.json b/packages/react-components/react-tree/library/CHANGELOG.json
index 41f3078e613cc9..cfab14d7ff9094 100644
--- a/packages/react-components/react-tree/library/CHANGELOG.json
+++ b/packages/react-components/react-tree/library/CHANGELOG.json
@@ -1,6 +1,63 @@
 {
   "name": "@fluentui/react-tree",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-tree_v9.8.12",
+      "version": "9.8.12",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-aria to v9.13.13",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-avatar to v9.6.48",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-button to v9.3.99",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-checkbox to v9.2.45",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.2",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-motion to v9.6.6",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-radio to v9.2.40",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 18 Dec 2024 10:59:37 GMT",
       "tag": "@fluentui/react-tree_v9.8.11",
diff --git a/packages/react-components/react-tree/library/CHANGELOG.md b/packages/react-components/react-tree/library/CHANGELOG.md
index 68b0eece97c5e5..722c479af322d0 100644
--- a/packages/react-components/react-tree/library/CHANGELOG.md
+++ b/packages/react-components/react-tree/library/CHANGELOG.md
@@ -1,9 +1,25 @@
 # Change Log - @fluentui/react-tree
 
-This log was last generated on Wed, 18 Dec 2024 10:59:37 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.8.12](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.8.12)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tree_v9.8.11..@fluentui/react-tree_v9.8.12)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.13 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-avatar to v9.6.48 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-button to v9.3.99 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-checkbox to v9.2.45 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.2 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-motion to v9.6.6 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-radio to v9.2.40 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.8.11](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.8.11)
 
 Wed, 18 Dec 2024 10:59:37 GMT 
diff --git a/packages/react-components/react-tree/library/package.json b/packages/react-components/react-tree/library/package.json
index 96e8d3f78bdbbb..a9ac047a35ecdf 100644
--- a/packages/react-components/react-tree/library/package.json
+++ b/packages/react-components/react-tree/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tree",
-  "version": "9.8.11",
+  "version": "9.8.12",
   "description": "Tree component for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,20 +21,20 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.12",
-    "@fluentui/react-avatar": "^9.6.47",
-    "@fluentui/react-button": "^9.3.98",
-    "@fluentui/react-checkbox": "^9.2.44",
+    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-avatar": "^9.6.48",
+    "@fluentui/react-button": "^9.3.99",
+    "@fluentui/react-checkbox": "^9.2.45",
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-motion-components-preview": "^0.4.1",
-    "@fluentui/react-motion": "^9.6.5",
-    "@fluentui/react-radio": "^9.2.39",
+    "@fluentui/react-motion-components-preview": "^0.4.2",
+    "@fluentui/react-motion": "^9.6.6",
+    "@fluentui/react-radio": "^9.2.40",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-tabster": "^9.23.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-utilities-compat/library/package.json b/packages/react-components/react-utilities-compat/library/package.json
index ecaca7c70a69ac..3fa4d8ea8a47f5 100644
--- a/packages/react-components/react-utilities-compat/library/package.json
+++ b/packages/react-components/react-utilities-compat/library/package.json
@@ -25,7 +25,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
     "@fluentui/react-utilities": "^9.18.19",
diff --git a/packages/react-components/react-virtualizer/library/CHANGELOG.json b/packages/react-components/react-virtualizer/library/CHANGELOG.json
index 866966d33fd529..b3b4da467af753 100644
--- a/packages/react-components/react-virtualizer/library/CHANGELOG.json
+++ b/packages/react-components/react-virtualizer/library/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-virtualizer",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:36 GMT",
+      "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.90",
+      "version": "9.0.0-alpha.90",
+      "comments": {
+        "prerelease": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-virtualizer",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.49",
+            "commit": "52572e1cdd452d32c67195bdc42f1114f58242bb"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:46 GMT",
       "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.89",
diff --git a/packages/react-components/react-virtualizer/library/CHANGELOG.md b/packages/react-components/react-virtualizer/library/CHANGELOG.md
index 5acf3a7e7229e9..5fc5628f4f265e 100644
--- a/packages/react-components/react-virtualizer/library/CHANGELOG.md
+++ b/packages/react-components/react-virtualizer/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-virtualizer
 
-This log was last generated on Mon, 16 Dec 2024 16:26:46 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.0-alpha.90](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.90)
+
+Wed, 08 Jan 2025 18:33:36 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.89..@fluentui/react-virtualizer_v9.0.0-alpha.90)
+
+### Changes
+
+- Bump @fluentui/react-jsx-runtime to v9.0.49 ([PR #33550](https://github.com/microsoft/fluentui/pull/33550) by beachball)
+
 ## [9.0.0-alpha.89](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.89)
 
 Mon, 16 Dec 2024 16:26:46 GMT 
diff --git a/packages/react-components/react-virtualizer/library/package.json b/packages/react-components/react-virtualizer/library/package.json
index 9dc68d3ce9e418..c991049a75c83b 100644
--- a/packages/react-components/react-virtualizer/library/package.json
+++ b/packages/react-components/react-virtualizer/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-virtualizer",
-  "version": "9.0.0-alpha.89",
+  "version": "9.0.0-alpha.90",
   "description": "Generic and composable virtualizer framework built on browser intersection observer",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,7 +18,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.48",
+    "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-utilities": "^9.18.19",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/recipes/package.json b/packages/react-components/recipes/package.json
index e17fe8cad21099..84a5bc9b94a2da 100644
--- a/packages/react-components/recipes/package.json
+++ b/packages/react-components/recipes/package.json
@@ -27,9 +27,9 @@
     "@fluentui/react-storybook-addon-export-to-sandbox": "*"
   },
   "dependencies": {
-    "@fluentui/react-provider": "^9.18.2",
+    "@fluentui/react-provider": "^9.18.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-text": "^9.4.30",
+    "@fluentui/react-text": "^9.4.31",
     "@fluentui/react-utilities": "^9.18.19",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
diff --git a/packages/react-components/theme-designer/package.json b/packages/react-components/theme-designer/package.json
index 74899a1d5bcf98..4031580527472e 100644
--- a/packages/react-components/theme-designer/package.json
+++ b/packages/react-components/theme-designer/package.json
@@ -17,7 +17,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-components": "^9.56.8",
+    "@fluentui/react-components": "^9.57.0",
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-storybook-addon-export-to-sandbox": "^0.1.0",
diff --git a/packages/react-conformance/CHANGELOG.json b/packages/react-conformance/CHANGELOG.json
index 963ea3f628894e..482e753f9b5323 100644
--- a/packages/react-conformance/CHANGELOG.json
+++ b/packages/react-conformance/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-conformance",
   "entries": [
+    {
+      "date": "Wed, 08 Jan 2025 18:33:33 GMT",
+      "tag": "@fluentui/react-conformance_v0.19.3",
+      "version": "0.19.3",
+      "comments": {
+        "patch": [
+          {
+            "author": "olfedias@microsoft.com",
+            "package": "@fluentui/react-conformance",
+            "commit": "dc7bb663e3d93a19b611cf1892556d69c57b1269",
+            "comment": "chore: remove usage of \"export *\""
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 11 Nov 2024 10:01:11 GMT",
       "tag": "@fluentui/react-conformance_v0.19.2",
diff --git a/packages/react-conformance/CHANGELOG.md b/packages/react-conformance/CHANGELOG.md
index 6206fdbd4279cf..0f022441351a42 100644
--- a/packages/react-conformance/CHANGELOG.md
+++ b/packages/react-conformance/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-conformance
 
-This log was last generated on Mon, 11 Nov 2024 10:01:11 GMT and should not be manually modified.
+This log was last generated on Wed, 08 Jan 2025 18:33:33 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.19.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-conformance_v0.19.3)
+
+Wed, 08 Jan 2025 18:33:33 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-conformance_v0.19.2..@fluentui/react-conformance_v0.19.3)
+
+### Patches
+
+- chore: remove usage of "export *" ([PR #33448](https://github.com/microsoft/fluentui/pull/33448) by olfedias@microsoft.com)
+
 ## [0.19.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-conformance_v0.19.2)
 
 Mon, 11 Nov 2024 10:01:11 GMT 
diff --git a/packages/react-conformance/package.json b/packages/react-conformance/package.json
index b04b94218ddf49..9ba2de77051081 100644
--- a/packages/react-conformance/package.json
+++ b/packages/react-conformance/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-conformance",
-  "version": "0.19.2",
+  "version": "0.19.3",
   "description": "Customizable conformance testing utility for Fluent UI React components.",
   "main": "lib-commonjs/index.js",
   "typings": "./dist/index.d.ts",

From 93063df115dbd3bec400c581353b190e7952de6e Mon Sep 17 00:00:00 2001
From: Mason Tejera <17346018+mltejera@users.noreply.github.com>
Date: Wed, 8 Jan 2025 21:17:41 +0000
Subject: [PATCH 08/78] [nav] Replacing 'size' prop with 'density' (#33559)

---
 ...-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json |  7 +++++
 .../library/etc/react-nav-preview.api.md      | 22 +++++++-------
 .../react-nav-preview/library/src/Nav.ts      |  2 +-
 .../src/components/AppItem/AppItem.types.ts   |  6 ++--
 .../src/components/AppItem/useAppItem.ts      |  4 +--
 .../AppItem/useAppItemStyles.styles.ts        |  4 +--
 .../AppItemStatic/AppItemStatic.types.ts      |  6 ++--
 .../AppItemStatic/useAppItemStatic.ts         |  4 +--
 .../useAppItemStaticStyles.styles.ts          |  4 +--
 .../library/src/components/Nav/Nav.types.ts   |  9 +++---
 .../library/src/components/Nav/index.ts       |  2 +-
 .../library/src/components/Nav/useNav.ts      |  4 +--
 .../NavCategoryItem/NavCategoryItem.types.ts  |  6 ++--
 .../useNavCategoryItem.styles.ts              |  4 +--
 .../NavCategoryItem/useNavCategoryItem.tsx    |  4 +--
 .../library/src/components/NavContext.ts      |  4 +--
 .../src/components/NavContext.types.ts        |  5 +++-
 .../components/NavDrawer/NavDrawer.types.ts   | 10 ++++++-
 .../src/components/NavDrawer/useNavDrawer.ts  |  3 +-
 .../NavDrawer/useNavDrawerStyles.styles.ts    | 15 ++++++++--
 .../src/components/NavItem/NavItem.types.ts   |  6 ++--
 .../src/components/NavItem/useNavItem.ts      |  4 +--
 .../NavItem/useNavItemStyles.styles.ts        |  4 +--
 .../components/NavSubItem/NavSubItem.types.ts |  6 ++--
 .../components/NavSubItem/useNavSubItem.ts    |  4 +--
 .../NavSubItem/useNavSubItemStyles.styles.ts  |  6 ++--
 .../SplitNavItem/SplitNavItem.types.ts        |  6 ++--
 .../SplitNavItem/useSplitNavItem.tsx          |  4 +--
 .../useSplitNavItemStyles.styles.ts           |  6 ++--
 .../src/components/sharedNavStyles.styles.ts  |  1 +
 .../src/components/useNavContextValues.tsx    |  6 ++--
 .../react-nav-preview/library/src/index.ts    |  2 +-
 .../stories/src/Nav/index.stories.tsx         |  2 +-
 .../src/NavDrawer/SplitNavItems.stories.tsx   | 16 ++++++----
 ...s.tsx => VariableDensityItems.stories.tsx} | 29 +++++++++++++------
 35 files changed, 137 insertions(+), 90 deletions(-)
 create mode 100644 change/@fluentui-react-nav-preview-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json
 rename packages/react-components/react-nav-preview/stories/src/NavDrawer/{VariableSizedItems.stories.tsx => VariableDensityItems.stories.tsx} (91%)

diff --git a/change/@fluentui-react-nav-preview-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json b/change/@fluentui-react-nav-preview-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json
new file mode 100644
index 00000000000000..6330f4d3225373
--- /dev/null
+++ b/change/@fluentui-react-nav-preview-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json
@@ -0,0 +1,7 @@
+{
+  "type": "minor",
+  "comment": "[BREAKING CHANGE] Replacing NavSize type and size prop with NavDensity type and density prop to avoid collisions with size on base Drawer component. ",
+  "packageName": "@fluentui/react-nav-preview",
+  "email": "matejera@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-nav-preview/library/etc/react-nav-preview.api.md b/packages/react-components/react-nav-preview/library/etc/react-nav-preview.api.md
index 183c5222ea6030..70ed49272f741a 100644
--- a/packages/react-components/react-nav-preview/library/etc/react-nav-preview.api.md
+++ b/packages/react-components/react-nav-preview/library/etc/react-nav-preview.api.md
@@ -57,7 +57,7 @@ export type AppItemSlots = {
 
 // @public
 export type AppItemState = ComponentState<AppItemSlots> & {
-    size: NavSize;
+    density: NavDensity;
 };
 
 // @public
@@ -77,7 +77,7 @@ export type AppItemStaticSlots = {
 
 // @public
 export type AppItemStaticState = ComponentState<AppItemStaticSlots> & {
-    size: NavSize;
+    density: NavDensity;
 };
 
 // @public
@@ -117,7 +117,7 @@ export type NavCategoryItemSlots = {
 // @public
 export type NavCategoryItemState = ComponentState<NavCategoryItemSlots> & NavCategoryItemContextValue & {
     selected: boolean;
-    size: NavSize;
+    density: NavDensity;
 };
 
 // @public
@@ -133,7 +133,7 @@ export type NavCategoryState = NavCategoryContextValue & Required<NavCategoryPro
 export const navClassNames: SlotClassNames<NavSlots>;
 
 // @public (undocumented)
-export type NavContextValue = Pick<NavProps, 'onNavItemSelect' | 'selectedValue' | 'selectedCategoryValue' | 'size'> & {
+export type NavContextValue = Pick<NavProps, 'onNavItemSelect' | 'selectedValue' | 'selectedCategoryValue' | 'density'> & {
     onRegister: RegisterNavItemEventHandler;
     onUnregister: RegisterNavItemEventHandler;
     onSelect: EventHandler<OnNavItemSelectData>;
@@ -153,6 +153,9 @@ export type NavContextValues = {
     nav: NavContextValue;
 };
 
+// @public
+export type NavDensity = 'small' | 'medium';
+
 // @public
 export const NavDivider: ForwardRefComponent<NavDividerProps>;
 
@@ -254,7 +257,7 @@ export type NavItemSlots = {
 // @public
 export type NavItemState = ComponentState<NavItemSlots> & Pick<NavItemProps, 'value'> & {
     selected: boolean;
-    size: NavSize;
+    density: NavDensity;
 };
 
 // @public
@@ -271,7 +274,7 @@ export type NavProps = ComponentProps<NavSlots> & {
     selectedCategoryValue?: NavItemValue;
     multiple?: boolean;
     onNavCategoryItemToggle?: EventHandler<OnNavItemSelectData>;
-    size?: NavSize;
+    density?: NavDensity;
 };
 
 // @public (undocumented)
@@ -294,9 +297,6 @@ export type NavSectionHeaderSlots = {
 // @public
 export type NavSectionHeaderState = ComponentState<NavSectionHeaderSlots>;
 
-// @public
-export type NavSize = 'small' | 'medium';
-
 // @public (undocumented)
 export type NavSlots = {
     root: NonNullable<Slot<'div'>>;
@@ -344,7 +344,7 @@ export type NavSubItemSlots = {
 // @public
 export type NavSubItemState = ComponentState<NavSubItemSlots> & Pick<NavSubItemProps, 'value'> & {
     selected: boolean;
-    size: NavSize;
+    density: NavDensity;
 };
 
 // @public (undocumented)
@@ -412,7 +412,7 @@ export type SplitNavItemSlots = {
 
 // @public
 export type SplitNavItemState = ComponentState<SplitNavItemSlots> & {
-    size: NavSize;
+    density: NavDensity;
     isSubNav: boolean;
 };
 
diff --git a/packages/react-components/react-nav-preview/library/src/Nav.ts b/packages/react-components/react-nav-preview/library/src/Nav.ts
index f5f3bad6d018fc..0851ebf53f3b67 100644
--- a/packages/react-components/react-nav-preview/library/src/Nav.ts
+++ b/packages/react-components/react-nav-preview/library/src/Nav.ts
@@ -1,4 +1,4 @@
-export type { NavProps, NavSize, NavSlots, NavState, OnNavItemSelectData } from './components/Nav/index';
+export type { NavProps, NavDensity, NavSlots, NavState, OnNavItemSelectData } from './components/Nav/index';
 export { Nav, navClassNames, renderNav_unstable, useNavStyles_unstable, useNav_unstable } from './components/Nav/index';
 export type {
   NavCategoryItemProps,
diff --git a/packages/react-components/react-nav-preview/library/src/components/AppItem/AppItem.types.ts b/packages/react-components/react-nav-preview/library/src/components/AppItem/AppItem.types.ts
index 87d48798d39a1b..6f3266ef22cfae 100644
--- a/packages/react-components/react-nav-preview/library/src/components/AppItem/AppItem.types.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/AppItem/AppItem.types.ts
@@ -1,6 +1,6 @@
 import { ARIAButtonSlotProps } from '@fluentui/react-aria';
 import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
-import { NavSize } from '../Nav/Nav.types';
+import { NavDensity } from '../Nav/Nav.types';
 
 export type AppItemSlots = {
   /**
@@ -24,9 +24,9 @@ export type AppItemProps = ComponentProps<AppItemSlots> & { href?: string };
  */
 export type AppItemState = ComponentState<AppItemSlots> & {
   /**
-   * The size of the NavItem
+   * The density of the NavItem
    *
    * @default 'medium'
    */
-  size: NavSize;
+  density: NavDensity;
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/AppItem/useAppItem.ts b/packages/react-components/react-nav-preview/library/src/components/AppItem/useAppItem.ts
index ae6173145e839e..f77e0eeadf0c5a 100644
--- a/packages/react-components/react-nav-preview/library/src/components/AppItem/useAppItem.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/AppItem/useAppItem.ts
@@ -20,7 +20,7 @@ export const useAppItem_unstable = (
   const { icon, as, href } = props;
   const rootElementType = as || (href ? 'a' : 'button');
 
-  const { size = 'medium' } = useNavContext_unstable();
+  const { density = 'medium' } = useNavContext_unstable();
 
   const root = slot.always<ARIAButtonSlotProps<'a'>>(
     getIntrinsicElementProps(
@@ -48,6 +48,6 @@ export const useAppItem_unstable = (
     icon: slot.optional(icon, {
       elementType: 'span',
     }),
-    size,
+    density,
   };
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/AppItem/useAppItemStyles.styles.ts b/packages/react-components/react-nav-preview/library/src/components/AppItem/useAppItemStyles.styles.ts
index e93f60e5fd0c9f..cbc08bbf8ce74a 100644
--- a/packages/react-components/react-nav-preview/library/src/components/AppItem/useAppItemStyles.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/AppItem/useAppItemStyles.styles.ts
@@ -42,13 +42,13 @@ export const useAppItemStyles_unstable = (state: AppItemState): AppItemState =>
   const iconStyles = useIconStyles();
   const appItemSpecificStyles = useAppItemStyles();
 
-  const { size, icon } = state;
+  const { density, icon } = state;
 
   state.root.className = mergeClasses(
     rootDefaultClassName,
     appItemClassNames.root,
     appItemSpecificStyles.root,
-    size === 'small' && appItemSpecificStyles.small,
+    density === 'small' && appItemSpecificStyles.small,
     !icon && appItemSpecificStyles.absentIconRootAdjustment,
     state.root.className,
   );
diff --git a/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/AppItemStatic.types.ts b/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/AppItemStatic.types.ts
index da9d014f92dbcc..de605b7700b713 100644
--- a/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/AppItemStatic.types.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/AppItemStatic.types.ts
@@ -1,5 +1,5 @@
 import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
-import { NavSize } from '../Nav/Nav.types';
+import { NavDensity } from '../Nav/Nav.types';
 
 export type AppItemStaticSlots = {
   /**
@@ -22,9 +22,9 @@ export type AppItemStaticProps = ComponentProps<AppItemStaticSlots> & {};
  */
 export type AppItemStaticState = ComponentState<AppItemStaticSlots> & {
   /**
-   * The size of the Nav
+   * The density of the Nav
    *
    * @default 'medium'
    */
-  size: NavSize;
+  density: NavDensity;
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/useAppItemStatic.ts b/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/useAppItemStatic.ts
index c590d540f34c4a..283bbbc51c588b 100644
--- a/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/useAppItemStatic.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/useAppItemStatic.ts
@@ -18,7 +18,7 @@ export const useAppItemStatic_unstable = (
 ): AppItemStaticState => {
   const { icon } = props;
 
-  const { size = 'medium' } = useNavContext_unstable();
+  const { density = 'medium' } = useNavContext_unstable();
   return {
     components: {
       root: 'div',
@@ -34,6 +34,6 @@ export const useAppItemStatic_unstable = (
     icon: slot.optional(icon, {
       elementType: 'span',
     }),
-    size,
+    density,
   };
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/useAppItemStaticStyles.styles.ts b/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/useAppItemStaticStyles.styles.ts
index a8b987af14aae9..2aa8c4b80861e1 100644
--- a/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/useAppItemStaticStyles.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/AppItemStatic/useAppItemStaticStyles.styles.ts
@@ -32,14 +32,14 @@ export const useAppItemStaticStyles_unstable = (state: AppItemStaticState): AppI
   const appItemSpecificStyles = useAppItemStyles();
   const appItemStaticStyles = useAppItemStaticStyles();
 
-  const { size, icon } = state;
+  const { density, icon } = state;
 
   state.root.className = mergeClasses(
     rootDefaultClassName,
     appItemStaticClassNames.root,
     appItemSpecificStyles.root,
     appItemStaticStyles.root,
-    size === 'small' && appItemSpecificStyles.small,
+    density === 'small' && appItemSpecificStyles.small,
     !icon && appItemSpecificStyles.absentIconRootAdjustment,
     state.root.className,
   );
diff --git a/packages/react-components/react-nav-preview/library/src/components/Nav/Nav.types.ts b/packages/react-components/react-nav-preview/library/src/components/Nav/Nav.types.ts
index 2c454797acdba1..1a5a9d8a23551c 100644
--- a/packages/react-components/react-nav-preview/library/src/components/Nav/Nav.types.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/Nav/Nav.types.ts
@@ -8,9 +8,10 @@ export type NavSlots = {
 };
 
 /***
- * Indicates the vertical size of the Nav content.
+ * Indicates the vertical density of the Nav content.
+ * This does not affect horizontal spacing.
  */
-export type NavSize = 'small' | 'medium';
+export type NavDensity = 'small' | 'medium';
 
 /**
  * Nav Props
@@ -76,10 +77,10 @@ export type NavProps = ComponentProps<NavSlots> & {
   onNavCategoryItemToggle?: EventHandler<OnNavItemSelectData>;
 
   /**
-   * The size and density of the Nav and it's children
+   * The vertical density of the Nav and it's children
    * @default 'medium'
    */
-  size?: NavSize;
+  density?: NavDensity;
 };
 
 export type OnNavItemSelectData = EventData<'click', React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>> & {
diff --git a/packages/react-components/react-nav-preview/library/src/components/Nav/index.ts b/packages/react-components/react-nav-preview/library/src/components/Nav/index.ts
index 96192347cd9e18..c07ddb4584da82 100644
--- a/packages/react-components/react-nav-preview/library/src/components/Nav/index.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/Nav/index.ts
@@ -1,5 +1,5 @@
 export { Nav } from './Nav';
-export type { NavSlots, NavProps, OnNavItemSelectData, NavState, NavSize } from './Nav.types';
+export type { NavSlots, NavProps, OnNavItemSelectData, NavState, NavDensity } from './Nav.types';
 export { renderNav_unstable } from './renderNav';
 export { useNav_unstable } from './useNav';
 export { useNavStyles_unstable, navClassNames } from './useNavStyles.styles';
diff --git a/packages/react-components/react-nav-preview/library/src/components/Nav/useNav.ts b/packages/react-components/react-nav-preview/library/src/components/Nav/useNav.ts
index 83a8bc502be0a4..ca6424eb556d05 100644
--- a/packages/react-components/react-nav-preview/library/src/components/Nav/useNav.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/Nav/useNav.ts
@@ -59,7 +59,7 @@ export const useNav_unstable = (props: NavProps, ref: React.Ref<HTMLDivElement>)
     onNavItemSelect,
     onNavCategoryItemToggle,
     multiple = true,
-    size = 'medium',
+    density = 'medium',
     openCategories: controlledOpenCategoryItems,
     selectedCategoryValue: controlledSelectedCategoryValue,
     selectedValue: controlledSelectedValue,
@@ -164,6 +164,6 @@ export const useNav_unstable = (props: NavProps, ref: React.Ref<HTMLDivElement>)
     getRegisteredNavItems,
     onRequestNavCategoryItemToggle,
     multiple,
-    size,
+    density,
   };
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/NavCategoryItem.types.ts b/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/NavCategoryItem.types.ts
index 3b8b0a9897bbf8..52756e4bc6562f 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/NavCategoryItem.types.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/NavCategoryItem.types.ts
@@ -1,4 +1,4 @@
-import { NavSize } from '../Nav/Nav.types';
+import { NavDensity } from '../Nav/Nav.types';
 import { NavCategoryItemContextValue } from '../NavCategoryItemContext';
 import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
 
@@ -39,9 +39,9 @@ export type NavCategoryItemState = ComponentState<NavCategoryItemSlots> &
      */
     selected: boolean;
     /**
-     * The size of the NavItem
+     * The density of the NavItem
      *
      * @default 'medium'
      */
-    size: NavSize;
+    density: NavDensity;
   };
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/useNavCategoryItem.styles.ts b/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/useNavCategoryItem.styles.ts
index 686459e60f1682..26e2d1d95b20d0 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/useNavCategoryItem.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/useNavCategoryItem.styles.ts
@@ -51,13 +51,13 @@ export const useNavCategoryItemStyles_unstable = (state: NavCategoryItemState):
   const iconStyles = useIconStyles();
   const expandIconStyles = useExpandIconStyles();
 
-  const { selected, open, size } = state;
+  const { selected, open, density } = state;
 
   state.root.className = mergeClasses(
     navCategoryItemClassNames.root,
     defaultRootClassName,
     rootStyles.base,
-    size === 'small' && smallStyles.root,
+    density === 'small' && smallStyles.root,
     selected && open === false && indicatorStyles.base,
     selected && open === false && contentStyles.selected,
     state.root.className,
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/useNavCategoryItem.tsx b/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/useNavCategoryItem.tsx
index 85a06e0e915775..e41b63a5a7349a 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/useNavCategoryItem.tsx
+++ b/packages/react-components/react-nav-preview/library/src/components/NavCategoryItem/useNavCategoryItem.tsx
@@ -22,7 +22,7 @@ export const useNavCategoryItem_unstable = (
 
   const { open, value } = useNavCategoryContext_unstable();
 
-  const { onRequestNavCategoryItemToggle, selectedCategoryValue, size = 'medium' } = useNavContext_unstable();
+  const { onRequestNavCategoryItemToggle, selectedCategoryValue, density = 'medium' } = useNavContext_unstable();
 
   const onNavCategoryItemClick = useEventCallback(
     mergeCallbacks(onClick, event =>
@@ -64,6 +64,6 @@ export const useNavCategoryItem_unstable = (
     icon: slot.optional(icon, {
       elementType: 'span',
     }),
-    size,
+    density,
   };
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavContext.ts b/packages/react-components/react-nav-preview/library/src/components/NavContext.ts
index f0cb4b5af7a71c..dfc0df68cf5bbc 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavContext.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavContext.ts
@@ -32,9 +32,9 @@ const navContextDefaultValue: NavContextValue = {
   multiple: true,
 
   /**
-   * Indicates the size and density of the Nav.
+   * Indicates the vertical density and density of the Nav.
    */
-  size: 'medium',
+  density: 'medium',
 };
 
 const NavContext = React.createContext<NavContextValue | undefined>(undefined);
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavContext.types.ts b/packages/react-components/react-nav-preview/library/src/components/NavContext.types.ts
index 41beee99b9aa05..659424009eae73 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavContext.types.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavContext.types.ts
@@ -3,7 +3,10 @@ import { EventHandler } from '@fluentui/react-utilities';
 
 import type { NavProps, OnNavItemSelectData } from './Nav/Nav.types';
 
-export type NavContextValue = Pick<NavProps, 'onNavItemSelect' | 'selectedValue' | 'selectedCategoryValue' | 'size'> & {
+export type NavContextValue = Pick<
+  NavProps,
+  'onNavItemSelect' | 'selectedValue' | 'selectedCategoryValue' | 'density'
+> & {
   /** A callback to allow a navItem to register itself with the navItem list. */
   onRegister: RegisterNavItemEventHandler;
 
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavDrawer/NavDrawer.types.ts b/packages/react-components/react-nav-preview/library/src/components/NavDrawer/NavDrawer.types.ts
index 4c23d1ac19eab7..fd6092408c6e53 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavDrawer/NavDrawer.types.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavDrawer/NavDrawer.types.ts
@@ -25,4 +25,12 @@ export type NavDrawerProps = ComponentProps<NavDrawerSlots> &
 /**
  * State used in rendering NavDrawer
  */
-export type NavDrawerState = DrawerState & NavContextValue;
+export type NavDrawerState = DrawerState &
+  NavContextValue & {
+    /**
+     * Analagous to size from DrawerBaseProps.
+     * Intended to be left unset in most cases.
+     * If left unset, it defaults to 260px.
+     */
+    size?: 'small' | 'medium' | 'large' | 'full';
+  };
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavDrawer/useNavDrawer.ts b/packages/react-components/react-nav-preview/library/src/components/NavDrawer/useNavDrawer.ts
index e0e01144391604..553a6e55ac7234 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavDrawer/useNavDrawer.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavDrawer/useNavDrawer.ts
@@ -16,7 +16,7 @@ import type { NavDrawerProps, NavDrawerState } from './NavDrawer.types';
  * @param ref - reference to root HTMLDivElement of NavDrawer
  */
 export const useNavDrawer_unstable = (props: NavDrawerProps, ref: React.Ref<HTMLDivElement>): NavDrawerState => {
-  const { tabbable = false } = props;
+  const { tabbable = false, size = undefined } = props;
 
   const focusAttributes = useArrowNavigationGroup({
     axis: 'vertical',
@@ -34,6 +34,7 @@ export const useNavDrawer_unstable = (props: NavDrawerProps, ref: React.Ref<HTML
 
   return {
     ...navState,
+    size,
     components: {
       // TODO: remove once React v18 slot API is modified
       // this is a problem with the lack of support for union types on React v18
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavDrawer/useNavDrawerStyles.styles.ts b/packages/react-components/react-nav-preview/library/src/components/NavDrawer/useNavDrawerStyles.styles.ts
index 9c206c0627f120..9e448574200b16 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavDrawer/useNavDrawerStyles.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavDrawer/useNavDrawerStyles.styles.ts
@@ -13,10 +13,14 @@ export const navDrawerClassNames: SlotClassNames<Omit<InlineDrawerSlots, 'surfac
  */
 const useStyles = makeStyles({
   root: {
-    width: '260px', // per spec
     backgroundColor: navItemTokens.backgroundColor,
     alignItems: 'unset',
   },
+  // seperate style so it can be applied conditionally
+  // if size is not set, use default width from the token.
+  defaultWidth: {
+    width: `${navItemTokens.defaultDrawerWidth}px`,
+  },
 });
 
 /**
@@ -25,8 +29,15 @@ const useStyles = makeStyles({
 export const useNavDrawerStyles_unstable = (state: NavDrawerState): NavDrawerState => {
   'use no memo';
 
+  const { size } = state;
+
   const styles = useStyles();
-  state.root.className = mergeClasses(navDrawerClassNames.root, styles.root, state.root.className);
+  state.root.className = mergeClasses(
+    navDrawerClassNames.root,
+    styles.root,
+    !size && styles.defaultWidth,
+    state.root.className,
+  );
 
   return state;
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavItem/NavItem.types.ts b/packages/react-components/react-nav-preview/library/src/components/NavItem/NavItem.types.ts
index c4248ee931023d..97e39d7fe62a1e 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavItem/NavItem.types.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavItem/NavItem.types.ts
@@ -1,5 +1,5 @@
 import { NavItemValue } from '../NavContext.types';
-import { NavSize } from '../Nav/Nav.types';
+import { NavDensity } from '../Nav/Nav.types';
 import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
 import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
 
@@ -40,9 +40,9 @@ export type NavItemState = ComponentState<NavItemSlots> &
     selected: boolean;
 
     /**
-     * The size of the NavItem
+     * The density of the NavItem
      *
      * @default 'medium'
      */
-    size: NavSize;
+    density: NavDensity;
   };
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavItem/useNavItem.ts b/packages/react-components/react-nav-preview/library/src/components/NavItem/useNavItem.ts
index ec66e38d7ed3bf..d4c798594ffa65 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavItem/useNavItem.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavItem/useNavItem.ts
@@ -21,7 +21,7 @@ export const useNavItem_unstable = (
 ): NavItemState => {
   const { onClick, value, icon, as, href } = props;
 
-  const { selectedValue, onRegister, onUnregister, onSelect, size = 'medium' } = useNavContext_unstable();
+  const { selectedValue, onRegister, onUnregister, onSelect, density = 'medium' } = useNavContext_unstable();
 
   const rootElementType = as || (href ? 'a' : 'button');
 
@@ -76,6 +76,6 @@ export const useNavItem_unstable = (
     }),
     selected,
     value,
-    size,
+    density,
   };
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavItem/useNavItemStyles.styles.ts b/packages/react-components/react-nav-preview/library/src/components/NavItem/useNavItemStyles.styles.ts
index f515ef35ce37e2..4e6c990fe5319c 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavItem/useNavItemStyles.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavItem/useNavItemStyles.styles.ts
@@ -26,12 +26,12 @@ export const useNavItemStyles_unstable = (state: NavItemState): NavItemState =>
   const indicatorStyles = useIndicatorStyles();
   const iconStyles = useIconStyles();
 
-  const { selected, size } = state;
+  const { selected, density } = state;
 
   state.root.className = mergeClasses(
     navItemClassNames.root,
     rootDefaultClassName,
-    size === 'small' && smallStyles.root,
+    density === 'small' && smallStyles.root,
     selected && indicatorStyles.base,
     selected && contentStyles.selected,
     state.root.className,
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavSubItem/NavSubItem.types.ts b/packages/react-components/react-nav-preview/library/src/components/NavSubItem/NavSubItem.types.ts
index 609192d2eb0c8d..519bb8222227a5 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavSubItem/NavSubItem.types.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavSubItem/NavSubItem.types.ts
@@ -2,7 +2,7 @@ import { NavItemValue } from '../NavContext.types';
 
 import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
 import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
-import { NavSize } from '../Nav/Nav.types';
+import { NavDensity } from '../Nav/Nav.types';
 
 export type NavSubItemSlots = {
   root: NonNullable<Slot<ARIAButtonSlotProps<'a'>>>;
@@ -29,9 +29,9 @@ export type NavSubItemState = ComponentState<NavSubItemSlots> &
      */
     selected: boolean;
     /**
-     * The size of the NavItem
+     * The density of the NavItem
      *
      * @default 'medium'
      */
-    size: NavSize;
+    density: NavDensity;
   };
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavSubItem/useNavSubItem.ts b/packages/react-components/react-nav-preview/library/src/components/NavSubItem/useNavSubItem.ts
index fc83644d2ea393..c4cbda8184f09c 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavSubItem/useNavSubItem.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavSubItem/useNavSubItem.ts
@@ -22,7 +22,7 @@ export const useNavSubItem_unstable = (
 ): NavSubItemState => {
   const { onClick, value: subItemValue, as, href } = props;
 
-  const { selectedValue, onRegister, onUnregister, onSelect, size = 'medium' } = useNavContext_unstable();
+  const { selectedValue, onRegister, onUnregister, onSelect, density = 'medium' } = useNavContext_unstable();
 
   const { value: parentCategoryValue } = useNavCategoryContext_unstable();
 
@@ -78,6 +78,6 @@ export const useNavSubItem_unstable = (
     root,
     selected,
     value: subItemValue,
-    size,
+    density,
   };
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/NavSubItem/useNavSubItemStyles.styles.ts b/packages/react-components/react-nav-preview/library/src/components/NavSubItem/useNavSubItemStyles.styles.ts
index d65e541d387c74..e46d310101cea2 100644
--- a/packages/react-components/react-nav-preview/library/src/components/NavSubItem/useNavSubItemStyles.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/NavSubItem/useNavSubItemStyles.styles.ts
@@ -42,13 +42,13 @@ export const useNavSubItemStyles_unstable = (state: NavSubItemState): NavSubItem
   const indicatorStyles = useIndicatorStyles();
   const navSubItemSpecificStyles = useNavSubItemSpecificStyles();
 
-  const { selected, size } = state;
+  const { selected, density } = state;
 
   state.root.className = mergeClasses(
     navSubItemClassNames.root,
     rootDefaultClassName,
-    size === 'small' && smallStyles.root,
-    size === 'small' && navSubItemSpecificStyles.smallBase,
+    density === 'small' && smallStyles.root,
+    density === 'small' && navSubItemSpecificStyles.smallBase,
     navSubItemSpecificStyles.base,
     selected && indicatorStyles.base,
     selected && contentStyles.selected,
diff --git a/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/SplitNavItem.types.ts b/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/SplitNavItem.types.ts
index ad3783f5551ff4..148971b40f943a 100644
--- a/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/SplitNavItem.types.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/SplitNavItem.types.ts
@@ -2,7 +2,7 @@ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utili
 import { NavItemProps } from '../NavItem/NavItem.types';
 import { ButtonProps, MenuButtonProps, ToggleButtonProps } from '@fluentui/react-button';
 import type { TooltipProps } from '@fluentui/react-tooltip';
-import { NavSize } from '../Nav/Nav.types';
+import { NavDensity } from '../Nav/Nav.types';
 import { NavSubItemProps } from '../NavSubItem/NavSubItem.types';
 
 export type SplitNavItemSlots = {
@@ -58,11 +58,11 @@ export type SplitNavItemProps = ComponentProps<SplitNavItemSlots>;
  */
 export type SplitNavItemState = ComponentState<SplitNavItemSlots> & {
   /**
-   * The size of the NavItem
+   * The density of the NavItem
    *
    * @default 'medium'
    */
-  size: NavSize;
+  density: NavDensity;
 
   /**
    * A boolean that represents if the main item in the SplitNavItem is a SubNav item.
diff --git a/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/useSplitNavItem.tsx b/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/useSplitNavItem.tsx
index 1fe021228bebfd..65d3d2387f923a 100644
--- a/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/useSplitNavItem.tsx
+++ b/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/useSplitNavItem.tsx
@@ -33,7 +33,7 @@ export const useSplitNavItem_unstable = (
     children,
   } = props;
 
-  const { size = 'medium' } = useNavContext_unstable();
+  const { density = 'medium' } = useNavContext_unstable();
 
   const { value: potentialParenValue } = useNavCategoryContext_unstable();
 
@@ -116,7 +116,7 @@ export const useSplitNavItem_unstable = (
     actionButtonTooltip: actionButtonTooltipShorthand,
     toggleButtonTooltip: toggleButtonTooltipShorthand,
     menuButtonTooltip: menuButtonTooltipShorthand,
-    size,
+    density,
     isSubNav,
   };
 };
diff --git a/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/useSplitNavItemStyles.styles.ts b/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/useSplitNavItemStyles.styles.ts
index 8faf6d435386c9..d442f4087ef1f0 100644
--- a/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/useSplitNavItemStyles.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/SplitNavItem/useSplitNavItemStyles.styles.ts
@@ -92,7 +92,7 @@ export const useSplitNavItemStyles_unstable = (state: SplitNavItemState): SplitN
     state.actionButton.className = mergeClasses(
       splitNavItemClassNames.actionButton,
       splitNavItemStyles.baseSecondary,
-      state.size === 'medium' && splitNavItemStyles.baseMedium,
+      state.density === 'medium' && splitNavItemStyles.baseMedium,
       state.actionButton.className,
     );
   }
@@ -101,7 +101,7 @@ export const useSplitNavItemStyles_unstable = (state: SplitNavItemState): SplitN
     state.toggleButton.className = mergeClasses(
       splitNavItemClassNames.toggleButton,
       splitNavItemStyles.baseSecondary,
-      state.size === 'medium' && splitNavItemStyles.baseMedium,
+      state.density === 'medium' && splitNavItemStyles.baseMedium,
       state.toggleButton.className,
     );
   }
@@ -110,7 +110,7 @@ export const useSplitNavItemStyles_unstable = (state: SplitNavItemState): SplitN
     state.menuButton.className = mergeClasses(
       splitNavItemClassNames.menuButton,
       splitNavItemStyles.baseSecondary,
-      state.size === 'medium' && splitNavItemStyles.baseMedium,
+      state.density === 'medium' && splitNavItemStyles.baseMedium,
       state.menuButton.className,
     );
   }
diff --git a/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts b/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts
index b5cb54500dae0b..c2e2ecdbba7623 100644
--- a/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts
@@ -5,6 +5,7 @@ import { makeResetStyles, makeStyles } from '@griffel/react';
 // Styles shared by several nav components.
 
 export const navItemTokens = {
+  defaultDrawerWidth: 260,
   indicatorOffset: 16,
   indicatorWidth: 4,
   indicatorHeight: 20,
diff --git a/packages/react-components/react-nav-preview/library/src/components/useNavContextValues.tsx b/packages/react-components/react-nav-preview/library/src/components/useNavContextValues.tsx
index 05dde17412aa55..ff06b9c84d2587 100644
--- a/packages/react-components/react-nav-preview/library/src/components/useNavContextValues.tsx
+++ b/packages/react-components/react-nav-preview/library/src/components/useNavContextValues.tsx
@@ -12,7 +12,7 @@ export function useNavContextValues_unstable(state: NavState): NavContextValues
     onRequestNavCategoryItemToggle,
     openCategories,
     multiple,
-    size,
+    density,
   } = state;
 
   const navContext = React.useMemo<NavContextValue>(
@@ -26,7 +26,7 @@ export function useNavContextValues_unstable(state: NavState): NavContextValues
       onRequestNavCategoryItemToggle,
       openCategories,
       multiple,
-      size,
+      density,
     }),
     [
       selectedValue,
@@ -38,7 +38,7 @@ export function useNavContextValues_unstable(state: NavState): NavContextValues
       onRequestNavCategoryItemToggle,
       openCategories,
       multiple,
-      size,
+      density,
     ],
   );
 
diff --git a/packages/react-components/react-nav-preview/library/src/index.ts b/packages/react-components/react-nav-preview/library/src/index.ts
index 843555cbcbd1ba..6a5055e6925fd8 100644
--- a/packages/react-components/react-nav-preview/library/src/index.ts
+++ b/packages/react-components/react-nav-preview/library/src/index.ts
@@ -1,5 +1,5 @@
 export { Nav, renderNav_unstable, useNav_unstable, useNavStyles_unstable, navClassNames } from './components/Nav/index';
-export type { NavProps, NavSlots, NavState, NavSize, OnNavItemSelectData } from './components/Nav/index';
+export type { NavProps, NavSlots, NavState, NavDensity, OnNavItemSelectData } from './components/Nav/index';
 
 export { NavCategory, renderNavCategory_unstable, useNavCategory_unstable } from './components/NavCategory/index';
 export type { NavCategoryProps, NavCategoryState } from './components/NavCategory/index';
diff --git a/packages/react-components/react-nav-preview/stories/src/Nav/index.stories.tsx b/packages/react-components/react-nav-preview/stories/src/Nav/index.stories.tsx
index c63459f634e14b..6b509811b994ad 100644
--- a/packages/react-components/react-nav-preview/stories/src/Nav/index.stories.tsx
+++ b/packages/react-components/react-nav-preview/stories/src/Nav/index.stories.tsx
@@ -5,7 +5,7 @@ import { Nav } from '@fluentui/react-nav-preview';
 // import bestPracticesMd from './NavBestPractices.md';
 
 export { Basic } from '../NavDrawer/Basic.stories';
-export { VariableSizedItems } from '../NavDrawer/VariableSizedItems.stories';
+export { VariableDensityItems } from '../NavDrawer/VariableDensityItems.stories';
 export { Controlled } from '../NavDrawer/Controlled.stories';
 export { SplitNavItems } from '../NavDrawer/SplitNavItems.stories';
 
diff --git a/packages/react-components/react-nav-preview/stories/src/NavDrawer/SplitNavItems.stories.tsx b/packages/react-components/react-nav-preview/stories/src/NavDrawer/SplitNavItems.stories.tsx
index 27f969a0ecbfb9..cddf77819f8143 100644
--- a/packages/react-components/react-nav-preview/stories/src/NavDrawer/SplitNavItems.stories.tsx
+++ b/packages/react-components/react-nav-preview/stories/src/NavDrawer/SplitNavItems.stories.tsx
@@ -7,7 +7,7 @@ import {
   NavDrawerBody,
   NavDrawerHeader,
   NavDrawerProps,
-  NavSize,
+  NavDensity,
   AppItem,
   AppItemStatic,
   SplitNavItem,
@@ -189,7 +189,7 @@ export const SplitNavItems = (props: Partial<NavDrawerProps>) => {
   const appItemIconLabelId = useId('app-item-icon-label');
   const appItemStaticLabelId = useId('app-item-static-label');
 
-  const [size, setNavSize] = React.useState<NavSize>('small');
+  const [density, setNavDensity] = React.useState<NavDensity>('small');
   const [enabledLinks, setEnabledLinks] = React.useState(true);
   const [isAppItemIconPresent, setIsAppItemIconPresent] = React.useState(true);
   const [isAppItemStatic, setIsAppItemStatic] = React.useState(true);
@@ -198,7 +198,7 @@ export const SplitNavItems = (props: Partial<NavDrawerProps>) => {
   const linkDestination = enabledLinks ? 'https://www.bing.com' : '';
 
   const appItemIcon = isAppItemIconPresent ? (
-    size === 'small' ? (
+    density === 'small' ? (
       <PersonCircle24Regular />
     ) : (
       <PersonCircle32Regular />
@@ -295,7 +295,7 @@ export const SplitNavItems = (props: Partial<NavDrawerProps>) => {
 
   return (
     <div className={styles.root}>
-      <NavDrawer defaultSelectedValue="5" open={true} type={'inline'} size={size}>
+      <NavDrawer defaultSelectedValue="5" open={true} density={density} type={'inline'}>
         <NavDrawerHeader>
           <Tooltip content="Navigation" relationship="label">
             <Hamburger />
@@ -310,8 +310,12 @@ export const SplitNavItems = (props: Partial<NavDrawerProps>) => {
       </NavDrawer>
       <div className={styles.content}>
         <div className={styles.field}>
-          <Label id={labelId}>Size</Label>
-          <RadioGroup value={size} onChange={(_, data) => setNavSize(data.value as NavSize)} aria-labelledby={labelId}>
+          <Label id={labelId}>Density</Label>
+          <RadioGroup
+            value={density}
+            aria-labelledby={labelId}
+            onChange={(_, data) => setNavDensity(data.value as NavDensity)}
+          >
             <Radio value="medium" label="Medium" />
             <Radio value="small" label="Small" />
           </RadioGroup>
diff --git a/packages/react-components/react-nav-preview/stories/src/NavDrawer/VariableSizedItems.stories.tsx b/packages/react-components/react-nav-preview/stories/src/NavDrawer/VariableDensityItems.stories.tsx
similarity index 91%
rename from packages/react-components/react-nav-preview/stories/src/NavDrawer/VariableSizedItems.stories.tsx
rename to packages/react-components/react-nav-preview/stories/src/NavDrawer/VariableDensityItems.stories.tsx
index 8109df9c38cb9c..5ee25b36dfd911 100644
--- a/packages/react-components/react-nav-preview/stories/src/NavDrawer/VariableSizedItems.stories.tsx
+++ b/packages/react-components/react-nav-preview/stories/src/NavDrawer/VariableDensityItems.stories.tsx
@@ -11,12 +11,12 @@ import {
   NavSectionHeader,
   NavSubItem,
   NavSubItemGroup,
-  NavSize,
+  NavDensity,
   NavDivider,
   AppItem,
   AppItemStatic,
 } from '@fluentui/react-nav-preview';
-import { Label, Radio, RadioGroup, Switch, Tooltip, makeStyles, tokens, useId } from '@fluentui/react-components';
+import { Label, Switch, Tooltip, makeStyles, tokens, useId, Radio, RadioGroup } from '@fluentui/react-components';
 import {
   Board20Filled,
   Board20Regular,
@@ -45,8 +45,8 @@ import {
   PreviewLink20Filled,
   PreviewLink20Regular,
   bundleIcon,
-  PersonCircle32Regular,
   PersonCircle24Regular,
+  PersonCircle32Regular,
 } from '@fluentui/react-icons';
 
 const useStyles = makeStyles({
@@ -85,7 +85,7 @@ const CareerDevelopment = bundleIcon(PeopleStar20Filled, PeopleStar20Regular);
 const Analytics = bundleIcon(DataArea20Filled, DataArea20Regular);
 const Reports = bundleIcon(DocumentBulletListMultiple20Filled, DocumentBulletListMultiple20Regular);
 
-export const VariableSizedItems = (props: Partial<NavDrawerProps>) => {
+export const VariableDensityItems = (props: Partial<NavDrawerProps>) => {
   const styles = useStyles();
 
   const labelId = useId('type-label');
@@ -93,7 +93,7 @@ export const VariableSizedItems = (props: Partial<NavDrawerProps>) => {
   const appItemIconLabelId = useId('app-item-icon-label');
   const appItemStaticLabelId = useId('app-item-static-label');
 
-  const [size, setNavSize] = React.useState<NavSize>('small');
+  const [density, setNavDesnity] = React.useState<NavDensity>('small');
   const [enabledLinks, setEnabledLinks] = React.useState(true);
   const [isAppItemIconPresent, setIsAppItemIconPresent] = React.useState(true);
   const [isAppItemStatic, setIsAppItemStatic] = React.useState(true);
@@ -101,7 +101,7 @@ export const VariableSizedItems = (props: Partial<NavDrawerProps>) => {
   const linkDestination = enabledLinks ? 'https://www.bing.com' : '';
 
   const appItemIcon = isAppItemIconPresent ? (
-    size === 'small' ? (
+    density === 'small' ? (
       <PersonCircle24Regular />
     ) : (
       <PersonCircle32Regular />
@@ -118,7 +118,13 @@ export const VariableSizedItems = (props: Partial<NavDrawerProps>) => {
 
   return (
     <div className={styles.root}>
-      <NavDrawer defaultSelectedValue="7" defaultSelectedCategoryValue="6" open={true} type={'inline'} size={size}>
+      <NavDrawer
+        defaultSelectedValue="7"
+        defaultSelectedCategoryValue="6"
+        open={true}
+        type={'inline'}
+        density={density}
+      >
         <NavDrawerHeader>
           <Tooltip content="Navigation" relationship="label">
             <Hamburger />
@@ -199,11 +205,16 @@ export const VariableSizedItems = (props: Partial<NavDrawerProps>) => {
       </NavDrawer>
       <div className={styles.content}>
         <div className={styles.field}>
-          <Label id={labelId}>Size</Label>
-          <RadioGroup value={size} onChange={(_, data) => setNavSize(data.value as NavSize)} aria-labelledby={labelId}>
+          <Label id={labelId}>Density</Label>
+          <RadioGroup
+            value={density}
+            aria-labelledby={labelId}
+            onChange={(_, data) => setNavDesnity(data.value as NavDensity)}
+          >
             <Radio value="medium" label="Medium" />
             <Radio value="small" label="Small" />
           </RadioGroup>
+
           <Label id={linkLabelId}>Links</Label>
           <Switch
             checked={enabledLinks}

From 479f2f31226381d03c7a12788fb0bae55cd558c4 Mon Sep 17 00:00:00 2001
From: Jeff Smith <37851214+eljefe223@users.noreply.github.com>
Date: Wed, 8 Jan 2025 16:32:40 -0800
Subject: [PATCH 09/78] fix: radio-group emit change with keyboard and disabled
 radio unchecks (#33585)

---
 ...-fc912571-691c-494a-b4de-9a632a76a26c.json |  7 +++
 packages/web-components/docs/api-report.md    |  2 +-
 .../src/radio-group/radio-group.spec.ts       | 56 +++++++++++++++++++
 .../src/radio-group/radio-group.stories.ts    | 43 ++++++++++++++
 .../src/radio-group/radio-group.ts            | 12 +++-
 packages/web-components/src/radio/radio.ts    |  1 -
 6 files changed, 117 insertions(+), 4 deletions(-)
 create mode 100644 change/@fluentui-web-components-fc912571-691c-494a-b4de-9a632a76a26c.json

diff --git a/change/@fluentui-web-components-fc912571-691c-494a-b4de-9a632a76a26c.json b/change/@fluentui-web-components-fc912571-691c-494a-b4de-9a632a76a26c.json
new file mode 100644
index 00000000000000..87d09789bbf038
--- /dev/null
+++ b/change/@fluentui-web-components-fc912571-691c-494a-b4de-9a632a76a26c.json
@@ -0,0 +1,7 @@
+{
+  "type": "prerelease",
+  "comment": "fix: radio-group emit change with keyboard and disabled radio unchecks",
+  "packageName": "@fluentui/web-components",
+  "email": "jes@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md
index 34a685264c2c0d..820bc3b50b27eb 100644
--- a/packages/web-components/docs/api-report.md
+++ b/packages/web-components/docs/api-report.md
@@ -3045,7 +3045,7 @@ export class RadioGroup extends FASTElement {
     // @internal
     protected checkedIndexChanged(prev: number | undefined, next: number): void;
     // @internal
-    checkRadio(index?: number): void;
+    checkRadio(index?: number, shouldEmit?: boolean): void;
     checkValidity(): boolean;
     // @internal
     clickHandler(e: MouseEvent): boolean | void;
diff --git a/packages/web-components/src/radio-group/radio-group.spec.ts b/packages/web-components/src/radio-group/radio-group.spec.ts
index d3bd6b443ac6fa..c7f8df7215555d 100644
--- a/packages/web-components/src/radio-group/radio-group.spec.ts
+++ b/packages/web-components/src/radio-group/radio-group.spec.ts
@@ -233,6 +233,62 @@ test.describe('RadioGroup', () => {
     await expect(radios.nth(2)).toHaveJSProperty('checked', false);
   });
 
+  test('radio should remain checked after it is set to disabled and uncheck when a new radio is checked', async ({
+    page,
+  }) => {
+    const element = page.locator('fluent-radio-group');
+    const radios = element.locator('fluent-radio');
+
+    await page.setContent(/* html */ `
+      <fluent-radio-group>
+        <fluent-radio id="radio-1" name="radio" value="foo"></fluent-radio>
+        <fluent-radio id="radio-2" name="radio" value="bar"></fluent-radio>
+        <fluent-radio id="radio-3" name="radio" value="baz"></fluent-radio>
+      </fluent-radio-group>
+    `);
+
+    await radios.nth(0).evaluate((node: Radio) => {
+      node.checked = true;
+      node.disabled = true;
+    });
+
+    await expect(radios.nth(0)).toHaveJSProperty('checked', true);
+
+    await radios.nth(1).click();
+
+    await expect(radios.nth(1)).toBeFocused();
+
+    await page.keyboard.press('ArrowRight');
+
+    await expect(radios.nth(0)).toHaveJSProperty('checked', false);
+    await expect(radios.nth(1)).toHaveJSProperty('checked', false);
+    await expect(radios.nth(2)).toHaveJSProperty('checked', true);
+  });
+
+  test('should emit `change` event when using keyboard', async ({ page }) => {
+    const element = page.locator('fluent-radio-group');
+    const radios = element.locator('fluent-radio');
+
+    await page.setContent(/* html */ `
+      <fluent-radio-group>
+        <fluent-radio id="radio-1" name="radio" value="foo"></fluent-radio>
+        <fluent-radio id="radio-2" name="radio" value="bar"></fluent-radio>
+        <fluent-radio id="radio-3" name="radio" value="baz"></fluent-radio>
+      </fluent-radio-group>
+    `);
+
+    const wasChanged = element.evaluate((node: RadioGroup) => {
+      return new Promise(resolve => {
+        node.addEventListener('change', () => resolve(true), { once: true });
+      });
+    });
+
+    await radios.nth(1).click();
+    await page.keyboard.press('Tab');
+    await page.keyboard.press('ArrowRight');
+    await expect(wasChanged).resolves.toBeTruthy();
+  });
+
   // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
   test.skip('should set a child radio with a matching `value` to `checked` when value changes', async ({ page }) => {
     const element = page.locator('fluent-radio-group');
diff --git a/packages/web-components/src/radio-group/radio-group.stories.ts b/packages/web-components/src/radio-group/radio-group.stories.ts
index a6f7b1d876810e..9f999d289d61b5 100644
--- a/packages/web-components/src/radio-group/radio-group.stories.ts
+++ b/packages/web-components/src/radio-group/radio-group.stories.ts
@@ -204,6 +204,49 @@ export const DisabledItems: Story = {
   },
 };
 
+export const DisabledAndCheckedItem: Story = {
+  args: {
+    orientation: RadioGroupOrientation.vertical,
+    id: 'radio-group-disabled-and-checked-item',
+    value: 'pear',
+    defaultSlotContent: () => html`
+      ${repeat(
+        [
+          {
+            labelSlottedContent: () => html`<label slot="label">Apple</label>`,
+            value: 'apple',
+            disabled: true,
+          },
+          {
+            labelSlottedContent: () => html`<label slot="label">Pear</label>`,
+            value: 'pear',
+            disabled: true,
+          },
+          {
+            labelSlottedContent: () => html`<label slot="label">Banana</label>`,
+            value: 'banana',
+            disabled: true,
+          },
+          {
+            labelSlottedContent: () => html`<label slot="label">Orange</label>`,
+            value: 'orange',
+          },
+          {
+            labelSlottedContent: () => html`<label slot="label">Grape</label>`,
+            value: 'grape',
+          },
+          {
+            labelSlottedContent: () => html`<label slot="label">Kiwi</label>`,
+            value: 'kiwi',
+            disabled: true,
+          },
+        ],
+        radioFieldTemplate,
+      )}
+    `,
+  },
+};
+
 export const Required: Story = {
   render: renderComponent(html<StoryArgs<FluentRadioGroup>>`
     <form
diff --git a/packages/web-components/src/radio-group/radio-group.ts b/packages/web-components/src/radio-group/radio-group.ts
index 406a174f6b221d..15bea46a099e0e 100644
--- a/packages/web-components/src/radio-group/radio-group.ts
+++ b/packages/web-components/src/radio-group/radio-group.ts
@@ -321,6 +321,11 @@ export class RadioGroup extends FASTElement {
     this.dirtyState = true;
     const radioIndex = this.enabledRadios.indexOf(e.target as Radio);
     this.checkRadio(radioIndex);
+    this.radios
+      ?.filter(x => x.disabled)
+      ?.forEach(item => {
+        item.checked = false;
+      });
     return true;
   }
 
@@ -330,7 +335,7 @@ export class RadioGroup extends FASTElement {
    * @param index - the index of the radio to check
    * @internal
    */
-  public checkRadio(index: number = this.checkedIndex): void {
+  public checkRadio(index: number = this.checkedIndex, shouldEmit: boolean = false): void {
     let checkedIndex = this.checkedIndex;
 
     this.enabledRadios.forEach((item, i) => {
@@ -338,6 +343,9 @@ export class RadioGroup extends FASTElement {
       item.checked = shouldCheck;
       if (shouldCheck) {
         checkedIndex = i;
+        if (shouldEmit) {
+          item.$emit('change');
+        }
       }
     });
 
@@ -480,7 +488,7 @@ export class RadioGroup extends FASTElement {
     }
 
     const nextIndex = checkedIndex + increment;
-    this.checkedIndex = this.getEnabledIndexInBounds(nextIndex);
+    this.checkRadio(this.getEnabledIndexInBounds(nextIndex), true);
     this.enabledRadios[this.checkedIndex]?.focus();
   }
 
diff --git a/packages/web-components/src/radio/radio.ts b/packages/web-components/src/radio/radio.ts
index 057991bb10338a..eee1a18e9d9804 100644
--- a/packages/web-components/src/radio/radio.ts
+++ b/packages/web-components/src/radio/radio.ts
@@ -33,7 +33,6 @@ export class Radio extends BaseCheckbox {
   protected disabledChanged(prev: boolean | undefined, next: boolean | undefined): void {
     super.disabledChanged(prev, next);
     if (next) {
-      this.checked = false;
       this.tabIndex = -1;
     }
 

From 2247d505c62e3f464f53b77362175580144ebd56 Mon Sep 17 00:00:00 2001
From: John Kreitlow <863023+radium-v@users.noreply.github.com>
Date: Wed, 8 Jan 2025 19:47:54 -0800
Subject: [PATCH 10/78] chore(web-components): Use Playwright fixture for tests
 (#33023)

---
 ...-ec172ca8-23f3-4d01-a969-6504fa67a87a.json |   7 +
 package.json                                  |   6 +-
 packages/web-components/.eslintrc.json        |   1 +
 packages/web-components/README.md             |   4 +-
 packages/web-components/docs/api-report.md    |   2 +
 packages/web-components/package.json          |   6 +-
 packages/web-components/playwright.config.ts  |  16 +-
 packages/web-components/project.json          |   5 +-
 packages/web-components/scripts/e2e.js        |  38 +
 .../src/accordion-item/accordion-item.spec.ts | 184 ++---
 .../src/accordion/accordion.spec.ts           | 237 ++++---
 .../src/anchor-button/anchor-button.spec.ts   | 256 ++++---
 .../web-components/src/avatar/avatar.spec.ts  | 212 ++----
 .../web-components/src/badge/badge.spec.ts    | 222 ++----
 .../web-components/src/button/button.spec.ts  | 398 +++++------
 .../src/checkbox/checkbox.spec.ts             | 365 ++++------
 .../src/counter-badge/counter-badge.spec.ts   | 173 ++---
 .../src/dialog-body/dialog-body.spec.ts       |  32 +-
 .../web-components/src/dialog/dialog.spec.ts  | 333 +++++----
 .../src/divider/divider.spec.ts               | 207 ++----
 .../web-components/src/drawer/drawer.spec.ts  | 220 +++---
 .../web-components/src/field/field.spec.ts    | 302 ++++----
 packages/web-components/src/field/field.ts    |   2 +-
 .../web-components/src/image/image.spec.ts    | 231 ++----
 .../web-components/src/label/label.spec.ts    | 131 ++--
 packages/web-components/src/link/link.spec.ts |  84 +--
 .../src/menu-list/menu-list.spec.ts           | 300 ++++----
 packages/web-components/src/menu/menu.spec.ts | 273 ++------
 .../message-bar.integration.spec.ts           | 104 ---
 .../src/message-bar/message-bar.spec.ts       |  73 ++
 .../src/progress-bar/progress-bar.spec.ts     | 143 ++--
 .../src/radio-group/radio-group.spec.ts       | 571 ++++++++-------
 .../web-components/src/radio/radio.spec.ts    | 234 +++----
 .../src/rating-display/rating-display.spec.ts | 153 ++--
 .../web-components/src/slider/slider.spec.ts  | 500 +++++--------
 .../src/spinner/spinner.spec.ts               |  78 +--
 .../web-components/src/switch/switch.spec.ts  | 188 ++---
 .../src/tab-panel/tab-panel.spec.ts           |  33 +-
 packages/web-components/src/tab/tab.spec.ts   |  37 +-
 .../src/tablist/tablist.spec.ts               | 288 +++-----
 packages/web-components/src/tabs/tabs.spec.ts | 392 ++++-------
 .../src/text-input/text-input.spec.ts         | 513 ++++++--------
 packages/web-components/src/text/text.spec.ts | 210 ++++--
 .../src/textarea/textarea.spec.ts             | 661 ++++++++----------
 .../src/theme/set-theme.spec.ts               |  26 +-
 .../web-components/src/theme/set-theme.ts     |   8 +-
 .../src/toggle-button/toggle-button.spec.ts   |  83 +--
 .../src/tooltip/tooltip.spec.ts               | 168 +++--
 .../web-components/src/tooltip/tooltip.ts     | 143 ++--
 .../web-components/test/harness/index.html    |  11 +
 .../web-components/test/harness/src/main.ts   |  17 +
 .../test/harness/vite.config.ts               |  23 +
 .../playwright/assertions.ts}                 |  39 +-
 .../test/playwright/fast-fixture.ts           |  87 +++
 .../web-components/test/playwright/index.ts   |  43 ++
 packages/web-components/tsconfig.lib.json     |   2 +-
 packages/web-components/tsconfig.spec.json    |   2 +-
 yarn.lock                                     | 529 +++++++++-----
 58 files changed, 4266 insertions(+), 5340 deletions(-)
 create mode 100644 change/@fluentui-web-components-ec172ca8-23f3-4d01-a969-6504fa67a87a.json
 create mode 100644 packages/web-components/scripts/e2e.js
 delete mode 100644 packages/web-components/src/message-bar/message-bar.integration.spec.ts
 create mode 100644 packages/web-components/src/message-bar/message-bar.spec.ts
 create mode 100644 packages/web-components/test/harness/index.html
 create mode 100644 packages/web-components/test/harness/src/main.ts
 create mode 100644 packages/web-components/test/harness/vite.config.ts
 rename packages/web-components/{src/helpers.tests.ts => test/playwright/assertions.ts} (64%)
 create mode 100644 packages/web-components/test/playwright/fast-fixture.ts
 create mode 100644 packages/web-components/test/playwright/index.ts

diff --git a/change/@fluentui-web-components-ec172ca8-23f3-4d01-a969-6504fa67a87a.json b/change/@fluentui-web-components-ec172ca8-23f3-4d01-a969-6504fa67a87a.json
new file mode 100644
index 00000000000000..c76de2b97d0c97
--- /dev/null
+++ b/change/@fluentui-web-components-ec172ca8-23f3-4d01-a969-6504fa67a87a.json
@@ -0,0 +1,7 @@
+{
+  "type": "prerelease",
+  "comment": "Allow field states to be set regardless of connection status",
+  "packageName": "@fluentui/web-components",
+  "email": "863023+radium-v@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/package.json b/package.json
index 04d47a48d532b6..c50f53823e2ddb 100644
--- a/package.json
+++ b/package.json
@@ -84,6 +84,7 @@
     "@nx/plugin": "19.8.4",
     "@nx/workspace": "19.8.4",
     "@octokit/rest": "18.12.0",
+    "@oddbird/css-anchor-positioning": "0.4.0",
     "@phenomnomnominal/tsquery": "6.1.3",
     "@playwright/test": "1.49.1",
     "@react-native/babel-preset": "0.73.21",
@@ -224,7 +225,7 @@
     "enquirer": "2.3.6",
     "enzyme": "3.10.0",
     "enzyme-to-json": "3.6.2",
-    "esbuild": "0.20.1",
+    "esbuild": "0.24.2",
     "esbuild-loader": "4.1.0",
     "eslint": "8.57.0",
     "eslint-config-airbnb": "18.2.1",
@@ -342,6 +343,7 @@
     "tslib": "2.6.3",
     "typescript": "5.3.3",
     "vinyl": "2.2.0",
+    "vite": "6.0.7",
     "webpack": "5.94.0",
     "webpack-bundle-analyzer": "4.10.1",
     "webpack-cli": "5.1.4",
@@ -374,7 +376,7 @@
   },
   "resolutions": {
     "@types/jest-axe/axe-core": "4.7.2",
-    "esbuild": "0.20.1",
+    "esbuild": "0.24.2",
     "eslint": "8.57.0",
     "swc-loader": "^0.2.6",
     "prettier": "2.8.8",
diff --git a/packages/web-components/.eslintrc.json b/packages/web-components/.eslintrc.json
index 056edc796cd890..464e82d9e01d93 100644
--- a/packages/web-components/.eslintrc.json
+++ b/packages/web-components/.eslintrc.json
@@ -35,6 +35,7 @@
       }
     ],
     "comma-dangle": "off",
+    "prefer-const": ["error", { "destructuring": "all" }],
     "@typescript-eslint/no-non-null-assertion": "off",
     "@typescript-eslint/no-use-before-define": "off",
     "@typescript-eslint/no-empty-interface": "error",
diff --git a/packages/web-components/README.md b/packages/web-components/README.md
index 18686453cc9860..c006fd4fca9752 100644
--- a/packages/web-components/README.md
+++ b/packages/web-components/README.md
@@ -89,4 +89,6 @@ This is a known issue and will indicate that you need to refresh the page. We're
 
 ## Testing
 
-When testing locally, start the dev server and in a separate terminal window, run `yarn test:dev` within the web-components folder.
+On CI, a static test harness build is first generated by running Vite in build mode. The Playwright tests are then run against the generated harness. To run Playwright tests in this mode, use the command `yarn nx run web-components:e2e`.
+
+To run Playwright tests locally in [UI mode](https://playwright.dev/docs/test-ui-mode), use the command `yarn nx run web-components:e2e:local`. This will start a local development server with Vite and open the Playwright test runner UI.
diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md
index 820bc3b50b27eb..9af30b224cf095 100644
--- a/packages/web-components/docs/api-report.md
+++ b/packages/web-components/docs/api-report.md
@@ -4060,6 +4060,8 @@ export class Tooltip extends FASTElement {
     mouseleaveAnchorHandler: () => void;
     positioning?: TooltipPositioningOption;
     // @internal
+    positioningChanged(): void;
+    // @internal
     showTooltip(delay?: number): void;
 }
 
diff --git a/packages/web-components/package.json b/packages/web-components/package.json
index 489e639ac1b4bb..7f7baa31a7b64a 100644
--- a/packages/web-components/package.json
+++ b/packages/web-components/package.json
@@ -65,6 +65,8 @@
     "./package.json": "./package.json"
   },
   "sideEffects": [
+    "define.*",
+    "index-rollup.*",
     "./dist/esm/**/define.js",
     "./dist/web-components.js",
     "./dist/web-components.min.js"
@@ -86,8 +88,8 @@
     "start": "yarn start-storybook -p 6006 --docs",
     "start-storybook": "storybook dev",
     "build-storybook": "storybook build -o ./dist/storybook --docs",
-    "e2e": "playwright test",
-    "test:dev": "playwright test"
+    "e2e": "node ./scripts/e2e.js",
+    "e2e:local": "node ./scripts/e2e.js --ui"
   },
   "devDependencies": {
     "@microsoft/fast-element": "2.0.0",
diff --git a/packages/web-components/playwright.config.ts b/packages/web-components/playwright.config.ts
index 0b2718305e1cae..d65b0542c15228 100644
--- a/packages/web-components/playwright.config.ts
+++ b/packages/web-components/playwright.config.ts
@@ -7,34 +7,26 @@ const config: PlaywrightTestConfig = {
   fullyParallel: process.env.CI ? false : true,
   timeout: process.env.CI ? 10000 : 30000,
   use: {
-    baseURL: 'http://localhost:6006/iframe.html',
-    viewport: {
-      height: 720,
-      width: 1280,
-    },
+    baseURL: 'http://localhost:5173',
   },
   projects: [
     {
       name: 'chromium',
       use: { ...devices['Desktop Chrome'] },
-      testMatch: /.*\.spec\.ts$/,
     },
     {
       name: 'firefox',
       use: { ...devices['Desktop Firefox'] },
-      testMatch: [/set-theme\.spec\.ts$/],
     },
     {
       name: 'webkit',
       use: { ...devices['Desktop Safari'] },
-      testMatch: [/set-theme\.spec\.ts$/],
     },
   ],
   webServer: {
-    // double-quotes are required for Windows
-    command: `node -e "import('express').then(({ default: e }) => e().use(e.static('./dist/storybook')).listen(6006))"`,
-    port: 6006,
-    reuseExistingServer: process.env.CI ? false : true,
+    command: 'yarn vite preview test/harness',
+    port: 5173,
+    reuseExistingServer: true,
   },
 };
 
diff --git a/packages/web-components/project.json b/packages/web-components/project.json
index 7c4ed6163142b0..00d105f89146e9 100644
--- a/packages/web-components/project.json
+++ b/packages/web-components/project.json
@@ -3,8 +3,5 @@
   "$schema": "../../node_modules/nx/schemas/project-schema.json",
   "projectType": "library",
   "implicitDependencies": [],
-  "tags": ["platform:web", "web-components"],
-  "targets": {
-    "e2e": { "dependsOn": ["build-storybook"] }
-  }
+  "tags": ["platform:web", "web-components"]
 }
diff --git a/packages/web-components/scripts/e2e.js b/packages/web-components/scripts/e2e.js
new file mode 100644
index 00000000000000..ee17b49eb8446d
--- /dev/null
+++ b/packages/web-components/scripts/e2e.js
@@ -0,0 +1,38 @@
+/* eslint-env node */
+import { execSync, spawn } from 'node:child_process';
+
+const uiMode = process.argv.includes('--ui');
+
+try {
+  // UI Mode runs Vite in development mode and Playwright in UI mode, in parallel
+  if (uiMode) {
+    const vite = spawn('vite', ['serve', 'test/harness'], { stdio: 'inherit' });
+    const playwright = spawn('playwright', ['test', '--ui'], { stdio: 'inherit' });
+
+    // Forward the exit codes if the child processes exit
+    vite.on('exit', code => process.exit(code));
+    playwright.on('exit', code => process.exit(code));
+
+    // Close the processes when the parent process exits
+    process.on('exit', () => {
+      vite.kill();
+      playwright.kill();
+      process.exit(0);
+    });
+
+    // Run both processes in parallel
+    Promise.all([vite, playwright]);
+  }
+
+  // E2E Mode first builds the test harness with Vite and then runs the tests with Playwright
+  if (!uiMode) {
+    // Build the test harness
+    execSync(`vite build test/harness`, { stdio: 'inherit' });
+
+    // Run the tests
+    execSync(`playwright test`, { stdio: 'inherit' });
+  }
+} catch (err) {
+  console.error(err);
+  process.exit(1);
+}
diff --git a/packages/web-components/src/accordion-item/accordion-item.spec.ts b/packages/web-components/src/accordion-item/accordion-item.spec.ts
index c504df0a12c7b7..717eb76a9ba157 100644
--- a/packages/web-components/src/accordion-item/accordion-item.spec.ts
+++ b/packages/web-components/src/accordion-item/accordion-item.spec.ts
@@ -1,23 +1,18 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-import type { AccordionItem } from './accordion-item.js';
+import { expect, test } from '../../test/playwright/index.js';
+import { AccordionItem } from './accordion-item.js';
+import { AccordionItemSize } from './accordion-item.options.js';
 
 test.describe('Accordion item', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-accordion--accordion'));
-
-    await page.waitForFunction(() =>
-      Promise.all([
-        customElements.whenDefined('fluent-accordion'),
-        customElements.whenDefined('fluent-accordion-item'),
-      ]),
-    );
+  test.use({
+    innerHTML: 'Hello, World!',
+    tagName: 'fluent-accordion-item',
+    waitFor: ['fluent-accordion-item'],
   });
 
-  test('should set a default heading level of 2 when `headinglevel` is not provided', async ({ page }) => {
-    const element = page.locator('fluent-accordion-item');
+  test('should set a default heading level of 2 when `headinglevel` is not provided', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <fluent-accordion>
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
@@ -30,38 +25,29 @@ test.describe('Accordion item', () => {
   });
 
   test('should set the `aria-level` attribute on the internal heading element equal to the heading level', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-accordion-item');
-    const heading = page.locator(`[role="heading"]`);
-
-    await page.setContent(/* html */ `
-      <fluent-accordion>
-        <fluent-accordion-item>
-          <span slot="heading">Heading 1</span>
-          <div>Content 1</div>
-        </fluent-accordion-item>
-      </fluent-accordion>
-    `);
-
-    await element.evaluate<void, AccordionItem>(node => {
-      node.headinglevel = 3;
+    const { element } = fastPage;
+    const heading = element.locator(`[role="heading"]`);
+
+    await fastPage.setTemplate({
+      attributes: { 'heading-level': '3' },
+      innerHTML: /* html */ `
+        <span slot="heading">Heading 1</span>
+        <div>Content 1</div>
+      `,
     });
 
     await expect(heading).toHaveAttribute('aria-level', '3');
   });
 
   test('should set `aria-expanded` property on the internal control equal to the `expanded` property', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-accordion-item');
+    const { element } = fastPage;
     const button = element.locator('button');
 
-    await page.setContent(/* html */ `
-      <fluent-accordion>
-        <fluent-accordion-item expanded></fluent-accordion-item>
-      </fluent-accordion>
-    `);
+    await fastPage.setTemplate({ attributes: { expanded: true } });
 
     await expect(button).toHaveAttribute('aria-expanded', 'true');
 
@@ -72,16 +58,13 @@ test.describe('Accordion item', () => {
     await expect(button).toHaveAttribute('aria-expanded', 'false');
   });
 
-  test('should set `disabled` attribute on the internal control equal to the `disabled` property', async ({ page }) => {
-    const element = page.locator('fluent-accordion-item');
-    const button = element.locator('button');
+  test('should set `disabled` attribute on the internal control equal to the `disabled` property', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    const button = fastPage.element.locator('button');
 
-    await page.setContent(/* html */ `
-      <fluent-accordion>
-        <fluent-accordion-item disabled></fluent-accordion-item>
-        <fluent-accordion> </fluent-accordion
-      ></fluent-accordion>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
     await expect(button).toHaveAttribute('disabled');
 
@@ -92,14 +75,14 @@ test.describe('Accordion item', () => {
     await expect(button).not.toHaveAttribute('disabled');
   });
 
-  test('accordion-item should NOT be expandable via click when accordion is disabled', async ({ page }) => {
-    const element = page.locator('fluent-accordion-item');
+  test('accordion-item should NOT be expandable via click when accordion is disabled', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <fluent-accordion>
-        <fluent-accordion-item></fluent-accordion-item>
-        <fluent-accordion-item disabled></fluent-accordion-item>
-        <fluent-accordion-item></fluent-accordion-item>
+        <fluent-accordion-item>Item 1</fluent-accordion-item>
+        <fluent-accordion-item disabled>Item 2</fluent-accordion-item>
+        <fluent-accordion-item>Item 3</fluent-accordion-item>
       </fluent-accordion>
     `);
     const firstItem = element.nth(0);
@@ -117,13 +100,13 @@ test.describe('Accordion item', () => {
     await expect(firstItem).toHaveJSProperty('expanded', true);
   });
 
-  test('should set internal properties to match the id when provided', async ({ page }) => {
-    const element = page.locator('fluent-accordion-item');
+  test('should set internal properties to match the id when provided', async ({ fastPage }) => {
+    const { element } = fastPage;
     const button = element.locator('button');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <fluent-accordion>
-        <fluent-accordion-item id="foo"></fluent-accordion-item>
+        <fluent-accordion-item id="foo">Item 1</fluent-accordion-item>
       </fluent-accordion>
     `);
 
@@ -131,78 +114,61 @@ test.describe('Accordion item', () => {
     await expect(button).toHaveId('foo');
   });
 
-  test('should set the size attribute to the provided size value', async ({ page }) => {
-    const element = page.locator('fluent-accordion-item');
+  for (const size of Object.values(AccordionItemSize)) {
+    test(`should set the \`size\` property to "${size}" when the attribute is set to "${size}"`, async ({
+      fastPage,
+    }) => {
+      const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-accordion>
-        <fluent-accordion-item></fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      await fastPage.setTemplate({ attributes: { size } });
 
-    await element.evaluate<void, AccordionItem>(node => {
-      node.size = 'small';
-    });
-    await expect(element).toHaveAttribute('size', 'small');
-    await expect(element).toHaveJSProperty('size', 'small');
+      await expect(element).toHaveAttribute('size', size);
 
-    await element.evaluate<void, AccordionItem>(node => {
-      node.size = 'medium';
+      await expect(element).toHaveJSProperty('size', size);
     });
+  }
 
-    await expect(element).toHaveAttribute('size', 'medium');
-    await expect(element).toHaveJSProperty('size', 'medium');
+  test('should set the `block` property when the `block` attribute is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate<void, AccordionItem>(node => {
-      node.size = 'large';
-    });
-    await expect(element).toHaveAttribute('size', 'large');
-    await expect(element).toHaveJSProperty('size', 'large');
+    await fastPage.setTemplate({ attributes: { block: true } });
 
-    await element.evaluate<void, AccordionItem>(node => {
-      node.size = 'extra-large';
-    });
-    await expect(element).toHaveAttribute('size', 'extra-large');
-    await expect(element).toHaveJSProperty('size', 'extra-large');
-  });
+    await expect(element).toHaveAttribute('block');
 
-  test('should set the block attribute when block is set to true', async ({ page }) => {
-    const element = page.locator('fluent-accordion-item');
+    await expect(element).toHaveJSProperty('block', true);
 
-    await page.setContent(/* html */ `
-      <fluent-accordion>
-        <fluent-accordion-item block></fluent-accordion-item>
-      </fluent-accordion>
-    `);
+    await test.step('should remove the `block` attribute when the `block` property is set to `false`', async () => {
+      await element.evaluate<void, AccordionItem>(node => {
+        node.block = false;
+      });
 
-    await expect(element).toHaveAttribute('block');
-    await expect(element).toHaveJSProperty('block', true);
+      await expect(element).not.toHaveAttribute('block');
 
-    await element.evaluate<void, AccordionItem>(node => {
-      node.block = false;
+      await expect(element).toHaveJSProperty('block', false);
     });
-
-    await expect(element).not.toHaveAttribute('block');
-    await expect(element).toHaveJSProperty('block', false);
   });
 
-  test('should set the marker-position attribute to the provided value', async ({ page }) => {
-    const element = page.locator('fluent-accordion-item');
+  test('should set the `marker-position` attribute to the provided value', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-accordion>
-        <fluent-accordion-item marker-position="end"></fluent-accordion-item>
-      </fluent-accordion>
-    `);
+    await fastPage.setTemplate({
+      attributes: {
+        'marker-position': 'end',
+      },
+    });
 
     await expect(element).toHaveAttribute('marker-position', 'end');
+
     await expect(element).toHaveJSProperty('markerPosition', 'end');
 
-    await element.evaluate<void, AccordionItem>(node => {
-      node.markerPosition = 'start';
-    });
+    await test.step('should set the `marker-position` attribute to `start` when the `markerPosition` property is set to `start`', async () => {
+      await element.evaluate<void, AccordionItem>(node => {
+        node.markerPosition = 'start';
+      });
 
-    await expect(element).toHaveAttribute('marker-position', 'start');
-    await expect(element).toHaveJSProperty('markerPosition', 'start');
+      await expect(element).toHaveAttribute('marker-position', 'start');
+
+      await expect(element).toHaveJSProperty('markerPosition', 'start');
+    });
   });
 });
diff --git a/packages/web-components/src/accordion/accordion.spec.ts b/packages/web-components/src/accordion/accordion.spec.ts
index 26e9733fbedc41..aa4ded2142cd82 100644
--- a/packages/web-components/src/accordion/accordion.spec.ts
+++ b/packages/web-components/src/accordion/accordion.spec.ts
@@ -1,25 +1,17 @@
-import type { Locator } from '@playwright/test';
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 
 test.describe('Accordion', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-accordion--accordion'));
-
-    await page.waitForFunction(() =>
-      Promise.all([
-        customElements.whenDefined('fluent-accordion'),
-        customElements.whenDefined('fluent-accordion-item'),
-        customElements.whenDefined('fluent-checkbox'),
-      ]),
-    );
+  test.use({
+    innerHTML: 'Hello, World!',
+    tagName: 'fluent-accordion',
   });
 
-  test('should set an expand mode of `multi` when passed to the `expand-mode` attribute', async ({ page }) => {
-    const element = page.locator('fluent-accordion');
+  test('should set an expand mode of `multi` when passed to the `expand-mode` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="multi">
+    await fastPage.setTemplate({
+      attributes: { 'expand-mode': 'multi' },
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -28,19 +20,21 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 2</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     await expect(element).toHaveAttribute('expand-mode', 'multi');
   });
 
-  test('should open/close appropriate accordion items on Enter key in multiple expand mode', async ({ page }) => {
-    const accordionItems = page.locator('fluent-accordion-item') as Locator;
+  test('should open/close appropriate accordion items on Enter key in single expand mode', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const accordionItems = element.locator('fluent-accordion-item');
     const firstItem = accordionItems.nth(0);
     const secondItem = accordionItems.nth(1);
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="single">
+    await fastPage.setTemplate({
+      attributes: { 'expand-mode': 'single' },
+      innerHTML: /* html */ `
         <fluent-accordion-item tabindex="0" id="item-one">
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -49,17 +43,15 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     await expect(firstItem).toHaveAttribute('expanded');
     await expect(firstItem).toHaveJSProperty('expanded', true);
     await expect(secondItem).not.toHaveAttribute('expanded');
     await expect(secondItem).toHaveJSProperty('expanded', false);
 
-    await firstItem.evaluate(node => {
-      node.focus();
-    });
+    await firstItem.focus();
 
     await expect(firstItem).toBeFocused();
 
@@ -71,13 +63,15 @@ test.describe('Accordion', () => {
     await expect(secondItem).toHaveJSProperty('expanded', true);
   });
 
-  test('should open/close appropriate accordion items on Enter key in single expand mode', async ({ page }) => {
-    const accordionItems = page.locator('fluent-accordion-item') as Locator;
+  test('should open/close appropriate accordion items on Enter key in multi expand mode', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const accordionItems = element.locator('fluent-accordion-item');
     const firstItem = accordionItems.nth(0);
     const secondItem = accordionItems.nth(1);
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="multi">
+    await fastPage.setTemplate({
+      attributes: { 'expand-mode': 'multi' },
+      innerHTML: /* html */ `
         <fluent-accordion-item tabindex="0" id="item-one">
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -86,8 +80,8 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     await expect(firstItem).toHaveJSProperty('expanded', false);
     await expect(firstItem).not.toHaveAttribute('expanded');
@@ -110,11 +104,11 @@ test.describe('Accordion', () => {
     await expect(firstItem).toHaveJSProperty('expanded', false);
   });
 
-  test('should set an expand mode of `single` when passed to the `expand-mode` attribute', async ({ page }) => {
-    const element = page.locator('fluent-accordion');
-
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="single">
+  test('should set an expand mode of `single` when passed to the `expand-mode` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+    await fastPage.setTemplate({
+      attributes: { 'expand-mode': 'single' },
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -123,17 +117,19 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 2</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     await expect(element).toHaveAttribute('expand-mode', 'single');
   });
 
-  test('should set a default expand mode of `multi` when `expand-mode` attribute is not passed', async ({ page }) => {
-    const element = page.locator('fluent-accordion');
+  test('should set a default expand mode of `multi` when `expand-mode` attribute is not passed', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-accordion>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -142,19 +138,21 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 2</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     await expect(element).toHaveJSProperty('expandmode', 'multi');
 
     await expect(element).toHaveAttribute('expand-mode', 'multi');
   });
 
-  test('should expand/collapse items when clicked in multi mode', async ({ page }) => {
-    const element = page.locator('fluent-accordion');
+  test('should expand/collapse items when clicked in multi mode', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const items = element.locator('fluent-accordion-item');
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="multi">
+    await fastPage.setTemplate({
+      attributes: { 'expand-mode': 'multi' },
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -163,10 +161,8 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 2</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
-
-    const items = element.locator('fluent-accordion-item');
+      `,
+    });
 
     await items.nth(0).click();
 
@@ -177,11 +173,15 @@ test.describe('Accordion', () => {
     await expect(items.nth(1)).toHaveAttribute('expanded');
   });
 
-  test('should only have one expanded item in single mode', async ({ page }) => {
-    const element = page.locator('fluent-accordion');
+  test('should only have one expanded item in single mode', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const items = element.locator('fluent-accordion-item');
+    const firstItem = items.nth(0);
+    const secondItem = items.nth(1);
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="single">
+    await fastPage.setTemplate({
+      attributes: { 'expand-mode': 'single' },
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -190,14 +190,8 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 2</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
-
-    const items = element.locator('fluent-accordion-item');
-
-    const firstItem = items.nth(0);
-
-    const secondItem = items.nth(1);
+      `,
+    });
 
     await firstItem.click();
 
@@ -214,11 +208,12 @@ test.describe('Accordion', () => {
     await expect(secondItem).toHaveAttribute('expanded');
   });
 
-  test("should set the expanded items' button to aria-disabled when in single expand mode", async ({ page }) => {
-    const element = page.locator('fluent-accordion');
+  test("should set the expanded items' button to aria-disabled when in single expand mode", async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="single">
+    await fastPage.setTemplate({
+      attributes: { 'expand-mode': 'single' },
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -227,8 +222,8 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 2</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     const items = element.locator('fluent-accordion-item');
 
@@ -255,12 +250,13 @@ test.describe('Accordion', () => {
   });
 
   test("should remove an expanded items' expandbutton aria-disabled attribute when expand mode changes from single to multi", async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-accordion');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="single">
+    await fastPage.setTemplate({
+      attributes: { 'expand-mode': 'single' },
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -269,8 +265,8 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 2</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     const items = element.locator('fluent-accordion-item');
 
@@ -289,11 +285,16 @@ test.describe('Accordion', () => {
     await expect(firstItem.locator('button')).not.toHaveAttribute('aria-disabled');
   });
 
-  test('should set the first item as expanded if no child is expanded by default in single mode', async ({ page }) => {
-    const element = page.locator('fluent-accordion');
+  test('should set the first item as expanded if no child is expanded by default in single mode', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="single">
+    await fastPage.setTemplate({
+      attributes: {
+        'expand-mode': 'single',
+      },
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -302,8 +303,8 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 2</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     const items = element.locator('fluent-accordion-item');
 
@@ -322,11 +323,14 @@ test.describe('Accordion', () => {
     await expect(secondItem).toHaveAttribute('expanded');
   });
 
-  test('should set the first item with an expanded attribute to expanded in single mode', async ({ page }) => {
-    const element = page.locator('fluent-accordion');
+  test('should set the first item with an expanded attribute to expanded in single mode', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="single">
+    await fastPage.setTemplate({
+      attributes: {
+        'expand-mode': 'single',
+      },
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -339,8 +343,8 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 3</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     const items = element.locator('fluent-accordion-item');
 
@@ -357,13 +361,14 @@ test.describe('Accordion', () => {
     await expect(thirdItem).not.toHaveAttribute('expanded');
   });
 
-  test('should allow disabled items to be expanded when in single mode', async ({ page }) => {
-    test.slow();
-
-    const element = page.locator('fluent-accordion');
+  test('should allow disabled items to be expanded when in single mode', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="single">
+    await fastPage.setTemplate({
+      attributes: {
+        'expand-mode': 'single',
+      },
+      innerHTML: /* html */ `
         <fluent-accordion-item>
           <span slot="heading">Heading 1</span>
           <div>Content 1</div>
@@ -376,8 +381,8 @@ test.describe('Accordion', () => {
           <span slot="heading">Heading 3</span>
           <div>Content 2</div>
         </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+      `,
+    });
 
     const items = element.locator('fluent-accordion-item');
 
@@ -404,25 +409,27 @@ test.describe('Accordion', () => {
     await expect(thirdItem).not.toHaveAttribute('expanded');
   });
 
-  test('should ignore `change` events from components other than accordion items', async ({ page }) => {
-    const element = page.locator('fluent-accordion');
-
-    await page.setContent(/* html */ `
-      <fluent-accordion expand-mode="single">
-        <fluent-accordion-item>
-          <div slot="heading">Accordion Item 1 Heading</div>
-          Accordion Item 1 Content
-        </fluent-accordion-item>
-        <fluent-accordion-item>
-          <div slot="heading">Accordion Item 2 Heading</div>
-          <fluent-checkbox>A checkbox as content</fluent-checkbox>
-        </fluent-accordion-item>
-      </fluent-accordion>
-    `);
+  test('should ignore `change` events from components other than accordion items', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-accordion expand-mode="single">
+          <fluent-accordion-item>
+            <div slot="heading">Accordion Item 1 Heading</div>
+            Accordion Item 1 Content
+          </fluent-accordion-item>
+          <fluent-accordion-item>
+            <div slot="heading">Accordion Item 2 Heading</div>
+            <fluent-checkbox>A checkbox as content</fluent-checkbox>
+          </fluent-accordion-item>
+        </fluent-accordion>
+      `,
+    });
 
     const item = element.locator('fluent-accordion-item').nth(1);
 
-    const button = item.locator(`button[part="button"]`);
+    const button = item.locator('button[part="button"]');
 
     await button.click();
 
diff --git a/packages/web-components/src/anchor-button/anchor-button.spec.ts b/packages/web-components/src/anchor-button/anchor-button.spec.ts
index e1ab92514051a5..8d35827ab34ce1 100644
--- a/packages/web-components/src/anchor-button/anchor-button.spec.ts
+++ b/packages/web-components/src/anchor-button/anchor-button.spec.ts
@@ -1,147 +1,225 @@
-import { spinalCase } from '@microsoft/fast-web-utilities';
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-
-const proxyAttributes = {
-  href: 'href',
-  ping: 'ping',
-  hreflang: 'en-GB',
-  referrerpolicy: 'no-referrer',
-  rel: 'external',
-  target: '_blank',
-  type: 'foo',
-};
-
-// Regular Attributes
-const attributes = {
-  appearance: 'primary',
-  shape: 'rounded',
-  size: 'medium',
-  ...proxyAttributes,
-};
-
-// Boolean Attributes
-const booleanAttributes = {
-  iconOnly: true,
-};
+import { expect, test } from '../../test/playwright/index.js';
+import { AnchorButtonAppearance, AnchorButtonShape, AnchorButtonSize } from './anchor-button.options.js';
 
 test.describe('Anchor Button', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-button-anchor--anchor-button'));
+  test.use({
+    innerHTML: 'Fluent Anchor Button',
+    tagName: 'fluent-anchor-button',
+  });
+
+  test('should set the `href` property to match the `href` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({ attributes: { href: '#foo' } });
+
+    await expect(element).toHaveJSProperty('href', '#foo');
+
+    await test.step('should set the `href` property and attribute on the internal anchor element', async () => {
+      const anchor = element.locator('a');
+
+      await expect(anchor).toHaveAttribute('href', '#foo');
+    });
+  });
+
+  test('should set the `hreflang` property to match the `hreflang` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({ attributes: { hreflang: 'en-GB' } });
+
+    await expect(element).toHaveJSProperty('hreflang', 'en-GB');
+
+    await test.step('should set the `hreflang` property and attribute on the internal anchor element', async () => {
+      const anchor = element.locator('a');
+
+      await expect(anchor).toHaveAttribute('hreflang', 'en-GB');
+    });
+  });
+
+  test('should set the `ping` property to match the `ping` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-anchor-button'));
+    await fastPage.setTemplate({ attributes: { ping: 'ping' } });
+
+    await expect(element).toHaveJSProperty('ping', 'ping');
+
+    await test.step('should set the `ping` property and attribute on the internal anchor element', async () => {
+      const anchor = element.locator('a');
+
+      await expect(anchor).toHaveAttribute('ping', 'ping');
+    });
+  });
+
+  test('should set the `referrerpolicy` property to match the `referrerpolicy` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({ attributes: { referrerpolicy: 'no-referrer' } });
+
+    await expect(element).toHaveJSProperty('referrerpolicy', 'no-referrer');
+
+    await test.step('should set the `referrerpolicy` property and attribute on the internal anchor element', async () => {
+      const anchor = element.locator('a');
+
+      await expect(anchor).toHaveAttribute('referrerpolicy', 'no-referrer');
+    });
   });
 
-  for (const [attribute, value] of Object.entries(attributes)) {
-    const attributeSpinalCase = spinalCase(attribute);
+  test('should set the `rel` property to match the `rel` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({ attributes: { rel: 'external' } });
 
-    test(`should set the regular attribute: \`${attributeSpinalCase}\` to \`${value}\` on the element`, async ({
-      page,
+    await expect(element).toHaveJSProperty('rel', 'external');
+
+    await test.step('should set the `rel` property and attribute on the internal anchor element', async () => {
+      const anchor = element.locator('a');
+
+      await expect(anchor).toHaveAttribute('rel', 'external');
+    });
+  });
+
+  test('should set the `target` property to match the `target` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({ attributes: { target: '_blank' } });
+
+    await expect(element).toHaveJSProperty('target', '_blank');
+
+    await test.step('should set the `target` property and attribute on the internal anchor element', async () => {
+      const anchor = element.locator('a');
+
+      await expect(anchor).toHaveAttribute('target', '_blank');
+    });
+  });
+
+  test('should set the `type` property to match the `type` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({ attributes: { type: 'foo' } });
+
+    await expect(element).toHaveJSProperty('type', 'foo');
+
+    await test.step('should set the `type` property and attribute on the internal anchor element', async () => {
+      const anchor = element.locator('a');
+
+      await expect(anchor).toHaveAttribute('type', 'foo');
+    });
+  });
+
+  test('should set the `iconOnly` property to match the `icon-only` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({ attributes: { 'icon-only': true } });
+
+    await expect(element).toHaveJSProperty('iconOnly', true);
+  });
+
+  for (const appearance of Object.values(AnchorButtonAppearance)) {
+    test(`should set the \`appearance\` property to "${appearance}" when the attribute is set to "${appearance}"`, async ({
+      fastPage,
     }) => {
-      const element = page.locator('fluent-anchor-button');
+      const { element } = fastPage;
+
+      await fastPage.setTemplate({ attributes: { appearance } });
 
-      await page.setContent(/* html */ `
-        <fluent-anchor-button ${attributeSpinalCase}="${value}"></fluent-anchor-button>
-      `);
+      await expect(element).toHaveJSProperty('appearance', appearance);
 
-      await expect(element).toHaveJSProperty(`${attribute}`, `${value}`);
+      await expect(element).toHaveCustomState(appearance);
     });
   }
 
-  // Boolean attributes
-  for (const [attribute, value] of Object.entries(booleanAttributes)) {
-    const attributeSpinalCase = spinalCase(attribute);
+  for (const shape of Object.values(AnchorButtonShape)) {
+    test(`should set the \`shape\` property to "${shape}" when the attribute is set to "${shape}"`, async ({
+      fastPage,
+    }) => {
+      const { element } = fastPage;
 
-    test(`should set the boolean attribute: \`${attributeSpinalCase}\` to \`${value}\``, async ({ page }) => {
-      const element = page.locator('fluent-anchor-button');
+      await fastPage.setTemplate({ attributes: { shape } });
 
-      await page.setContent(/* html */ `
-        <fluent-anchor-button ${attributeSpinalCase}></fluent-anchor-button>
-      `);
+      await expect(element).toHaveJSProperty('shape', shape);
 
-      await expect(element).toHaveJSProperty(attribute, value);
+      await expect(element).toHaveCustomState(shape);
     });
   }
 
-  for (const [attribute, value] of Object.entries(proxyAttributes)) {
-    test(`should set the regular attribute: \`${attribute}\` to \`${value}\` on the internal proxy`, async ({
-      page,
+  for (const size of Object.values(AnchorButtonSize)) {
+    test(`should set the \`size\` property to "${size}" when the attribute is set to "${size}"`, async ({
+      fastPage,
     }) => {
-      const element = page.locator('fluent-anchor-button');
-      const proxy = element.locator('a');
+      const { element } = fastPage;
+
+      await fastPage.setTemplate({ attributes: { size } });
 
-      await page.setContent(/* html */ `
-        <fluent-anchor-button ${attribute}="${value}"></fluent-anchor-button>
-      `);
+      await expect(element).toHaveJSProperty('size', size);
 
-      await expect(proxy).toHaveAttribute(`${attribute}`, `${value}`);
+      await expect(element).toHaveCustomState(size);
     });
   }
 
-  test('should navigate to the provided url when clicked', async ({ page }) => {
-    const element = page.locator('fluent-anchor-button');
+  test('should navigate to the provided url when clicked', async ({ fastPage, page }) => {
+    const { element } = fastPage;
+
     const expectedUrl = '#foo';
 
-    await page.setContent(/* html */ `
-          <fluent-anchor-button href="${expectedUrl}"></fluent-anchor-button>
-        `);
+    await fastPage.setTemplate({ attributes: { href: expectedUrl } });
 
     await element.click();
 
-    expect(page.url()).toContain(expectedUrl);
+    await expect(page).toHaveURL(expectedUrl);
   });
 
-  // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
-  test.skip('should navigate to the provided url when clicked while pressing the `Control` key on Windows or Meta on Mac', async ({
-    page,
+  test('should navigate to the provided url when clicked while pressing the `Control` key on Windows or `Meta` on Mac', async ({
+    fastPage,
     context,
   }) => {
-    const element = page.locator('fluent-anchor-button');
+    const { element } = fastPage;
+
     const expectedUrl = '#foo';
 
-    await page.setContent(/* html */ `
-      <fluent-anchor-button href="${expectedUrl}"></fluent-anchor-button>
-    `);
+    await fastPage.setTemplate({ attributes: { href: expectedUrl } });
 
-    const [newPage] = await Promise.all([
-      context.waitForEvent('page'),
-      element.click({ modifiers: ['ControlOrMeta'] }),
-    ]);
+    const newPagePromise = context.waitForEvent('page');
 
-    expect(newPage.url()).toContain(expectedUrl);
+    await element.click({ modifiers: ['ControlOrMeta'] });
+
+    const newPage = await newPagePromise;
+
+    await expect(newPage).toHaveURL(expectedUrl);
   });
 
-  test('should navigate to the provided url when `Enter` is pressed via keyboard', async ({ page }) => {
-    const element = page.locator('fluent-anchor-button');
+  test('should navigate to the provided url when `Enter` is pressed via keyboard', async ({ fastPage, page }) => {
+    const { element } = fastPage;
+
     const expectedUrl = '#foo';
 
-    await page.setContent(/* html */ `
-        <fluent-anchor-button href="${expectedUrl}"></fluent-anchor-button>
-      `);
+    await fastPage.setTemplate({ attributes: { href: expectedUrl } });
 
     await element.focus();
 
     await element.press('Enter');
 
-    expect(page.url()).toContain(expectedUrl);
+    await expect(page).toHaveURL(expectedUrl);
   });
 
-  // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
-  test.skip('should navigate to the provided url when `ctrl` and `Enter` are pressed via keyboard', async ({
-    page,
+  test('should navigate to the provided url when `ctrl` and `Enter` are pressed via keyboard', async ({
+    fastPage,
     context,
   }) => {
-    const element = page.locator('fluent-anchor-button');
+    const { element } = fastPage;
+
     const expectedUrl = '#foo';
 
-    await page.setContent(/* html */ `
-      <fluent-anchor-button href="${expectedUrl}"></fluent-anchor-button>
-    `);
+    await fastPage.setTemplate({ attributes: { href: expectedUrl } });
+
+    const newPagePromise = context.waitForEvent('page');
 
     await element.focus();
 
-    const [newPage] = await Promise.all([context.waitForEvent('page'), element.press('ControlOrMeta+Enter')]);
+    await expect(element).toBeFocused();
+
+    await element.press('Control+Enter');
+
+    const newPage = await newPagePromise;
 
-    expect(newPage.url()).toContain(expectedUrl);
+    await expect(newPage).toHaveURL(expectedUrl);
   });
 });
diff --git a/packages/web-components/src/avatar/avatar.spec.ts b/packages/web-components/src/avatar/avatar.spec.ts
index 09ba2484c82d78..80b2ab539d8018 100644
--- a/packages/web-components/src/avatar/avatar.spec.ts
+++ b/packages/web-components/src/avatar/avatar.spec.ts
@@ -1,210 +1,126 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-import type { Avatar } from './avatar.js';
-import type { AvatarAppearance, AvatarColor, AvatarSize } from './avatar.options.js';
+import { expect, test } from '../../test/playwright/index.js';
+import { AvatarAppearance, AvatarColor, AvatarSize } from './avatar.options.js';
 
-test.describe('Avatar Component', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-avatar--image'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-avatar'));
-  });
-
-  const colorAttributes = {
-    neutral: 'neutral',
-    brand: 'brand',
-    colorful: 'colorful',
-    darkRed: 'dark-red',
-    cranberry: 'cranberry',
-    red: 'red',
-    pumpkin: 'pumpkin',
-    peach: 'peach',
-    marigold: 'marigold',
-    gold: 'gold',
-    brass: 'brass',
-    brown: 'brown',
-    forest: 'forest',
-    seafoam: 'seafoam',
-    darkGreen: 'dark-green',
-    lightTeal: 'light-teal',
-    teal: 'teal',
-    steel: 'steel',
-    blue: 'blue',
-    royalBlue: 'royal-blue',
-    cornflower: 'cornflower',
-    navy: 'navy',
-    lavender: 'lavender',
-    purple: 'purple',
-    grape: 'grape',
-    lilac: 'lilac',
-    pink: 'pink',
-    magenta: 'magenta',
-    plum: 'plum',
-    beige: 'beige',
-    mink: 'mink',
-    platinum: 'platinum',
-    anchor: 'anchor',
-  };
-
-  const appearanceAttributes = {
-    ring: 'ring',
-    shadow: 'shadow',
-    ringShadow: 'ring-shadow',
-  };
-
-  const sizeAttributes = {
-    _16: 16,
-    _20: 20,
-    _24: 24,
-    _28: 28,
-    _32: 32,
-    _36: 36,
-    _40: 40,
-    _48: 48,
-    _56: 56,
-    _64: 64,
-    _72: 72,
-    _96: 96,
-    _120: 120,
-    _128: 128,
-  };
-
-  test('should render without crashing', async ({ page }) => {
-    const element = page.locator('fluent-avatar');
-    await page.setContent(/* html */ `
-      <fluent-avatar></fluent-avatar>
-    `);
-
-    await expect(element).toBeVisible();
+test.describe('Avatar', () => {
+  test.use({
+    tagName: 'fluent-avatar',
   });
 
-  test('should have a role of img', async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('should have a `role` of `img`', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.role', 'img');
   });
 
   test('When no name value is set, should render with custom initials based on the provided initials value', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-avatar');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-avatar initials="JD"></fluent-avatar>
-    `);
+    await fastPage.setTemplate({ attributes: { initials: 'JD' } });
 
-    await expect(element).toHaveText('JD');
+    await expect(element).toContainText('JD');
   });
 
-  test('When name value is set, should generate initials based on the provided name value', async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('When name value is set, should generate initials based on the provided name value', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-avatar name="John Doe"></fluent-avatar>
-    `);
+    await fastPage.setTemplate({ attributes: { name: 'John Doe' } });
 
-    await expect(element).toHaveText('JD');
+    await expect(element).toContainText('JD');
   });
 
-  test('When name value and custom initials are set, should prioritize the provided initials', async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('When `name` and `initials` attributes are both set, should prioritize the provided initials', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-avatar name="Julie Wright" initials="JJ"></fluent-avatar>
-    `);
+    await fastPage.setTemplate({ attributes: { initials: 'JJ', name: 'Julie Wright' } });
 
-    await expect(element).toHaveText('JJ');
+    await expect(element).toContainText('JJ');
   });
 
-  test('should render correctly in active state', async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('should set the `active` property to `active` when the `active` attribute is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Avatar) => {
-      node.active = 'active';
-    });
+    await fastPage.setTemplate({ attributes: { active: 'active' } });
 
     await expect(element).toHaveJSProperty('active', 'active');
   });
 
-  test('should render correctly in inactive state', async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('should set the `active` property to `inactive` when the `active` attribute is set to `inactive`', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Avatar) => {
-      node.active = 'inactive';
-    });
+    await fastPage.setTemplate({ attributes: { active: 'inactive' } });
 
     await expect(element).toHaveJSProperty('active', 'inactive');
   });
 
-  test('default color should be neutral', async ({ page }) => {
-    const element = page.locator('fluent-avatar');
-
-    await expect(element).toHaveCustomState('neutral');
+  test('should have a custom state of `neutral` when no color is provided', async ({ fastPage }) => {
+    await expect(fastPage.element).toHaveCustomState('neutral');
   });
 
-  test('should add a custom state of `brand` when `brand is provided as the color', async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('should add a custom state of `brand` when `brand is provided as the color', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-avatar color-id="pumpkin" name="John Doe" color="brand"></fluent-avatar>
-    `);
+    await fastPage.setTemplate({ attributes: { color: 'brand', 'color-id': 'pumpkin', name: 'John Doe' } });
 
     await expect(element).toHaveCustomState('brand');
   });
 
-  test('should prioritize color derivation from colorId over name when set to "colorful"', async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('should prioritize color derivation from `colorId` over `name` when set to "colorful"', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-avatar color-id="pumpkin" name="Steve Smith" color="colorful"></fluent-avatar>
-    `);
+    await fastPage.setTemplate({ attributes: { color: 'colorful', 'color-id': 'pumpkin', name: 'Steve Smith' } });
 
     await expect(element).toHaveCustomState('pumpkin');
   });
 
-  test(`should set the color attribute on the internal control`, async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('should set the `color` property to match the `color` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    for (const [, value] of Object.entries(colorAttributes)) {
-      await test.step(value, async () => {
-        await element.evaluate((node: Avatar, colorValue: string) => {
-          node.color = colorValue as AvatarColor;
-        }, value as string);
+    for (const color of Object.values(AvatarColor)) {
+      await test.step(`should set the \`color\` property to \`${color}\``, async () => {
+        await fastPage.setTemplate({ attributes: { color } });
 
-        await expect(element).toHaveJSProperty('color', `${value}`);
+        await expect(element).toHaveAttribute('color', color);
 
-        await expect(element).toHaveAttribute('color', `${value}`);
+        await expect(element).toHaveJSProperty('color', color);
+
+        // eslint-disable-next-line playwright/no-conditional-in-test
+        if (color !== AvatarColor.colorful) {
+          await expect.soft(element).toHaveCustomState(color);
+        }
       });
     }
   });
 
-  test(`should set the size attribute on the internal control`, async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    for (const [, value] of Object.entries(sizeAttributes)) {
-      await test.step(`${value}`, async () => {
-        await element.evaluate((node: Avatar, sizeValue: number) => {
-          node.size = sizeValue as AvatarSize;
-        }, value as number);
+    for (const size of Object.values(AvatarSize)) {
+      await test.step(`should set the \`size\` property to \`${size}\``, async () => {
+        await fastPage.setTemplate({ attributes: { size: `${size}` } });
 
-        await expect(element).toHaveJSProperty('size', value);
+        await expect(element).toHaveAttribute('size', `${size}`);
 
-        await expect(element).toHaveAttribute('size', `${value}`);
+        await expect(element).toHaveJSProperty('size', size);
       });
     }
   });
 
-  test(`should set and reflect the appearance attribute on the internal control`, async ({ page }) => {
-    const element = page.locator('fluent-avatar');
+  test('should set the `appearance` property to match the `appearance` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const appearance of Object.values(AvatarAppearance)) {
+      await test.step(appearance, async () => {
+        await fastPage.setTemplate({ attributes: { appearance } });
 
-    for (const [, value] of Object.entries(appearanceAttributes)) {
-      await test.step(value, async () => {
-        await element.evaluate((node: Avatar, appearanceValue: string) => {
-          node.appearance = appearanceValue as AvatarAppearance;
-        }, value as string);
+        await expect(element).toHaveJSProperty('appearance', appearance);
 
-        await expect(element).toHaveJSProperty('appearance', `${value}`);
-        await expect(element).toHaveAttribute('appearance', `${value}`);
+        await expect(element).toHaveAttribute('appearance', appearance);
       });
     }
   });
diff --git a/packages/web-components/src/badge/badge.spec.ts b/packages/web-components/src/badge/badge.spec.ts
index 9482c86f25bda7..1fc70715e07a60 100644
--- a/packages/web-components/src/badge/badge.spec.ts
+++ b/packages/web-components/src/badge/badge.spec.ts
@@ -1,20 +1,14 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-import type { Badge } from './badge.js';
+import { expect, test } from '../../test/playwright/index.js';
+import { BadgeAppearance, BadgeColor, BadgeShape, BadgeSize } from './badge.options.js';
 
-test.describe('Badge component', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-badge--badge'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-badge'));
+test.describe('Badge', () => {
+  test.use({
+    tagName: 'fluent-badge',
+    innerHTML: 'Badge',
   });
 
-  test('should set default attribute values', async ({ page }) => {
-    const element = page.locator('fluent-badge');
-
-    await page.setContent(/* html */ `
-      <fluent-badge></fluent-badge>
-    `);
+  test('should set default attribute values', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveAttribute('appearance', 'filled');
 
@@ -25,187 +19,65 @@ test.describe('Badge component', () => {
     await expect(element).toHaveJSProperty('color', 'brand');
   });
 
-  test('should reflect color attribute and update property', async ({ page }) => {
-    const element = page.locator('fluent-badge');
-
-    await page.setContent(/* html */ `
-      <fluent-badge color="brand"></fluent-badge>
-    `);
-
-    await expect(element).toHaveAttribute('color', 'brand');
-
-    await expect(element).toHaveJSProperty('color', 'brand');
-
-    await element.evaluate((node: Badge) => {
-      node.color = 'danger';
-    });
-
-    await expect(element).toHaveAttribute('color', 'danger');
-
-    await expect(element).toHaveJSProperty('color', 'danger');
-
-    await element.evaluate((node: Badge) => {
-      node.color = 'important';
-    });
-
-    await expect(element).toHaveAttribute('color', 'important');
-
-    await expect(element).toHaveJSProperty('color', 'important');
-
-    await element.evaluate((node: Badge) => {
-      node.color = 'informative';
-    });
+  test('should set the `appearance` property to match the `appearance` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).toHaveAttribute('color', 'informative');
+    for (const appearance of Object.values(BadgeAppearance)) {
+      await test.step(appearance, async () => {
+        await fastPage.setTemplate({ attributes: { appearance } });
 
-    await expect(element).toHaveJSProperty('color', 'informative');
+        await expect(element).toHaveJSProperty('appearance', appearance);
 
-    await element.evaluate((node: Badge) => {
-      node.color = 'severe';
-    });
-
-    await expect(element).toHaveAttribute('color', 'severe');
-
-    await expect(element).toHaveJSProperty('color', 'severe');
-
-    await element.evaluate((node: Badge) => {
-      node.color = 'subtle';
-    });
-
-    await expect(element).toHaveAttribute('color', 'subtle');
-
-    await expect(element).toHaveJSProperty('color', 'subtle');
-
-    await element.evaluate((node: Badge) => {
-      node.color = 'success';
-    });
-
-    await expect(element).toHaveAttribute('color', 'success');
-
-    await expect(element).toHaveJSProperty('color', 'success');
-
-    await element.evaluate((node: Badge) => {
-      node.color = 'warning';
-    });
-
-    await expect(element).toHaveAttribute('color', 'warning');
-
-    await expect(element).toHaveJSProperty('color', 'warning');
+        await expect(element).toHaveAttribute('appearance', appearance);
+      });
+    }
   });
 
-  test('should reflect size attribute and update property', async ({ page }) => {
-    const element = page.locator('fluent-badge');
-
-    await page.setContent(/* html */ `
-      <fluent-badge size="tiny"></fluent-badge>
-    `);
-
-    await expect(element).toHaveAttribute('size', 'tiny');
+  test('should set the `color` property to match the `color` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).toHaveJSProperty('size', 'tiny');
+    for (const color of Object.values(BadgeColor)) {
+      await test.step(`should set the \`color\` property to \`${color}\``, async () => {
+        await fastPage.setTemplate({ attributes: { color } });
 
-    await element.evaluate((node: Badge) => {
-      node.size = 'extra-small';
-    });
+        await expect(element).toHaveAttribute('color', color);
 
-    await expect(element).toHaveAttribute('size', 'extra-small');
+        await expect(element).toHaveJSProperty('color', color);
 
-    await expect(element).toHaveJSProperty('size', 'extra-small');
-
-    await element.evaluate((node: Badge) => {
-      node.size = 'small';
-    });
-
-    await expect(element).toHaveAttribute('size', 'small');
-
-    await expect(element).toHaveJSProperty('size', 'small');
-
-    await element.evaluate((node: Badge) => {
-      node.size = 'medium';
-    });
-
-    await expect(element).toHaveAttribute('size', 'medium');
-
-    await expect(element).toHaveJSProperty('size', 'medium');
-
-    await element.evaluate((node: Badge) => {
-      node.size = 'large';
-    });
-
-    await expect(element).toHaveAttribute('size', 'large');
-
-    await expect(element).toHaveJSProperty('size', 'large');
-
-    await element.evaluate((node: Badge) => {
-      node.size = 'extra-large';
-    });
-
-    await expect(element).toHaveAttribute('size', 'extra-large');
-
-    await expect(element).toHaveJSProperty('size', 'extra-large');
+        await expect.soft(element).toHaveCustomState(color);
+      });
+    }
   });
 
-  test('should reflect appearance attribute and update property', async ({ page }) => {
-    const element = page.locator('fluent-badge');
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-badge appearance="filled"></fluent-badge>
-    `);
+    for (const size of Object.values(BadgeSize)) {
+      await test.step(`should set the \`size\` property to \`${size}\``, async () => {
+        await fastPage.setTemplate({ attributes: { size } });
 
-    await expect(element).toHaveAttribute('appearance', 'filled');
+        await expect(element).toHaveAttribute('size', size);
 
-    await expect(element).toHaveJSProperty('appearance', 'filled');
+        await expect(element).toHaveJSProperty('size', size);
 
-    await element.evaluate((node: Badge) => {
-      node.appearance = 'ghost';
-    });
-
-    await expect(element).toHaveAttribute('appearance', 'ghost');
-
-    await expect(element).toHaveJSProperty('appearance', 'ghost');
-
-    await element.evaluate((node: Badge) => {
-      node.appearance = 'outline';
-    });
-
-    await expect(element).toHaveAttribute('appearance', 'outline');
-
-    await expect(element).toHaveJSProperty('appearance', 'outline');
-
-    await element.evaluate((node: Badge) => {
-      node.appearance = 'tint';
-    });
-
-    await expect(element).toHaveAttribute('appearance', 'tint');
-
-    await expect(element).toHaveJSProperty('appearance', 'tint');
+        await expect(element).toHaveCustomState(size);
+      });
+    }
   });
 
-  test('should reflect shape attribute and update property', async ({ page }) => {
-    const element = page.locator('fluent-badge');
-
-    await page.setContent(/* html */ `
-      <fluent-badge shape="circular"></fluent-badge>
-    `);
-
-    await expect(element).toHaveAttribute('shape', 'circular');
-
-    await expect(element).toHaveJSProperty('shape', 'circular');
-
-    await element.evaluate((node: Badge) => {
-      node.shape = 'rounded';
-    });
-
-    await expect(element).toHaveAttribute('shape', 'rounded');
+  test('should set the `shape` property to match the `shape` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).toHaveJSProperty('shape', 'rounded');
+    for (const shape of Object.values(BadgeShape)) {
+      await test.step(`should set the \`shape\` property to \`${shape}\``, async () => {
+        await fastPage.setTemplate({ attributes: { shape } });
 
-    await element.evaluate((node: Badge) => {
-      node.shape = 'square';
-    });
+        await expect(element).toHaveAttribute('shape', shape);
 
-    await expect(element).toHaveAttribute('shape', 'square');
+        await expect(element).toHaveJSProperty('shape', shape);
 
-    await expect(element).toHaveJSProperty('shape', 'square');
+        await expect(element).toHaveCustomState(shape);
+      });
+    }
   });
 });
diff --git a/packages/web-components/src/button/button.spec.ts b/packages/web-components/src/button/button.spec.ts
index 7348cb470abc50..c001ce64d9380a 100644
--- a/packages/web-components/src/button/button.spec.ts
+++ b/packages/web-components/src/button/button.spec.ts
@@ -1,17 +1,15 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 
 test.describe('Button', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-button-button--button'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-button'));
+  test.use({
+    tagName: 'fluent-button',
+    innerHTML: 'Button',
   });
 
-  test('should NOT submit the parent form when clicked and `type` attribute is not set', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should NOT submit the parent form when clicked and `type` attribute is not set', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">
         <fluent-button>Button</fluent-button>
       </form>
@@ -19,13 +17,16 @@ test.describe('Button', () => {
 
     await element.click();
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
   });
 
-  test('should NOT submit the parent form when clicked and `type` attribute is set to "button"', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should NOT submit the parent form when clicked and `type` attribute is set to "button"', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">
         <fluent-button type="button">Button</fluent-button>
       </form>
@@ -33,13 +34,16 @@ test.describe('Button', () => {
 
     await element.click();
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
   });
 
-  test('should NOT submit the parent form when clicked and `type` attribute is set to "reset"', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should NOT submit the parent form when clicked and `type` attribute is set to "reset"', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">
         <fluent-button type="reset">Button</fluent-button>
       </form>
@@ -47,13 +51,13 @@ test.describe('Button', () => {
 
     await element.click();
 
-    expect(page.url()).not.toMatch(/foo/);
+    await expect(page).not.toHaveURL(/foo/);
   });
 
-  test("should submit the form with the submit button's name and value when clicked", async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test("should submit the form with the submit button's name and value when clicked", async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="test-form" action="foo">
         <fluent-button type="submit" name="bar" value="baz">Button</fluent-button>
       </form>
@@ -61,15 +65,16 @@ test.describe('Button', () => {
 
     await element.click();
 
-    expect(page.url()).toMatch(/foo\?bar=baz$/);
+    await expect(page).toHaveURL(/foo\?bar=baz$/);
   });
 
   test('should NOT submit a value when the `name` attribute is NOT set and the `value` attribute is set', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="test-form" action="foo">
         <fluent-button type="submit" value="baz">Button</fluent-button>
       </form>
@@ -77,39 +82,32 @@ test.describe('Button', () => {
 
     await element.click();
 
-    expect(page.url()).toMatch(/foo\?$/);
+    await expect(page).toHaveURL(/foo\?$/);
   });
 
-  test('should be focusable by default', async ({ page }) => {
-    const element = page.locator('fluent-button');
-
-    await page.setContent(/* html */ `
-      <fluent-button>Button</fluent-button>
-    `);
+  test('should be focusable by default', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await element.focus();
 
     await expect(element).toBeFocused();
   });
 
-  test('should NOT be focusable when the `disabled` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should NOT be focusable when the `disabled` attribute is present', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-button disabled>Button</fluent-button>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
     await element.focus();
 
     await expect(element).not.toBeFocused();
   });
 
-  test('should apply transparency correctly when the `disabled` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should apply transparency correctly when the `disabled` attribute is present', async ({ fastPage }) => {
+    const { element } = fastPage;
+    await fastPage.setTemplate({ attributes: { disabled: true } });
+
     const transparent = 'rgba(0, 0, 0, 0)';
-    await page.setContent(/* html */ `
-      <fluent-button disabled>Button</fluent-button>
-    `);
 
     await expect(element).not.toHaveCSS('border-color', transparent);
     await expect(element).not.toHaveCSS('background-color', transparent);
@@ -135,24 +133,23 @@ test.describe('Button', () => {
     await expect(element).toHaveCSS('background-color', transparent);
   });
 
-  test('should be focusable when the `disabled-focusable` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should be focusable when the `disabled-focusable` attribute is present', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-button disabled-focusable>Button</fluent-button>
-    `);
+    await fastPage.setTemplate({ attributes: { 'disabled-focusable': true } });
 
     await element.focus();
 
     await expect(element).toBeFocused();
   });
 
-  test('should apply transparency correctly when the `disabled-focusable` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should apply transparency correctly when the `disabled-focusable` attribute is present', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    await fastPage.setTemplate({ attributes: { 'disabled-focusable': true } });
+
     const transparent = 'rgba(0, 0, 0, 0)';
-    await page.setContent(/* html */ `
-      <fluent-button disabled-focusable>Button</fluent-button>
-    `);
 
     await expect(element).not.toHaveCSS('border-color', transparent);
     await expect(element).not.toHaveCSS('background-color', transparent);
@@ -178,59 +175,62 @@ test.describe('Button', () => {
     await expect(element).toHaveCSS('background-color', transparent);
   });
 
-  test('should NOT be clickable when the `disabled` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should NOT be clickable when the `disabled` attribute is present', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-button disabled>Disabled Button</fluent-button>
-    `);
-
-    const elementHandle = Promise.race([
-      element.evaluate(node => new Promise(resolve => node.addEventListener('click', () => resolve(false)))),
-      new Promise(resolve => setTimeout(() => resolve(true), 10)),
-    ]);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
-    await element.click();
+    const wasNotClicked = await page.evaluate(el => {
+      const event = new KeyboardEvent('click', {
+        bubbles: true,
+        cancelable: true,
+        view: window,
+      });
 
-    const wasNotClicked = await elementHandle;
+      // The return value of dispatchEvent will be false if any event listener called preventDefault, or true otherwise.
+      return el?.dispatchEvent(event);
+    }, await element.elementHandle());
 
-    expect(wasNotClicked).toBeTruthy();
+    expect(wasNotClicked).toEqual(true);
   });
 
-  test('should NOT be actionable via keyboard when the `disabled-focusable` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  for (const key of ['Enter', ' ']) {
+    test(`should NOT be actionable with \`${key}\` keypress when the \`disabled-focusable\` attribute is present`, async ({
+      fastPage,
+      page,
+    }) => {
+      const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-button disabled-focusable>Disabled Button</fluent-button>
-    `);
+      await fastPage.setTemplate({ attributes: { 'disabled-focusable': true } });
 
-    await element.focus();
-
-    const elementHandle = Promise.race([
-      element.evaluate(node => new Promise(resolve => node.addEventListener('keydown', () => resolve(false)))),
-      new Promise(resolve => setTimeout(() => resolve(true), 10)),
-    ]);
-
-    await page.keyboard.press('Enter');
+      await element.focus();
 
-    const ReceivedNoKeyDownEvent = await elementHandle;
+      const isActionable = await page.evaluate(
+        ([el, key]) => {
+          const event = new KeyboardEvent('keypress', {
+            key: key as string,
+            bubbles: true,
+            cancelable: true,
+            view: window,
+          });
 
-    expect(ReceivedNoKeyDownEvent).toBeTruthy();
+          // The return value of dispatchEvent will be false if any event listener called preventDefault, or true otherwise.
+          return (el as HTMLElement).dispatchEvent(event);
+        },
+        [await element.elementHandle(), key],
+      );
 
-    await page.keyboard.press('Space');
+      expect(isActionable).toBe(false);
+    });
+  }
 
-    const ReceivedNoKeyDownEvent2 = await elementHandle;
-
-    expect(ReceivedNoKeyDownEvent2).toBeTruthy();
-  });
+  test('should NOT receive focus when the `tabindex` is manually set to -1', async ({ fastPage, page }) => {
+    const element = page.locator('fluent-button', { hasText: 'Not Focusable' });
+    const focusable = page.locator('fluent-button', { hasText: 'Recieves Focus' });
 
-  test('should NOT receive focus when the `tabindex` is manually set to -1', async ({ page }) => {
-    const element = page.locator('fluent-button', { hasText: 'Button' });
-    const focusable = page.locator('fluent-button', { hasText: 'Focusable' });
-
-    await page.setContent(/* html */ `
-      <fluent-button>Focusable</fluent-button>
-      <fluent-button tabindex="-1">Button</fluent-button>
+    await fastPage.setTemplate(/* html */ `
+      <fluent-button>Recieves Focus</fluent-button>
+      <fluent-button tabindex="-1">Not Focusable</fluent-button>
     `);
 
     await focusable.focus();
@@ -242,20 +242,18 @@ test.describe('Button', () => {
     await expect(element).not.toBeFocused();
   });
 
-  test('should focus the element when the `autofocus` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should focus the element when the `autofocus` attribute is present', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-button autofocus>Button</fluent-button>
-    `);
+    await fastPage.setTemplate({ attributes: { autofocus: true } });
 
     await expect(element).toBeFocused();
   });
 
-  test('should submit the parent form when clicked and `type` attribute is set to "submit"', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should submit the parent form when clicked and `type` attribute is set to "submit"', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">
         <fluent-button type="submit">Submit Button</fluent-button>
       </form>
@@ -263,14 +261,17 @@ test.describe('Button', () => {
 
     await element.click();
 
-    expect(page.url()).toContain('foo');
+    await expect(fastPage.page).toHaveURL(/foo/);
   });
 
-  test('should reset the parent form when clicked and `type` attribute is set to "reset"', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should reset the parent form when clicked and `type` attribute is set to "reset"', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
     const input = page.locator('#text-input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form>
         <input type="text" id="text-input">
         <fluent-button type="reset">Reset Button</fluent-button>
@@ -289,12 +290,13 @@ test.describe('Button', () => {
   });
 
   test('should NOT reset the parent form when the `type` attribute is set to "reset" and the `disabled` attribute is present', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
     const input = page.locator('#text-input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form>
         <input type="text" id="text-input">
         <fluent-button type="reset" disabled>Reset Button</fluent-button>
@@ -309,27 +311,29 @@ test.describe('Button', () => {
   });
 
   test('should do nothing when clicked while not in a form and the `type` attribute is set to "submit"', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">Unrelated Form</form>
       <fluent-button type="submit">Submit Button</fluent-button>
     `);
 
     await element.click();
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
   });
 
   test('should do nothing when clicked while not in a form and the `type` attribute is set to "reset"', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
     const input = page.locator('#text-input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">
         Unrelated Form
         <input type="text" id="text-input">
@@ -347,13 +351,13 @@ test.describe('Button', () => {
 
     await expect(input).toHaveValue('foo');
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
   });
 
-  test('should NOT submit the parent form when clicked and `disabled` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should NOT submit the parent form when clicked and `disabled` attribute is present', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">
         <fluent-button type="submit" disabled>Submit Button</fluent-button>
       </form>
@@ -361,13 +365,16 @@ test.describe('Button', () => {
 
     await element.click();
 
-    expect(page.url()).not.toContain('foo');
+    await expect(fastPage.page).not.toHaveURL(/foo/);
   });
 
-  test('should submit the parent form when clicked and the `form` attribute is provided', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should submit the parent form when clicked and the `form` attribute is provided', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="testform" action="foo">
         <input type="text" name="testinput" value="bar">
       </form>
@@ -375,79 +382,76 @@ test.describe('Button', () => {
       <fluent-button type="submit" form="testform">Submit Button</fluent-button>
     `);
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
     await element.click();
 
-    expect(page.url()).toContain('foo');
+    await expect(page).toHaveURL(/foo/);
   });
 
-  test('should override the form action when the `formaction` attribute is provided', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should override the form action when the `formaction` attribute is provided', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">
         <fluent-button type="submit" formaction="bar">Submit Button</fluent-button>
       </form>
     `);
 
-    expect(page.url()).not.toContain('foo');
-
     await element.click();
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
-    expect(page.url()).toContain('bar');
+    await expect(page).toHaveURL(/bar/);
   });
 
   test('should override the action of the referenced form when the `formaction` and `form` attributes are provided', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="testform" action="foo">
-        <input type="text" name="testinput" value="bar">
+        <input type="text" name="testinput" value="baz">
       </form>
-
       <fluent-button type="submit" form="testform" formaction="bar">Submit Button</fluent-button>
     `);
 
-    expect(page.url()).not.toContain('foo');
-
     await element.click();
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
-    expect(page.url()).toContain('bar');
+    await expect(page).toHaveURL(/bar/);
   });
 
-  test('should override the form method when the `formmethod` attribute is provided', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should override the form method when the `formmethod` attribute is provided', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo" formmethod="get">
         <fluent-button type="submit" formmethod="post">Submit Button</fluent-button>
       </form>
     `);
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
     const method = page.waitForRequest(request => request.method() === 'POST');
 
     await element.click();
 
-    expect(await method).toBeTruthy();
+    await expect(method).resolves.toBeTruthy();
 
-    expect(page.url()).toContain('foo');
+    await expect(page).toHaveURL(/foo/);
   });
 
   test('should override the method of the referenced form when the `formmethod` and `form` attributes are provided', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="testform" action="foo" method="get">
         <input type="text" name="testinput" value="bar">
       </form>
@@ -455,40 +459,41 @@ test.describe('Button', () => {
       <fluent-button type="submit" form="testform" formmethod="post">Submit Button</fluent-button>
     `);
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
     const method = page.waitForRequest(request => request.method() === 'POST');
 
     await element.click();
 
-    expect(await method).toBeTruthy();
+    await expect(method).resolves.toBeTruthy();
 
-    expect(page.url()).toContain('foo');
+    await expect(page).toHaveURL(/foo/);
   });
 
-  test('should override the form encoding when the `formenctype` attribute is provided', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should override the form encoding when the `formenctype` attribute is provided', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo" enctype="application/x-www-form-urlencoded">
         <input type="text" name="testinput" value="hello world">
         <fluent-button type="submit" formenctype="plain/text">Submit Button</fluent-button>
       </form>
     `);
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
     await element.click();
 
-    expect(page.url()).toMatch(/foo\?testinput=hello\+world$/);
+    await expect(page).toHaveURL(/foo\?testinput=hello\+world$/);
   });
 
   test('should override the encoding of the referenced form when the `formenctype` and `form` attributes are provided', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="testform" action="foo" enctype="application/x-www-form-urlencoded">
         <input type="text" name="testinput" value="hello world">
       </form>
@@ -496,35 +501,36 @@ test.describe('Button', () => {
       <fluent-button type="submit" form="testform" formenctype="plain/text">Submit Button</fluent-button>
     `);
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
     await element.click();
 
-    expect(page.url()).toMatch(/foo\?testinput=hello\+world$/);
+    await expect(page).toHaveURL(/foo\?testinput=hello\+world$/);
   });
 
-  test('should override the form target when the `formtarget` attribute is provided', async ({ page }) => {
-    const element = page.locator('fluent-button');
+  test('should override the form target when the `formtarget` attribute is provided', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo" target="_blank">
         <fluent-button type="submit" formtarget="_self">Submit Button</fluent-button>
       </form>
     `);
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
     await element.click();
 
-    expect(page.url()).toContain('foo');
+    await expect(page).toHaveURL(/foo/);
   });
 
   test('should override the target of the referenced form when the `formtarget` and `form` attributes are provided', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="testform" action="foo" target="_blank">
         <input type="text" name="testinput" value="hello world">
       </form>
@@ -532,21 +538,22 @@ test.describe('Button', () => {
       <fluent-button type="submit" form="testform" formtarget="_self">Submit Button</fluent-button>
     `);
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
     await element.click();
 
-    expect(page.url()).toContain('foo');
+    await expect(page).toHaveURL(/foo/);
   });
 
   test('should submit the parent form when form validation errors are present and the `formnovalidate` attribute is present', async ({
+    fastPage,
     page,
   }) => {
     const form = page.locator('#test-form');
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
     const input = page.locator('#text-input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="test-form" action="foo">
         <input id="text-input" name="input-field" type="email">
         <fluent-button type="submit" formnovalidate>Button</fluent-button>
@@ -555,23 +562,26 @@ test.describe('Button', () => {
 
     await input.fill('foo');
 
-    expect(await form.evaluate((node: HTMLFormElement) => node.checkValidity())).toBeFalsy();
+    const validity = await form.evaluate((node: HTMLFormElement) => node.checkValidity());
+
+    expect(validity).toBe(false);
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
     await element.click();
 
-    expect(page.url()).toContain('foo');
+    await expect(page).toHaveURL(/foo/);
   });
 
   test('should submit the referenced form when form validation errors are present and the `formnovalidate` and `form` attributes are present', async ({
+    fastPage,
     page,
   }) => {
     const form = page.locator('#test-form');
-    const element = page.locator('fluent-button');
+    const { element } = fastPage;
     const input = page.locator('#text-input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="test-form" action="foo">
         <input id="text-input" name="input-field" type="email">
       </form>
@@ -583,20 +593,21 @@ test.describe('Button', () => {
 
     expect(await form.evaluate((node: HTMLFormElement) => node.checkValidity())).toBeFalsy();
 
-    expect(page.url()).not.toContain('foo');
+    await expect(page).not.toHaveURL(/foo/);
 
     await element.click();
 
-    expect(page.url()).toContain('foo');
+    await expect(page).toHaveURL(/foo/);
   });
 
   test('should NOT submit the parent form when form validation errors are present and the `formnovalidate` is NOT present', async ({
+    fastPage,
     page,
   }) => {
     const button = page.locator('fluent-button');
     const input = page.locator('#text-input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="test-form" action="#">
         <input id="text-input" name="input-field" type="email">
         <fluent-button type="submit">Button</fluent-button>
@@ -605,27 +616,26 @@ test.describe('Button', () => {
 
     await input.fill('foo');
 
-    const [wasNotSubmitted] = await Promise.all([
-      input.evaluate(
-        node =>
-          new Promise(resolve => {
-            node.addEventListener('invalid', () => resolve(true));
-          }),
-      ),
+    const wasNotSubmitted = input.evaluate(
+      node =>
+        new Promise(resolve => {
+          node.addEventListener('invalid', () => resolve(true));
+        }),
+    );
 
-      button.click(),
-    ]);
+    await button.click();
 
-    expect(wasNotSubmitted).toBeTruthy();
+    await expect(wasNotSubmitted).resolves.toBeTruthy();
   });
 
   test('should NOT submit the referenced form when form validation errors are present and the `formnovalidate` attribute is NOT present and the `form` attribute is present', async ({
+    fastPage,
     page,
   }) => {
     const button = page.locator('fluent-button');
     const input = page.locator('#text-input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="test-form" action="#">
         <input id="text-input" name="input-field" type="email">
       </form>
@@ -635,17 +645,15 @@ test.describe('Button', () => {
 
     await input.fill('foo');
 
-    const [wasInvalid] = await Promise.all([
-      input.evaluate(
-        node =>
-          new Promise(resolve => {
-            node.addEventListener('invalid', () => resolve(true));
-          }),
-      ),
+    const wasInvalid = input.evaluate(
+      node =>
+        new Promise(resolve => {
+          node.addEventListener('invalid', () => resolve(true));
+        }),
+    );
 
-      button.click(),
-    ]);
+    await button.click();
 
-    expect(wasInvalid).toBeTruthy();
+    await expect(wasInvalid).resolves.toBeTruthy();
   });
 });
diff --git a/packages/web-components/src/checkbox/checkbox.spec.ts b/packages/web-components/src/checkbox/checkbox.spec.ts
index 1d945a1f09bd44..8a049a2d56950f 100644
--- a/packages/web-components/src/checkbox/checkbox.spec.ts
+++ b/packages/web-components/src/checkbox/checkbox.spec.ts
@@ -1,212 +1,100 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Checkbox } from './checkbox.js';
+import { CheckboxShape, CheckboxSize } from './checkbox.options.js';
 
 test.describe('Checkbox', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-checkbox--checkbox'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-checkbox'));
+  test.use({
+    tagName: 'fluent-checkbox',
   });
 
-  test('should set and retrieve the `shape` property correctly', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await expect(element).toHaveCount(1);
-
-    await test.step('should set the `shape` property to `circular`', async () => {
-      await page.setContent(/* html */ `
-          <fluent-checkbox shape="circular"></fluent-checkbox>
-      `);
-
-      await expect(element).toHaveJSProperty('shape', 'circular');
-    });
-
-    await test.step('should set the `shape` attribute to `square`', async () => {
-      await element.evaluate((node: Checkbox) => {
-        node.shape = 'square';
-      });
-
-      await expect(element).toHaveAttribute('shape', 'square');
-    });
-
-    await test.step('should unset the `shape` property when the attribute is removed', async () => {
-      await element.evaluate((node: Checkbox) => {
-        node.removeAttribute('shape');
-      });
-
-      await expect(element).toHaveJSProperty('shape', null);
-    });
+  test('should have a role of `checkbox`', async ({ fastPage }) => {
+    await expect(fastPage.element).toHaveJSProperty('elementInternals.role', 'checkbox');
   });
 
-  test('should add a custom state matching the `shape` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await page.setContent(/* html */ `
-      <fluent-checkbox></fluent-checkbox>
-  `);
-
-    await element.evaluate((node: Checkbox) => {
-      node.shape = 'circular';
-    });
-
-    await expect(element).toHaveCustomState('circular');
-
-    await element.evaluate((node: Checkbox) => {
-      node.shape = 'square';
-    });
-
-    await expect(element).not.toHaveCustomState('circular');
-    await expect(element).toHaveCustomState('square');
-
-    await element.evaluate((node: Checkbox) => {
-      node.shape = undefined;
-    });
+  test('should initialize to the initial value if no value property is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).not.toHaveCustomState('circular');
-    await expect(element).not.toHaveCustomState('square');
+    await expect(element).toHaveJSProperty('value', 'on');
   });
 
-  test('should set and retrieve the `size` property correctly', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should set the `shape` property to match the `shape` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Checkbox) => {
-      node.size = 'medium';
-    });
+    for (const shape of Object.values(CheckboxShape)) {
+      await test.step(`should set the \`shape\` property to "${shape}"`, async () => {
+        await fastPage.setTemplate({
+          attributes: {
+            shape,
+          },
+        });
 
-    await test.step('should set the `size` attribute to `medium`', async () => {
-      await element.evaluate((node: Checkbox) => {
-        node.size = 'medium';
-      });
+        await expect(element).toHaveAttribute('shape', shape);
 
-      await expect(element).toHaveAttribute('size', 'medium');
-    });
+        await expect(element).toHaveJSProperty('shape', shape);
 
-    await test.step('should set the `size` property to `large`', async () => {
-      await element.evaluate((node: Checkbox) => {
-        node.setAttribute('size', 'large');
+        await expect(element).toHaveCustomState(shape);
       });
-
-      await expect(element).toHaveJSProperty('size', 'large');
-    });
-
-    await test.step('should unset the `size` property when the attribute is removed', async () => {
-      await element.evaluate((node: Checkbox) => {
-        node.removeAttribute('size');
-      });
-
-      await expect(element).toHaveJSProperty('size', null);
-    });
+    }
   });
 
-  test('should add a custom state matching the `size` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-checkbox></fluent-checkbox>
-  `);
+    for (const size of Object.values(CheckboxSize)) {
+      await test.step(`should set the \`size\` property to "${size}"`, async () => {
+        await fastPage.setTemplate({ attributes: { size: size } });
 
-    await element.evaluate((node: Checkbox) => {
-      node.size = 'medium';
-    });
+        await expect(element).toHaveJSProperty('size', size);
 
-    await expect(element).toHaveCustomState('medium');
+        await expect(element).toHaveAttribute('size', size);
 
-    await element.evaluate((node: Checkbox) => {
-      node.size = 'large';
-    });
-
-    await expect(element).not.toHaveCustomState('medium');
-    await expect(element).toHaveCustomState('large');
-
-    await element.evaluate((node: Checkbox) => {
-      node.size = undefined;
-    });
-
-    await expect(element).not.toHaveCustomState('medium');
-    await expect(element).not.toHaveCustomState('large');
-  });
-
-  test('should have a role of `checkbox`', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await page.setContent(/* html */ `
-        <fluent-checkbox></fluent-checkbox>
-    `);
-
-    await expect(element).toHaveJSProperty('elementInternals.role', 'checkbox');
+        await expect(element).toHaveCustomState(size);
+      });
+    }
   });
 
-  test('should set the `ariaChecked` property to `false` when `checked` is not defined', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await page.setContent(/* html */ `
-        <fluent-checkbox></fluent-checkbox>
-    `);
-
-    await expect(element).not.toHaveAttribute('checked');
+  test('should set the `ariaChecked` property equal to the `checked` property', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.ariaChecked', 'false');
-  });
-
-  test('should set the `ariaChecked` property equal to the `checked` property', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await page.setContent(/* html */ `
-        <fluent-checkbox checked></fluent-checkbox>
-    `);
-
-    await expect(element).toHaveJSProperty('elementInternals.ariaChecked', 'true');
 
     await element.evaluate((node: Checkbox) => {
-      node.checked = false;
+      node.checked = true;
     });
 
-    await expect(element).toHaveJSProperty('elementInternals.ariaChecked', 'false');
+    await expect(element).toHaveJSProperty('elementInternals.ariaChecked', 'true');
   });
 
-  test('should NOT set a default `aria-required` value when `required` is not defined', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await page.setContent(/* html */ `
-        <fluent-checkbox></fluent-checkbox>
-    `);
+  test('should NOT set a default `aria-required` value when `required` is not defined', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).not.toHaveAttribute('required');
 
     await expect(element).not.toHaveAttribute('aria-required');
   });
 
-  test('should be focusable by default', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await page.setContent(/* html */ `
-        <fluent-checkbox></fluent-checkbox>
-    `);
+  test('should be focusable by default', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await element.focus();
 
     await expect(element).toBeFocused();
   });
 
-  test('should NOT be focusable when the `disabled` attribute is set', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should NOT be focusable when the `disabled` attribute is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-checkbox disabled></fluent-checkbox>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
     await element.focus();
 
     await expect(element).not.toBeFocused();
   });
 
-  test('should set the `ariaChecked` attribute to "mixed" when `indeterminate` property is true', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await page.setContent(/* html */ `
-        <fluent-checkbox></fluent-checkbox>
-    `);
+  test('should set the `ariaChecked` attribute to "mixed" when `indeterminate` property is true', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
     await element.evaluate((node: Checkbox) => {
       node.indeterminate = true;
@@ -221,12 +109,8 @@ test.describe('Checkbox', () => {
     await expect(element).toHaveJSProperty('elementInternals.ariaChecked', 'false');
   });
 
-  test('should set off `indeterminate` on `checked` change by user click', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await page.setContent(/* html */ `
-        <fluent-checkbox></fluent-checkbox>
-    `);
+  test('should set `indeterminate` to false when the `checked` state changes via click', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await element.evaluate((node: Checkbox) => {
       node.indeterminate = true;
@@ -239,14 +123,14 @@ test.describe('Checkbox', () => {
     await expect(element).toHaveJSProperty('indeterminate', false);
   });
 
-  test('should NOT change the `indeterminate` property when the owning form is reset', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should NOT change the `indeterminate` property when the owning form is reset', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-checkbox></fluent-checkbox>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-checkbox></fluent-checkbox>
+      </form>
     `);
 
     await element.evaluate((node: Checkbox) => {
@@ -274,32 +158,24 @@ test.describe('Checkbox', () => {
     });
   });
 
-  test('should initialize to the initial value if no value property is set', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should initialize to the provided `value` attribute when set pre-connection', async ({ fastPage, page }) => {
+    const expectedValue = 'foobar';
 
-    await page.setContent(/* html */ `
-        <fluent-checkbox></fluent-checkbox>
-    `);
+    await fastPage.setTemplate('');
 
-    await expect(element).toHaveJSProperty('value', 'on');
-  });
+    const value = await page.evaluate(expectedValue => {
+      const node = document.createElement('fluent-checkbox') as Checkbox;
 
-  test('should initialize to the provided `value` attribute when set pre-connection', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+      node.setAttribute('value', expectedValue);
 
-    await page.setContent(/* html */ `
-        <fluent-checkbox value="foo"></fluent-checkbox>
-    `);
+      return node.value;
+    }, expectedValue);
 
-    await expect(element).toHaveJSProperty('value', 'foo');
+    expect(value).toBe(expectedValue);
   });
 
-  test('should initialize to the provided `value` attribute when set post-connection', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
-
-    await page.setContent(/* html */ `
-        <fluent-checkbox></fluent-checkbox>
-    `);
+  test('should initialize to the provided `value` attribute when set post-connection', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     const expectedValue = 'foobar';
 
@@ -310,12 +186,10 @@ test.describe('Checkbox', () => {
     await expect(element).toHaveJSProperty('value', expectedValue);
   });
 
-  test('should initialize to the provided `value` property when set pre-connection', async ({ page }) => {
-    // const element = page.locator('fluent-checkbox');
+  test('should initialize to the provided `value` property when set pre-connection', async ({ fastPage, page }) => {
+    await fastPage.setTemplate('');
 
-    await page.setContent(/* html */ `
-        <fluent-checkbox></fluent-checkbox>
-    `);
+    await expect(fastPage.element).not.toBeAttached();
 
     const expectedValue = 'foobar';
 
@@ -324,48 +198,48 @@ test.describe('Checkbox', () => {
 
       node.value = expectedValue;
 
-      return Promise.resolve(node.value);
+      return node.value;
     }, expectedValue);
 
     expect(value).toBe(expectedValue);
   });
 
-  test('should be invalid when unchecked', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should be invalid when unchecked', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-checkbox required></fluent-checkbox>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-checkbox required></fluent-checkbox>
+      </form>
     `);
 
-    expect(await element.evaluate((node: Checkbox) => node.validity.valueMissing)).toBe(true);
+    await expect(element).toHaveJSProperty('validity.valueMissing', true);
   });
 
-  test('should be valid when checked', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should be valid when checked', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-checkbox required>checkbox</fluent-checkbox>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-checkbox required>checkbox</fluent-checkbox>
+      </form>
     `);
 
     await element.click();
 
     await expect(element).toHaveJSProperty('checked', true);
 
-    expect(await element.evaluate((node: Checkbox) => node.validity.valueMissing)).toBe(false);
+    await expect(element).toHaveJSProperty('validity.valueMissing', false);
   });
 
-  test('should set the `checked` property to false if the `checked` attribute is unset', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should set the `checked` property to false if the `checked` attribute is unset', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-checkbox></fluent-checkbox>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-checkbox></fluent-checkbox>
+      </form>
     `);
 
     await expect(element).toHaveJSProperty('checked', false);
@@ -383,14 +257,14 @@ test.describe('Checkbox', () => {
     await expect(element).toHaveJSProperty('checked', false);
   });
 
-  test('should set its checked property to true if the checked attribute is set', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should set its checked property to true if the checked attribute is set', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-checkbox></fluent-checkbox>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-checkbox></fluent-checkbox>
+      </form>
     `);
 
     await expect(element).toHaveJSProperty('checked', false);
@@ -409,20 +283,21 @@ test.describe('Checkbox', () => {
   });
 
   test('should put the control into a clean state, where `checked` attribute modifications change the `checked` property prior to user or programmatic interaction', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-checkbox');
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-checkbox required></fluent-checkbox>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-checkbox required></fluent-checkbox>
+      </form>
     `);
 
     await element.evaluate((node: Checkbox) => {
       node.checked = true;
-      node.removeAttribute('checked');
+      node.toggleAttribute('checked', false);
     });
 
     await expect(element).toHaveJSProperty('checked', true);
@@ -434,21 +309,21 @@ test.describe('Checkbox', () => {
     await expect(element).toHaveJSProperty('checked', false);
 
     await element.evaluate((node: Checkbox) => {
-      node.setAttribute('checked', '');
+      node.toggleAttribute('checked', true);
     });
 
     expect(await element.evaluate((node: Checkbox) => node.value)).toBeTruthy();
   });
 
-  test('should submit the value of the checkbox when checked', async ({ page }) => {
-    const element = page.locator('fluent-checkbox');
+  test('should submit the value of the checkbox when checked', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const submitButton = page.locator('button');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-checkbox name="checkbox" value="foo"></fluent-checkbox>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-checkbox name="checkbox" value="foo"></fluent-checkbox>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     await element.click();
@@ -458,18 +333,18 @@ test.describe('Checkbox', () => {
     expect(page.url()).toContain('?checkbox=foo');
   });
 
-  test('should submit the values of multiple checkboxes when checked', async ({ page }) => {
-    const checkboxes = page.locator('fluent-checkbox');
+  test('should submit the values of multiple checkboxes when checked', async ({ fastPage, page }) => {
+    const { element: checkboxes } = fastPage;
     const element1 = checkboxes.nth(0);
     const element2 = checkboxes.nth(1);
     const submitButton = page.locator('button');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-checkbox name="checkbox" value="foo"></fluent-checkbox>
-            <fluent-checkbox name="checkbox" value="bar"></fluent-checkbox>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-checkbox name="checkbox" value="foo"></fluent-checkbox>
+        <fluent-checkbox name="checkbox" value="bar"></fluent-checkbox>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     await element1.click();
@@ -477,6 +352,6 @@ test.describe('Checkbox', () => {
 
     await submitButton.click();
 
-    expect(page.url()).toContain('?checkbox=foo&checkbox=bar');
+    await expect(page).toHaveURL(/\?checkbox=foo&checkbox=bar/);
   });
 });
diff --git a/packages/web-components/src/counter-badge/counter-badge.spec.ts b/packages/web-components/src/counter-badge/counter-badge.spec.ts
index d6a2ce3ac141ab..5faccef9b8ecab 100644
--- a/packages/web-components/src/counter-badge/counter-badge.spec.ts
+++ b/packages/web-components/src/counter-badge/counter-badge.spec.ts
@@ -1,5 +1,4 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { CounterBadge } from './counter-badge.js';
 import {
   CounterBadgeAppearance,
@@ -9,20 +8,16 @@ import {
 } from './counter-badge.options.js';
 
 test.describe('CounterBadge component', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-badge-counter-badge--counter-badge'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-counter-badge'));
+  test.use({
+    tagName: 'fluent-counter-badge',
   });
 
   test('should display the count when then the `count` attribute is equal to the `overflow-count` attribute', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-counter-badge');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-counter-badge count="100" overflow-count="100"></fluent-counter-badge>
-    `);
+    await fastPage.setTemplate({ attributes: { count: '100', 'overflow-count': '100' } });
 
     await expect(element).toHaveAttribute('overflow-count', '100');
 
@@ -30,13 +25,11 @@ test.describe('CounterBadge component', () => {
   });
 
   test('should display an overflow count when the `count` attribute is greater than the `overflow-count` attribute', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-counter-badge');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-counter-badge count="101" overflow-count="100"></fluent-counter-badge>
-    `);
+    await fastPage.setTemplate({ attributes: { count: '101', 'overflow-count': '100' } });
 
     await expect(element).toHaveAttribute('overflow-count', '100');
 
@@ -54,13 +47,11 @@ test.describe('CounterBadge component', () => {
   });
 
   test('should display the count when the `overflow-count` attribute is higher than the `count` attribute', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-counter-badge');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-counter-badge count="101" overflow-count="100"></fluent-counter-badge>
-    `);
+    await fastPage.setTemplate({ attributes: { count: '101', 'overflow-count': '100' } });
 
     await expect(element).toHaveAttribute('overflow-count', '100');
 
@@ -75,24 +66,20 @@ test.describe('CounterBadge component', () => {
     await expect(element).toContainText('101');
   });
 
-  test('should display the count when the `count` attribute is set', async ({ page }) => {
-    const element = page.locator('fluent-counter-badge');
+  test('should display the count when the `count` attribute is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-counter-badge count="5"></fluent-counter-badge>
-    `);
+    await fastPage.setTemplate({ attributes: { count: '5' } });
 
     await expect(element).toHaveAttribute('count', '5');
 
     await expect(element).toContainText('5');
   });
 
-  test('should show 0 when showZero attribute is present and value is 0', async ({ page }) => {
-    const element = page.locator('fluent-counter-badge');
+  test('should show 0 when showZero attribute is present and value is 0', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-counter-badge show-zero count="0"></fluent-counter-badge>
-    `);
+    await fastPage.setTemplate({ attributes: { 'show-zero': true, count: '0' } });
 
     await expect(element).toHaveAttribute('show-zero');
 
@@ -100,7 +87,7 @@ test.describe('CounterBadge component', () => {
 
     await expect(element).toContainText('0');
 
-    await element.evaluate((node: CounterBadge) => {
+    await element.evaluate(node => {
       node.removeAttribute('show-zero');
     });
 
@@ -112,13 +99,11 @@ test.describe('CounterBadge component', () => {
   });
 
   test('should display "0" when the `showZero` property is set to true and the `count` property is set to 0', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-counter-badge');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-counter-badge count="0"></fluent-counter-badge>
-    `);
+    await fastPage.setTemplate({ attributes: { count: '0' } });
 
     await expect(element).toHaveJSProperty('showZero', false);
 
@@ -134,12 +119,10 @@ test.describe('CounterBadge component', () => {
     await expect(element).toContainText('0');
   });
 
-  test('should display as a dot when the `dot` property is set to true', async ({ page }) => {
-    const element = page.locator('fluent-counter-badge');
+  test('should display as a dot when the `dot` property is set to true', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-counter-badge count="5"></fluent-counter-badge>
-    `);
+    await fastPage.setTemplate({ attributes: { count: '5' } });
 
     await expect(element).toContainText('5');
 
@@ -154,12 +137,10 @@ test.describe('CounterBadge component', () => {
     await expect(element).not.toContainText('5');
   });
 
-  test('should display as a number when the `dot` property is set to false', async ({ page }) => {
-    const element = page.locator('fluent-counter-badge');
+  test('should display as a number when the `dot` property is set to false', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-counter-badge count="5" dot></fluent-counter-badge>
-    `);
+    await fastPage.setTemplate({ attributes: { count: '5', dot: true } });
 
     await expect(element).not.toContainText('5');
 
@@ -174,77 +155,67 @@ test.describe('CounterBadge component', () => {
     await expect(element).toHaveJSProperty('dot', false);
   });
 
-  for (const shape of Object.values(CounterBadgeShape)) {
-    test(`should set the \`shape\` property to "${shape}" when the attribute is set to "${shape}"`, async ({
-      page,
-    }) => {
-      const element = page.locator('fluent-counter-badge');
+  test('should set the `shape` property to match the `shape` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-counter-badge shape="${shape}"></fluent-counter-badge>
-    `);
+    for (const shape of Object.values(CounterBadgeShape)) {
+      await test.step(`should set the \`shape\` property to \`${shape}\``, async () => {
+        await fastPage.setTemplate({ attributes: { shape } });
 
-      await expect(element).toHaveAttribute('shape', shape);
+        await expect(element).toHaveAttribute('shape', shape);
 
-      await expect(element).toHaveJSProperty('shape', shape);
-
-      await expect(element).toHaveCustomState(shape);
-    });
-  }
+        await expect(element).toHaveJSProperty('shape', shape);
 
-  for (const color of Object.values(CounterBadgeColor)) {
-    test(`should set the \`color\` property to "${color}" when the attribute is set to "${color}"`, async ({
-      page,
-    }) => {
-      const element = page.locator('fluent-counter-badge');
+        await expect.soft(element).toHaveCustomState(shape);
+      });
+    }
+  });
 
-      await page.setContent(/* html */ `
-          <fluent-counter-badge color="${color}"></fluent-counter-badge>
-      `);
+  test('should set the `color` property to match the `color` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-      await expect(element).toHaveAttribute('color', color);
+    for (const color of Object.values(CounterBadgeColor)) {
+      await test.step(`should set the \`color\` property to \`${color}\``, async () => {
+        await fastPage.setTemplate({ attributes: { color } });
 
-      await expect(element).toHaveJSProperty('color', color);
+        await expect(element).toHaveAttribute('color', color);
 
-      await expect(element).toHaveCustomState(color);
-    });
-  }
+        await expect(element).toHaveJSProperty('color', color);
 
-  for (const size of Object.values(CounterBadgeSize)) {
-    test(`should set the \`size\` property to "${size}" when the attribute is set to "${size}"`, async ({ page }) => {
-      const element = page.locator('fluent-counter-badge');
+        await expect.soft(element).toHaveCustomState(color);
+      });
+    }
+  });
 
-      await page.setContent(/* html */ `
-          <fluent-counter-badge size="${size}"></fluent-counter-badge>
-      `);
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-      await expect(element).toHaveAttribute('size', size);
+    for (const size of Object.values(CounterBadgeSize)) {
+      await test.step(`should set the \`size\` property to "${size}"`, async () => {
+        await fastPage.setTemplate({ attributes: { size } });
 
-      await expect(element).toHaveJSProperty('size', size);
+        await expect(element).toHaveAttribute('size', size);
 
-      await expect(element).toHaveCustomState(size);
-    });
-  }
+        await expect(element).toHaveJSProperty('size', size);
 
-  for (const appearance of Object.values(CounterBadgeAppearance)) {
-    test(`should set the \`appearance\` property to "${appearance}" when the attribute is set to "${appearance}"`, async ({
-      page,
-    }) => {
-      const element = page.locator('fluent-counter-badge');
+        await expect(element).toHaveCustomState(size);
+      });
+    }
+  });
 
-      await page.setContent(/* html */ `
-          <fluent-counter-badge appearance="${appearance}"></fluent-counter-badge>
-      `);
+  test('should set the `appearance` property to match the `appearance` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-      await element.evaluate((node: CounterBadge, appearance) => {
-        node.appearance = appearance;
-      }, appearance as CounterBadgeAppearance);
+    for (const appearance of Object.values(CounterBadgeAppearance)) {
+      await test.step(appearance, async () => {
+        await fastPage.setTemplate({ attributes: { appearance } });
 
-      await expect(element).toHaveAttribute('appearance', appearance);
+        await expect(element).toHaveJSProperty('appearance', appearance);
 
-      await expect(element).toHaveJSProperty('appearance', appearance);
+        await expect(element).toHaveAttribute('appearance', appearance);
 
-      await expect(element).toHaveCustomState(appearance);
-    });
-  }
+        await expect(element).toHaveCustomState(appearance);
+      });
+    }
+  });
 });
diff --git a/packages/web-components/src/dialog-body/dialog-body.spec.ts b/packages/web-components/src/dialog-body/dialog-body.spec.ts
index c791aa6dce0e66..ca31ae75c078a6 100644
--- a/packages/web-components/src/dialog-body/dialog-body.spec.ts
+++ b/packages/web-components/src/dialog-body/dialog-body.spec.ts
@@ -1,42 +1,28 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Dialog } from '../dialog/dialog.js';
 import type { DialogBody } from './dialog-body.js';
 
 test.describe('Dialog Body', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-dialog-dialog-body--default'));
-
-    await page.waitForFunction(() =>
-      Promise.all([
-        customElements.whenDefined('fluent-button'),
-        customElements.whenDefined('fluent-dialog'),
-        customElements.whenDefined('fluent-dialog-body'),
-      ]),
-    );
+  test.use({
+    tagName: 'fluent-dialog-body',
+    waitFor: ['fluent-dialog'],
   });
 
-  test('should render a dialog body', async ({ page }) => {
-    const element = page.locator('fluent-dialog-body');
+  test('should render a dialog body with a close button', async ({ fastPage }) => {
+    const { element } = fastPage;
     const closeButton = element.locator('.title-action');
 
-    await page.setContent(/* html */ `
-      <fluent-dialog-body>
-          <div id="content">content</div>
-      </fluent-dialog-body>
-    `);
-
     await expect(element).toBeVisible();
     await expect(closeButton).toBeVisible();
   });
 
-  test('should add default close button for non-modal dialogs', async ({ page }) => {
-    const element = page.locator('fluent-dialog-body');
+  test('should add default close button for non-modal dialogs', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const closeButton = element.locator('.title-action');
     const dialog = page.locator('fluent-dialog');
     const content = element.locator('#content');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <fluent-dialog type="non-modal">
         <fluent-dialog-body>
             <div id="content">content</div>
diff --git a/packages/web-components/src/dialog/dialog.spec.ts b/packages/web-components/src/dialog/dialog.spec.ts
index 1beb0413ce2ff4..d7b7ab95aa72b4 100644
--- a/packages/web-components/src/dialog/dialog.spec.ts
+++ b/packages/web-components/src/dialog/dialog.spec.ts
@@ -1,41 +1,28 @@
-import { expect, test } from '@playwright/test';
 import type { Locator } from '@playwright/test';
-import { fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Dialog } from './dialog.js';
 
-async function getPointOutside(element: Locator) {
-  // Get the bounding box of the element
-  const boundingBox = (await element.boundingBox()) as { x: number; y: number; width: number; height: number };
-
-  // Calculate a point outside the bounding box
-  return {
-    x: boundingBox.x + boundingBox.width + 10, // 10 pixels to the right
-    y: boundingBox.y + boundingBox.height + 10, // 10 pixels below
-  };
-}
-
 test.describe('Dialog', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-dialog-dialog--default'));
-
-    await page.waitForFunction(() =>
-      Promise.all([
-        customElements.whenDefined('fluent-button'),
-        customElements.whenDefined('fluent-dialog'),
-        customElements.whenDefined('fluent-dialog-body'),
-      ]),
-    );
+  test.use({
+    tagName: 'fluent-dialog',
+    innerHTML: /* html */ `<div id="content">Dialog Body</div>`,
+    waitFor: ['fluent-button', 'fluent-dialog-body'],
   });
 
-  test('should open and close dialog programmatically', async ({ page }) => {
-    const element = page.locator('fluent-dialog');
-    const content = element.locator('#content');
+  async function getPointOutside(element: Locator) {
+    // Get the bounding box of the element
+    const boundingBox = (await element.boundingBox()) as { x: number; y: number; width: number; height: number };
+
+    // Calculate a point outside the bounding box
+    return {
+      x: boundingBox.x + boundingBox.width + 10, // 10 pixels to the right
+      y: boundingBox.y + boundingBox.height + 10, // 10 pixels below
+    };
+  }
 
-    await page.setContent(/* html */ `
-      <fluent-dialog>
-          <div id="content">content</div>
-      </fluent-dialog>
-    `);
+  test('should open and close programmatically', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const content = element.locator('#content');
 
     await test.step('should show the dialog content when the dialog is shown', async () => {
       await expect(content).toBeHidden();
@@ -56,184 +43,230 @@ test.describe('Dialog', () => {
     });
   });
 
-  test('should handle dialog overlay clicks correctly based on type', async ({ page }) => {
-    const element = page.locator('fluent-dialog');
+  test('should close after clicking outside its bounds when its `type` attribute is set to "modal"', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
     const content = element.locator('#content');
 
-    await page.setContent(/* html */ `
-        <fluent-dialog>
-            <div id="content">content</div>
-        </fluent-dialog>
-      `);
+    await element.evaluate((node: Dialog) => {
+      node.show();
+    });
 
-    await test.step('should close modal dialog when clicking outside', async () => {
-      await element.evaluate((node: Dialog) => {
-        node.show();
-      });
+    await expect(content).toBeVisible();
 
-      await expect(content).toBeVisible();
+    // Get point outside the element
+    const { x, y } = await getPointOutside(element);
+
+    // Dispatch a click event at the calculated point
+    await page.mouse.click(x, y);
 
-      // Get point outside the element
-      const { x, y } = await getPointOutside(element);
+    await expect(content).toBeHidden();
+  });
 
-      // Dispatch a click event at the calculated point
-      await page.mouse.click(x, y);
+  test('should NOT close after clicking outside its bounds when its `type` attribute is set to "non-modal"', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
+    const content = element.locator('#content');
 
-      await expect(content).toBeHidden();
+    await fastPage.setTemplate({
+      attributes: {
+        type: 'non-modal',
+      },
     });
 
-    await test.step('should not close non-modal dialog when clicking outside', async () => {
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'non-modal');
-        node.show();
-      });
+    await element.evaluate((node: Dialog) => {
+      node.show();
+    });
 
-      await expect(content).toBeVisible();
+    await expect(content).toBeVisible();
 
-      // Get point outside the element
-      const { x, y } = await getPointOutside(element);
+    // Get point outside the element
+    const { x, y } = await getPointOutside(element);
 
-      // Dispatch a click event at the calculated point
-      await page.mouse.click(x, y);
+    // Dispatch a click event at the calculated point
+    await page.mouse.click(x, y);
 
-      await expect(content).toBeVisible();
-    });
+    await expect(content).toBeVisible();
+  });
 
-    await test.step('should not close alert dialog when clicking outside', async () => {
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'alert');
-        node.show();
-      });
+  test('should NOT close after clicking outside its bounds when its `type` attribute is set to "alert"', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
+    const content = element.locator('#content');
 
-      await expect(content).toBeVisible();
+    await element.evaluate((node: Dialog) => {
+      node.setAttribute('type', 'alert');
+      node.show();
+    });
 
-      // Get point outside the element
-      const { x, y } = await getPointOutside(element);
+    await expect(content).toBeVisible();
 
-      // Dispatch a click event at the calculated point
-      await page.mouse.click(x, y);
+    // Get point outside the element
+    const { x, y } = await getPointOutside(element);
 
-      await expect(content).toBeVisible();
-    });
+    // Dispatch a click event at the calculated point
+    await page.mouse.click(x, y);
+
+    await expect(content).toBeVisible();
   });
 
-  test('should handle escape keypress correctly based on type', async ({ page }) => {
-    const element = page.locator('fluent-dialog');
+  test('should close after the escape key is pressed when its `type` attribute is set to "modal"', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
     const content = element.locator('#content');
 
-    await page.setContent(/* html */ `
-      <fluent-dialog>
-          <div id="content">content</div>
-      </fluent-dialog>
-    `);
+    await element.evaluate((node: Dialog) => {
+      node.show();
+    });
 
-    await test.step('should close modal dialog when pressing escape', async () => {
-      await element.evaluate((node: Dialog) => {
-        node.show();
-      });
+    await expect(content).toBeVisible();
 
-      await expect(content).toBeVisible();
+    await page.keyboard.press('Escape');
 
-      await page.keyboard.press('Escape');
+    await expect(content).toBeHidden();
+  });
 
-      await expect(content).toBeHidden();
+  test('should NOT close after the escape key is pressed when its `type` attribute is set to "non-modal"', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
+    const content = element.locator('#content');
+
+    await fastPage.setTemplate({ attributes: { type: 'non-modal' } });
+
+    await element.evaluate((node: Dialog) => {
+      node.show();
     });
 
-    await test.step('should not close non-modal dialog when pressing escape', async () => {
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'non-modal');
-        node.show();
-      });
+    await expect(content).toBeVisible();
 
-      await expect(content).toBeVisible();
+    await page.keyboard.press('Escape');
+
+    await expect(content).toBeVisible();
+  });
 
-      await page.keyboard.press('Escape');
+  test('should NOT close after the escape key is pressed when its `type` attribute is set to "alert"', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
+    const content = element.locator('#content');
 
-      await expect(content).toBeVisible();
+    await fastPage.setTemplate({ attributes: { type: 'alert' } });
+
+    await element.evaluate((node: Dialog) => {
+      node.show();
     });
 
-    await test.step('should not close alert dialog when pressing escape', async () => {
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'alert');
-        node.show();
-      });
+    await expect(content).toBeVisible();
 
-      await expect(content).toBeVisible();
+    await page.keyboard.press('Escape');
 
-      await page.keyboard.press('Escape');
+    await expect(content).toBeVisible();
+  });
 
-      await expect(content).toBeVisible();
-    });
+  test('should set the `role` attribute to "dialog" on the internal dialog element when the `type` attribute is set to "dialog"', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    const dialog = element.locator('dialog');
+
+    await fastPage.setTemplate({ attributes: { type: 'dialog' } });
+
+    await expect(dialog).toHaveRole('dialog');
   });
 
-  test('should apply ARIA attributes correctly to dialog element based on type', async ({ page }) => {
-    const element = page.locator('fluent-dialog');
+  test('should set the `role` attribute to "dialog" on the internal dialog element when the `type` attribute is set to "non-modal"', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
     const dialog = element.locator('dialog');
 
-    await page.setContent(/* html */ `
-      <fluent-dialog>
-        <div id="content">content</div>
-      </fluent-dialog>
-    `);
+    await fastPage.setTemplate({ attributes: { type: 'non-modal' } });
 
-    await test.step('should set role correctly on the dialog element', async () => {
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'dialog');
-      });
+    await expect(dialog).toHaveRole('dialog');
+  });
 
-      await expect(dialog).toHaveRole('dialog');
+  test('should set the `role` attribute to "alertdialog" on the internal dialog element when the `type` attribute is set to "alert"', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    const dialog = element.locator('dialog');
 
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'non-modal');
-      });
+    await fastPage.setTemplate({ attributes: { type: 'alert' } });
 
-      await expect(dialog).toHaveRole('dialog');
+    await expect(dialog).toHaveRole('alertdialog');
+  });
 
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'alert');
-      });
+  test('should set the `aria-modal` attribute to "true" on the internal dialog element when the `type` attribute is set to "modal"', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    const dialog = element.locator('dialog');
 
-      await expect(dialog).toHaveRole('alertdialog');
-    });
+    await fastPage.setTemplate({ attributes: { type: 'modal' } });
 
-    await test.step('should set aria-modal correctly on the dialog element', async () => {
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'modal');
-      });
+    await expect(dialog).toHaveAttribute('aria-modal', 'true');
+  });
 
-      await expect(dialog).toHaveAttribute('aria-modal');
+  test('should set the `aria-modal` attribute to "false" on the internal dialog element when the `type` attribute is set to "non-modal"', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    const dialog = element.locator('dialog');
 
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'alert');
-      });
+    await fastPage.setTemplate({ attributes: { type: 'non-modal' } });
 
-      await expect(dialog).toHaveAttribute('aria-modal');
+    await expect(dialog).not.toHaveAttribute('aria-modal');
+  });
 
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('type', 'non-modal');
-      });
+  test('should set the `aria-modal` attribute to "true" on the internal dialog element when the `type` attribute is set to "alert"', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    const dialog = element.locator('dialog');
 
-      await expect(dialog).not.toHaveAttribute('aria-modal');
-    });
+    await fastPage.setTemplate({ attributes: { type: 'alert' } });
 
-    await test.step('should set aria-labelledby on the dialog element', async () => {
-      await expect(dialog).not.toHaveAttribute('aria-labelledby');
+    await expect(dialog).toHaveAttribute('aria-modal', 'true');
+  });
 
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('aria-labelledby', 'label');
-      });
+  test('should set the `aria-labelledby` attribute on the internal dialog element when the `aria-labelledby` attribute is set', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    const dialog = element.locator('dialog');
+
+    await expect(dialog).not.toHaveAttribute('aria-labelledby');
 
-      await expect(dialog).toHaveAttribute('aria-labelledby', 'label');
+    await element.evaluate(node => {
+      node.setAttribute('aria-labelledby', 'label');
     });
 
-    await test.step('should set aria-describedby on the dialog element', async () => {
-      await expect(dialog).not.toHaveAttribute('aria-describedby');
+    await expect(dialog).toHaveAttribute('aria-labelledby', 'label');
+  });
 
-      await element.evaluate((node: Dialog) => {
-        node.setAttribute('aria-describedby', 'elementID');
-      });
+  test('should set the `aria-describedby` attribute on the internal dialog element when the `aria-describedby` attribute is set', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    const dialog = element.locator('dialog');
 
-      await expect(dialog).toHaveAttribute('aria-describedby', 'elementID');
+    await expect(dialog).not.toHaveAttribute('aria-describedby');
+
+    await element.evaluate(node => {
+      node.setAttribute('aria-describedby', 'elementID');
     });
+
+    await expect(dialog).toHaveAttribute('aria-describedby', 'elementID');
   });
 });
diff --git a/packages/web-components/src/divider/divider.spec.ts b/packages/web-components/src/divider/divider.spec.ts
index 5d61d6601a9cff..9d0de450edaa67 100644
--- a/packages/web-components/src/divider/divider.spec.ts
+++ b/packages/web-components/src/divider/divider.spec.ts
@@ -1,64 +1,44 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Divider } from './divider.js';
+import { DividerAlignContent, DividerAppearance, DividerOrientation, DividerRole } from './divider.options.js';
 
 test.describe('Divider', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-divider--divider'));
+  test.use({ tagName: 'fluent-divider' });
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-divider'));
-  });
-
-  test('should set a default `role` attribute of "separator"', async ({ page }) => {
-    const element = page.locator('fluent-divider');
-
-    await page.setContent(/* html */ `
-      <fluent-divider></fluent-divider>
-    `);
+  test('should set a default `role` attribute of "separator"', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.role', 'separator');
   });
 
-  test('should set the `role` attribute equal to the role provided', async ({ page }) => {
-    const element = page.locator('fluent-divider');
-
-    await page.setContent(/* html */ `
-      <fluent-divider role="presentation"></fluent-divider>
-    `);
-
-    await expect(element).toHaveJSProperty('elementInternals.role', 'presentation');
+  test('should set the internal `role` property to match the `role` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Divider) => {
-      node.role = 'separator';
-    });
+    for (const role of Object.values(DividerRole)) {
+      await test.step(`role="${role}"`, async () => {
+        await fastPage.setTemplate({ attributes: { role } });
 
-    await expect(element).toHaveJSProperty('elementInternals.role', 'separator');
+        await expect(element).toHaveJSProperty('elementInternals.role', role);
+      });
+    }
   });
 
-  test('should set the `aria-orientation` attribute equal to the `orientation` value', async ({ page }) => {
-    const element = page.locator('fluent-divider');
-
-    await page.setContent(/* html */ `
-      <fluent-divider orientation="vertical"></fluent-divider>
-    `);
-
-    await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'vertical');
+  test('should set the `aria-orientation` attribute equal to the `orientation` value', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Divider) => {
-      node.orientation = 'horizontal';
-    });
+    for (const orientation of Object.values(DividerOrientation)) {
+      await test.step(`orientation="${orientation}"`, async () => {
+        await fastPage.setTemplate({ attributes: { orientation } });
 
-    await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'horizontal');
+        await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', orientation);
+      });
+    }
   });
 
-  test('should NOT set the `aria-orientation` property equal to `orientation` value if the `role` is presentational', async ({
-    page,
-  }) => {
-    const element = page.locator('fluent-divider');
+  test('should NOT set the `aria-orientation` property when the `role` is "presentation"', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-divider orientation="vertical"></fluent-divider>
-    `);
+    await fastPage.setTemplate({ attributes: { orientation: 'vertical' } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'vertical');
 
@@ -70,12 +50,10 @@ test.describe('Divider', () => {
     await expect(element).not.toHaveJSProperty('elementInternals.ariaOrientation', 'horizontal');
   });
 
-  test('should add a custom state matching the `orientation` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-divider');
+  test('should add a custom state matching the `orientation` attribute when provided', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Divider) => {
-      node.orientation = 'vertical';
-    });
+    await fastPage.setTemplate({ attributes: { orientation: 'vertical' } });
 
     await expect(element).toHaveCustomState('vertical');
 
@@ -88,126 +66,35 @@ test.describe('Divider', () => {
     await expect(element).toHaveCustomState('horizontal');
   });
 
-  test('should initialize to the provided value attribute if set post-connection', async ({ page }) => {
-    const element = page.locator('fluent-divider');
-
-    await page.setContent(/* html */ `
-      <fluent-divider></fluent-divider>
-    `);
-
-    await element.evaluate((node: Divider) => {
-      node.alignContent = 'start';
-    });
-
-    await expect(element).toHaveJSProperty('alignContent', 'start');
-
-    await element.evaluate((node: Divider) => {
-      node.alignContent = 'center';
-    });
-
-    await expect(element).toHaveJSProperty('alignContent', 'center');
-
-    await element.evaluate((node: Divider) => {
-      node.alignContent = 'end';
-    });
-
-    await expect(element).toHaveJSProperty('alignContent', 'end');
-
-    await element.evaluate((node: Divider) => {
-      node.appearance = undefined;
-    });
-
-    await expect(element).not.toHaveJSProperty('appearance', 'default');
-
-    await element.evaluate((node: Divider) => {
-      node.appearance = 'strong';
-    });
-
-    await expect(element).toHaveJSProperty('appearance', 'strong');
-
-    await element.evaluate((node: Divider) => {
-      node.appearance = 'brand';
-    });
-
-    await expect(element).toHaveJSProperty('appearance', 'brand');
-    await element.evaluate((node: Divider) => {
-      node.appearance = 'subtle';
-    });
-
-    await expect(element).toHaveJSProperty('appearance', 'subtle');
-
-    await element.evaluate((node: Divider) => {
-      node.inset = true;
-    });
-
-    await expect(element).toHaveJSProperty('inset', true);
-  });
-
-  test('should add a custom state matching the `appearance` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-divider');
-
-    await element.evaluate((node: Divider) => {
-      node.appearance = 'strong';
-    });
-
-    await expect(element).toHaveCustomState('strong');
-
-    await element.evaluate((node: Divider) => {
-      node.appearance = 'brand';
-    });
-
-    await expect(element).not.toHaveCustomState('strong');
-
-    await expect(element).toHaveCustomState('brand');
-
-    await element.evaluate((node: Divider) => {
-      node.appearance = 'subtle';
-    });
-
-    await expect(element).not.toHaveCustomState('brand');
-
-    await expect(element).toHaveCustomState('subtle');
-  });
-
-  test('should add a custom state of `inset` when the value is true', async ({ page }) => {
-    const element = page.locator('fluent-divider');
-
-    await element.evaluate((node: Divider) => {
-      node.inset = true;
-    });
-
-    await expect(element).toHaveCustomState('inset');
+  test('should initialize to the provided value attribute if set post-connection', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Divider) => {
-      node.inset = false;
-    });
+    for (const alignment of Object.values(DividerAlignContent)) {
+      await test.step(`alignContent="${alignment}"`, async () => {
+        await fastPage.setTemplate({ attributes: { 'align-content': alignment } });
 
-    await expect(element).not.toHaveCustomState('inset');
-  });
+        await expect(element).toHaveJSProperty('alignContent', alignment);
 
-  test('should add a custom state matching the `align-content` attribute value when provided', async ({ page }) => {
-    const element = page.locator('fluent-divider');
+        await expect(element).toHaveCustomState(`align-${alignment}`);
+      });
+    }
 
-    await element.evaluate((node: Divider) => {
-      node.alignContent = 'start';
-    });
+    for (const appearance of Object.values(DividerAppearance)) {
+      await test.step(`appearance="${appearance}"`, async () => {
+        await fastPage.setTemplate({ attributes: { appearance } });
 
-    await expect(element).toHaveCustomState('align-start');
+        await expect(element).toHaveJSProperty('appearance', appearance);
 
-    await element.evaluate((node: Divider) => {
-      node.alignContent = 'end';
-    });
+        await expect(element).toHaveCustomState(appearance);
+      });
+    }
 
-    await expect(element).not.toHaveCustomState('align-start');
+    await test.step('inset', async () => {
+      await fastPage.setTemplate({ attributes: { inset: true } });
 
-    await expect(element).toHaveCustomState('align-end');
+      await expect(element).toHaveJSProperty('inset', true);
 
-    await element.evaluate((node: Divider) => {
-      node.alignContent = undefined;
+      await expect(element).toHaveCustomState('inset');
     });
-
-    await expect(element).not.toHaveCustomState('align-start');
-
-    await expect(element).not.toHaveCustomState('align-end');
   });
 });
diff --git a/packages/web-components/src/drawer/drawer.spec.ts b/packages/web-components/src/drawer/drawer.spec.ts
index 2d167763e75940..6528bafdd586a7 100644
--- a/packages/web-components/src/drawer/drawer.spec.ts
+++ b/packages/web-components/src/drawer/drawer.spec.ts
@@ -1,90 +1,59 @@
-import { expect, test } from '@playwright/test';
-
-import { fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Drawer } from './drawer.js';
+import { DrawerPosition } from './drawer.options.js';
+import { DrawerSize, DrawerType } from './drawer.options.js';
 
 test.describe('Drawer', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-drawer--drawer'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-drawer'));
+  test.use({
+    tagName: 'fluent-drawer',
   });
 
-  test('should reflect type attribute', async ({ page }) => {
-    const element = page.locator('fluent-drawer');
-
-    await page.setContent(/* html */ `
-        <fluent-drawer type="modal">Drawer</fluent-drawer>
-    `);
+  for (const type of Object.values(DrawerType)) {
+    test(`should set the \`type\` property to "${type}" when set via the \`type\` attribute`, async ({ fastPage }) => {
+      const { element } = fastPage;
 
-    await expect(element).toHaveAttribute('type', 'modal');
-    await expect(element).toHaveJSProperty('type', 'modal');
+      await fastPage.setTemplate({ attributes: { type } });
 
-    await element.evaluate((node: Drawer) => {
-      node.type = 'non-modal';
+      await expect(element).toHaveAttribute('type', type);
+      await expect(element).toHaveJSProperty('type', type);
     });
+  }
 
-    await expect(element).toHaveAttribute('type', 'non-modal');
-  });
-
-  test('should reflect size attribute', async ({ page }) => {
-    const element = page.locator('fluent-drawer');
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-drawer size="small">Drawer</fluent-drawer>
-    `);
+    for (const size of Object.values(DrawerSize)) {
+      await test.step(`should set the \`size\` property to \`${size}\``, async () => {
+        await fastPage.setTemplate({ attributes: { size } });
 
-    await expect(element).toHaveAttribute('size', 'small');
-    await expect(element).toHaveJSProperty('size', 'small');
+        await expect(element).toHaveAttribute('size', size);
 
-    await element.evaluate((node: Drawer) => {
-      node.size = 'medium';
-    });
-
-    await expect(element).toHaveAttribute('size', 'medium');
-    await expect(element).toHaveJSProperty('size', 'medium');
-
-    await element.evaluate((node: Drawer) => {
-      node.size = 'large';
-    });
-
-    await expect(element).toHaveAttribute('size', 'large');
-    await expect(element).toHaveJSProperty('size', 'large');
-
-    await element.evaluate((node: Drawer) => {
-      node.size = 'full';
-    });
-
-    await expect(element).toHaveAttribute('size', 'full');
-    await expect(element).toHaveJSProperty('size', 'full');
+        await expect(element).toHaveJSProperty('size', size);
+      });
+    }
   });
 
-  test('should reflect position attribute', async ({ page }) => {
-    const element = page.locator('fluent-drawer');
+  test('should set the `position` property to match the `position` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-drawer position="start">Drawer</fluent-drawer>
-    `);
+    for (const position of Object.values(DrawerPosition)) {
+      await test.step(`should set the \`position\` property to \`${position}\``, async () => {
+        await fastPage.setTemplate({ attributes: { position } });
 
-    await expect(element).toHaveAttribute('position', 'start');
-    await expect(element).toHaveJSProperty('position', 'start');
+        await expect(element).toHaveAttribute('position', position);
 
-    await element.evaluate((node: Drawer) => {
-      node.position = 'end';
-    });
-
-    await expect(element).toHaveAttribute('position', 'end');
-    await expect(element).toHaveJSProperty('position', 'end');
+        await expect(element).toHaveJSProperty('position', position);
+      });
+    }
   });
 
-  test('should reflect aria-label attribute', async ({ page }) => {
-    const element = page.locator('fluent-drawer');
+  test('should set the `ariaLabel` property when the `aria-label` attribute is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-drawer aria-label="abc">Drawer</fluent-drawer>
-    `);
+    await fastPage.setTemplate({ attributes: { 'aria-label': 'abc' } });
 
     await expect(element).toHaveAttribute('aria-label', 'abc');
+
     await expect(element).toHaveJSProperty('ariaLabel', 'abc');
 
     await element.evaluate((node: Drawer) => {
@@ -92,17 +61,17 @@ test.describe('Drawer', () => {
     });
 
     await expect(element).toHaveAttribute('aria-label', 'def');
+
     await expect(element).toHaveJSProperty('ariaLabel', 'def');
   });
 
-  test('should reflect aria-labelledby attribute', async ({ page }) => {
-    const element = page.locator('fluent-drawer');
+  test('should set the `ariaLabelledby` property when the `aria-labelledby` attribute is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-drawer aria-labelledby="abc">Drawer</fluent-drawer>
-    `);
+    await fastPage.setTemplate({ attributes: { 'aria-labelledby': 'abc' } });
 
     await expect(element).toHaveAttribute('aria-labelledby', 'abc');
+
     await expect(element).toHaveJSProperty('ariaLabelledby', 'abc');
 
     await element.evaluate((node: Drawer) => {
@@ -110,17 +79,19 @@ test.describe('Drawer', () => {
     });
 
     await expect(element).toHaveAttribute('aria-labelledby', 'def');
+
     await expect(element).toHaveJSProperty('ariaLabelledby', 'def');
   });
 
-  test('should reflect aria-describedby attribute', async ({ page }) => {
-    const element = page.locator('fluent-drawer');
+  test('should set the `ariaDescribedby` property when the `aria-describedby` attribute is set', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-drawer aria-describedby="abc">Drawer</fluent-drawer>
-    `);
+    await fastPage.setTemplate({ attributes: { 'aria-describedby': 'abc' } });
 
     await expect(element).toHaveAttribute('aria-describedby', 'abc');
+
     await expect(element).toHaveJSProperty('ariaDescribedby', 'abc');
 
     await element.evaluate((node: Drawer) => {
@@ -128,80 +99,53 @@ test.describe('Drawer', () => {
     });
 
     await expect(element).toHaveAttribute('aria-describedby', 'def');
+
     await expect(element).toHaveJSProperty('ariaDescribedby', 'def');
   });
 
-  test('should emit an event when open property changes', async ({ page }) => {
-    const element = page.locator('fluent-drawer');
-
-    await page.setContent(/* html */ `
-        <fluent-drawer>Drawer</fluent-drawer>
-    `);
-
-    const [wasOpened] = await Promise.all([
-      element.evaluate(
-        node =>
-          new Promise(resolve => {
-            node.addEventListener('toggle', () => resolve(true));
-          }),
-      ),
-      await element.evaluate((node: Drawer) => {
-        node.show();
-      }),
-    ]);
-
-    expect(wasOpened).toBe(true);
-  });
+  test('should emit a `toggle` event when the `show` method is called', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    const wasOpened = element.evaluate(
+      node => new Promise(resolve => node.addEventListener('toggle', () => resolve(true))),
+    );
+
+    await element.evaluate((node: Drawer) => {
+      node.show();
+    });
 
-  test('should emit an event before open property changes', async ({ page }) => {
-    const element = page.locator('fluent-drawer');
-
-    await page.setContent(/* html */ `
-        <fluent-drawer>Drawer</fluent-drawer>
-    `);
-
-    const [wasOpened] = await Promise.all([
-      element.evaluate(
-        node =>
-          new Promise(resolve => {
-            node.addEventListener('beforetoggle', () => resolve(true));
-          }),
-      ),
-      await element.evaluate((node: Drawer) => {
-        node.show();
-      }),
-    ]);
-
-    expect(wasOpened).toBe(true);
+    await expect(wasOpened).resolves.toBe(true);
   });
 
-  test('should fire a `cancel` event when keydown is invoked on the document', async ({ page }) => {
-    const element = page.locator('fluent-drawer');
+  test('should emit a `beforetoggle` event before open property changes', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-drawer type="modal"></fluent-drawer>
-    `);
+    const wasOpened = element.evaluate(
+      node => new Promise(resolve => node.addEventListener('beforetoggle', () => resolve(true))),
+    );
 
     await element.evaluate((node: Drawer) => {
       node.show();
     });
 
-    const [wasDismissed] = await Promise.all([
-      element.evaluate(
-        node =>
-          new Promise(resolve => {
-            node.addEventListener('cancel', () => resolve(true));
-          }),
-      ),
-      element.evaluate(node => {
-        node.dispatchEvent(
-          new Event('cancel', {
-            key: 'Escape',
-          } as EventInit),
-        );
-      }),
-    ]);
-
-    expect(wasDismissed).toBe(true);
+    await expect(wasOpened).resolves.toBe(true);
+  });
+
+  test('should emit a `cancel` event when a `cancel` event is invoked on the document', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await element.evaluate((node: Drawer) => {
+      node.show();
+    });
+
+    const wasDismissed = element.evaluate(
+      node => new Promise(resolve => node.addEventListener('cancel', () => resolve(true))),
+    );
+
+    await element.evaluate(node => {
+      node.dispatchEvent(new Event('cancel', { key: 'Escape' } as EventInit));
+    });
+
+    await expect(wasDismissed).resolves.toBe(true);
   });
 });
diff --git a/packages/web-components/src/field/field.spec.ts b/packages/web-components/src/field/field.spec.ts
index 2637f52870fa98..7e2d370a118ace 100644
--- a/packages/web-components/src/field/field.spec.ts
+++ b/packages/web-components/src/field/field.spec.ts
@@ -1,94 +1,83 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-import type { TextInput } from '../index.js';
+import { expect, test } from '../../test/playwright/index.js';
+import type { TextInput } from '../text-input/text-input.js';
 import type { Field } from './field.js';
 
 test.describe('Field', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-field--field'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-field'));
+  test.use({
+    tagName: 'fluent-field',
+    waitFor: ['fluent-text-input'],
   });
 
-  test('should set the `disabled` state when the slotted input is disabled', async ({ page }) => {
-    const element = page.locator('fluent-field');
+  test('should set the `disabled` state when the slotted input is disabled', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const input = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input slot="input" disabled />
-      </fluent-field>
-    `);
-
-    await test.step('should set the `disabled` state when the input is disabled', async () => {
-      await expect(element).toHaveCustomState('disabled');
+      `,
     });
 
-    await test.step('should remove the `disabled` state when the input is enabled', async () => {
-      await element.evaluate((node: Field) => {
-        node.querySelector('input')?.removeAttribute('disabled');
-      });
+    await expect(element).toHaveCustomState('disabled');
 
-      await expect(element).not.toHaveCustomState('disabled');
+    await input.evaluate(node => {
+      node.removeAttribute('disabled');
     });
+
+    await expect(element).not.toHaveCustomState('disabled');
   });
 
-  test('should set the `required` state when the slotted input is required', async ({ page }) => {
-    const element = page.locator('fluent-field');
+  test('should set the `required` state when the slotted input is required', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const input = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input slot="input" required />
-      </fluent-field>
-    `);
-
-    await test.step('should set the `required` state when the input is required', async () => {
-      await expect(element).toHaveCustomState('required');
+      `,
     });
 
-    await test.step('should remove the `required` state when the input is not required', async () => {
-      await element.evaluate((node: Field) => {
-        node.querySelector('input')?.removeAttribute('required');
-      });
+    await expect(element).toHaveCustomState('required');
 
-      await expect(element).not.toHaveCustomState('required');
+    await input.evaluate((node: Field) => {
+      node.removeAttribute('required');
     });
+
+    await expect(element).not.toHaveCustomState('required');
   });
 
-  test('should set the `readonly` state when the slotted input is read-only', async ({ page }) => {
-    const element = page.locator('fluent-field');
+  test('should set the `readonly` state when the slotted input is read-only', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const input = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input slot="input" readonly />
-      </fluent-field>
-    `);
-
-    await test.step('should set the `readonly` state when the input is readonly', async () => {
-      await expect(element).toHaveCustomState('readonly');
+      `,
     });
 
-    await test.step('should remove the `readonly` state when the input is not readonly', async () => {
-      await element.evaluate((node: Field) => {
-        node.querySelector('input')?.removeAttribute('readonly');
-      });
+    await expect(element).toHaveCustomState('readonly');
 
-      await expect(element).not.toHaveCustomState('readonly');
+    await input.evaluate((node: Field) => {
+      node.removeAttribute('readonly');
     });
+
+    await expect(element).not.toHaveCustomState('readonly');
   });
 
   test('should display the `valueMissing` validation message when the slotted input has the `value-missing` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" required />
         <div id="message" slot="message" flag="value-missing">This field is required.</div>
-      </fluent-field>
-    `);
+        `,
+    });
 
     await input.fill('foo');
 
@@ -108,18 +97,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `patternMismatch` validation message when the slotted input has the `pattern-mismatch` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" pattern="[0-9]+" />
         <div id="message" slot="message" flag="pattern-mismatch">This field must contain only numbers.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await input.fill('123');
 
@@ -139,18 +128,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `tooShort` validation message when the slotted input has the `too-short` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" minlength="3" />
         <div id="message" slot="message" flag="too-short">This field must contain at least 3 characters.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await input.fill('123');
 
@@ -170,18 +159,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `tooLong` validation message when the slotted input has the `too-long` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" maxlength="3" />
         <div id="message" slot="message" flag="too-long">This field must contain at most 3 characters.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await input.fill('123');
 
@@ -210,18 +199,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `rangeUnderflow` validation message when the slotted input has the `range-underflow` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" type="number" min="3" />
         <div id="message" slot="message" flag="range-underflow">This field must contain a number greater than or equal to 3.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await input.fill('3');
 
@@ -241,18 +230,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `rangeOverflow` validation message when the slotted input has the `range-overflow` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" type="number" max="3" />
         <div id="message" slot="message" flag="range-overflow">This field must contain a number less than or equal to 3.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await input.fill('3');
 
@@ -272,18 +261,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `stepMismatch` validation message when the slotted input has the `step-mismatch` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" type="number" step="2" />
         <div id="message" slot="message" flag="step-mismatch">This field must contain a number that is a multiple of 2.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await input.fill('4');
 
@@ -303,18 +292,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `typeMismatch` validation message when the slotted input has the `type-mismatch` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" type="email" />
         <div id="message" slot="message" flag="type-mismatch">This field must be a valid email address.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await input.fill('a@b.c');
 
@@ -334,18 +323,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `customError` validation message when the slotted input has the `custom-error` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" />
         <div id="message" slot="message" flag="custom-error">This field has a custom error.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await input.fill('foo');
 
@@ -375,18 +364,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `badInput` validation message when the slotted input has the `bad-input` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('#input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-text-input id="input" slot="input" type="text"></fluent-text-input>
         <div id="message" slot="message" flag="bad-input">I have no idea how you managed to do this.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await expect(element).not.toHaveCustomState('bad-input');
 
@@ -403,18 +392,18 @@ test.describe('Field', () => {
   });
 
   test('should display the `valid` validation message when the slotted input has the `valid` validity state', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
-    const input = page.locator('#input');
-    const message = page.locator('#message');
+    const { element } = fastPage;
+    const input = element.locator('input');
+    const message = element.locator('#message');
 
-    await page.setContent(/* html */ `
-      <fluent-field>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <input id="input" slot="input" />
         <div required id="message" slot="message" flag="valid">This field is valid.</div>
-      </fluent-field>
-    `);
+      `,
+    });
 
     await input.fill('foo');
 
@@ -426,31 +415,33 @@ test.describe('Field', () => {
   });
 
   test('should arrange the label and input in the correct order when the `labelPosition` property is set to `above`', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-field label-position="above">
+    await fastPage.setTemplate({
+      attributes: { 'label-position': 'above' },
+      innerHTML: /* html */ `
         <label slot="label">Label</label>
         <input slot="input" id="input" />
-      </fluent-field>
-    `);
+      `,
+    });
 
     await expect(element.locator('input:below(label)')).toHaveCount(1);
   });
 
   test('should arrange the label and input in the correct order when the `labelPosition` property is set to `before`', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-field label-position="before">
+    await fastPage.setTemplate({
+      attributes: { 'label-position': 'before' },
+      innerHTML: /* html */ `
         <label slot="label">Label</label>
         <input slot="input" id="input" />
-      </fluent-field>
-    `);
+      `,
+    });
 
     await expect(element.locator('input:right-of(label)')).toHaveCount(1);
 
@@ -462,16 +453,17 @@ test.describe('Field', () => {
   });
 
   test('should arrange the label and input in the correct order when the `labelPosition` property is set to `after`', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-field');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-field label-position="after">
+    await fastPage.setTemplate({
+      attributes: { 'label-position': 'after' },
+      innerHTML: /* html */ `
         <label slot="label">Label</label>
         <input slot="input" id="input" />
-      </fluent-field>
-    `);
+      `,
+    });
 
     await expect(element.locator('input:left-of(label)')).toHaveCount(1);
 
diff --git a/packages/web-components/src/field/field.ts b/packages/web-components/src/field/field.ts
index eab51e895e7017..4b16550e0caa3c 100644
--- a/packages/web-components/src/field/field.ts
+++ b/packages/web-components/src/field/field.ts
@@ -205,7 +205,7 @@ export class BaseField extends FASTElement {
    * @internal
    */
   public setStates() {
-    if (this.$fastController.isConnected) {
+    if (this.elementInternals && this.input) {
       toggleState(this.elementInternals, 'disabled', !!this.input.disabled);
       toggleState(this.elementInternals, 'readonly', !!this.input.readOnly);
       toggleState(this.elementInternals, 'required', !!this.input.required);
diff --git a/packages/web-components/src/image/image.spec.ts b/packages/web-components/src/image/image.spec.ts
index 5ff754a011e079..6d44c8a4042b60 100644
--- a/packages/web-components/src/image/image.spec.ts
+++ b/packages/web-components/src/image/image.spec.ts
@@ -1,38 +1,23 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Image } from './image.js';
+import { ImageFit, ImageShape } from './image.options.js';
 
 test.describe('Image', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-image--image'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-image'));
+  test.use({
+    tagName: 'fluent-image',
+    innerHTML: /* html */ `
+      <img alt="Short image description" src="/300x100.png" />
+    `,
   });
 
-  test('should initialize to the `block` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-image');
-
-    await page.setContent(/* html */ `
-      <fluent-image block>
-        <img alt="Short image description" src="300x100.png" />
-      </fluent-image>
-    `);
-
-    await expect(element).toHaveJSProperty('block', true);
-
-    await element.evaluate((node: Image) => {
-      node.block = false;
-    });
+  test('should set the `block` property to match the `block` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).not.toHaveJSProperty('block', true);
-  });
+    await fastPage.setTemplate({ attributes: { block: true } });
 
-  test('should add a custom state of `block` when a value of true is provided', async ({ page }) => {
-    const element = page.locator('fluent-image');
+    await expect(element).toHaveAttribute('block');
 
-    await element.evaluate((node: Image) => {
-      node.block = true;
-    });
+    await expect(element).toHaveJSProperty('block', true);
 
     await expect(element).toHaveCustomState('block');
 
@@ -40,33 +25,21 @@ test.describe('Image', () => {
       node.block = false;
     });
 
-    await expect(element).not.toHaveCustomState('block');
-  });
-
-  test('should initialize to the `bordered` attribute', async ({ page }) => {
-    const element = page.locator('fluent-image');
+    await expect(element).not.toHaveAttribute('block');
 
-    await page.setContent(/* html */ `
-      <fluent-image bordered>
-        <img alt="Short image description" src="300x100.png" />
-      </fluent-image>
-    `);
+    await expect(element).not.toHaveJSProperty('block', true);
 
-    await expect(element).toHaveJSProperty('bordered', true);
+    await expect(element).not.toHaveCustomState('block');
+  });
 
-    await element.evaluate((node: Image) => {
-      node.bordered = undefined;
-    });
+  test('should set the `bordered` property to match the `bordered` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).not.toHaveJSProperty('bordered', true);
-  });
+    await fastPage.setTemplate({ attributes: { bordered: true } });
 
-  test('should add a custom state of `bordered` when a value of true is provided', async ({ page }) => {
-    const element = page.locator('fluent-image');
+    await expect(element).toHaveAttribute('bordered');
 
-    await element.evaluate((node: Image) => {
-      node.bordered = true;
-    });
+    await expect(element).toHaveJSProperty('bordered', true);
 
     await expect(element).toHaveCustomState('bordered');
 
@@ -74,33 +47,21 @@ test.describe('Image', () => {
       node.bordered = false;
     });
 
-    await expect(element).not.toHaveCustomState('bordered');
-  });
-
-  test('should initialize to the `shadow` attribute', async ({ page }) => {
-    const element = page.locator('fluent-image');
+    await expect(element).not.toHaveAttribute('bordered');
 
-    await page.setContent(/* html */ `
-      <fluent-image shadow>
-        <img alt="Short image description" src="300x100.png" />
-      </fluent-image>
-    `);
+    await expect(element).toHaveJSProperty('bordered', false);
 
-    await expect(element).toHaveJSProperty('shadow', true);
+    await expect(element).not.toHaveCustomState('bordered');
+  });
 
-    await element.evaluate((node: Image) => {
-      node.shadow = undefined;
-    });
+  test('should set the `shadow` property to match the `shadow` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).not.toHaveJSProperty('shadow', true);
-  });
+    await fastPage.setTemplate({ attributes: { shadow: true } });
 
-  test('should add a custom state of `shadow` when a value of true is provided', async ({ page }) => {
-    const element = page.locator('fluent-image');
+    await expect(element).toHaveAttribute('shadow');
 
-    await element.evaluate((node: Image) => {
-      node.shadow = true;
-    });
+    await expect(element).toHaveJSProperty('shadow', true);
 
     await expect(element).toHaveCustomState('shadow');
 
@@ -108,128 +69,42 @@ test.describe('Image', () => {
       node.shadow = false;
     });
 
-    await expect(element).not.toHaveCustomState('shadow');
-  });
-
-  test('should initialize to the `fit` attribute', async ({ page }) => {
-    const element = page.locator('fluent-image');
-
-    await page.setContent(/* html */ `
-      <fluent-image fit="default">
-        <img alt="Short image description" src="300x100.png" />
-      </fluent-image>
-    `);
-
-    await expect(element).toHaveJSProperty('fit', 'default');
-
-    await element.evaluate((node: Image) => {
-      node.fit = 'none';
-    });
-
-    await expect(element).toHaveJSProperty('fit', 'none');
-
-    await element.evaluate((node: Image) => {
-      node.fit = 'center';
-    });
-
-    await expect(element).toHaveJSProperty('fit', 'center');
-
-    await element.evaluate((node: Image) => {
-      node.fit = 'contain';
-    });
-
-    await expect(element).toHaveJSProperty('fit', 'contain');
-
-    await element.evaluate((node: Image) => {
-      node.fit = 'cover';
-    });
-
-    await expect(element).toHaveJSProperty('fit', 'cover');
-  });
-
-  test('should add a custom state matching the `fit` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-image');
-
-    await element.evaluate((node: Image) => {
-      node.fit = 'contain';
-    });
-
-    await expect(element).toHaveCustomState('fit-contain');
-
-    await element.evaluate((node: Image) => {
-      node.fit = 'none';
-    });
-
-    await expect(element).not.toHaveCustomState('fit-contain');
-
-    await expect(element).toHaveCustomState('fit-none');
-
-    await element.evaluate((node: Image) => {
-      node.fit = 'cover';
-    });
+    await expect(element).not.toHaveAttribute('shadow');
 
-    await expect(element).not.toHaveCustomState('fit-none');
+    await expect(element).toHaveJSProperty('shadow', false);
 
-    await expect(element).toHaveCustomState('fit-cover');
+    await expect(element).not.toHaveCustomState('shadow');
   });
 
-  test('should initialize to the `shape` attribute', async ({ page }) => {
-    const element = page.locator('fluent-image');
-
-    await page.setContent(/* html */ `
-      <fluent-image shape="circular">
-        <img alt="Short image description" src="300x100.png" />
-      </fluent-image>
-    `);
+  test('should set the `fit` property to match the `fit` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).toHaveJSProperty('shape', 'circular');
-
-    await element.evaluate((node: Image) => {
-      node.shape = 'rounded';
-    });
+    for (const fit of Object.values(ImageFit)) {
+      await test.step(`should set the \`fit\` property to "${fit}"`, async () => {
+        await fastPage.setTemplate({ attributes: { fit } });
 
-    await expect(element).toHaveJSProperty('shape', 'rounded');
+        await expect(element).toHaveAttribute('fit', fit);
 
-    await element.evaluate((node: Image) => {
-      node.shape = 'square';
-    });
+        await expect(element).toHaveJSProperty('fit', fit);
 
-    await expect(element).toHaveJSProperty('shape', 'square');
+        await expect(element).toHaveCustomState(`fit-${fit}`);
+      });
+    }
   });
 
-  test('should add a custom state matching the `shape` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-image');
-
-    await element.evaluate((node: Image) => {
-      node.shape = 'circular';
-    });
-
-    await expect(element).toHaveCustomState('circular');
+  test('should set the `shape` property to match the `shape` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Image) => {
-      node.shape = 'rounded';
-    });
-
-    await expect(element).not.toHaveCustomState('circular');
-
-    await expect(element).toHaveCustomState('rounded');
-
-    await element.evaluate((node: Image) => {
-      node.shape = 'square';
-    });
-
-    await expect(element).not.toHaveCustomState('rounded');
-
-    await expect(element).toHaveCustomState('square');
-
-    await element.evaluate((node: Image) => {
-      node.shape = undefined;
-    });
+    for (const shape of Object.values(ImageShape)) {
+      await test.step(`should set the \`shape\` property to "${shape}"`, async () => {
+        await fastPage.setTemplate({ attributes: { shape } });
 
-    await expect(element).not.toHaveCustomState('rounded');
+        await expect(element).toHaveAttribute('shape', shape);
 
-    await expect(element).not.toHaveCustomState('square');
+        await expect(element).toHaveJSProperty('shape', shape);
 
-    await expect(element).not.toHaveCustomState('circular');
+        await expect(element).toHaveCustomState(shape);
+      });
+    }
   });
 });
diff --git a/packages/web-components/src/label/label.spec.ts b/packages/web-components/src/label/label.spec.ts
index 47a2b46e264af8..4785b64d0c6587 100644
--- a/packages/web-components/src/label/label.spec.ts
+++ b/packages/web-components/src/label/label.spec.ts
@@ -1,120 +1,91 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Label } from './label.js';
+import { LabelSize, LabelWeight } from './label.options.js';
 
 test.describe('Label', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-label--default'));
+  test.use({ tagName: 'fluent-label' });
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-label'));
-  });
-
-  test('should reflect size attribute', async ({ page }) => {
-    const element = page.locator('fluent-label');
-
-    await element.evaluate((node: Label) => {
-      node.size = 'small';
-    });
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).toHaveAttribute('size', 'small');
+    for (const size of Object.values(LabelSize)) {
+      await test.step(`should set the \`size\` property to "${size}"`, async () => {
+        await fastPage.setTemplate({ attributes: { size } });
 
-    await expect(element).toHaveJSProperty('size', 'small');
-
-    await expect(element).toHaveCustomState('small');
-
-    await element.evaluate((node: Label) => {
-      node.size = 'medium';
-    });
+        await expect(element).toHaveAttribute('size', size);
 
-    await expect(element).toHaveAttribute('size', 'medium');
+        await expect(element).toHaveJSProperty('size', size);
 
-    await expect(element).toHaveJSProperty('size', 'medium');
-
-    await expect(element).not.toHaveCustomState('small');
-
-    await expect(element).toHaveCustomState('medium');
+        await expect(element).toHaveCustomState(size);
+      });
+    }
+  });
 
-    await element.evaluate((node: Label) => {
-      node.size = 'large';
-    });
+  test('should set the `weight` property to match the `weight` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).toHaveAttribute('size', 'large');
+    for (const weight of Object.values(LabelWeight)) {
+      await test.step(`should set the \`weight\` property to "${weight}"`, async () => {
+        await fastPage.setTemplate({ attributes: { weight } });
 
-    await expect(element).toHaveJSProperty('size', 'large');
+        await expect(element).toHaveAttribute('weight', weight);
 
-    await expect(element).not.toHaveCustomState('medium');
+        await expect(element).toHaveJSProperty('weight', weight);
 
-    await expect(element).toHaveCustomState('large');
+        await expect(element).toHaveCustomState(weight);
+      });
+    }
   });
 
-  test('should reflect weight attribute', async ({ page }) => {
-    const element = page.locator('fluent-label');
+  test('should set the `disabled` property to match the `disabled` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Label) => {
-      node.weight = 'regular';
-    });
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
-    await expect(element).toHaveAttribute('weight', 'regular');
+    await expect(element).toHaveAttribute('disabled');
 
-    await expect(element).toHaveJSProperty('weight', 'regular');
+    await expect(element).toHaveJSProperty('disabled', true);
 
-    await expect(element).toHaveCustomState('regular');
+    await expect(element).toHaveCustomState('disabled');
 
     await element.evaluate((node: Label) => {
-      node.weight = 'semibold';
+      node.disabled = false;
     });
 
-    await expect(element).toHaveAttribute('weight', 'semibold');
-
-    await expect(element).toHaveJSProperty('weight', 'semibold');
+    await expect(element).not.toHaveAttribute('disabled');
 
-    await expect(element).not.toHaveCustomState('regular');
+    await expect(element).toHaveJSProperty('disabled', false);
 
-    await expect(element).toHaveCustomState('semibold');
+    await expect(element).not.toHaveCustomState('disabled');
   });
 
-  test('should reflect disabled attribute', async ({ page }) => {
-    const element = page.locator('fluent-label');
-
-    await page.setContent(/* html */ `
-        <fluent-label disabled>Label</fluent-label>
-    `);
-
-    await expect(element).toHaveAttribute('disabled', '');
-
-    await expect(element).toHaveJSProperty('disabled', true);
-
-    await expect(element).toHaveCustomState('disabled');
-  });
+  test('should set the `required` property to match the `required` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-  test('should reflect required attribute and show asterisk', async ({ page }) => {
-    const element = page.locator('fluent-label');
+    await fastPage.setTemplate({ attributes: { required: true } });
 
-    await page.setContent(/* html */ `
-        <fluent-label required>Label</fluent-label>
-    `);
-
-    const asterisk = element.locator('span.asterisk');
-
-    await expect(element).toHaveAttribute('required', '');
+    await expect(element).toHaveAttribute('required');
 
     await expect(element).toHaveJSProperty('required', true);
 
-    await expect(asterisk).toBeVisible();
-  });
+    await test.step('should display an asterisk when the `required` attribute is set', async () => {
+      const asterisk = element.locator('span.asterisk');
 
-  test('should hide asterisk when required attribute is not set', async ({ page }) => {
-    const element = page.locator('fluent-label');
+      await expect(asterisk).toBeVisible();
+    });
 
-    await page.setContent(/* html */ `
-        <fluent-label>Label</fluent-label>
-    `);
+    await element.evaluate((node: Label) => {
+      node.required = false;
+    });
 
-    const asterisk = element.locator('span.asterisk');
-    await expect(element).not.toHaveAttribute('required', '');
+    await expect(element).not.toHaveAttribute('required');
 
     await expect(element).toHaveJSProperty('required', false);
 
-    await expect(asterisk).toBeHidden();
+    await test.step('should NOT display an asterisk when the `required` attribute is NOT set', async () => {
+      const asterisk = element.locator('span.asterisk');
+
+      await expect(asterisk).toBeHidden();
+    });
   });
 });
diff --git a/packages/web-components/src/link/link.spec.ts b/packages/web-components/src/link/link.spec.ts
index 1092d1f6edf56d..bafd3f290ac2ac 100644
--- a/packages/web-components/src/link/link.spec.ts
+++ b/packages/web-components/src/link/link.spec.ts
@@ -1,9 +1,9 @@
-import { spinalCase } from '@microsoft/fast-web-utilities';
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Link } from './link.js';
+import { LinkAppearance } from './link.options.js';
 
-const proxyAttributes = {
+const attributes = {
+  download: 'download',
   href: 'href',
   ping: 'ping',
   hreflang: 'en-GB',
@@ -13,68 +13,44 @@ const proxyAttributes = {
   type: 'foo',
 };
 
-// Regular Attributes
-const attributes = {
-  appearance: 'subtle',
-  ...proxyAttributes,
-};
-
 test.describe('Link', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-link--appearance'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-link'));
-  });
-
-  for (const [attribute, value] of Object.entries(attributes)) {
-    const attributeSpinalCase = spinalCase(attribute);
-
-    test(`should set the regular attribute: \`${attributeSpinalCase}\` to \`${value}\` on the element`, async ({
-      page,
-    }) => {
-      const element = page.locator('fluent-link');
+  test.use({ tagName: 'fluent-link' });
 
-      await page.setContent(/* html */ `
-        <fluent-link ${attributeSpinalCase}="${value}"></fluent-link>
-      `);
+  test(`should set each property to match its corresponding attribute`, async ({ fastPage }) => {
+    const { element } = fastPage;
+    const anchor = element.locator('a');
 
-      await expect(element).toHaveJSProperty(`${attribute}`, `${value}`);
-    });
-  }
-
-  for (const [attribute, value] of Object.entries(proxyAttributes)) {
-    test(`should set the regular attribute: \`${attribute}\` to \`${value}\` on the internal proxy`, async ({
-      page,
-    }) => {
-      const element = page.locator('fluent-link');
-      const proxy = element.locator('a');
+    for (const [attribute, value] of Object.entries(attributes)) {
+      await test.step(`should set the \`${attribute}\` property to match the \`${attribute}\` attribute`, async () => {
+        await fastPage.setTemplate({ attributes: { [attribute]: value } });
 
-      await page.setContent(/* html */ `
-        <fluent-link ${attribute}="${value}"></fluent-link>
-      `);
+        await expect(element).toHaveAttribute(attribute, value);
 
-      await expect(proxy).toHaveAttribute(`${attribute}`, `${value}`);
-    });
-  }
+        await expect(element).toHaveJSProperty(attribute, value);
+      });
 
-  test('should add a custom state matching the `appearance` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-link');
+      await test.step(`should set the \`${attribute}\` attribute on the internal anchor element`, async () => {
+        await expect(anchor).toHaveAttribute(attribute, value);
+      });
+    }
+  });
 
-    await element.evaluate((node: Link) => {
-      node.appearance = 'subtle';
-    });
+  test('should set the `appearance` property to match the `appearance` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).toHaveCustomState('subtle');
+    for (const appearance of Object.values(LinkAppearance)) {
+      await test.step(appearance, async () => {
+        await fastPage.setTemplate({ attributes: { appearance } });
 
-    await element.evaluate((node: Link) => {
-      node.appearance = undefined;
-    });
+        await expect(element).toHaveJSProperty('appearance', appearance);
 
-    await expect(element).not.toHaveCustomState('subtle');
+        await expect(element).toHaveAttribute('appearance', appearance);
+      });
+    }
   });
 
-  test('should add a custom state of `inline` when true', async ({ page }) => {
-    const element = page.locator('fluent-link');
+  test('should add an "inline" state when the `inline` property is true', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await element.evaluate((node: Link) => {
       node.inline = true;
diff --git a/packages/web-components/src/menu-list/menu-list.spec.ts b/packages/web-components/src/menu-list/menu-list.spec.ts
index a0081bd1901f1f..a48eac4893edd5 100644
--- a/packages/web-components/src/menu-list/menu-list.spec.ts
+++ b/packages/web-components/src/menu-list/menu-list.spec.ts
@@ -1,84 +1,64 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { MenuItem } from '../menu-item/menu-item.js';
 import { MenuItemRole } from '../menu-item/menu-item.options.js';
 
 test.describe('Menu', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-menulist--menu-list'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-menu-list'));
+  test.use({
+    tagName: 'fluent-menu-list',
+    waitFor: ['fluent-menu-item'],
+    innerHTML: /* html */ `
+      <fluent-menu-item>Menu item 1</fluent-menu-item>
+      <fluent-menu-item>Menu item 2</fluent-menu-item>
+      <fluent-menu-item>Menu item 3</fluent-menu-item>
+      <fluent-menu-item>Menu item 4</fluent-menu-item>
+    `,
   });
 
-  test('should have a role of `menu`', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
-
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
-        <fluent-menu-item>Menu item</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+  test('should have a role of `menu`', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.role', 'menu');
   });
 
-  test('should set `tabindex` of the first focusable menu item to 0', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
+  test('should set `tabindex` of the first focusable menu item to 0', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
-        <fluent-menu-item>Menu item</fluent-menu-item>
-        <fluent-menu-item>Menu item</fluent-menu-item>
-      </fluent-menu-list>
-    `);
-
     await expect(menuItems.first()).toHaveAttribute('tabindex', '0');
   });
 
-  test('should NOT set any `tabindex` on non-menu-item elements', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
+  test('should NOT set any `tabindex` on non-menu-item elements', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item>Menu item</fluent-menu-item>
         <div class="divider">Not a menu item</div>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     const divider = element.locator('div.divider');
 
-    expect(await divider.getAttribute('tabindex')).toBeNull();
+    await expect(divider).not.toHaveAttribute('tabindex');
   });
 
-  test('should focus on first menu item when focus is called', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
-    const menuItems = element.locator('fluent-menu-item');
-
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
-        <fluent-menu-item>Menu item</fluent-menu-item>
-        <fluent-menu-item>Menu item</fluent-menu-item>
-      </fluent-menu-list>
-    `);
-
-    await element.waitFor({ state: 'attached' });
+  test('should focus on first menu item when `focus()` is called', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const firstItem = element.locator('fluent-menu-item').first();
 
-    await expect(menuItems.first()).toHaveAttribute('tabindex', '0');
+    await expect(firstItem).toHaveAttribute('tabindex', '0');
 
     await element.evaluate(node => {
       node.focus();
     });
 
-    await expect(menuItems.first()).toBeFocused();
+    await expect(firstItem).toBeFocused();
   });
 
-  test('should not throw when focus is called with no items', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
+  test('should not throw when `focus()` is called with no items', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list></fluent-menu-list>
-    `);
+    await fastPage.setTemplate({ innerHTML: '' });
 
     await element.evaluate(node => {
       node.focus();
@@ -87,10 +67,10 @@ test.describe('Menu', () => {
     await expect(element).not.toBeFocused();
   });
 
-  test('should not throw when focus is called before initialization is complete', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
+  test('should not throw when `focus()` is called before initialization is complete', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent('');
+    await fastPage.setTemplate('');
 
     await page.evaluate(() => {
       const menu = document.createElement('fluent-menu-list');
@@ -103,16 +83,16 @@ test.describe('Menu', () => {
     await expect(element).not.toBeFocused();
   });
 
-  test('should focus disabled items', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
+  test('should focus disabled items', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item disabled>Menu item</fluent-menu-item>
         <fluent-menu-item>Menu item</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     const firstMenuItem = menuItems.first();
 
@@ -127,31 +107,29 @@ test.describe('Menu', () => {
   });
 
   for (const role of Object.values(MenuItemRole)) {
-    test(`should accept elements as focusable child with "${role}" role`, async ({ page }) => {
-      await page.setContent(/* html */ `
-        <fluent-menu-list>
-          <div role="${role}">Menu item</div>
-        </fluent-menu-list>
-      `);
+    test(`should accept elements as focusable child with "${role}" role`, async ({ fastPage, page }) => {
+      await fastPage.setTemplate({
+        innerHTML: /* html */ ` <div role="${role}">Menu item</div> `,
+      });
 
-      await expect(page.getByRole(role as MenuItemRole).first()).toHaveAttribute('tabindex', '0');
+      await expect(page.getByRole(role)).toHaveAttribute('tabindex', '0');
     });
   }
 
-  test('should not navigate to hidden items when changed after connection', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
+  test('should not navigate to hidden items when changed after connection', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item>Menu item 1</fluent-menu-item>
         <fluent-menu-item>Menu item 2</fluent-menu-item>
         <fluent-menu-item>Menu item 3</fluent-menu-item>
         <fluent-menu-item>Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
-    await expect.soft(menuItems).toHaveCount(4);
+    await expect(menuItems).toHaveCount(4);
 
     await menuItems.nth(2).evaluate(node => node.toggleAttribute('hidden'));
 
@@ -194,24 +172,20 @@ test.describe('Menu', () => {
     await expect(menuItems.nth(2)).toBeFocused();
   });
 
-  test('should treat all checkbox menu items as individually selectable items', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
+  test('should treat all checkbox menu items as individually selectable items', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item role="menuitemcheckbox">Menu item 1</fluent-menu-item>
         <fluent-menu-item role="menuitemcheckbox">Menu item 2</fluent-menu-item>
         <fluent-menu-item role="menuitemcheckbox">Menu item 3</fluent-menu-item>
         <fluent-menu-item role="menuitemcheckbox">Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
-
-    const menuItemsCount = await menuItems.count();
-
-    for (let i = 0; i < menuItemsCount; i++) {
-      const item = menuItems.nth(i);
+      `,
+    });
 
+    for (const item of await menuItems.all()) {
       await expect(item).toHaveJSProperty('elementInternals.ariaChecked', 'false');
 
       await item.click();
@@ -225,18 +199,18 @@ test.describe('Menu', () => {
   });
 
   test(`should treat all radio menu items as a radiogroup and limit selection to one item within the group`, async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-menu-list');
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item role="menuitemradio">Menu item 1</fluent-menu-item>
         <fluent-menu-item role="menuitemradio">Menu item 2</fluent-menu-item>
         <fluent-menu-item role="menuitemradio">Menu item 3</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     await menuItems.first().click();
 
@@ -264,20 +238,20 @@ test.describe('Menu', () => {
   });
 
   test('should use elements with `[role="separator"]` to divide radio menu items into different radio groups', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-menu-list');
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item role="menuitemradio">Menu item 1</fluent-menu-item>
         <fluent-menu-item role="menuitemradio">Menu item 2</fluent-menu-item>
         <fluent-divider role="separator"></fluent-divider>
         <fluent-menu-item role="menuitemradio">Menu item 3</fluent-menu-item>
         <fluent-menu-item role="menuitemradio">Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     await test.step('should select the first item in the first group', async () => {
       await menuItems.nth(0).click();
@@ -316,21 +290,10 @@ test.describe('Menu', () => {
     });
   });
 
-  test('should navigate the menu on arrow up/down keys', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
+  test('should navigate the menu on arrow up/down keys', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
-        <fluent-menu-item>Menu item 1</fluent-menu-item>
-        <fluent-menu-item>Menu item 2</fluent-menu-item>
-        <fluent-menu-item>Menu item 3</fluent-menu-item>
-        <fluent-menu-item>Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
-
-    await element.waitFor({ state: 'attached' });
-
     await element.evaluate(node => {
       node.focus();
     });
@@ -353,13 +316,13 @@ test.describe('Menu', () => {
   });
 
   test('should navigate to submenu, close it with escape key, and return focus to the first menu item', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-menu-list');
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item
           >Menu item 1
           <fluent-menu-list slot="submenu">
@@ -368,8 +331,8 @@ test.describe('Menu', () => {
             <fluent-menu-item>Menu item 1.3</fluent-menu-item>
           </fluent-menu-list>
         </fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     await element.first().evaluate(node => {
       node.focus();
@@ -384,18 +347,18 @@ test.describe('Menu', () => {
     await expect(menuItems.first()).toBeFocused();
   });
 
-  test('should not navigate to hidden items when set before connection', async ({ page }) => {
-    const element = page.locator('fluent-menu-list');
+  test('should not navigate to hidden items when set before connection', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item>Menu item 1</fluent-menu-item>
         <fluent-menu-item hidden="hidden">Menu item 2</fluent-menu-item>
         <fluent-menu-item>Menu item 3</fluent-menu-item>
         <fluent-menu-item>Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     await element.evaluate(node => {
       node.focus();
@@ -421,39 +384,30 @@ test.describe('Menu', () => {
   });
 
   test('should set the data-indent attribute to 0 correctly on all MenuItem elements when role of menuitem and not content in start slot', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-menu-list');
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
-        <fluent-menu-item>Menu Item 1</fluent-menu-item>
-        <fluent-menu-item>Menu item 2</fluent-menu-item>
-        <fluent-menu-item>Menu item 3</fluent-menu-item>
-        <fluent-menu-item>Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
-
     for (const item of await menuItems.all()) {
       await expect(item).toHaveAttribute('data-indent', '0');
     }
   });
 
   test('should set the data-indent attribute to 1 correctly on all MenuItem elements when a menuitem in the menu as a role of menuitemcheckbox', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-menu-list');
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item role="menuitemcheckbox"></fluent-menu-item>
         <fluent-menu-item>Menu item 2</fluent-menu-item>
         <fluent-menu-item>Menu item 3</fluent-menu-item>
         <fluent-menu-item>Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     for (const item of await menuItems.all()) {
       await expect(item).toHaveAttribute('data-indent', '1');
@@ -461,19 +415,19 @@ test.describe('Menu', () => {
   });
 
   test('should set the data-indent attribute to 1 correctly on all MenuItem elements when a menuitem in the menu as a role of menuitemradio', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-menu-list');
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item role="menuitemradio"></fluent-menu-item>
         <fluent-menu-item>Menu item 2</fluent-menu-item>
         <fluent-menu-item>Menu item 3</fluent-menu-item>
         <fluent-menu-item>Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     for (const item of await menuItems.all()) {
       await expect(item).toHaveAttribute('data-indent', '1');
@@ -481,13 +435,13 @@ test.describe('Menu', () => {
   });
 
   test('should set the data-indent attribute to 2 correctly on all MenuItem elements when a menuitem in the menu has a role of menuitemcheckbox and content in the start slot', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-menu-list');
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item role="menuitemcheckbox">
           Item 1
           <span slot="start" class="start">Icon</span>
@@ -495,8 +449,8 @@ test.describe('Menu', () => {
         <fluent-menu-item>Menu item 2</fluent-menu-item>
         <fluent-menu-item>Menu item 3</fluent-menu-item>
         <fluent-menu-item>Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     for (const item of await menuItems.all()) {
       await expect(item).toHaveAttribute('data-indent', '2');
@@ -504,19 +458,19 @@ test.describe('Menu', () => {
   });
 
   test('should set the data-indent attribute to 2 correctly on all MenuItem elements when a menuitem in the menu has a role of menuitemradio and content in the start slot', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-menu-list');
+    const { element } = fastPage;
     const menuItems = element.locator('fluent-menu-item');
 
-    await page.setContent(/* html */ `
-      <fluent-menu-list>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-item role="menuitemradio"> Item 1 <span slot="start" class="start">Icon</span> </fluent-menu-item>
         <fluent-menu-item>Menu item 2</fluent-menu-item>
         <fluent-menu-item>Menu item 3</fluent-menu-item>
         <fluent-menu-item>Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
-    `);
+      `,
+    });
 
     for (const item of await menuItems.all()) {
       await expect(item).toHaveAttribute('data-indent', '2');
@@ -524,17 +478,17 @@ test.describe('Menu', () => {
   });
 
   test.describe('`change` event', () => {
-    test('should emit `change` event when `checked` property changed', async ({ page }) => {
-      const element = page.locator('fluent-menu-list');
+    test('should emit `change` event when `checked` property changed', async ({ fastPage }) => {
+      const { element } = fastPage;
       const menuItems = element.locator('fluent-menu-item');
 
-      await page.setContent(/* html */ `
-      <fluent-menu-list>
-        <fluent-menu-item role="menuitemradio">Menu Item 1</fluent-menu-item>
-        <fluent-menu-item>Menu item 2</fluent-menu-item>
-        <fluent-menu-item>Menu item 3</fluent-menu-item>
-        <fluent-menu-item>Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
+      await fastPage.setTemplate(/* html */ `
+        <fluent-menu-list>
+          <fluent-menu-item role="menuitemradio">Menu Item 1</fluent-menu-item>
+          <fluent-menu-item>Menu item 2</fluent-menu-item>
+          <fluent-menu-item>Menu item 3</fluent-menu-item>
+          <fluent-menu-item>Menu item 4</fluent-menu-item>
+        </fluent-menu-list>
       `);
 
       const [wasChanged] = await Promise.all([
@@ -551,17 +505,17 @@ test.describe('Menu', () => {
       expect(wasChanged).toEqual(true);
     });
 
-    test('should emit change event when menu-item checked and unchecked', async ({ page }) => {
-      const element = page.locator('fluent-menu-list');
+    test('should emit change event when menu-item checked and unchecked', async ({ fastPage }) => {
+      const { element } = fastPage;
       const menuItems = element.locator('fluent-menu-item');
 
-      await page.setContent(/* html */ `
-      <fluent-menu-list>
-        <fluent-menu-item role="menuitemradio">Menu Item 1</fluent-menu-item>
-        <fluent-menu-item checked role="menuitemradio">Menu item 2</fluent-menu-item>
-        <fluent-menu-item role="menuitemradio">Menu item 3</fluent-menu-item>
-        <fluent-menu-item role="menuitemradio">Menu item 4</fluent-menu-item>
-      </fluent-menu-list>
+      await fastPage.setTemplate(/* html */ `
+        <fluent-menu-list>
+          <fluent-menu-item role="menuitemradio">Menu Item 1</fluent-menu-item>
+          <fluent-menu-item checked role="menuitemradio">Menu item 2</fluent-menu-item>
+          <fluent-menu-item role="menuitemradio">Menu item 3</fluent-menu-item>
+          <fluent-menu-item role="menuitemradio">Menu item 4</fluent-menu-item>
+        </fluent-menu-list>
       `);
 
       let wasChanged = menuItems.nth(0).evaluate((node: MenuItem) => {
diff --git a/packages/web-components/src/menu/menu.spec.ts b/packages/web-components/src/menu/menu.spec.ts
index da0563f264a5bc..40544fdf1396c8 100644
--- a/packages/web-components/src/menu/menu.spec.ts
+++ b/packages/web-components/src/menu/menu.spec.ts
@@ -1,79 +1,42 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-import type { Menu } from './menu.js';
+import { expect, test } from '../../test/playwright/index.js';
 
 test.describe('Menu', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-menu--default'));
-
-    await page.waitForFunction(() =>
-      Promise.all([
-        customElements.whenDefined('fluent-menu'),
-        customElements.whenDefined('fluent-menu-list'),
-        customElements.whenDefined('fluent-menu-item'),
-        customElements.whenDefined('fluent-menu-button'),
-      ]),
-    );
+  test.use({
+    innerHTML: /* html */ `
+      <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
+      <fluent-menu-list>
+        <fluent-menu-item>Menu item 1</fluent-menu-item>
+        <fluent-menu-item>Menu item 2</fluent-menu-item>
+        <fluent-menu-item>Menu item 3</fluent-menu-item>
+        <fluent-menu-item>Menu item 4</fluent-menu-item>
+      </fluent-menu-list>
+    `,
+    tagName: 'fluent-menu',
+    waitFor: ['fluent-menu-list', 'fluent-menu-item', 'fluent-menu-button'],
   });
 
-  test('should have menu-list be initially hidden', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should have menu-list be initially hidden', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuList = element.locator('fluent-menu-list');
 
-    page.setContent(/* html */ `
-      <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
-
     await expect(menuList).toBeHidden();
   });
 
-  test('should be visible when the button is clicked', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should be visible when the button is clicked', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
     const menuList = element.locator('fluent-menu-list');
 
-    page.setContent(/* html */ `
-      <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
-
     await menuButton.click();
 
     await expect(menuList).toBeVisible();
   });
 
-  test('should be hidden when the button is clicked again', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should be hidden when the button is clicked again', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
     const menuList = element.locator('fluent-menu-list');
 
-    page.setContent(/* html */ `
-      <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
-
     await menuButton.click();
 
     await expect(menuList).toBeVisible();
@@ -83,24 +46,12 @@ test.describe('Menu', () => {
     await expect(menuList).toBeHidden();
   });
 
-  test('should be hidden when an item is clicked', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should be hidden when an item is clicked', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
     const menuList = element.locator('fluent-menu-list');
     const menuItems = menuList.locator('fluent-menu-item');
 
-    page.setContent(/* html */ `
-      <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
-
     await menuButton.click();
 
     await expect(menuList).toBeVisible();
@@ -110,24 +61,12 @@ test.describe('Menu', () => {
     await expect(menuList).toBeHidden();
   });
 
-  test('should close when an item is keyboard clicked', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should close when an item is focused and the enter key is pressed', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
     const menuList = element.locator('fluent-menu-list');
     const menuItems = menuList.locator('fluent-menu-item');
 
-    page.setContent(/* html */ `
-      <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
-
     await menuButton.click();
 
     await expect(menuList).toBeVisible();
@@ -139,115 +78,69 @@ test.describe('Menu', () => {
     await expect(menuList).toBeHidden();
   });
 
-  test('should be hidden when clicked outside', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should close when an item is focused and the escape key is pressed', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
     const menuList = element.locator('fluent-menu-list');
-
-    page.setContent(/* html */ `
-        <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
+    const menuItems = menuList.locator('fluent-menu-item');
 
     await menuButton.click();
 
     await expect(menuList).toBeVisible();
 
-    await page.mouse.click(0, 0);
+    await menuItems.first().focus();
+
+    await page.keyboard.press('Escape');
 
     await expect(menuList).toBeHidden();
   });
 
-  test('should be hidden when the escape key is pressed', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should close when the mouse is clicked outside the menu', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
     const menuList = element.locator('fluent-menu-list');
 
-    page.setContent(/* html */ `
-        <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
-
     await menuButton.click();
 
     await expect(menuList).toBeVisible();
 
-    await page.keyboard.press('Escape');
+    await page.mouse.click(0, 0);
 
     await expect(menuList).toBeHidden();
   });
 
-  test('should be hidden when the escape key is pressed on an item', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should close when the escape key is pressed', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
     const menuList = element.locator('fluent-menu-list');
-    const menuItems = menuList.locator('fluent-menu-item');
-
-    page.setContent(/* html */ `
-        <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
 
     await menuButton.click();
 
     await expect(menuList).toBeVisible();
 
-    await menuItems.first().focus();
-
     await page.keyboard.press('Escape');
 
     await expect(menuList).toBeHidden();
   });
 
-  test('should open on hover when openOnHover is true', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should NOT open on hover when the `openOnHover` property is false', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
     const menuList = element.locator('fluent-menu-list');
 
-    page.setContent(/* html */ `
-        <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
-
     await expect(menuList).toBeHidden();
 
     await menuButton.hover();
 
     await expect(menuList).toBeHidden();
+  });
 
-    await page.mouse.move(0, 0);
+  test('should open on hover when the `openOnHover` property is true', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const menuButton = element.locator('fluent-menu-button');
+    const menuList = element.locator('fluent-menu-list');
 
-    await element.evaluate((x: Menu) => {
-      x.openOnHover = true;
-    });
+    await fastPage.setTemplate({ attributes: { 'open-on-hover': true } });
 
     await expect(menuList).toBeHidden();
 
@@ -256,99 +149,85 @@ test.describe('Menu', () => {
     await expect(menuList).toBeVisible();
   });
 
-  test('should open on context when openOnContext is true', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should NOT open on context when the `openOnContext` property is false', async ({ fastPage }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
     const menuList = element.locator('fluent-menu-list');
 
-    page.setContent(/* html */ `
-        <fluent-menu>
-        <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
-        <fluent-menu-list>
-          <fluent-menu-item>Menu item 1</fluent-menu-item>
-          <fluent-menu-item>Menu item 2</fluent-menu-item>
-          <fluent-menu-item>Menu item 3</fluent-menu-item>
-          <fluent-menu-item>Menu item 4</fluent-menu-item>
-        </fluent-menu-list>
-      </fluent-menu>
-    `);
-
     await expect(menuList).toBeHidden();
 
     await menuButton.click({ button: 'right' });
     await expect(menuList).toBeHidden();
+  });
 
-    await element.evaluate((x: Menu) => {
-      x.openOnContext = true;
-    });
+  test('should open on context when the `openOnContext` property is true', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const menuButton = element.locator('fluent-menu-button');
+    const menuList = element.locator('fluent-menu-list');
+
+    await fastPage.setTemplate({ attributes: { 'open-on-context': true } });
 
     await expect(menuList).toBeHidden();
 
-    await menuButton.dispatchEvent('contextmenu');
+    await menuButton.click({ button: 'right' });
 
     await expect(menuList).toBeVisible();
   });
 
-  // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
-  test.skip('should focus first item after closing a submenu', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should focus the first item when a submenu is closed', async ({ fastPage }) => {
+    const { element } = fastPage;
+
     const menuButton = element.locator('fluent-menu-button');
-    const menuList = element.locator('fluent-menu-list');
+    const menuList = element.locator('fluent-menu-list:not([slot])');
     const menuItems = menuList.locator('fluent-menu-item');
 
-    page.setContent(/* html */ `
-      <fluent-menu>
+    const submenuList = element.locator('fluent-menu-list[slot="submenu"]');
+
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <fluent-menu-button appearance="primary" slot="trigger">Toggle Menu</fluent-menu-button>
         <fluent-menu-list>
           <fluent-menu-item>
-            Item 1
+            Menu item 1
             <fluent-menu-list slot="submenu">
               <fluent-menu-item> Subitem 1 </fluent-menu-item>
               <fluent-menu-item> Subitem 2 </fluent-menu-item>
+              <fluent-menu-item> Subitem 3 </fluent-menu-item>
             </fluent-menu-list>
           </fluent-menu-item>
-
-          <fluent-menu-item role="menuitemcheckbox"> Item 2 </fluent-menu-item>
-          <fluent-menu-item role="menuitemcheckbox"> Item 3 </fluent-menu-item>
-
-          <fluent-divider role="separator" aria-orientation="horizontal" orientation="horizontal"></fluent-divider>
-
+          <fluent-menu-item>Menu item 2</fluent-menu-item>
+          <fluent-menu-item>Menu item 3</fluent-menu-item>
           <fluent-menu-item>Menu item 4</fluent-menu-item>
-          <fluent-menu-item>Menu item 5</fluent-menu-item>
-          <fluent-menu-item>Menu item 6</fluent-menu-item>
-
-          <fluent-menu-item>Menu item 7</fluent-menu-item>
-          <fluent-menu-item>Menu item 8</fluent-menu-item>
         </fluent-menu-list>
-      </fluent-menu>
-    `);
+      `,
+    });
 
     await menuButton.click();
 
-    await expect(menuList.first()).toBeVisible();
+    await expect(menuList).toBeVisible();
 
-    await expect(menuList.last()).toBeHidden();
+    await expect(submenuList).toBeHidden();
 
     await menuItems.first().focus();
 
-    await page.keyboard.press('ArrowRight');
+    await element.press('ArrowRight');
 
-    await expect(menuList.last()).toBeVisible();
+    await expect(submenuList).toBeVisible();
 
-    await page.keyboard.press('ArrowLeft');
+    await element.press('ArrowLeft');
 
-    await expect(menuList.last()).toBeHidden();
+    await expect(submenuList).toBeHidden();
 
-    await expect(menuList.first()).toBeVisible();
+    await expect(menuList).toBeVisible();
 
     await expect(menuItems.first()).toBeFocused();
   });
 
-  test('should focus trigger after menu is closed', async ({ page }) => {
-    const element = page.locator('fluent-menu');
+  test('should focus trigger after menu is closed', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const menuButton = element.locator('fluent-menu-button');
 
-    page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <fluent-menu>
         <fluent-menu-button appearance="primary" slot="trigger" icon-only></fluent-menu-button>
         <fluent-button appearance="primary" slot="primary-action">Primary Action</fluent-menu-button>
diff --git a/packages/web-components/src/message-bar/message-bar.integration.spec.ts b/packages/web-components/src/message-bar/message-bar.integration.spec.ts
deleted file mode 100644
index 3e04a0142dc2e8..00000000000000
--- a/packages/web-components/src/message-bar/message-bar.integration.spec.ts
+++ /dev/null
@@ -1,104 +0,0 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-import type { MessageBar } from './message-bar.js';
-
-test.describe('Message Bar', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-messagebar--default'));
-    await page.waitForFunction(() => customElements.whenDefined('fluent-message-bar'));
-  });
-
-  test('should include a role of status', async ({ page }) => {
-    const element = page.locator('fluent-message-bar');
-
-    await expect(element).toHaveJSProperty('elementInternals.role', 'status');
-  });
-
-  test('should set and retrieve the `intent` property correctly', async ({ page }) => {
-    const element = page.locator('fluent-message-bar');
-
-    await element.evaluate((node: MessageBar) => {
-      node.intent = 'success';
-    });
-
-    await expect(element).toHaveJSProperty('intent', 'success');
-    await expect(element).toHaveCustomState('success');
-
-    await element.evaluate((node: MessageBar) => {
-      node.intent = 'warning';
-    });
-
-    await expect(element).toHaveJSProperty('intent', 'warning');
-    await expect(element).not.toHaveCustomState('success');
-    await expect(element).toHaveCustomState('warning');
-
-    await element.evaluate((node: MessageBar) => {
-      node.intent = 'error';
-    });
-
-    await expect(element).toHaveJSProperty('intent', 'error');
-    await expect(element).not.toHaveCustomState('warning');
-    await expect(element).toHaveCustomState('error');
-
-    await element.evaluate((node: MessageBar) => {
-      node.intent = 'info';
-    });
-
-    await expect(element).toHaveJSProperty('intent', 'info');
-    await expect(element).not.toHaveCustomState('error');
-    await expect(element).toHaveCustomState('info');
-  });
-
-  test('should set and retrieve the `shape` property correctly', async ({ page }) => {
-    const element = page.locator('fluent-message-bar');
-
-    await element.evaluate((node: MessageBar) => {
-      node.shape = 'square';
-    });
-
-    await expect(element).toHaveJSProperty('shape', 'square');
-    await expect(element).toHaveCustomState('square');
-
-    await element.evaluate((node: MessageBar) => {
-      node.shape = 'rounded';
-    });
-
-    await expect(element).toHaveJSProperty('shape', 'rounded');
-    await expect(element).not.toHaveCustomState('square');
-    await expect(element).toHaveCustomState('rounded');
-  });
-
-  // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
-  test.skip('should set and retrieve the `layout` property correctly', async ({ page }) => {
-    const element = page.locator('fluent-message-bar');
-
-    await element.evaluate((node: MessageBar) => {
-      node.layout = 'multiline';
-    });
-
-    await expect(element).toHaveJSProperty('layout', 'multiline');
-    expect(await element.evaluate((node: MessageBar) => node.getAttribute('layout'))).toBe('multiline');
-
-    await element.evaluate((node: MessageBar) => {
-      node.layout = 'singleline';
-    });
-
-    await expect(element).toHaveJSProperty('layout', 'singleline');
-    expect(await element.evaluate((node: MessageBar) => node.getAttribute('layout'))).toBe('singleline');
-  });
-
-  test('should emit dismiss event when dismissMessageBar is called', async ({ page }) => {
-    const element = page.locator('fluent-message-bar');
-    await element.evaluate((node: MessageBar) => {
-      node.addEventListener('dismiss', () => {
-        node.setAttribute('dismissed', 'true');
-      });
-    });
-
-    await element.evaluate((node: MessageBar) => {
-      node.dismissMessageBar();
-    });
-
-    await expect(element).toHaveAttribute('dismissed', 'true');
-  });
-});
diff --git a/packages/web-components/src/message-bar/message-bar.spec.ts b/packages/web-components/src/message-bar/message-bar.spec.ts
new file mode 100644
index 00000000000000..5a63b491ac24f2
--- /dev/null
+++ b/packages/web-components/src/message-bar/message-bar.spec.ts
@@ -0,0 +1,73 @@
+import { expect, test } from '../../test/playwright/index.js';
+import type { MessageBar } from './message-bar.js';
+import { MessageBarIntent, MessageBarLayout, MessageBarShape } from './message-bar.options.js';
+
+test.describe('Message Bar', () => {
+  test.use({
+    tagName: 'fluent-message-bar',
+    waitFor: ['fluent-button'],
+  });
+
+  test('should include a role of status', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await expect(element).toHaveJSProperty('elementInternals.role', 'status');
+  });
+
+  test('should set the `intent` property to match the `intent` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const intent of Object.values(MessageBarIntent)) {
+      await test.step(intent, async () => {
+        await fastPage.setTemplate({ attributes: { intent } });
+
+        await expect(element).toHaveJSProperty('intent', intent);
+
+        await expect(element).toHaveAttribute('intent', intent);
+      });
+    }
+  });
+
+  test('should set the `shape` property to match the `shape` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const shape of Object.values(MessageBarShape)) {
+      await test.step(shape, async () => {
+        await fastPage.setTemplate({ attributes: { shape } });
+
+        await expect(element).toHaveJSProperty('shape', shape);
+
+        await expect(element).toHaveAttribute('shape', shape);
+      });
+    }
+  });
+
+  // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
+  test('should set the `layout` property to match the `layout` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const layout of Object.values(MessageBarLayout)) {
+      await test.step(layout, async () => {
+        await fastPage.setTemplate({ attributes: { layout } });
+
+        await expect(element).toHaveJSProperty('layout', layout);
+
+        await expect(element).toHaveAttribute('layout', layout);
+      });
+    }
+  });
+
+  test('should emit a `dismiss` event when `dismissMessageBar()` is called', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    const didDismiss = element.evaluate(
+      node => new Promise(resolve => node.addEventListener('dismiss', () => resolve(true))),
+    );
+
+    await element.evaluate((node: MessageBar) => {
+      node.dismissMessageBar();
+    });
+
+    await expect(didDismiss).resolves.toBe(true);
+  });
+});
diff --git a/packages/web-components/src/progress-bar/progress-bar.spec.ts b/packages/web-components/src/progress-bar/progress-bar.spec.ts
index a39baa7ef63d85..10cd4638fe0249 100644
--- a/packages/web-components/src/progress-bar/progress-bar.spec.ts
+++ b/packages/web-components/src/progress-bar/progress-bar.spec.ts
@@ -1,70 +1,58 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { ProgressBar } from './progress-bar.js';
+import { ProgressBarShape, ProgressBarThickness, ProgressBarValidationState } from './progress-bar.options.js';
 
 test.describe('Progress Bar', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-progressbar--default'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-progress-bar'));
+  test.use({
+    tagName: 'fluent-progress-bar',
   });
 
-  test('should include a role of progressbar', async ({ page }) => {
-    const element = page.locator('fluent-progress-bar');
+  test('should include a role of progressbar', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.role', 'progressbar');
   });
 
-  test('should set the `aria-valuenow` attribute with the `value` property when provided', async ({ page }) => {
-    const element = page.locator('fluent-progress-bar');
+  test('should set the `aria-valuenow` attribute to match the `value` property', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-progress-bar value="50"></fluent-progress-bar>
-    `);
+    await fastPage.setTemplate({ attributes: { value: '50' } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaValueNow', '50');
   });
 
-  test('should set the `aria-valuemin` attribute with the `min` property when provided', async ({ page }) => {
-    const element = page.locator('fluent-progress-bar');
+  test('should set the `aria-valuemin` attribute to match the `min` property', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-progress-bar min="50"></fluent-progress-bar>
-    `);
+    await fastPage.setTemplate({ attributes: { min: '50' } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaValueMin', '50');
   });
 
-  test('should set the `aria-valuemax` attribute with the `max` property when provided', async ({ page }) => {
-    const element = page.locator('fluent-progress-bar');
+  test('should set the `aria-valuemax` attribute to match the `max` property', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-progress-bar max="50"></fluent-progress-bar>
-    `);
+    await fastPage.setTemplate({ attributes: { max: '50' } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaValueMax', '50');
   });
 
-  test('should return the `percentComplete` property as a value between 0 and 100 when `min` and `max` are unset', async ({
-    page,
+  test('should set the `percentComplete` property to match the `value` property as a percentage between 0 and 100 when `min` and `max` are unset', async ({
+    fastPage,
   }) => {
-    const element = page.locator('fluent-progress-bar');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-progress-bar value="50"></fluent-progress-bar>
-    `);
+    await fastPage.setTemplate({ attributes: { value: '50' } });
 
     await expect(element).toHaveJSProperty('percentComplete', 50);
   });
 
-  test('should set the `percentComplete` property to match the current `value` in the range of `min` and `max`', async ({
-    page,
+  test('should set the `percentComplete` property to match the `value` property as a percentage between `min` and `max`', async ({
+    fastPage,
   }) => {
-    const element = page.locator('fluent-progress-bar');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-progress-bar value="0"></fluent-progress-bar>
-    `);
+    await fastPage.setTemplate({ attributes: { value: '0' } });
 
     await expect(element).toHaveJSProperty('percentComplete', 0);
 
@@ -93,76 +81,51 @@ test.describe('Progress Bar', () => {
     await expect(element).toHaveJSProperty('percentComplete', 0);
   });
 
-  test('should set and retrieve the `thickness` property correctly', async ({ page }) => {
-    const element = page.locator('fluent-progress-bar');
+  test('should set the `thickness` property to match the `thickness` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: ProgressBar) => {
-      node.thickness = 'medium';
-    });
+    for (const thickness of Object.values(ProgressBarThickness)) {
+      await test.step(thickness, async () => {
+        await fastPage.setTemplate({ attributes: { thickness } });
 
-    await expect(element).toHaveJSProperty('thickness', 'medium');
-    await expect(element).toHaveCustomState('medium');
+        await expect(element).toHaveAttribute('thickness', thickness);
 
-    await element.evaluate((node: ProgressBar) => {
-      node.thickness = 'large';
-    });
+        await expect(element).toHaveJSProperty('thickness', thickness);
 
-    await expect(element).toHaveJSProperty('thickness', 'large');
-    await expect(element).not.toHaveCustomState('medium');
-    await expect(element).toHaveCustomState('large');
+        await expect(element).toHaveCustomState(thickness);
+      });
+    }
   });
 
-  test('should set and retrieve the `shape` property correctly', async ({ page }) => {
-    const element = page.locator('fluent-progress-bar');
+  test('should set the `shape` property to match the `shape` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: ProgressBar) => {
-      node.shape = 'square';
-    });
+    for (const shape of Object.values(ProgressBarShape)) {
+      await test.step(shape, async () => {
+        await fastPage.setTemplate({ attributes: { shape } });
 
-    await expect(element).toHaveJSProperty('shape', 'square');
-    await expect(element).toHaveCustomState('square');
+        await expect(element).toHaveAttribute('shape', shape);
 
-    await element.evaluate((node: ProgressBar) => {
-      node.shape = 'rounded';
-    });
+        await expect(element).toHaveJSProperty('shape', shape);
 
-    await expect(element).toHaveJSProperty('shape', 'rounded');
-    await expect(element).not.toHaveCustomState('square');
-    await expect(element).toHaveCustomState('rounded');
+        await expect(element).toHaveCustomState(shape);
+      });
+    }
   });
 
-  test('should set and retrieve the `validationState` property correctly', async ({ page }) => {
-    const element = page.locator('fluent-progress-bar');
+  test('should set the `validationState` property to match the `validation-state` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: ProgressBar) => {
-      node.validationState = 'success';
-    });
+    for (const validationState of Object.values(ProgressBarValidationState)) {
+      await test.step(validationState, async () => {
+        await fastPage.setTemplate({ attributes: { 'validation-state': validationState } });
 
-    await expect(element).toHaveJSProperty('validationState', 'success');
-    await expect(element).toHaveCustomState('success');
+        await expect(element).toHaveAttribute('validation-state', validationState);
 
-    await element.evaluate((node: ProgressBar) => {
-      node.validationState = 'warning';
-    });
-
-    await expect(element).toHaveJSProperty('validationState', 'warning');
-    await expect(element).not.toHaveCustomState('success');
-    await expect(element).toHaveCustomState('warning');
-
-    await element.evaluate((node: ProgressBar) => {
-      node.validationState = 'error';
-    });
-
-    await expect(element).toHaveJSProperty('validationState', 'error');
-    await expect(element).not.toHaveCustomState('warning');
-    await expect(element).toHaveCustomState('error');
-
-    await element.evaluate((node: ProgressBar) => {
-      node.validationState = null;
-    });
+        await expect(element).toHaveJSProperty('validationState', validationState);
 
-    await expect(element).not.toHaveCustomState('success');
-    await expect(element).not.toHaveCustomState('warning');
-    await expect(element).not.toHaveCustomState('error');
+        await expect(element).toHaveCustomState(validationState);
+      });
+    }
   });
 });
diff --git a/packages/web-components/src/radio-group/radio-group.spec.ts b/packages/web-components/src/radio-group/radio-group.spec.ts
index c7f8df7215555d..05531bd6eedf21 100644
--- a/packages/web-components/src/radio-group/radio-group.spec.ts
+++ b/packages/web-components/src/radio-group/radio-group.spec.ts
@@ -1,71 +1,57 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Radio } from '../radio/index.js';
 import type { RadioGroup } from './radio-group.js';
 
 test.describe('RadioGroup', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-radiogroup--radio-group'));
-
-    await page.waitForFunction(() =>
-      Promise.all([customElements.whenDefined('fluent-radio'), customElements.whenDefined('fluent-radio-group')]),
-    );
+  test.use({
+    tagName: 'fluent-radio-group',
+    waitFor: ['fluent-radio'],
+    innerHTML: '',
   });
 
-  test('should have a role of `radiogroup`', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
-
-    await page.setContent(/* html */ `
-        <fluent-radio-group></fluent-radio-group>
-    `);
+  test('should have a role of `radiogroup`', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.role', 'radiogroup');
   });
 
-  test('should set a default `aria-orientation` value when `orientation` is not defined', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
-
-    await page.setContent(/* html */ `
-        <fluent-radio-group></fluent-radio-group>
-    `);
+  test('should set a default `aria-orientation` value when `orientation` is not defined', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'horizontal');
   });
 
-  test('should set the `aria-orientation` attribute equal to the `orientation` value', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should set the `aria-orientation` attribute equal to the `orientation` value', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group></fluent-radio-group>
-    `);
+    await test.step('horizontal', async () => {
+      await fastPage.setTemplate({ attributes: { orientation: 'horizontal' } });
 
-    await element.evaluate((node: RadioGroup) => {
-      node.orientation = 'horizontal';
+      await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'horizontal');
     });
 
-    await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'horizontal');
+    await test.step('vertical', async () => {
+      await element.evaluate(node => {
+        node.setAttribute('orientation', 'vertical');
+      });
 
-    await element.evaluate((node: RadioGroup) => {
-      node.orientation = 'vertical';
+      await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'vertical');
     });
-
-    await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'vertical');
   });
 
-  test('should set the `aria-setsize` and `aria-posinset` attributes on the radios', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should set the `aria-setsize` and `aria-posinset` attributes on the radios', async ({ fastPage }) => {
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+      `,
+    });
 
     await expect(radios.nth(0)).toHaveAttribute('aria-posinset', '1');
-
     await expect(radios.nth(0)).toHaveAttribute('aria-setsize', '3');
 
     await expect(radios.nth(1)).toHaveAttribute('aria-posinset', '2');
@@ -75,66 +61,58 @@ test.describe('RadioGroup', () => {
     await expect(radios.nth(2)).toHaveAttribute('aria-setsize', '3');
   });
 
-  test('should NOT modify child radio elements disabled state when the `disabled` attribute is present', async ({
-    page,
+  test('should NOT modify the "disabled" state for child radios when the `disabled` attribute is present', async ({
+    fastPage,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
-
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio></fluent-radio>
-            <fluent-radio disabled></fluent-radio>
-            <fluent-radio></fluent-radio>
-        </fluent-radio-group>
-    `);
-
-    const hasDisabledAttribute = await element.evaluate((node: Element) => node.hasAttribute('disabled'));
-    expect(hasDisabledAttribute).toBe(false);
-
     const firstRadio = radios.nth(0);
     const secondRadio = radios.nth(1);
     const thirdRadio = radios.nth(2);
 
-    const expectedFirst = await firstRadio.evaluate((node: Radio) => node.hasAttribute('disabled'));
-    const expectedSecond = await secondRadio.evaluate((node: Radio) => node.hasAttribute('disabled'));
-    const expectedThird = await thirdRadio.evaluate((node: Radio) => node.hasAttribute('disabled'));
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio></fluent-radio>
+        <fluent-radio disabled></fluent-radio>
+        <fluent-radio></fluent-radio>
+      `,
+    });
+
+    await expect(element).not.toHaveAttribute('disabled');
 
-    expect(await firstRadio.evaluate((radio: Radio) => radio.hasAttribute('disabled'))).toEqual(expectedFirst);
+    await expect(firstRadio).not.toHaveAttribute('disabled');
 
-    expect(await secondRadio.evaluate((radio: Radio) => radio.hasAttribute('disabled'))).toEqual(expectedSecond);
+    await expect(secondRadio).toHaveAttribute('disabled');
 
-    expect(await thirdRadio.evaluate((radio: Radio) => radio.hasAttribute('disabled'))).toEqual(expectedThird);
+    await expect(thirdRadio).not.toHaveAttribute('disabled');
 
     element.evaluate((node: RadioGroup) => {
       node.toggleAttribute('disabled');
     });
 
-    const hasDisabledAttributeAfter = await element.evaluate((node: Element) => node.hasAttribute('disabled'));
-
-    expect(hasDisabledAttributeAfter).toBe(true);
+    await expect(element).toHaveAttribute('disabled');
 
-    expect(await firstRadio.evaluate((radio: Radio) => radio.hasAttribute('disabled'))).toEqual(expectedFirst);
+    await expect(firstRadio).not.toHaveAttribute('disabled');
 
-    expect(await secondRadio.evaluate((radio: Radio) => radio.hasAttribute('disabled'))).toEqual(expectedSecond);
+    await expect(secondRadio).toHaveAttribute('disabled');
 
-    expect(await thirdRadio.evaluate((radio: Radio) => radio.hasAttribute('disabled'))).toEqual(expectedThird);
+    await expect(thirdRadio).not.toHaveAttribute('disabled');
   });
 
-  test('should NOT be focusable when disabled', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should NOT be focusable when disabled', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
     const first = page.locator('button', { hasText: 'First' });
     const second = page.locator('button', { hasText: 'Second' });
 
-    await page.setContent(/* html */ `
-        <button>First</button>
-        <fluent-radio-group disabled>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-        </fluent-radio-group>
-        <button>Second</button>
+    await fastPage.setTemplate(/* html */ `
+      <button>First</button>
+      <fluent-radio-group disabled>
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+      </fluent-radio-group>
+      <button>Second</button>
     `);
 
     await expect(element).toHaveAttribute('disabled');
@@ -148,29 +126,26 @@ test.describe('RadioGroup', () => {
     await expect(second).toBeFocused();
   });
 
-  test('should NOT be focusable via click when disabled', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should NOT be focusable via click when disabled', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
+    const button = page.locator('button', { hasText: 'Button' });
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <button>Button</button>
       <fluent-radio-group>
-          <fluent-radio></fluent-radio>
-          <fluent-radio></fluent-radio>
-          <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
       </fluent-radio-group>
-  `);
-
-    const radioItemsCount = await radios.count();
-    const button = page.locator('button', { hasText: 'Button' });
+    `);
 
     await button.focus();
     await expect(button).toBeFocused();
 
-    for (let i = 0; i < radioItemsCount; i++) {
-      const item = radios.nth(i);
-      await item.click();
-      await expect(item).toBeFocused();
+    for (const radio of await radios.all()) {
+      await radio.click();
+      await expect(radio).toBeFocused();
     }
 
     await element.evaluate(node => node.setAttribute('disabled', ''));
@@ -179,9 +154,7 @@ test.describe('RadioGroup', () => {
 
     expect(isDisabled).toBe(true);
 
-    for (let i = 0; i < radioItemsCount; i++) {
-      const item = radios.nth(i);
-
+    for (const radio of await radios.all()) {
       // Using page.evaluate to manually simulate what would happen with a click event
       const isClickable = await page.evaluate(el => {
         const event = new MouseEvent('click', {
@@ -192,38 +165,40 @@ test.describe('RadioGroup', () => {
 
         // The return value of dispatchEvent will be false if any event listener called preventDefault, or true otherwise.
         return el?.dispatchEvent(event);
-      }, await item.elementHandle());
+      }, await radio.elementHandle());
 
       // Since the radio group is disabled, the click event should be canceled, so we expect isClickable to be false
-      await expect(isClickable).toBe(false);
+      expect(isClickable).toBe(false);
     }
   });
 
-  test('should set tabindex of 0 to a child radio with a matching `value`', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should set tabindex of 0 to a child radio with a matching `value`', async ({ fastPage }) => {
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group value="foo">
-            <fluent-radio value="foo"></fluent-radio>
-            <fluent-radio value="bar"></fluent-radio>
-            <fluent-radio value="baz"></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      attributes: {
+        value: 'foo',
+      },
+      innerHTML: /* html */ `
+        <fluent-radio value="foo"></fluent-radio>
+        <fluent-radio value="bar"></fluent-radio>
+        <fluent-radio value="baz"></fluent-radio>
+      `,
+    });
 
     await expect(radios.nth(0)).toHaveAttribute('tabindex', '0');
   });
 
-  test('should check the first radio with a matching `value`', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should check the first radio with a matching `value`', async ({ fastPage }) => {
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <fluent-radio-group value="bar">
         <fluent-radio id="radio-1" name="radio" value="foo"></fluent-radio>
         <fluent-radio id="radio-2" name="radio" value="bar"></fluent-radio>
         <fluent-radio id="radio-3" name="radio" value="baz"></fluent-radio>
-      </fluent-radio-group>
     `);
 
     await expect(radios.nth(0)).toHaveJSProperty('checked', false);
@@ -234,12 +209,13 @@ test.describe('RadioGroup', () => {
   });
 
   test('radio should remain checked after it is set to disabled and uncheck when a new radio is checked', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <fluent-radio-group>
         <fluent-radio id="radio-1" name="radio" value="foo"></fluent-radio>
         <fluent-radio id="radio-2" name="radio" value="bar"></fluent-radio>
@@ -265,11 +241,11 @@ test.describe('RadioGroup', () => {
     await expect(radios.nth(2)).toHaveJSProperty('checked', true);
   });
 
-  test('should emit `change` event when using keyboard', async ({ page }) => {
+  test('should emit `change` event when using keyboard', async ({ fastPage, page }) => {
     const element = page.locator('fluent-radio-group');
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <fluent-radio-group>
         <fluent-radio id="radio-1" name="radio" value="foo"></fluent-radio>
         <fluent-radio id="radio-2" name="radio" value="bar"></fluent-radio>
@@ -289,18 +265,20 @@ test.describe('RadioGroup', () => {
     await expect(wasChanged).resolves.toBeTruthy();
   });
 
-  // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
-  test.skip('should set a child radio with a matching `value` to `checked` when value changes', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should set a child radio with a matching `value` to `checked` when value changes', async ({ fastPage }) => {
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-            <fluent-radio-group value="foo">
-                <fluent-radio value="foo"></fluent-radio>
-                <fluent-radio value="bar"></fluent-radio>
-                <fluent-radio value="baz"></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      attributes: {
+        value: 'foo',
+      },
+      innerHTML: /* html */ `
+        <fluent-radio value="foo"></fluent-radio>
+        <fluent-radio value="bar"></fluent-radio>
+        <fluent-radio value="baz"></fluent-radio>
+      `,
+    });
 
     await element.evaluate((node: RadioGroup) => {
       node.value = 'bar';
@@ -313,19 +291,18 @@ test.describe('RadioGroup', () => {
     await expect(radios.nth(2)).toHaveJSProperty('checked', false);
   });
 
-  // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
-  test.skip('should mark only the last radio defaulted to checked as checked', async ({ page }) => {
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio value="foo" checked></fluent-radio>
-            <fluent-radio value="bar" checked></fluent-radio>
-            <fluent-radio value="baz" checked></fluent-radio>
-        </fluent-radio-group>
-    `);
-
-    const element = page.locator('fluent-radio-group');
+  test('should mark only the last radio defaulted to checked as checked', async ({ fastPage }) => {
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio value="foo" checked></fluent-radio>
+        <fluent-radio value="bar" checked></fluent-radio>
+        <fluent-radio value="baz" checked></fluent-radio>
+      `,
+    });
+
     expect(await radios.evaluateAll((radios: Radio[]) => radios.filter(radio => radio.checked).length)).toBe(1);
 
     await expect(radios.nth(0)).toHaveJSProperty('checked', false);
@@ -335,17 +312,18 @@ test.describe('RadioGroup', () => {
     await expect(radios.nth(2)).toHaveJSProperty('checked', true);
   });
 
-  test('should mark radio matching value on radio-group over any checked attributes', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should mark radio matching value on radio-group over any checked attributes', async ({ fastPage }) => {
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group value="foo">
-            <fluent-radio value="foo"></fluent-radio>
-            <fluent-radio value="bar" checked></fluent-radio>
-            <fluent-radio value="baz"></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      attributes: { value: 'foo' },
+      innerHTML: /* html */ `
+        <fluent-radio value="foo"></fluent-radio>
+        <fluent-radio value="bar" checked></fluent-radio>
+        <fluent-radio value="baz"></fluent-radio>
+      `,
+    });
 
     expect(await radios.evaluateAll((radios: Radio[]) => radios.filter(radio => radio.checked).length)).toBe(1);
 
@@ -358,18 +336,18 @@ test.describe('RadioGroup', () => {
     await expect(radios.nth(2)).toHaveJSProperty('checked', false);
   });
 
-  test('should allow resetting of elements by the parent form', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should allow resetting of elements by the parent form', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio-group>
-                <fluent-radio name="radio" value="foo"></fluent-radio>
-                <fluent-radio name="radio" value="bar" checked></fluent-radio>
-                <fluent-radio name="radio" value="baz"></fluent-radio>
-            </fluent-radio-group>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio-group>
+          <fluent-radio name="radio" value="foo"></fluent-radio>
+          <fluent-radio name="radio" value="bar" checked></fluent-radio>
+          <fluent-radio name="radio" value="baz"></fluent-radio>
+        </fluent-radio-group>
+      </form>
     `);
 
     const form = page.locator('form');
@@ -399,17 +377,17 @@ test.describe('RadioGroup', () => {
     await expect(radios.nth(2)).toHaveJSProperty('checked', false);
   });
 
-  test('should focus the first radio when the radio group is focused', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
+  test('should focus the first radio when the radio group is focused', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+      `,
+    });
 
     await page.keyboard.press('Tab');
 
@@ -417,18 +395,19 @@ test.describe('RadioGroup', () => {
   });
 
   test('should focus the second radio when the radio group is focused and the first radio is disabled', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio disabled></fluent-radio>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio disabled></fluent-radio>
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+      `,
+    });
 
     await page.keyboard.press('Tab');
 
@@ -436,34 +415,38 @@ test.describe('RadioGroup', () => {
   });
 
   test('should focus the third radio when the radio group is focused and the first two radios are disabled', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio disabled></fluent-radio>
-            <fluent-radio disabled></fluent-radio>
-            <fluent-radio></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio disabled></fluent-radio>
+        <fluent-radio disabled></fluent-radio>
+        <fluent-radio></fluent-radio>
+      `,
+    });
 
     await page.keyboard.press('Tab');
 
     await expect(radios.nth(2)).toBeFocused();
   });
 
-  test('should NOT focus any radio when the radio group is focused and all radios are disabled', async ({ page }) => {
-    const element = page.locator('fluent-radio-group');
-
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio disabled></fluent-radio>
-            <fluent-radio disabled></fluent-radio>
-            <fluent-radio disabled></fluent-radio>
-        </fluent-radio-group>
-    `);
+  test('should NOT focus any radio when the radio group is focused and all radios are disabled', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio disabled></fluent-radio>
+        <fluent-radio disabled></fluent-radio>
+        <fluent-radio disabled></fluent-radio>
+      `,
+    });
 
     await page.keyboard.press('Tab');
 
@@ -471,19 +454,20 @@ test.describe('RadioGroup', () => {
   });
 
   // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
-  test.skip('should move focus to the next radio when the radio group is focused and the arrow down key is pressed', async ({
+  test('should move focus to the next radio when the radio group is focused and the arrow down key is pressed', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+      `,
+    });
 
     await page.keyboard.press('Tab');
 
@@ -507,93 +491,100 @@ test.describe('RadioGroup', () => {
   });
 
   test('should adopt the `name` of the radios when every radio has the same `name` and the radio group has no `name` attribute', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-radio-group');
-
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio name="foo"></fluent-radio>
-            <fluent-radio name="foo"></fluent-radio>
-            <fluent-radio name="foo"></fluent-radio>
-        </fluent-radio-group>
-    `);
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio name="foo"></fluent-radio>
+        <fluent-radio name="foo"></fluent-radio>
+        <fluent-radio name="foo"></fluent-radio>
+      `,
+    });
 
     await expect(element).toHaveJSProperty('name', 'foo');
   });
 
   test('should NOT adopt the `name` of the radios when the radios have different `name` attributes', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-radio-group');
-
-    await page.setContent(/* html */ `
-        <fluent-radio-group>
-            <fluent-radio name="foo"></fluent-radio>
-            <fluent-radio name="bar"></fluent-radio>
-            <fluent-radio name="baz"></fluent-radio>
-        </fluent-radio-group>
-    `);
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-radio name="foo"></fluent-radio>
+        <fluent-radio name="bar"></fluent-radio>
+        <fluent-radio name="baz"></fluent-radio>
+      `,
+    });
 
     await expect(element).not.toHaveAttribute('name');
   });
 
   // @FIXME: This test is failing on OSX - https://github.com/microsoft/fluentui/issues/33172
-  test.skip('should set the `name` attribute of the radios to the `name` attribute of the radio group', async ({
-    page,
+  test('should set the `name` attribute of the radios to the `name` attribute of the radio group', async ({
+    fastPage,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group name="foo">
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-            <fluent-radio></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      attributes: { name: 'foo' },
+      innerHTML: /* html */ `
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+        <fluent-radio></fluent-radio>
+      `,
+    });
+
+    for (const radio of await radios.all()) {
+      await expect(radio).toHaveAttribute('name', 'foo');
 
-    expect(await radios.evaluateAll((radios: Radio[]) => radios.every(radio => radio.name === 'foo'))).toBe(true);
+      await expect(radio).toHaveJSProperty('name', 'foo');
+    }
   });
 
   test('should override the `name` attribute of the radios with the `name` attribute of the radio group', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <fluent-radio-group name="foo">
-            <fluent-radio name="bar"></fluent-radio>
-            <fluent-radio name="baz"></fluent-radio>
-            <fluent-radio name="qux"></fluent-radio>
-        </fluent-radio-group>
-    `);
+    await fastPage.setTemplate({
+      attributes: { name: 'foo' },
+      innerHTML: /* html */ `
+        <fluent-radio name="bar"></fluent-radio>
+        <fluent-radio name="baz"></fluent-radio>
+        <fluent-radio name="qux"></fluent-radio>
+      `,
+    });
 
     await expect(element).toHaveAttribute('name', 'foo');
 
-    expect(
-      await radios.evaluateAll((radios: Radio[]) => radios.every(radio => radio.getAttribute('name') === 'foo')),
-    ).toBe(true);
+    for (const radio of await radios.all()) {
+      await expect(radio).toHaveAttribute('name', 'foo');
 
-    expect(await radios.evaluateAll((radios: Radio[]) => radios.every(radio => radio.name === 'foo'))).toBe(true);
+      await expect(radio).toHaveJSProperty('name', 'foo');
+    }
   });
 
   test('should submit the value of the checked radio when the radio group is in a form and the form is submitted', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio-group name="radio">
-                <fluent-radio value="foo"></fluent-radio>
-                <fluent-radio value="bar"></fluent-radio>
-                <fluent-radio value="baz"></fluent-radio>
-            </fluent-radio-group>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio-group name="radio">
+          <fluent-radio value="foo"></fluent-radio>
+          <fluent-radio value="bar"></fluent-radio>
+          <fluent-radio value="baz"></fluent-radio>
+        </fluent-radio-group>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     const button = page.locator('button');
@@ -606,20 +597,21 @@ test.describe('RadioGroup', () => {
   });
 
   test('should NOT submit the value of the checked radio when the radio group is in a form and the form is submitted and the radio group is disabled', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio-group name="radio" disabled>
-                <fluent-radio value="foo"></fluent-radio>
-                <fluent-radio value="bar"></fluent-radio>
-                <fluent-radio value="baz"></fluent-radio>
-            </fluent-radio-group>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio-group name="radio" disabled>
+          <fluent-radio value="foo"></fluent-radio>
+          <fluent-radio value="bar"></fluent-radio>
+          <fluent-radio value="baz"></fluent-radio>
+        </fluent-radio-group>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     const button = page.locator('button');
@@ -632,20 +624,21 @@ test.describe('RadioGroup', () => {
   });
 
   test('should NOT submit the value of the checked radio when the radio group is in a form and the form is submitted and the radio group has no name', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio-group>
-                <fluent-radio value="foo"></fluent-radio>
-                <fluent-radio value="bar"></fluent-radio>
-                <fluent-radio value="baz"></fluent-radio>
-            </fluent-radio-group>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio-group>
+          <fluent-radio value="foo"></fluent-radio>
+          <fluent-radio value="bar"></fluent-radio>
+          <fluent-radio value="baz"></fluent-radio>
+        </fluent-radio-group>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     const button = page.locator('button');
@@ -658,13 +651,14 @@ test.describe('RadioGroup', () => {
   });
 
   test('should NOT submit the value of the checked radio when the radio group is in a form and the form is submitted and the radio group has no radios', async ({
+    fastPage,
     page,
   }) => {
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio-group name="radio" value="foo"></fluent-radio-group>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio-group name="radio" value="foo"></fluent-radio-group>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     const button = page.locator('button');
@@ -675,21 +669,22 @@ test.describe('RadioGroup', () => {
   });
 
   test('should NOT submit the value of the checked radio when the radio group is in a form and the form is submitted and the radio group has no enabled radios', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-radio-group');
+    const { element } = fastPage;
     const radios = element.locator('fluent-radio');
     const button = page.locator('button');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio-group name="radio">
-                <fluent-radio disabled value="foo"></fluent-radio>
-                <fluent-radio disabled value="bar"></fluent-radio>
-                <fluent-radio disabled value="baz"></fluent-radio>
-            </fluent-radio-group>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio-group name="radio">
+          <fluent-radio disabled value="foo"></fluent-radio>
+          <fluent-radio disabled value="bar"></fluent-radio>
+          <fluent-radio disabled value="baz"></fluent-radio>
+        </fluent-radio-group>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     await radios.nth(1).click();
diff --git a/packages/web-components/src/radio/radio.spec.ts b/packages/web-components/src/radio/radio.spec.ts
index 6e8cf6ae074913..c66f05634b45f5 100644
--- a/packages/web-components/src/radio/radio.spec.ts
+++ b/packages/web-components/src/radio/radio.spec.ts
@@ -1,30 +1,17 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Radio } from './radio.js';
 
 test.describe('Radio', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-radio--radio'));
+  test.use({ tagName: 'fluent-radio' });
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-radio'));
-  });
-
-  test('should have a role of `radio`', async ({ page }) => {
-    const element = page.locator('fluent-radio');
-
-    await page.setContent(/* html */ `
-        <fluent-radio>Radio</fluent-radio>
-    `);
+  test('should have a role of `radio`', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.role', 'radio');
   });
 
-  test('should set ARIA attributes to match the state', async ({ page }) => {
-    const element = page.locator('fluent-radio');
-
-    await page.setContent(/* html */ `
-        <fluent-radio>Radio</fluent-radio>
-    `);
+  test('should set ARIA attributes to match the state', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await test.step('ariaChecked', async () => {
       await expect(element).toHaveJSProperty('elementInternals.ariaChecked', 'false');
@@ -51,128 +38,97 @@ test.describe('Radio', () => {
     });
   });
 
-  test('should set a tabindex of 0 on the element', async ({ page }) => {
-    const element = page.locator('fluent-radio');
-
-    await page.setContent(/* html */ `
-        <fluent-radio>Radio</fluent-radio>
-    `);
+  test('should set a `tabindex` of 0 on the element', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveAttribute('tabindex', '0');
   });
 
-  test('should NOT set a tabindex when disabled is `true`', async ({ page }) => {
-    const element = page.locator('fluent-radio');
+  test('should set the tabindex to -1 when disabled is `true`', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-radio disabled></fluent-radio>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
-    await expect(element).not.toHaveAttribute('tabindex', '');
+    await expect(element).toHaveAttribute('tabindex', '-1');
   });
 
-  test('should initialize to the initial value if no value property is set', async ({ page }) => {
-    const element = page.locator('fluent-radio');
-
-    await page.setContent(/* html */ `
-        <fluent-radio>Radio</fluent-radio>
-    `);
+  test('should initialize to the initial value if no value property is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('value', 'on');
 
     await expect(element).toHaveJSProperty('initialValue', 'on');
   });
 
-  test('should initialize to the provided value attribute if set pre-connection', async ({ page }) => {
-    const element = page.locator('fluent-radio');
+  test('should initialize to the provided value attribute if set pre-connection', async ({ fastPage, page }) => {
+    await fastPage.setTemplate('');
 
-    await page.setContent(/* html */ `
-        <fluent-radio>Radio</fluent-radio>
-    `);
+    const value = await page.evaluate(() => {
+      const radio = document.createElement('fluent-radio') as Radio;
+      radio.setAttribute('value', 'foo');
 
-    await element.evaluate((node: Radio) => node.setAttribute('value', 'foo'));
+      return radio.value;
+    });
 
-    await expect(element).toHaveJSProperty('value', 'foo');
+    expect(value).toBe('foo');
   });
 
-  test('should initialize to the provided value attribute if set post-connection', async ({ page }) => {
-    const element = page.locator('fluent-radio');
-
-    await page.setContent(/* html */ `
-        <fluent-radio>Radio</fluent-radio>
-    `);
+  test('should initialize to the provided value attribute if set post-connection', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await element.evaluate((node: Radio) => node.setAttribute('value', 'foo'));
 
     await expect(element).toHaveJSProperty('value', 'foo');
   });
 
-  test('should initialize to the provided value property if set pre-connection', async ({ page }) => {
-    const element = page.locator('fluent-radio');
+  test('should initialize to the provided value property if set pre-connection', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-radio value="foo"></fluent-radio>
-    `);
+    await fastPage.setTemplate({ attributes: { value: 'foo' } });
 
     await expect(element).toHaveJSProperty('value', 'foo');
   });
 
-  test('should fire an event when spacebar is pressed', async ({ page }) => {
-    const element = page.locator('fluent-radio');
+  test('should fire an event when spacebar is pressed', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-radio>Radio</fluent-radio>
-    `);
+    const wasPressed = element.evaluate(
+      node => new Promise(resolve => node.addEventListener('keydown', () => resolve(true))),
+    );
+
+    await element.focus();
 
-    const [wasPressed] = await Promise.all([
-      element.evaluate(
-        (node: Radio) =>
-          new Promise(resolve =>
-            node.addEventListener('keydown', () => resolve(true), {
-              once: true,
-            }),
-          ),
-      ),
-      // FIXME: Playwright's keyboard API is not working as expected.
-      element.evaluate(node => node.dispatchEvent(new KeyboardEvent('keydown', { key: ' ' }))),
-    ]);
-
-    expect(wasPressed).toBeTruthy();
+    await element.press(' ');
+
+    await expect(wasPressed).resolves.toBe(true);
   });
 
-  test('should NOT fire events when clicked', async ({ page }) => {
-    const element = page.locator('fluent-radio');
+  test('should NOT fire events when clicked', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-radio>Radio</fluent-radio>
-    `);
+    const wasNotClicked = await page.evaluate(el => {
+      const event = new KeyboardEvent('click', {
+        bubbles: true,
+        cancelable: true,
+        view: window,
+      });
 
-    const [wasClicked] = await Promise.all([
-      element.evaluate(
-        (node: Radio) =>
-          new Promise(resolve =>
-            node.addEventListener('click', () => resolve(false), {
-              once: true,
-            }),
-          ),
-      ),
-      element.evaluate(node => {
-        node.dispatchEvent(new MouseEvent('click'));
-      }),
-    ]);
-
-    expect(wasClicked).toBeFalsy();
+      // The return value of dispatchEvent will be false if any event listener called preventDefault, or true otherwise.
+      return el?.dispatchEvent(event);
+    }, await element.elementHandle());
+
+    expect(wasNotClicked).toEqual(true);
   });
 
   test.describe('whose parent form has its reset() method invoked', () => {
-    test('should set its checked property to false if the checked attribute is unset', async ({ page }) => {
-      const element = page.locator('fluent-radio');
+    test('should set its checked property to false if the checked attribute is unset', async ({ fastPage, page }) => {
+      const { element } = fastPage;
       const form = page.locator('form');
 
-      await page.setContent(/* html */ `
-          <form>
-              <fluent-radio>Radio</fluent-radio>
-          </form>
+      await fastPage.setTemplate(/* html */ `
+        <form>
+          <fluent-radio>Radio</fluent-radio>
+        </form>
       `);
 
       await element.evaluate((node: Radio) => {
@@ -188,14 +144,14 @@ test.describe('Radio', () => {
       await expect(element).toHaveJSProperty('checked', false);
     });
 
-    test('should set its `checked` property to true if the `checked` attribute is set', async ({ page }) => {
-      const element = page.locator('fluent-radio');
+    test('should set its `checked` property to true if the `checked` attribute is set', async ({ fastPage, page }) => {
+      const { element } = fastPage;
       const form = page.locator('form');
 
-      await page.setContent(/* html */ `
-          <form>
-              <fluent-radio checked></fluent-radio>
-          </form>
+      await fastPage.setTemplate(/* html */ `
+        <form>
+          <fluent-radio checked></fluent-radio>
+        </form>
       `);
 
       await expect(element).toHaveAttribute('checked');
@@ -218,15 +174,16 @@ test.describe('Radio', () => {
     });
 
     test('should put the control into a clean state, where `checked` attribute modifications modify the `checked` property prior to user or programmatic interaction', async ({
+      fastPage,
       page,
     }) => {
-      const element = page.locator('fluent-radio');
+      const { element } = fastPage;
       const form = page.locator('form');
 
-      await page.setContent(/* html */ `
-          <form>
-              <fluent-radio>Radio</fluent-radio>
-          </form>
+      await fastPage.setTemplate(/* html */ `
+        <form>
+          <fluent-radio>Radio</fluent-radio>
+        </form>
       `);
 
       await element.evaluate((node: Radio) => {
@@ -249,14 +206,14 @@ test.describe('Radio', () => {
     });
   });
 
-  test('should set the `checked` property to false if the `checked` attribute is unset', async ({ page }) => {
-    const element = page.locator('fluent-radio');
+  test('should set the `checked` property to false if the `checked` attribute is unset', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio></fluent-radio>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio></fluent-radio>
+      </form>
     `);
 
     await expect(element).toHaveJSProperty('checked', false);
@@ -274,14 +231,14 @@ test.describe('Radio', () => {
     await expect(element).toHaveJSProperty('checked', false);
   });
 
-  test('should set its checked property to true if the checked attribute is set', async ({ page }) => {
-    const element = page.locator('fluent-radio');
+  test('should set its checked property to true if the checked attribute is set', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio></fluent-radio>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio></fluent-radio>
+      </form>
     `);
 
     await expect(element).toHaveJSProperty('checked', false);
@@ -300,15 +257,16 @@ test.describe('Radio', () => {
   });
 
   test('should put the control into a clean state, where `checked` attribute modifications change the `checked` property prior to user or programmatic interaction', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-radio');
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio required></fluent-radio>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio required></fluent-radio>
+      </form>
     `);
 
     await element.evaluate((node: Radio) => {
@@ -325,27 +283,27 @@ test.describe('Radio', () => {
     await expect(element).toHaveJSProperty('checked', false);
 
     await element.evaluate((node: Radio) => {
-      node.setAttribute('checked', '');
+      node.toggleAttribute('checked', true);
     });
 
-    expect(await element.evaluate((node: Radio) => node.value)).toBeTruthy();
+    await expect(element).toHaveJSProperty('checked', true);
   });
 
-  test('should NOT submit the value of the radio when checked', async ({ page }) => {
-    const element = page.locator('fluent-radio');
+  test('should NOT submit the value of the radio when checked', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const submitButton = page.locator('button');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-radio name="radio" value="foo"></fluent-radio>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-radio name="radio" value="foo"></fluent-radio>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     await element.click();
 
     await submitButton.click();
 
-    expect(page.url()).not.toContain('?radio=foo');
+    await expect(page).not.toHaveURL(/\?radio=foo/);
   });
 });
diff --git a/packages/web-components/src/rating-display/rating-display.spec.ts b/packages/web-components/src/rating-display/rating-display.spec.ts
index 8cb709821172c1..3cd1da4c7b8148 100644
--- a/packages/web-components/src/rating-display/rating-display.spec.ts
+++ b/packages/web-components/src/rating-display/rating-display.spec.ts
@@ -1,76 +1,72 @@
-import { type Locator, test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import { RatingDisplaySize } from './rating-display.options.js';
 import type { RatingDisplay } from './rating-display.js';
 
 test.describe('Rating Display', () => {
-  let element: Locator;
-
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-rating-display--default'));
-    await page.waitForFunction(() => customElements.whenDefined('fluent-rating-display'));
-
-    element = page.locator('fluent-rating-display');
+  test.use({
+    tagName: 'fluent-rating-display',
   });
 
-  test('should not set any default attributes and custom states', async ({ page }) => {
+  test('should not set any default attributes and custom states', async ({ fastPage }) => {
+    const { element } = fastPage;
     await expect(element).toBeVisible();
-    await expect(element).not.toHaveAttribute('color');
-    await expect(element).not.toHaveAttribute('compact');
-    await expect(element).not.toHaveAttribute('count');
-    await expect(element).not.toHaveAttribute('icon-view-box');
-    await expect(element).not.toHaveAttribute('max');
-    await expect(element).not.toHaveAttribute('size');
-    await expect(page.locator('.count-label')).toBeHidden();
-
-    expect(await element.evaluate((node: RatingDisplay) => node.color)).toBeUndefined();
-    expect(await element.evaluate((node: RatingDisplay) => node.size)).toBeUndefined();
+    for (const attribute of ['color', 'compact', 'count', 'icon-view-box', 'max', 'size']) {
+      await expect(element).not.toHaveAttribute(attribute);
+    }
+    await expect(element.locator('.count-label')).toBeHidden();
+
+    await expect(element).toHaveJSProperty('color', undefined);
+    await expect(element).toHaveJSProperty('size', undefined);
   });
 
-  test('should set the correct accessibility attributes', async ({ page }) => {
-    await page.setContent(`<fluent-rating-display value="3.5" count="100"></fluent-rating-display>`);
+  test('should set the correct accessibility attributes', async ({ fastPage }) => {
+    const { element } = fastPage;
+    await fastPage.setTemplate({ attributes: { value: '3.5', count: '100' } });
 
     await expect(element).toHaveJSProperty('elementInternals.role', 'img');
-    await expect(page.locator('svg').first()).toHaveAttribute('aria-hidden', 'true');
-    await expect(page.locator('.value-label')).toHaveAttribute('aria-hidden', 'true');
-    await expect(page.locator('.count-label')).toHaveAttribute('aria-hidden', 'true');
+    await expect(element.locator('svg').first()).toHaveAttribute('aria-hidden', 'true');
+    await expect(element.locator('.value-label')).toHaveAttribute('aria-hidden', 'true');
+    await expect(element.locator('.count-label')).toHaveAttribute('aria-hidden', 'true');
   });
 
   test('should display the correct number of filled icons and label text based on the `value` attribute', async ({
-    page,
+    fastPage,
   }) => {
-    await page.setContent(`<fluent-rating-display value="3.5"></fluent-rating-display>`);
+    const { element } = fastPage;
+    await fastPage.setTemplate({ attributes: { value: '3.5' } });
 
     await expect(element).toHaveJSProperty('value', 3.5);
-    await expect(page.locator('.value-label')).toHaveText('3.5');
-    await expect(page.locator('svg[aria-hidden="true"]')).toHaveCount(10);
+    await expect(element.locator('.value-label')).toHaveText('3.5');
+    await expect(element.locator('svg[aria-hidden="true"]')).toHaveCount(10);
 
     // Based on the `value` attribute, the 7th icon should be set as selected
-    await expect(page.locator('svg:nth-child(7 of [aria-hidden="true"])')).toHaveAttribute('selected');
+    await expect(element.locator('svg:nth-child(7 of [aria-hidden="true"])')).toHaveAttribute('selected');
 
     // The first 7 icons should have the default filled color (colorPaletteMarigoldBackground3)
-    for (const icon of await page.locator('svg:nth-child(-n+7 of [aria-hidden="true"])').all()) {
+    for (const icon of await element.locator('svg:nth-child(-n+7 of [aria-hidden="true"])').all()) {
       await expect(icon).toHaveCSS('fill', 'rgb(234, 163, 0)');
     }
 
     // Other icons after the selected icon should have the default unfilled color (colorPaletteMarigoldBackground2)
-    for (const icon of await page.locator('svg:nth-child(n+8 of [aria-hidden="true"])').all()) {
+    for (const icon of await element.locator('svg:nth-child(n+8 of [aria-hidden="true"])').all()) {
       await expect(icon).toHaveCSS('fill', 'rgb(249, 226, 174)');
     }
   });
 
-  test('should use the right icon color based on the `color` attribute', async ({ page }) => {
-    await page.setContent(`<fluent-rating-display value="4"></fluent-rating-display>`);
-
-    expect(await element.evaluate((node: RatingDisplay) => node.color)).toBeUndefined();
+  test('should use the right icon color based on the `color` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const filledIcons = element.locator('svg:nth-child(-n+8 of [aria-hidden="true"])');
+    const unfilledIcons = element.locator('svg:nth-child(n+9 of [aria-hidden="true"])');
+    await fastPage.setTemplate({ attributes: { value: '4' } });
+    await expect(element).toHaveJSProperty('color', undefined);
 
     // Assert correct color for filled icons
-    for (const icon of await page.locator('svg:nth-child(-n+8 of [aria-hidden="true"])').all()) {
+    for (const icon of await filledIcons.all()) {
       await expect(icon).toHaveCSS('fill', 'rgb(234, 163, 0)');
     }
 
     // Assert correct color for unfilled icons
-    for (const icon of await page.locator('svg:nth-child(n+9 of [aria-hidden="true"])').all()) {
+    for (const icon of await unfilledIcons.all()) {
       await expect(icon).toHaveCSS('fill', 'rgb(249, 226, 174)');
     }
 
@@ -78,14 +74,14 @@ test.describe('Rating Display', () => {
       node.color = 'brand';
     });
 
-    expect(await element.evaluate((node: RatingDisplay) => node.color)).toBe('brand');
+    await expect(element).toHaveJSProperty('color', 'brand');
     await expect(element).toHaveCustomState('brand');
 
-    for (const icon of await page.locator('svg:nth-child(-n+8 of [aria-hidden="true"])').all()) {
+    for (const icon of await filledIcons.all()) {
       await expect(icon).toHaveCSS('fill', 'rgb(15, 108, 189)');
     }
 
-    for (const icon of await page.locator('svg:nth-child(n+9 of [aria-hidden="true"])').all()) {
+    for (const icon of await unfilledIcons.all()) {
       await expect(icon).toHaveCSS('fill', 'rgb(180, 214, 250)');
     }
 
@@ -93,43 +89,47 @@ test.describe('Rating Display', () => {
       node.color = 'neutral';
     });
 
-    expect(await element.evaluate((node: RatingDisplay) => node.color)).toBe('neutral');
+    await expect(element).toHaveJSProperty('color', 'neutral');
     await expect(element).toHaveCustomState('neutral');
 
-    for (const icon of await page.locator('svg:nth-child(-n+8 of [aria-hidden="true"])').all()) {
+    for (const icon of await filledIcons.all()) {
       await expect(icon).toHaveCSS('fill', 'rgb(36, 36, 36)');
     }
 
-    for (const icon of await page.locator('svg:nth-child(n+9 of [aria-hidden="true"])').all()) {
+    for (const icon of await unfilledIcons.all()) {
       await expect(icon).toHaveCSS('fill', 'rgb(224, 224, 224)');
     }
   });
 
-  test('should display the compact version', async ({ page }) => {
-    await page.setContent(`<fluent-rating-display value="4.5" compact="true"></fluent-rating-display>`);
+  test('should display the compact version', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const svgs = element.locator('svg[aria-hidden="true"]');
+    await fastPage.setTemplate({ attributes: { value: '4.5', compact: 'true' } });
 
     await expect(element).toHaveJSProperty('compact', true);
-    await expect(page.locator('svg[aria-hidden="true"]')).toHaveCount(2);
-    await expect(page.locator('svg[aria-hidden="true"]').last()).toHaveAttribute('selected');
-    await expect(page.locator('.value-label')).toHaveText('4.5');
+    await expect(svgs).toHaveCount(2);
+    await expect(svgs.last()).toHaveAttribute('selected');
+    await expect(element.locator('.value-label')).toHaveText('4.5');
 
-    for (const icon of await page.locator('svg[aria-hidden="true"]').all()) {
+    for (const icon of await svgs.all()) {
       await expect(icon).toHaveCSS('fill', 'rgb(234, 163, 0)');
     }
   });
 
-  test('should display the count text', async ({ page }) => {
-    await page.setContent(`<fluent-rating-display value="3" count="1000"></fluent-rating-display>`);
+  test('should display the count text', async ({ fastPage }) => {
+    const { element } = fastPage;
+    await fastPage.setTemplate({ attributes: { value: '3', count: '1000' } });
 
     await expect(element).toHaveJSProperty('count', 1000);
-    await expect(page.locator('.value-label')).toHaveText('3');
-    await expect(page.locator('.count-label')).toHaveText('1,000');
+    await expect(element.locator('.value-label')).toHaveText('3');
+    await expect(element.locator('.count-label')).toHaveText('1,000');
   });
 
-  test('should set the correct icon `viewBox` based on the `icon-view-box` attribute', async ({ page }) => {
-    await page.setContent(`<fluent-rating-display value="2.2"></fluent-rating-display>`);
+  test('should set the correct icon `viewBox` based on the `icon-view-box` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+    await fastPage.setTemplate({ attributes: { value: '2.2' } });
 
-    const icon: Locator = page.locator('svg[aria-hidden="true"]').last();
+    const icon = element.locator('svg[aria-hidden="true"]').last();
 
     // Should set the default value when the attribute is not provided
     await expect(icon).toHaveAttribute('viewBox', '0 0 20 20');
@@ -141,21 +141,24 @@ test.describe('Rating Display', () => {
     await expect(icon).toHaveAttribute('viewBox', '0 0 12 12');
   });
 
-  test('should display the correct number of icons based on the `max` attribute', async ({ page }) => {
-    await page.setContent(`<fluent-rating-display value="8" max="10"></fluent-rating-display>`);
+  test('should display the correct number of icons based on the `max` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const svgs = element.locator('svg[aria-hidden="true"]');
+    await fastPage.setTemplate({ attributes: { value: '8', max: '10' } });
 
     await expect(element).toHaveJSProperty('max', 10);
-    await expect(page.locator('svg[aria-hidden="true"]')).toHaveCount(20);
-    await expect(page.locator('svg:nth-child(16 of [aria-hidden="true"])')).toHaveAttribute('selected');
+    await expect(svgs).toHaveCount(20);
+    await expect(svgs.nth(15)).toHaveAttribute('selected');
   });
 
-  test('should display the component in the correct size based on the `size` attribute', async ({ page }) => {
-    await page.setContent(`<fluent-rating-display value="1.3"></fluent-rating-display>`);
+  test('should display the component in the correct size based on the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+    const icon = element.locator('svg[aria-hidden="true"]').last();
+    const value = element.locator('.value-label');
 
-    const icon: Locator = page.locator('svg[aria-hidden="true"]').last();
-    const value: Locator = page.locator('.value-label');
+    await fastPage.setTemplate({ attributes: { value: '1.3' } });
 
-    expect(await element.evaluate((node: RatingDisplay) => node.size)).toBeUndefined();
+    await expect(element).toHaveJSProperty('size', undefined);
 
     await expect(icon).toHaveCSS('width', '16px');
     await expect(icon).toHaveCSS('height', '16px');
@@ -167,7 +170,6 @@ test.describe('Rating Display', () => {
       node.size = 'small';
     });
 
-    expect(await element.evaluate((node: RatingDisplay) => node.size)).toBe('small');
     await expect(element).toHaveCustomState('small');
 
     await expect(element).toHaveJSProperty('size', RatingDisplaySize.small);
@@ -181,7 +183,6 @@ test.describe('Rating Display', () => {
       node.size = 'large';
     });
 
-    expect(await element.evaluate((node: RatingDisplay) => node.size)).toBe('large');
     await expect(element).toHaveCustomState('large');
 
     await expect(element).toHaveJSProperty('size', RatingDisplaySize.large);
@@ -192,12 +193,18 @@ test.describe('Rating Display', () => {
     await expect(value).toHaveCSS('margin-inline-start', '6px');
   });
 
-  test('should use custom icons when provided', async ({ page }) => {
-    await page.setContent(
-      `<fluent-rating-display value="4.1"><svg slot="icon"><path d="M10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2Z" /></svg></fluent-rating-display>`,
-    );
+  test('should use custom icons when provided', async ({ fastPage }) => {
+    const { element } = fastPage;
+    await fastPage.setTemplate({
+      attributes: { value: '4.1' },
+      innerHTML: /* html */ `
+        <svg slot="icon">
+          <path d="M10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2Z" />
+        </svg>
+      `,
+    });
 
-    const icon: Locator = page.locator('svg[aria-hidden="true"]').last();
+    const icon = element.locator('svg[aria-hidden="true"]').last();
 
     // Check for <path> as a direct child to verify that the custom icon is being used
     await expect(icon.locator('> path')).toBeVisible();
diff --git a/packages/web-components/src/slider/slider.spec.ts b/packages/web-components/src/slider/slider.spec.ts
index ac63388a34df0a..6b418625873a77 100644
--- a/packages/web-components/src/slider/slider.spec.ts
+++ b/packages/web-components/src/slider/slider.spec.ts
@@ -1,34 +1,23 @@
-import type { Direction } from '@microsoft/fast-web-utilities';
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Slider } from './slider.js';
+import { SliderSize } from './slider.options.js';
 
 test.describe('Slider', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-slider--slider'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-slider'));
+  test.use({
+    tagName: 'fluent-slider',
   });
 
   // Foundation tests
-  test('should have a default role of `slider`', async ({ page }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+  test('should have a default role of `slider`', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.role', 'slider');
   });
 
   test('should have default empty string values if `min`, `max`, and `step` attributes are not set', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('min', '');
 
@@ -37,10 +26,10 @@ test.describe('Slider', () => {
     await expect(element).toHaveJSProperty('step', '');
   });
 
-  test('should reference connected <label> elements', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should reference connected `<label>` elements', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <label for="slider">Label 1</label>
       <fluent-slider id="slider"></fluent-slider>
       <label for="slider">Label 2</label>
@@ -53,96 +42,67 @@ test.describe('Slider', () => {
     expect(await element.evaluate((el: Slider) => el.labels[1].textContent)).toBe('Label 2');
   });
 
-  test('should set a `tabindex` of 0', async ({ page }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+  test('should set a `tabindex` of 0', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveAttribute('tabindex', '0');
   });
 
   test('should set a default `elementInternals.ariaOrientation` when `orientation` is not defined', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'horizontal');
   });
 
-  test('should initialize to the initial value if no value property is set', async ({ page }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+  test('should initialize to the initial value if no value property is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('value', '50');
   });
 
-  test('should NOT set default `elementInternals.ariaDisabled` when `disabled` is not defined', async ({ page }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+  test('should NOT set default `elementInternals.ariaDisabled` when `disabled` is not defined', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.ariaDisabled', 'false');
   });
 
-  test('should set `elementInternals.ariaDisabled` when `disabled` is present', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should set `elementInternals.ariaDisabled` when the `disabled` attribute is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-slider disabled></fluent-slider>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaDisabled', 'true');
   });
 
-  test('should set the `elementInternals.ariaDisabled` when `disabled` value is true', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should set the `elementInternals.ariaDisabled` when `disabled` property is true', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+    await expect(element).toHaveJSProperty('elementInternals.ariaDisabled', 'false');
 
     await element.evaluate((node: Slider) => {
       node.disabled = true;
     });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaDisabled', 'true');
-
-    await element.evaluate((node: Slider) => {
-      node.disabled = false;
-    });
-
-    await expect(element).toHaveJSProperty('elementInternals.ariaDisabled', 'false');
   });
 
-  test('should NOT set a tabindex when `disabled` value is true', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should set a negative `tabindex` when `disabled` is true', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
-    await element.evaluate((node: Slider) => {
-      node.disabled = true;
-    });
-
-    await expect(element).not.toHaveAttribute('tabindex', '0');
+    await expect(element).toHaveAttribute('tabindex', '-1');
   });
 
-  test('should be enabled/disabled by the associated fieldset', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should be enabled/disabled by the associated fieldset', async ({ fastPage, page }) => {
+    const { element } = fastPage;
+    const fieldset = page.locator('fieldset');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form>
         <fieldset>
           <fluent-slider></fluent-slider>
@@ -150,8 +110,6 @@ test.describe('Slider', () => {
       </form>
     `);
 
-    const fieldset = page.locator('fieldset');
-
     await fieldset.evaluate((node: HTMLFieldSetElement) => (node.disabled = true));
 
     // The `disabled` property and attribute should not be affected.
@@ -177,113 +135,67 @@ test.describe('Slider', () => {
     await expect(element).toHaveAttribute('tabindex', '0');
   });
 
-  test('should set `elementInternals.ariaOrientation` equal to the `orientation` value', async ({ page }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
-
-    await element.evaluate((node: Slider) => {
-      node.orientation = 'horizontal';
-    });
+  test('should set `elementInternals.ariaOrientation` to `horizontal` when `orientation` is set to `horizontal`', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    await fastPage.setTemplate({ attributes: { orientation: 'horizontal' } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'horizontal');
-
-    await element.evaluate((node: Slider) => {
-      node.orientation = 'vertical';
-    });
-
-    await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'vertical');
   });
 
-  test('should set direction equal to the `direction` value', async ({ page }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
-
-    await element.evaluate((node: Slider) => {
-      node.direction = 'ltr' as Direction;
-    });
-
-    await expect(element).toHaveJSProperty('direction', 'ltr');
-
-    await element.evaluate((node: Slider) => {
-      node.direction = 'rtl' as Direction;
-    });
+  test('should set `elementInternals.ariaOrientation` to `vertical` when `orientation` is set to `vertical`', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
+    await fastPage.setTemplate({ attributes: { orientation: 'vertical' } });
 
-    await expect(element).toHaveJSProperty('direction', 'rtl');
+    await expect(element).toHaveJSProperty('elementInternals.ariaOrientation', 'vertical');
   });
 
-  test('should set and retrieve the `size` property correctly', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  for (const size of Object.values(SliderSize)) {
+    test(`should set the \`size\` property to \`${size}\` when the \`size\` attribute is set to \`${size}\``, async ({
+      fastPage,
+    }) => {
+      const { element } = fastPage;
 
-    await element.evaluate((node: Slider) => {
-      node.size = 'small';
-    });
+      await fastPage.setTemplate({ attributes: { size } });
 
-    await expect(element).toHaveJSProperty('size', 'small');
+      await expect(element).toHaveJSProperty('size', size);
 
-    await element.evaluate((node: Slider) => {
-      node.size = 'medium';
+      await expect(element).toHaveCustomState(size);
     });
+  }
 
-    await expect(element).toHaveJSProperty('size', 'medium');
-  });
-
-  test('should set `elementInternals.ariaValueNow` with the `value` property when provided', async ({ page }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+  test('should set `elementInternals.ariaValueNow` with the `value` property when provided', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Slider) => {
-      node.value = '8';
-    });
+    await fastPage.setTemplate({ attributes: { value: '8' } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaValueNow', '8');
   });
 
-  test('should set `elementInternals.ariaValueMin` with the `min` property when provided', async ({ page }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+  test('should set `elementInternals.ariaValueMin` with the `min` property when provided', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: Slider) => {
-      node.min = '0';
-    });
+    await fastPage.setTemplate({ attributes: { min: '0' } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaValueMin', '0');
   });
 
   test('should set `elementInternals.ariaValueMax` attribute with the `max` property when provided', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+    const { element } = fastPage;
 
-    await element.evaluate((node: Slider) => {
-      node.max = '75';
-    });
+    await fastPage.setTemplate({ attributes: { max: '75' } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaValueMax', '75');
   });
 
   test.describe('valueAsNumber', () => {
-    test('should allow setting value with number', async ({ page }) => {
-      const element = page.locator('fluent-slider');
-
-      await page.setContent(/* html */ `
-        <fluent-slider></fluent-slider>
-      `);
+    test('should allow setting value with number', async ({ fastPage }) => {
+      const { element } = fastPage;
 
       await element.evaluate((node: Slider) => {
         node.valueAsNumber = 8;
@@ -292,29 +204,19 @@ test.describe('Slider', () => {
       await expect(element).toHaveJSProperty('value', '8');
     });
 
-    test('should allow reading value as number', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should allow reading value as number', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider></fluent-slider>
-      `);
-
-      await element.evaluate((node: Slider) => {
-        node.value = '8';
-      });
+      await fastPage.setTemplate({ attributes: { value: '8' } });
 
       await expect(element).toHaveJSProperty('valueAsNumber', 8);
     });
   });
 
   test('should set `elementInternals.ariaValueText` attribute with the result of the valueTextFormatter() method', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+    const { element } = fastPage;
 
     await element.evaluate((node: Slider) => {
       node.valueTextFormatter = () => 'Seventy Five Years';
@@ -331,12 +233,10 @@ test.describe('Slider', () => {
   });
 
   test.describe('increment and decrement methods', () => {
-    test('should increment the value when the `increment()` method is invoked', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should increment the value when the `increment()` method is invoked', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider min="0" max="100" value="50" step="5"></fluent-slider>
-      `);
+      await fastPage.setTemplate({ attributes: { min: '0', max: '100', value: '50', step: '5' } });
 
       await element.evaluate((node: Slider) => {
         node.increment();
@@ -346,12 +246,10 @@ test.describe('Slider', () => {
       await expect(element).toHaveJSProperty('elementInternals.ariaValueNow', '55');
     });
 
-    test('should decrement the value when the `decrement()` method is invoked', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should decrement the value when the `decrement()` method is invoked', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider min="0" max="100" value="50" step="5"></fluent-slider>
-      `);
+      await fastPage.setTemplate({ attributes: { min: '0', max: '100', value: '50', step: '5' } });
 
       await element.evaluate((node: Slider) => {
         node.decrement();
@@ -362,13 +260,11 @@ test.describe('Slider', () => {
     });
 
     test('should increment the value when the `increment()` method is invoked and step is not provided', async ({
-      page,
+      fastPage,
     }) => {
-      const element = page.locator('fluent-slider');
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider min="0" max="100" value="50"></fluent-slider>
-      `);
+      await fastPage.setTemplate({ attributes: { min: '0', max: '100', value: '50' } });
 
       await element.evaluate((node: Slider) => {
         node.increment();
@@ -379,13 +275,11 @@ test.describe('Slider', () => {
     });
 
     test('should decrement the value when the `decrement()` method is invoked and step is not provided', async ({
-      page,
+      fastPage,
     }) => {
-      const element = page.locator('fluent-slider');
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider min="0" max="100" value="50"></fluent-slider>
-      `);
+      await fastPage.setTemplate({ attributes: { min: '0', max: '100', value: '50' } });
 
       await element.evaluate((node: Slider) => {
         node.decrement();
@@ -396,20 +290,16 @@ test.describe('Slider', () => {
     });
   });
 
-  test('should increase or decrease the slider value on arrow left/right keys', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should increase or decrease the slider value on arrow left/right keys', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form>
         <fluent-slider min="0" max="100"></fluent-slider>
       </form>
     `);
 
-    await element.waitFor({ state: 'attached' });
-
-    await element.evaluate(node => {
-      node.focus();
-    });
+    await element.focus();
 
     await element.evaluate((node: Slider) => {
       node.value = '7';
@@ -426,20 +316,16 @@ test.describe('Slider', () => {
     await expect(element).toHaveJSProperty('value', '7');
   });
 
-  test('should increase or decrease the slider value on arrow up/down keys', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should increase or decrease the slider value on arrow up/down keys', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form>
         <fluent-slider min="0" max="100"></fluent-slider>
       </form>
     `);
 
-    await element.waitFor({ state: 'attached' });
-
-    await element.evaluate(node => {
-      node.focus();
-    });
+    await element.focus();
 
     await element.evaluate((node: Slider) => {
       node.value = '7';
@@ -457,13 +343,11 @@ test.describe('Slider', () => {
   });
 
   test('should constrain and normalize the value between `min` and `max` when the value is out of range', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-slider');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-slider min="0" max="100"></fluent-slider>
-    `);
+    await fastPage.setTemplate({ attributes: { min: '0', max: '100' } });
 
     await element.evaluate((node: Slider) => {
       node.value = '200';
@@ -481,13 +365,11 @@ test.describe('Slider', () => {
   });
 
   test('should return string values for `min`, `max`, and `step` regardless the value types were used to set', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-slider');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-slider min="10" max="100" step="20"></fluent-slider>
-    `);
+    await fastPage.setTemplate({ attributes: { min: '0', max: '100', step: '20' } });
 
     await element.evaluate<void, any>(node => {
       node.min = 20;
@@ -500,12 +382,10 @@ test.describe('Slider', () => {
     await expect(element).toHaveJSProperty('step', '10');
   });
 
-  test('should set to empty strings if `min`, `max`, and `step` to be set as invalid values', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should set to empty strings if `min`, `max`, and `step` to be set as invalid values', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-slider min="10" max="200" step="20"></fluent-slider>
-    `);
+    await fastPage.setTemplate({ attributes: { min: '10', max: '200', step: '20' } });
 
     await element.evaluate<void, any>(node => {
       node.min = undefined;
@@ -518,23 +398,22 @@ test.describe('Slider', () => {
     await expect(element).toHaveJSProperty('step', '');
   });
 
-  test('should initialize to the provided value attribute if set pre-connection', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should initialize to the provided value attribute when set pre-connection', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-slider value="4"></fluent-slider>
-    `);
+    await fastPage.setTemplate({ attributes: { value: '4' } });
 
     await element.waitFor({ state: 'attached' });
 
     await expect(element).toHaveJSProperty('value', '4');
+
     await expect(element).toHaveJSProperty('elementInternals.ariaValueNow', '4');
   });
 
-  test('should initialize to the provided value property if set pre-connection', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should initialize to the provided value property when set pre-connection', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent('');
+    await fastPage.setTemplate('');
 
     await page.evaluate(() => {
       const slider = document.createElement('fluent-slider') as Slider;
@@ -548,12 +427,8 @@ test.describe('Slider', () => {
     await expect(element).toHaveJSProperty('elementInternals.ariaValueNow', '3');
   });
 
-  test('should initialize to the provided value attribute if set post-connection', async ({ page }) => {
-    const element = page.locator('fluent-slider');
-
-    await page.setContent(/* html */ `
-      <fluent-slider></fluent-slider>
-    `);
+  test('should initialize to the provided value attribute when set post-connection', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await element.evaluate((node: Slider) => {
       node.setAttribute('value', '3');
@@ -563,12 +438,10 @@ test.describe('Slider', () => {
     await expect(element).toHaveJSProperty('elementInternals.ariaValueNow', '3');
   });
 
-  test('should update the `stepMultiplier` when the `step` attribute has been updated', async ({ page }) => {
-    const element = page.locator('fluent-slider');
+  test('should update the `stepMultiplier` when the `step` attribute has been updated', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-slider step="2" value="4"></fluent-slider>
-    `);
+    await fastPage.setTemplate({ attributes: { step: '2', value: '4' } });
 
     await element.evaluate((node: Slider) => {
       node.increment();
@@ -585,10 +458,13 @@ test.describe('Slider', () => {
   });
 
   test.describe('when the associated form’s reset() method is invoked', () => {
-    test('should reset its `value` property to the midpoint if no `value` attribute is set', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should reset its `value` property to the midpoint if no `value` attribute is set', async ({
+      fastPage,
+      page,
+    }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
+      await fastPage.setTemplate(/* html */ `
         <form>
           <fluent-slider></fluent-slider>
         </form>
@@ -609,10 +485,13 @@ test.describe('Slider', () => {
       await expect(element).toHaveJSProperty('value', '50');
     });
 
-    test('should reset its `value` property to match the `value` attribute when it is set', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should reset its `value` property to match the `value` attribute when it is set', async ({
+      fastPage,
+      page,
+    }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
+      await fastPage.setTemplate(/* html */ `
         <form>
           <fluent-slider min="0" max="100"></fluent-slider>
         </form>
@@ -639,12 +518,13 @@ test.describe('Slider', () => {
     });
 
     test('should put the control into a clean state, where the value attribute changes the value property prior to user or programmatic interaction', async ({
+      fastPage,
       page,
     }) => {
-      const element = page.locator('fluent-slider');
+      const { element } = fastPage;
       const form = page.locator('form');
 
-      await page.setContent(/* html */ `
+      await fastPage.setTemplate(/* html */ `
         <form>
           <fluent-slider min="0" max="100"></fluent-slider>
         </form>
@@ -675,102 +555,80 @@ test.describe('Slider', () => {
   });
 
   test.describe('`change` event', () => {
-    test('should emit `change` event when `value` property changed', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should emit `change` event when `value` property changed', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider></fluent-slider>
-      `);
+      const wasChanged = element.evaluate(
+        node => new Promise(resolve => node.addEventListener('change', () => resolve(true))),
+      );
 
-      const [wasChanged] = await Promise.all([
-        element.evaluate(
-          node => new Promise(resolve => node.addEventListener('change', () => resolve(true), { once: true })),
-        ),
-        element.evaluate((node: Slider) => {
-          node.value = '10';
-        }),
-      ]);
+      await element.evaluate((node: Slider) => {
+        node.value = '10';
+      });
 
-      expect(wasChanged).toEqual(true);
+      await expect(wasChanged).resolves.toEqual(true);
     });
 
-    test('should emit `change` event if the `value` attribute changed', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should emit `change` event if the `value` attribute changed', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider></fluent-slider>
-      `);
+      const wasChanged = element.evaluate(
+        node => new Promise(resolve => node.addEventListener('change', () => resolve(true))),
+      );
 
-      const [wasChanged] = await Promise.all([
-        element.evaluate(
-          node => new Promise(resolve => node.addEventListener('change', () => resolve(true), { once: true })),
-        ),
-        element.evaluate((node: Slider) => {
-          node.setAttribute('value', '10');
-        }),
-      ]);
+      element.evaluate((node: Slider) => {
+        node.setAttribute('value', '10');
+      });
 
-      expect(wasChanged).toEqual(true);
+      await expect(wasChanged).resolves.toEqual(true);
     });
 
-    test('should emit `change` event if changes on `min` causes `value` change', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should emit `change` event if changes on `min` causes `value` change', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider min="10" value="20" max="30"></fluent-slider>
-      `);
+      await fastPage.setTemplate({ attributes: { min: '10', value: '20', max: '30' } });
+
+      const wasChanged = element.evaluate(
+        node => new Promise(resolve => node.addEventListener('change', () => resolve(true))),
+      );
 
-      const [wasChanged] = await Promise.all([
-        element.evaluate(
-          node => new Promise(resolve => node.addEventListener('change', () => resolve(true), { once: true })),
-        ),
-        element.evaluate((node: Slider) => {
-          node.min = '21';
-        }),
-      ]);
+      await element.evaluate((node: Slider) => {
+        node.min = '21';
+      });
 
-      expect(wasChanged).toEqual(true);
+      await expect(wasChanged).resolves.toEqual(true);
     });
 
-    test('should emit `change` event if changes on `max` causes `value` change', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should emit `change` event if changes on `max` causes `value` change', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider min="10" value="20" max="30"></fluent-slider>
-      `);
+      await fastPage.setTemplate({ attributes: { min: '10', value: '20', max: '30' } });
 
-      const [wasChanged] = await Promise.all([
-        element.evaluate(
-          node => new Promise(resolve => node.addEventListener('change', () => resolve(true), { once: true })),
-        ),
-        element.evaluate((node: Slider) => {
-          node.max = '19';
-        }),
-      ]);
+      const wasChanged = element.evaluate(
+        node => new Promise(resolve => node.addEventListener('change', () => resolve(true))),
+      );
 
-      expect(wasChanged).toEqual(true);
+      await element.evaluate((node: Slider) => {
+        node.max = '19';
+      });
+
+      await expect(wasChanged).resolves.toEqual(true);
     });
 
-    test('should emit `change` event if changes on `step` causes `value` change', async ({ page }) => {
-      const element = page.locator('fluent-slider');
+    test('should emit `change` event if changes on `step` causes `value` change', async ({ fastPage, page }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-slider min="10" value="20" step="10" max="30"></fluent-slider>
-      `);
+      await fastPage.setTemplate({ attributes: { min: '10', value: '20', step: '10', max: '30' } });
+
+      const wasChanged = element.evaluate(
+        node => new Promise(resolve => node.addEventListener('change', () => resolve(true))),
+      );
+
+      await element.evaluate((node: Slider) => {
+        node.step = '11';
+      });
 
-      const [wasChanged] = await Promise.all([
-        element.evaluate(
-          node =>
-            new Promise(resolve => {
-              node.addEventListener('change', () => resolve(true));
-            }),
-        ),
-        element.evaluate((node: Slider) => {
-          node.step = '11';
-        }),
-      ]);
-
-      expect(wasChanged).toEqual(true);
+      await expect(wasChanged).resolves.toEqual(true);
     });
   });
 });
diff --git a/packages/web-components/src/spinner/spinner.spec.ts b/packages/web-components/src/spinner/spinner.spec.ts
index 8e84fef20c3498..6510c6ccff3f73 100644
--- a/packages/web-components/src/spinner/spinner.spec.ts
+++ b/packages/web-components/src/spinner/spinner.spec.ts
@@ -1,58 +1,36 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-import type { Spinner } from './spinner.js';
+import { expect, test } from '../../test/playwright/index.js';
 import { SpinnerAppearance, SpinnerSize } from './spinner.options.js';
 
 test.describe('Spinner', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-spinner--default'));
-
-    await page.waitForFunction(() => customElements.whenDefined('fluent-spinner'));
+  test.use({
+    tagName: 'fluent-spinner',
   });
 
-  for (const thisAppearance of Object.values(SpinnerAppearance)) {
-    test(`should set and retrieve the \`appearance\` property correctly to ${thisAppearance}`, async ({ page }) => {
-      const element = page.locator('fluent-spinner');
-
-      await element.evaluate((node: Spinner, appearance) => {
-        node.appearance = appearance;
-      }, thisAppearance as SpinnerAppearance);
-
-      await expect(element).toHaveJSProperty('appearance', thisAppearance);
-
-      await test.step('should add a custom state matching the `appearance` attribute when provided', async () => {
-        for (const appearance of Object.values(SpinnerAppearance)) {
-          // eslint-disable-next-line playwright/no-conditional-in-test
-          if (appearance === thisAppearance) {
-            await expect(element).toHaveCustomState(appearance);
-          } else {
-            await expect(element).not.toHaveCustomState(appearance);
-          }
-        }
+  test('should set the `appearance` property to match the `appearance` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const appearance of Object.values(SpinnerAppearance)) {
+      await test.step(appearance, async () => {
+        await fastPage.setTemplate({ attributes: { appearance } });
+
+        await expect(element).toHaveJSProperty('appearance', appearance);
+
+        await expect(element).toHaveAttribute('appearance', appearance);
       });
-    });
-  }
-
-  for (const thisSize of Object.values(SpinnerSize)) {
-    test(`should set and retrieve the \`size\` property correctly to ${thisSize}`, async ({ page }) => {
-      const element = page.locator('fluent-spinner');
-
-      await element.evaluate((node: Spinner, size) => {
-        node.size = size;
-      }, thisSize as SpinnerSize);
-
-      await expect(element).toHaveJSProperty('size', thisSize);
-
-      await test.step('should add a custom state matching the `appearance` attribute when provided', async () => {
-        for (const size of Object.values(SpinnerSize)) {
-          // eslint-disable-next-line playwright/no-conditional-in-test
-          if (size === thisSize) {
-            await expect(element).toHaveCustomState(size);
-          } else {
-            await expect(element).not.toHaveCustomState(size);
-          }
-        }
+    }
+  });
+
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const size of Object.values(SpinnerSize)) {
+      await test.step(size, async () => {
+        await fastPage.setTemplate({ attributes: { size } });
+
+        await expect(element).toHaveJSProperty('size', size);
+
+        await expect(element).toHaveAttribute('size', size);
       });
-    });
-  }
+    }
+  });
 });
diff --git a/packages/web-components/src/switch/switch.spec.ts b/packages/web-components/src/switch/switch.spec.ts
index 3b9617428ea86c..08df8fd0568e0d 100644
--- a/packages/web-components/src/switch/switch.spec.ts
+++ b/packages/web-components/src/switch/switch.spec.ts
@@ -1,42 +1,27 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Switch } from './switch.js';
 
 test.describe('Switch', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-switch--switch'));
+  test.use({ tagName: 'fluent-switch' });
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-switch'));
-  });
-
-  test('should have a role of `switch`', async ({ page }) => {
-    const element = page.locator('fluent-switch');
-
-    await page.setContent(/* html */ `
-        <fluent-switch></fluent-switch>
-    `);
+  test('should have a role of `switch`', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.role', 'switch');
   });
 
-  test('should set the `ariaChecked` property to `false` when `checked` is not defined', async ({ page }) => {
-    const element = page.locator('fluent-switch');
-
-    await page.setContent(/* html */ `
-        <fluent-switch></fluent-switch>
-    `);
+  test('should set the `ariaChecked` property to `false` when `checked` is not defined', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).not.toHaveAttribute('checked');
 
     await expect(element).toHaveJSProperty('elementInternals.ariaChecked', 'false');
   });
 
-  test('should set the `ariaChecked` property equal to the `checked` property', async ({ page }) => {
-    const element = page.locator('fluent-switch');
+  test('should set the `ariaChecked` property equal to the `checked` property', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-switch checked></fluent-switch>
-    `);
+    await fastPage.setTemplate({ attributes: { checked: true } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaChecked', 'true');
 
@@ -47,68 +32,48 @@ test.describe('Switch', () => {
     await expect(element).toHaveJSProperty('elementInternals.ariaChecked', 'false');
   });
 
-  test('should NOT set a default `aria-required` value when `required` is not defined', async ({ page }) => {
-    const element = page.locator('fluent-switch');
-
-    await page.setContent(/* html */ `
-        <fluent-switch></fluent-switch>
-    `);
+  test('should NOT set a default `aria-required` value when `required` is not defined', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).not.toHaveAttribute('required');
 
     await expect(element).not.toHaveAttribute('aria-required');
   });
 
-  test('should be focusable by default', async ({ page }) => {
-    const element = page.locator('fluent-switch');
-
-    await page.setContent(/* html */ `
-        <fluent-switch></fluent-switch>
-    `);
+  test('should be focusable by default', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await element.focus();
 
     await expect(element).toBeFocused();
   });
 
-  test('should NOT be focusable when the `disabled` attribute is set', async ({ page }) => {
-    const element = page.locator('fluent-switch');
+  test('should NOT be focusable when the `disabled` attribute is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-switch disabled></fluent-switch>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
     await element.focus();
 
     await expect(element).not.toBeFocused();
   });
 
-  test('should initialize to the initial value if no value property is set', async ({ page }) => {
-    const element = page.locator('fluent-switch');
-
-    await page.setContent(/* html */ `
-        <fluent-switch></fluent-switch>
-    `);
+  test('should initialize to the initial value if no `value` property is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('value', 'on');
   });
 
-  test('should initialize to the provided `value` attribute when set pre-connection', async ({ page }) => {
-    const element = page.locator('fluent-switch');
+  test('should initialize to the provided `value` attribute when set pre-connection', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-switch value="foo"></fluent-switch>
-    `);
+    await fastPage.setTemplate({ attributes: { value: 'foo' } });
 
     await expect(element).toHaveJSProperty('value', 'foo');
   });
 
-  test('should initialize to the provided `value` attribute when set post-connection', async ({ page }) => {
-    const element = page.locator('fluent-switch');
-
-    await page.setContent(/* html */ `
-        <fluent-switch></fluent-switch>
-    `);
+  test('should initialize to the provided `value` attribute when set post-connection', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     const expectedValue = 'foobar';
 
@@ -119,12 +84,8 @@ test.describe('Switch', () => {
     await expect(element).toHaveJSProperty('value', expectedValue);
   });
 
-  test('should initialize to the provided `value` property when set pre-connection', async ({ page }) => {
-    // const element = page.locator('fluent-switch');
-
-    await page.setContent(/* html */ `
-        <fluent-switch></fluent-switch>
-    `);
+  test('should initialize to the provided `value` property when set pre-connection', async ({ fastPage, page }) => {
+    await fastPage.setTemplate('');
 
     const expectedValue = 'foobar';
 
@@ -133,48 +94,48 @@ test.describe('Switch', () => {
 
       node.value = expectedValue;
 
-      return Promise.resolve(node.value);
+      return node.value;
     }, expectedValue);
 
     expect(value).toBe(expectedValue);
   });
 
-  test('should be invalid when unchecked', async ({ page }) => {
-    const element = page.locator('fluent-switch');
+  test('should be invalid when unchecked', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-switch required></fluent-switch>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-switch required></fluent-switch>
+      </form>
     `);
 
-    expect(await element.evaluate((node: Switch) => node.validity.valueMissing)).toBe(true);
+    await expect(element).toHaveJSProperty('validity.valueMissing', true);
   });
 
-  test('should be valid when checked', async ({ page }) => {
-    const element = page.locator('fluent-switch');
+  test('should be valid when checked', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-switch required></fluent-switch>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-switch required></fluent-switch>
+      </form>
     `);
 
     await element.click();
 
     await expect(element).toHaveJSProperty('checked', true);
 
-    expect(await element.evaluate((node: Switch) => node.validity.valueMissing)).toBe(false);
+    await expect(element).toHaveJSProperty('validity.valueMissing', false);
   });
 
-  test('should set the `checked` property to false if the `checked` attribute is unset', async ({ page }) => {
-    const element = page.locator('fluent-switch');
+  test('should set the `checked` property to false if the `checked` attribute is unset', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-switch></fluent-switch>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-switch></fluent-switch>
+      </form>
     `);
 
     await expect(element).toHaveJSProperty('checked', false);
@@ -192,14 +153,14 @@ test.describe('Switch', () => {
     await expect(element).toHaveJSProperty('checked', false);
   });
 
-  test('should set its checked property to true if the checked attribute is set', async ({ page }) => {
-    const element = page.locator('fluent-switch');
+  test('should set its checked property to true if the checked attribute is set', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-switch></fluent-switch>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-switch></fluent-switch>
+      </form>
     `);
 
     await expect(element).toHaveJSProperty('checked', false);
@@ -218,15 +179,16 @@ test.describe('Switch', () => {
   });
 
   test('should put the control into a clean state, where `checked` attribute modifications change the `checked` property prior to user or programmatic interaction', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-switch');
+    const { element } = fastPage;
     const form = page.locator('form');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-switch required></fluent-switch>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-switch required></fluent-switch>
+      </form>
     `);
 
     await element.evaluate((node: Switch) => {
@@ -246,39 +208,39 @@ test.describe('Switch', () => {
       node.setAttribute('checked', '');
     });
 
-    expect(await element.evaluate((node: Switch) => node.value)).toBeTruthy();
+    await expect(element).toHaveJSProperty('value', 'on');
   });
 
-  test('should submit the value of the switch when checked', async ({ page }) => {
-    const element = page.locator('fluent-switch');
+  test('should submit the value of the switch when checked', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const submitButton = page.locator('button');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-switch name="switch" value="foo"></fluent-switch>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-switch name="switch" value="foo"></fluent-switch>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     await element.click();
 
     await submitButton.click();
 
-    expect(page.url()).toContain('?switch=foo');
+    await expect(page).toHaveURL(/\?switch=foo/);
   });
 
-  test('should submit the values of multiple switches when checked', async ({ page }) => {
+  test('should submit the values of multiple switches when checked', async ({ fastPage, page }) => {
     const switches = page.locator('fluent-switch');
     const element1 = switches.nth(0);
     const element2 = switches.nth(1);
     const submitButton = page.locator('button');
 
-    await page.setContent(/* html */ `
-        <form>
-            <fluent-switch name="switch" value="foo"></fluent-switch>
-            <fluent-switch name="switch" value="bar"></fluent-switch>
-            <button type="submit">submit</button>
-        </form>
+    await fastPage.setTemplate(/* html */ `
+      <form>
+        <fluent-switch name="switch" value="foo"></fluent-switch>
+        <fluent-switch name="switch" value="bar"></fluent-switch>
+        <button type="submit">submit</button>
+      </form>
     `);
 
     await element1.click();
@@ -286,6 +248,6 @@ test.describe('Switch', () => {
 
     await submitButton.click();
 
-    expect(page.url()).toContain('?switch=foo&switch=bar');
+    await expect(page).toHaveURL(/\?switch=foo&switch=bar/);
   });
 });
diff --git a/packages/web-components/src/tab-panel/tab-panel.spec.ts b/packages/web-components/src/tab-panel/tab-panel.spec.ts
index ceb8738db7c26c..5462d948ff8359 100644
--- a/packages/web-components/src/tab-panel/tab-panel.spec.ts
+++ b/packages/web-components/src/tab-panel/tab-panel.spec.ts
@@ -1,30 +1,17 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 
 test.describe('TabPanel', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-tabs--tabs-default'));
+  test.use({ tagName: 'fluent-tab-panel' });
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-tab-panel'));
-  });
-
-  test('should have a role of `tabpanel`', async ({ page }) => {
-    const element = page.locator('fluent-tab-panel');
-
-    await page.setContent(/* html */ `
-        <fluent-tab-panel></fluent-tab-panel>
-    `);
-
-    await expect(element).toHaveAttribute('role', 'tabpanel');
-  });
-
-  test('should have a slot attribute of `tabpanel`', async ({ page }) => {
-    const element = page.locator('fluent-tab-panel');
+  test('should set defaults', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-tab-panel></fluent-tab-panel>
-    `);
+    await test.step('should have a role of `tabpanel`', async () => {
+      await expect(element).toHaveAttribute('role', 'tabpanel');
+    });
 
-    await expect(element).toHaveAttribute('slot', 'tabpanel');
+    await test.step('should have a slot attribute of `tabpanel`', async () => {
+      await expect(element).toHaveAttribute('slot', 'tabpanel');
+    });
   });
 });
diff --git a/packages/web-components/src/tab/tab.spec.ts b/packages/web-components/src/tab/tab.spec.ts
index aa83c6f4d379d3..87c88d2b487b1a 100644
--- a/packages/web-components/src/tab/tab.spec.ts
+++ b/packages/web-components/src/tab/tab.spec.ts
@@ -1,41 +1,30 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Tab } from './tab.js';
 
 test.describe('Tab', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-tabs--tabs-default'));
+  test.use({ tagName: 'fluent-tab' });
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-tab'));
-  });
-
-  test('should have a role of `tab`', async ({ page }) => {
-    const element = page.locator('fluent-tab').nth(0);
+  test('should set defaults', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await expect(element).toHaveAttribute('role', 'tab');
-  });
-
-  test('should have a slot attribute of `tab`', async ({ page }) => {
-    const element = page.locator('fluent-tab').nth(0);
+    await test.step('should have a role of `tab`', async () => {
+      await expect(element).toHaveAttribute('role', 'tab');
+    });
 
-    await expect(element).toHaveAttribute('slot', 'tab');
+    await test.step('should have a slot attribute of `tab`', async () => {
+      await expect(element).toHaveAttribute('slot', 'tab');
+    });
   });
 
-  test('should set the `aria-disabled` attribute when `disabled` is true', async ({ page }) => {
-    const element = page.locator('fluent-tab').nth(0);
+  test('should set the `aria-disabled` attribute when `disabled` is true', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).not.toHaveAttribute('aria-disabled');
 
-    await element.nth(0).evaluate((node: Tab) => {
+    await element.evaluate((node: Tab) => {
       node.disabled = true;
     });
 
     await expect(element).toHaveAttribute('aria-disabled', 'true');
-
-    await element.nth(0).evaluate((node: Tab) => {
-      node.disabled = false;
-    });
-
-    await expect(element).toHaveAttribute('aria-disabled', 'false');
   });
 });
diff --git a/packages/web-components/src/tablist/tablist.spec.ts b/packages/web-components/src/tablist/tablist.spec.ts
index 19c12d76750c09..5d91ada7d5a96c 100644
--- a/packages/web-components/src/tablist/tablist.spec.ts
+++ b/packages/web-components/src/tablist/tablist.spec.ts
@@ -1,30 +1,25 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Tab } from '../tab/tab.js';
 import type { Tablist } from './tablist.js';
 import { TablistAppearance, TablistSize } from './tablist.options.js';
 
 test.describe('Tablist', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-tabs--tabs-default'));
-
-    await page.waitForFunction(() =>
-      Promise.all([customElements.whenDefined('fluent-tablist'), customElements.whenDefined('fluent-tab')]),
-    );
+  test.use({
+    tagName: 'fluent-tablist',
+    waitFor: ['fluent-tab'],
+    innerHTML: /* html */ `
+      <fluent-tab>Tab one</fluent-tab>
+      <fluent-tab>Tab two</fluent-tab>
+      <fluent-tab>Tab three</fluent-tab>
+    `,
   });
 
-  test('should reset tab indicator offset and scale for horizontal orientation after animation', async ({ page }) => {
-    const element = page.locator('fluent-tablist');
+  test('should reset tab indicator offset and scale for horizontal orientation after animation', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    page.setContent(/* html */ `
-      <fluent-tablist>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-      </fluent-tablist>
-    `);
-
     await tabs.nth(2).click();
 
     await expect(element).toHaveCSS('--tabIndicatorOffset', '0px');
@@ -32,19 +27,11 @@ test.describe('Tablist', () => {
     await expect(element).toHaveCSS('--tabIndicatorScale', '1');
   });
 
-  test('should animate the active tab indicator', async ({ page }) => {
-    const element = page.locator('fluent-tablist');
+  test('should animate the active tab indicator', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
     const tab = tabs.nth(2);
 
-    page.setContent(/* html */ `
-      <fluent-tablist>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-      </fluent-tablist>
-    `);
-
     await expect(tab).not.toHaveAttribute('data-animate');
 
     await tab.click();
@@ -52,16 +39,8 @@ test.describe('Tablist', () => {
     await expect(tab).toHaveAttribute('data-animate', 'true');
   });
 
-  test('should have reflect disabled attribute on control', async ({ page }) => {
-    const element = page.locator('fluent-tablist');
-
-    page.setContent(/* html */ `
-      <fluent-tablist>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-      </fluent-tablist>
-    `);
+  test('should have reflect disabled attribute on control', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).not.toHaveAttribute('disabled');
 
@@ -72,48 +51,24 @@ test.describe('Tablist', () => {
     await expect(element).toHaveAttribute('disabled');
   });
 
-  test('should have role of `tablist`', async ({ page }) => {
-    const element = page.locator('fluent-tablist');
-
-    page.setContent(/* html */ `
-      <fluent-tablist>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-      </fluent-tablist>
-    `);
+  test('should have role of `tablist`', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveAttribute('role', 'tablist');
   });
 
   test('should set a default orientation value of `horizontal` when `orientation` is not provided', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-tablist');
-
-    page.setContent(/* html */ `
-      <fluent-tablist>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-      </fluent-tablist>
-    `);
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('orientation', 'horizontal');
   });
 
-  test('should set an `id` attribute on the active tab when an `id` is provided', async ({ page }) => {
-    const element = page.locator('fluent-tablist');
+  test('should set an `id` attribute on the active tab when an `id` is provided', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    page.setContent(/* html */ `
-      <fluent-tablist>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-      </fluent-tablist>
-    `);
-
     const tabCount = await tabs.count();
 
     for (let i = 0; i < tabCount; i++) {
@@ -129,19 +84,11 @@ test.describe('Tablist', () => {
 
   test.describe('`id` NOT provided', () => {
     test('should set an `id` attribute on tab items with a unique ID when an `id` is NOT provided', async ({
-      page,
+      fastPage,
     }) => {
-      const element = page.locator('fluent-tablist');
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      page.setContent(/* html */ `
-        <fluent-tablist>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-        </fluent-tablist>
-      `);
-
       const tabCount = await tabs.count();
 
       for (let i = 0; i < tabCount; i++) {
@@ -158,18 +105,10 @@ test.describe('Tablist', () => {
       }
     });
 
-    test('should default the first tab as the active index if `activeid` is NOT provided', async ({ page }) => {
-      const element = page.locator('fluent-tablist');
+    test('should default the first tab as the active index if `activeid` is NOT provided', async ({ fastPage }) => {
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      page.setContent(/* html */ `
-        <fluent-tablist>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-        </fluent-tablist>
-      `);
-
       await expect(tabs.nth(0)).toHaveAttribute('aria-selected', 'true');
 
       await expect(element).toHaveJSProperty('activeTabIndex', 0);
@@ -177,18 +116,12 @@ test.describe('Tablist', () => {
   });
 
   test.describe('active tab', () => {
-    test('should set an `aria-selected` attribute on the active tab when `activeid` is provided', async ({ page }) => {
-      const element = page.locator('fluent-tablist');
+    test('should set an `aria-selected` attribute on the active tab when `activeid` is provided', async ({
+      fastPage,
+    }) => {
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      page.setContent(/* html */ `
-        <fluent-tablist>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-        </fluent-tablist>
-      `);
-
       const secondTab = tabs.nth(1);
 
       const secondTabId = await secondTab.getAttribute('id');
@@ -200,18 +133,12 @@ test.describe('Tablist', () => {
       await expect(secondTab).toHaveAttribute('aria-selected', 'true');
     });
 
-    test('should update `aria-selected` attribute on the active tab when `activeId` is updated', async ({ page }) => {
-      const element = page.locator('fluent-tablist');
+    test('should update `aria-selected` attribute on the active tab when `activeId` is updated', async ({
+      fastPage,
+    }) => {
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      page.setContent(/* html */ `
-        <fluent-tablist>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-        </fluent-tablist>
-      `);
-
       await expect(tabs.nth(0)).toHaveAttribute('aria-selected', 'true');
 
       const secondTab = tabs.nth(1);
@@ -226,65 +153,55 @@ test.describe('Tablist', () => {
     });
   });
 
-  for (const appearance of Object.values(TablistAppearance)) {
-    test(`should set appearance to \`${appearance}\``, async ({ page }) => {
-      const element = page.locator('fluent-tablist');
+  test('should set the `appearance` property to match the `appearance` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-      page.setContent(/* html */ `
-        <fluent-tablist appearance="${appearance}">
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-        </fluent-tablist>
-      `);
+    for (const appearance of Object.values(TablistAppearance)) {
+      await test.step(appearance, async () => {
+        await fastPage.setTemplate({ attributes: { appearance } });
 
-      await expect(element).toHaveJSProperty('appearance', appearance);
+        await expect(element).toHaveJSProperty('appearance', appearance);
 
-      await expect(element).toHaveCustomState(appearance);
-    });
-  }
+        await expect(element).toHaveAttribute('appearance', appearance);
+      });
+    }
+  });
 
-  for (const size of Object.values(TablistSize)) {
-    test(`should set size to \`${size}\``, async ({ page }) => {
-      const element = page.locator('fluent-tablist');
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-      page.setContent(/* html */ `
-        <fluent-tablist size="${size}">
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-        </fluent-tablist>
-      `);
+    for (const size of Object.values(TablistSize)) {
+      await test.step(size, async () => {
+        await fastPage.setTemplate({ attributes: { size } });
 
-      await expect(element).toHaveJSProperty('size', size);
+        await expect(element).toHaveJSProperty('size', size);
 
-      await expect(element).toHaveCustomState(size);
-    });
-  }
+        await expect(element).toHaveAttribute('size', size);
+      });
+    }
+  });
 
-  test.skip('should not allow selecting a tab that has been disabled after it has been connected', async ({ page }) => {
-    const element = page.locator('fluent-tablist');
+  test('should not allow selecting a tab that has been disabled after it has been connected', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    await page.setContent(/* html */ `
-        <fluent-tablist>
-            <fluent-tab id="tab-1">Tab one</fluent-tab>
-            <fluent-tab id="tab-2">Tab two</fluent-tab>
-            <fluent-tab id="tab-3">Tab three</fluent-tab>
-        </fluent-tablist>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-tab id="tab-1">Tab one</fluent-tab>
+        <fluent-tab id="tab-2">Tab two</fluent-tab>
+        <fluent-tab id="tab-3">Tab three</fluent-tab>
+      `,
+    });
 
     const firstTab = tabs.nth(0);
 
-    const firstTabId = await firstTab.getAttribute('id');
+    await expect(firstTab).toHaveId('tab-1');
 
-    expect(firstTabId).toBe('tab-1');
+    await element.evaluate((node: Tablist) => {
+      node.activeid = 'tab-1';
+    });
 
-    await element.evaluate((node: Tablist, firstTabId) => {
-      node.activeid = `${firstTabId}`;
-    }, firstTabId);
-
-    await expect(element).toHaveJSProperty('activeid', firstTabId);
+    await expect(element).toHaveJSProperty('activeid', 'tab-1');
 
     const secondTab = tabs.nth(1);
 
@@ -292,30 +209,23 @@ test.describe('Tablist', () => {
       node.disabled = true;
     });
 
-    await secondTab.evaluate(node => {
-      node.dispatchEvent(
-        new MouseEvent('click', {
-          bubbles: true,
-          cancelable: true,
-          view: window,
-        }),
-      );
-    });
+    // eslint-disable-next-line playwright/no-force-option
+    await secondTab.click({ force: true });
 
-    await expect(element).toHaveJSProperty('activeid', firstTabId);
+    await expect(element).toHaveJSProperty('activeid', 'tab-1');
   });
 
-  test('should allow selecting tab that has been enabled after it has been connected', async ({ page }) => {
-    const element = page.locator('fluent-tablist');
+  test('should allow selecting tab that has been enabled after it has been connected', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    await page.setContent(/* html */ `
-      <fluent-tablist>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab disabled>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-      </fluent-tablist>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-tab>Tab one</fluent-tab>
+        <fluent-tab disabled>Tab two</fluent-tab>
+        <fluent-tab>Tab three</fluent-tab>
+      `,
+    });
 
     const firstTab = tabs.nth(0);
 
@@ -345,17 +255,17 @@ test.describe('Tablist', () => {
     await expect(element).toHaveJSProperty('activeid', secondTabId);
   });
 
-  test('should not allow selecting hidden tab using arrow keys', async ({ page }) => {
-    const element = page.locator('fluent-tablist');
+  test('should not allow selecting hidden tab using arrow keys', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    page.setContent(/* html */ `
-      <fluent-tablist>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab hidden>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-      </fluent-tablist>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-tab>Tab one</fluent-tab>
+        <fluent-tab hidden>Tab two</fluent-tab>
+        <fluent-tab>Tab three</fluent-tab>
+      `,
+    });
 
     const firstTab = tabs.nth(0);
 
@@ -373,17 +283,17 @@ test.describe('Tablist', () => {
     await expect(element).toHaveJSProperty('activeid', thirdTabId);
   });
 
-  test('should not allow selecting hidden tab by pressing End', async ({ page }) => {
-    const element = page.locator('fluent-tablist');
+  test('should not allow selecting hidden tab by pressing End', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    page.setContent(/* html */ `
-      <fluent-tablist>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab>Tab two</fluent-tab>
-          <fluent-tab hidden>Tab three</fluent-tab>
-      </fluent-tablist>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-tab>Tab one</fluent-tab>
+        <fluent-tab>Tab two</fluent-tab>
+        <fluent-tab hidden>Tab three</fluent-tab>
+      `,
+    });
 
     const firstTab = tabs.nth(0);
 
diff --git a/packages/web-components/src/tabs/tabs.spec.ts b/packages/web-components/src/tabs/tabs.spec.ts
index 1028637618e3ac..9ed5421cd9e96a 100644
--- a/packages/web-components/src/tabs/tabs.spec.ts
+++ b/packages/web-components/src/tabs/tabs.spec.ts
@@ -1,37 +1,28 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Tab } from '../tab/tab.js';
 import type { Tabs } from './tabs.js';
 import { TabsAppearance, TabsSize } from './tabs.options.js';
 
 test.describe('Tabs', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-tabs--tabs-default'));
-
-    await page.waitForFunction(() =>
-      Promise.all([
-        customElements.whenDefined('fluent-tabs'),
-        customElements.whenDefined('fluent-tab'),
-        customElements.whenDefined('fluent-tab-panel'),
-      ]),
-    );
+  test.use({
+    tagName: 'fluent-tabs',
+    waitFor: ['fluent-tab', 'fluent-tab-panel'],
+    innerHTML: /* html */ `
+      <fluent-tab>Tab one</fluent-tab>
+      <fluent-tab>Tab two</fluent-tab>
+      <fluent-tab>Tab three</fluent-tab>
+      <fluent-tab-panel>Tab panel one</fluent-tab-panel>
+      <fluent-tab-panel>Tab panel two</fluent-tab-panel>
+      <fluent-tab-panel>Tab panel three</fluent-tab-panel>
+    `,
   });
 
-  test('should reset tab indicator offset and scale for horizontal orientation after animation', async ({ page }) => {
-    const element = page.locator('fluent-tabs');
+  test('should reset tab indicator offset and scale for horizontal orientation after animation', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    await page.setContent(/* html */ `
-      <fluent-tabs>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-          <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-          <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-          <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-      </fluent-tabs>
-    `);
-
     const tab = tabs.nth(2);
 
     await tab.click();
@@ -41,21 +32,10 @@ test.describe('Tabs', () => {
     await expect(element).toHaveCSS('--tabIndicatorScale', '1');
   });
 
-  test('should animate the active tab indicator', async ({ page }) => {
-    const element = page.locator('fluent-tabs');
+  test('should animate the active tab indicator', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    await page.setContent(/* html */ `
-      <fluent-tabs>
-          <fluent-tab>Tab one</fluent-tab>
-          <fluent-tab>Tab two</fluent-tab>
-          <fluent-tab>Tab three</fluent-tab>
-          <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-          <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-          <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-      </fluent-tabs>
-    `);
-
     const tab = tabs.nth(2);
 
     await expect(tab).not.toHaveAttribute('data-animate');
@@ -65,12 +45,8 @@ test.describe('Tabs', () => {
     await expect(tab).toHaveAttribute('data-animate', 'true');
   });
 
-  test('should have reflect disabled attribute on control', async ({ page }) => {
-    const element = page.locator('fluent-tabs');
-
-    await page.setContent(/* html */ `
-      <fluent-tabs></fluent-tabs>
-    `);
+  test('should have reflect disabled attribute on control', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).not.toHaveAttribute('disabled');
 
@@ -81,37 +57,25 @@ test.describe('Tabs', () => {
     await expect(element).toHaveAttribute('disabled');
   });
 
-  test('should have an internal element with a role of `tablist`', async ({ page }) => {
-    const element = page.locator('fluent-tabs');
+  test('should have an internal element with a role of `tablist`', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tablist = element.locator('.tablist');
 
-    await page.setContent(/* html */ `
-      <fluent-tabs></fluent-tabs>
-    `);
-
     await expect(tablist).toHaveAttribute('role', 'tablist');
   });
 
   test('should set a default orientation value of `horizontal` when `orientation` is not provided', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-tabs');
-
-    await page.setContent(/* html */ `
-      <fluent-tabs></fluent-tabs>
-    `);
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('orientation', 'horizontal');
   });
 
-  test('should set an `id` attribute on the active tab when an `id` is provided', async ({ page }) => {
-    const element = page.locator('fluent-tabs');
+  test('should set an `id` attribute on the active tab when an `id` is provided', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    await page.setContent(/* html */ `
-      <fluent-tabs></fluent-tabs>
-    `);
-
     const tabCount = await tabs.count();
 
     for (let i = 0; i < tabCount; i++) {
@@ -127,20 +91,12 @@ test.describe('Tabs', () => {
 
   test.describe('`id` NOT provided', () => {
     test('should set an `id` attribute on tab items with a unique ID when an `id` is NOT provided', async ({
-      page,
+      fastPage,
     }) => {
-      const element = page.locator('fluent-tabs');
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      await page.setContent(/* html */ `
-        <fluent-tabs></fluent-tabs>
-      `);
-
-      const tabCount = await tabs.count();
-
-      for (let i = 0; i < tabCount; i++) {
-        const tab = tabs.nth(i);
-
+      for (const tab of await tabs.all()) {
         const id = await tab.getAttribute('id');
 
         // The ID function may not start at 0 so we need to check that the ID is unique
@@ -153,21 +109,13 @@ test.describe('Tabs', () => {
     });
 
     test('should set `aria-labelledby` on the tab panel and `aria-controls` on the tab which corresponds to the matching ID when IDs are NOT provided', async ({
-      page,
+      fastPage,
     }) => {
-      const element = page.locator('fluent-tabs');
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      await page.setContent(/* html */ `
-        <fluent-tabs></fluent-tabs>
-      `);
-
-      const tabCount = await tabs.count();
-
-      for (let i = 0; i < tabCount; i++) {
-        const tab = tabs.nth(i);
-
-        const panelId = (await tab.getAttribute('aria-controls')) as string;
+      for (const tab of await tabs.all()) {
+        const panelId = await tab.getAttribute('aria-controls');
 
         expect(panelId).toMatch(/panel-\d+/);
 
@@ -175,32 +123,24 @@ test.describe('Tabs', () => {
 
         await expect(tabPanel).toHaveCount(1);
 
-        const tabId = (await tab.getAttribute('id')) as string;
+        const tabId = await tab.getAttribute('id');
 
         expect(tabId).toMatch(/tab-\d+/);
 
-        await expect(tabPanel).toHaveAttribute('aria-labelledby', tabId);
+        await expect(tabPanel).toHaveAttribute('aria-labelledby', tabId!);
 
-        await expect(tab).toHaveAttribute('aria-controls', panelId);
+        await expect(tab).toHaveAttribute('aria-controls', panelId!);
       }
     });
 
     test('should set `aria-labelledby` on the tab panel and `aria-controls` on the tab which corresponds to the matching ID when IDs are NOT provided and additional tabs and panels are added', async ({
-      page,
+      fastPage,
     }) => {
-      const element = page.locator('fluent-tabs');
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      await page.setContent(/* html */ `
-        <fluent-tabs></fluent-tabs>
-      `);
-
-      let tabCount = await tabs.count();
-
-      for (let i = 0; i < tabCount; i++) {
-        const tab = tabs.nth(i);
-
-        const panelId = (await tab.getAttribute('aria-controls')) as string;
+      for (const tab of await tabs.all()) {
+        const panelId = await tab.getAttribute('aria-controls');
 
         expect(panelId).toMatch(/panel-\d+/);
 
@@ -208,16 +148,16 @@ test.describe('Tabs', () => {
 
         await expect(tabPanel).toHaveCount(1);
 
-        const tabId = (await tab.getAttribute('id')) as string;
+        const tabId = await tab.getAttribute('id');
 
         expect(tabId).toMatch(/tab-\d+/);
 
-        await expect(tabPanel).toHaveAttribute('aria-labelledby', tabId);
+        await expect(tabPanel).toHaveAttribute('aria-labelledby', tabId!);
 
-        await expect(tab).toHaveAttribute('aria-controls', panelId);
+        await expect(tab).toHaveAttribute('aria-controls', panelId!);
       }
 
-      await element.evaluate<void, Tabs>(node => {
+      await element.evaluate(node => {
         const tabs = Array.from(node.querySelectorAll('fluent-tab'));
 
         const newTab = document.createElement('fluent-tab');
@@ -229,12 +169,8 @@ test.describe('Tabs', () => {
         node.insertBefore(newPanel, tabs[1]);
       });
 
-      tabCount = await tabs.count();
-
-      for (let i = 0; i < tabCount; i++) {
-        const tab = tabs.nth(i);
-
-        const panelId = (await tab.getAttribute('aria-controls')) as string;
+      for (const tab of await tabs.all()) {
+        const panelId = await tab.getAttribute('aria-controls');
 
         expect(panelId).toMatch(/panel-\d+/);
 
@@ -242,31 +178,20 @@ test.describe('Tabs', () => {
 
         await expect(tabPanel).toHaveCount(1);
 
-        const tabId = (await tab.getAttribute('id')) as string;
+        const tabId = await tab.getAttribute('id');
 
         expect(tabId).toMatch(/tab-\d+/);
 
-        await expect(tabPanel).toHaveAttribute('aria-labelledby', tabId);
+        await expect(tabPanel).toHaveAttribute('aria-labelledby', tabId!);
 
-        await expect(tab).toHaveAttribute('aria-controls', panelId);
+        await expect(tab).toHaveAttribute('aria-controls', panelId!);
       }
     });
 
-    test('should default the first tab as the active index if `activeid` is NOT provided', async ({ page }) => {
-      const element = page.locator('fluent-tabs');
+    test('should default the first tab as the active index if `activeid` is NOT provided', async ({ fastPage }) => {
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      await page.setContent(/* html */ `
-        <fluent-tabs>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-            <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-        </fluent-tabs>
-      `);
-
       await expect(tabs.nth(0)).toHaveAttribute('aria-selected', 'true');
 
       await expect(element).toHaveJSProperty('activeTabIndex', 0);
@@ -274,21 +199,12 @@ test.describe('Tabs', () => {
   });
 
   test.describe('active tab', () => {
-    test('should set an `aria-selected` attribute on the active tab when `activeid` is provided', async ({ page }) => {
-      const element = page.locator('fluent-tabs');
+    test('should set an `aria-selected` attribute on the active tab when `activeid` is provided', async ({
+      fastPage,
+    }) => {
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      await page.setContent(/* html */ `
-        <fluent-tabs>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-            <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-        </fluent-tabs>
-      `);
-
       const secondTab = tabs.nth(1);
 
       const secondTabId = await secondTab.getAttribute('id');
@@ -300,28 +216,19 @@ test.describe('Tabs', () => {
       await expect(secondTab).toHaveAttribute('aria-selected', 'true');
     });
 
-    test('should update `aria-selected` attribute on the active tab when `activeId` is updated', async ({ page }) => {
-      const element = page.locator('fluent-tabs');
+    test('should update `aria-selected` attribute on the active tab when `activeId` is updated', async ({
+      fastPage,
+    }) => {
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      await page.setContent(/* html */ `
-        <fluent-tabs>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-            <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-        </fluent-tabs>
-      `);
-
       await expect(tabs.nth(0)).toHaveAttribute('aria-selected', 'true');
 
       const secondTab = tabs.nth(1);
 
       const secondTabId = `${await secondTab.getAttribute('id')}`;
 
-      await element.evaluate((node: Tabs, secondTabId) => {
+      await element.evaluate((node, secondTabId) => {
         node.setAttribute('activeId', secondTabId);
       }, secondTabId);
 
@@ -331,22 +238,11 @@ test.describe('Tabs', () => {
 
   test.describe('active tabpanel', () => {
     test('should set an `aria-labelledby` attribute on the tabpanel with a value of the tab id when `activeid` is provided', async ({
-      page,
+      fastPage,
     }) => {
-      const element = page.locator('fluent-tabs');
+      const { element } = fastPage;
       const tabs = element.locator('fluent-tab');
 
-      await page.setContent(/* html */ `
-        <fluent-tabs>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-            <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-        </fluent-tabs>
-      `);
-
       const secondTab = tabs.nth(1);
 
       const secondTabId = `${await secondTab.getAttribute('id')}`;
@@ -360,19 +256,8 @@ test.describe('Tabs', () => {
       await expect(tabPanels.nth(1)).toHaveAttribute('aria-labelledby', secondTabId);
     });
 
-    test('should set an attribute of hidden if the tabpanel is not active', async ({ page }) => {
-      const element = page.locator('fluent-tabs');
-
-      await page.setContent(/* html */ `
-        <fluent-tabs>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-            <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-        </fluent-tabs>
-      `);
+    test('should set an attribute of hidden if the tabpanel is not active', async ({ fastPage }) => {
+      const { element } = fastPage;
 
       const tabPanels = element.locator('fluent-tab-panel');
 
@@ -384,56 +269,59 @@ test.describe('Tabs', () => {
     });
   });
 
-  for (const appearance of Object.values(TabsAppearance)) {
-    test(`should set appearance to \`${appearance}\``, async ({ page }) => {
-      const element = page.locator('fluent-tabs');
+  test('should set the `appearance` property to match the `appearance` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-      page.setContent(/* html */ `
-        <fluent-tabs appearance="${appearance}"></fluent-tabs>
-      `);
+    for (const appearance of Object.values(TabsAppearance)) {
+      await test.step(appearance, async () => {
+        await fastPage.setTemplate({ attributes: { appearance } });
 
-      await expect(element).toHaveJSProperty('appearance', appearance);
-    });
-  }
+        await expect(element).toHaveJSProperty('appearance', appearance);
+
+        await expect(element).toHaveAttribute('appearance', appearance);
+      });
+    }
+  });
 
-  for (const size of Object.values(TabsSize)) {
-    test(`should set size to \`${size}\``, async ({ page }) => {
-      const element = page.locator('fluent-tabs');
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-      page.setContent(/* html */ `
-        <fluent-tabs size="${size}"></fluent-tabs>
-      `);
+    for (const size of Object.values(TabsSize)) {
+      await test.step(size, async () => {
+        await fastPage.setTemplate({ attributes: { size } });
 
-      await expect(element).toHaveJSProperty('size', size);
-    });
-  }
+        await expect(element).toHaveJSProperty('size', size);
 
-  test('should not allow selecting a tab that has been disabled after it has been connected', async ({ page }) => {
-    const element = page.locator('fluent-tabs');
+        await expect(element).toHaveAttribute('size', size);
+      });
+    }
+  });
+
+  test('should not allow selecting a tab that has been disabled after it has been connected', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
     const firstTab = tabs.first();
     const secondTab = tabs.nth(1);
 
-    await page.setContent(/* html */ `
-        <fluent-tabs activeid="tab-1">
-            <fluent-tab id="tab-1">Tab one</fluent-tab>
-            <fluent-tab id="tab-2">Tab two</fluent-tab>
-            <fluent-tab id="tab-3">Tab three</fluent-tab>
-            <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-        </fluent-tabs>
-    `);
+    await fastPage.setTemplate({
+      attributes: { activeid: 'tab-1' },
+      innerHTML: /* html */ `
+        <fluent-tab id="tab-1">Tab one</fluent-tab>
+        <fluent-tab id="tab-2">Tab two</fluent-tab>
+        <fluent-tab id="tab-3">Tab three</fluent-tab>
+        <fluent-tab-panel>Tab panel one</fluent-tab-panel>
+        <fluent-tab-panel>Tab panel two</fluent-tab-panel>
+        <fluent-tab-panel>Tab panel three</fluent-tab-panel>
+      `,
+    });
 
     for (const tab of await tabs.all()) {
       await expect(tab).toBeEnabled();
     }
 
-    const firstTabId = await firstTab.getAttribute('id');
-
-    expect(firstTabId).toBe('tab-1');
+    await expect(firstTab).toHaveId('tab-1');
 
-    await expect(element).toHaveJSProperty('activeid', firstTabId);
+    await expect(element).toHaveJSProperty('activeid', 'tab-1');
 
     await secondTab.evaluate((node: Tab) => {
       node.disabled = true;
@@ -442,23 +330,23 @@ test.describe('Tabs', () => {
     // eslint-disable-next-line playwright/no-force-option
     await secondTab.click({ force: true });
 
-    await expect(element).toHaveJSProperty('activeid', firstTabId);
+    await expect(element).toHaveJSProperty('activeid', 'tab-1');
   });
 
-  test('should allow selecting tab that has been enabled after it has been connected', async ({ page }) => {
-    const element = page.locator('fluent-tabs');
+  test('should allow selecting tab that has been enabled after it has been connected', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    await page.setContent(/* html */ `
-        <fluent-tabs>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab disabled>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-            <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-        </fluent-tabs>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-tab>Tab one</fluent-tab>
+        <fluent-tab disabled>Tab two</fluent-tab>
+        <fluent-tab>Tab three</fluent-tab>
+        <fluent-tab-panel>Tab panel one</fluent-tab-panel>
+        <fluent-tab-panel>Tab panel two</fluent-tab-panel>
+        <fluent-tab-panel>Tab panel three</fluent-tab-panel>
+      `,
+    });
 
     const firstTab = tabs.nth(0);
 
@@ -483,29 +371,25 @@ test.describe('Tabs', () => {
       node.disabled = false;
     });
 
-    await (await element.elementHandle())?.waitForElementState('stable');
-
     await secondTab.click();
 
     await expect(element).toHaveJSProperty('activeid', secondTabId);
   });
 
-  test('should not allow selecting hidden tab using arrow keys', async ({ page }) => {
-    const element = page.locator('fluent-tabs');
+  test('should not allow selecting hidden tab using arrow keys', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    test.slow();
-
-    await page.setContent(/* html */ `
-        <fluent-tabs>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab hidden>Tab two</fluent-tab>
-            <fluent-tab>Tab three</fluent-tab>
-            <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-        </fluent-tabs>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-tab>Tab one</fluent-tab>
+        <fluent-tab hidden>Tab two</fluent-tab>
+        <fluent-tab>Tab three</fluent-tab>
+        <fluent-tab-panel>Tab panel one</fluent-tab-panel>
+        <fluent-tab-panel>Tab panel two</fluent-tab-panel>
+        <fluent-tab-panel>Tab panel three</fluent-tab-panel>
+      `,
+    });
 
     const firstTab = tabs.nth(0);
 
@@ -523,20 +407,20 @@ test.describe('Tabs', () => {
     await expect(element).toHaveJSProperty('activeid', thirdTabId);
   });
 
-  test('should not allow selecting hidden tab by pressing End', async ({ page }) => {
-    const element = page.locator('fluent-tabs');
+  test('should not allow selecting hidden tab by pressing End', async ({ fastPage }) => {
+    const { element } = fastPage;
     const tabs = element.locator('fluent-tab');
 
-    await page.setContent(/* html */ `
-        <fluent-tabs>
-            <fluent-tab>Tab one</fluent-tab>
-            <fluent-tab>Tab two</fluent-tab>
-            <fluent-tab hidden>Tab three</fluent-tab>
-            <fluent-tab-panel>Tab panel one</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel two</fluent-tab-panel>
-            <fluent-tab-panel>Tab panel three</fluent-tab-panel>
-        </fluent-tabs>
-    `);
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
+        <fluent-tab>Tab one</fluent-tab>
+        <fluent-tab>Tab two</fluent-tab>
+        <fluent-tab hidden>Tab three</fluent-tab>
+        <fluent-tab-panel>Tab panel one</fluent-tab-panel>
+        <fluent-tab-panel>Tab panel two</fluent-tab-panel>
+        <fluent-tab-panel>Tab panel three</fluent-tab-panel>
+      `,
+    });
 
     const firstTab = tabs.nth(0);
 
diff --git a/packages/web-components/src/text-input/text-input.spec.ts b/packages/web-components/src/text-input/text-input.spec.ts
index 839ec937ef5a7b..162db99bae4be5 100644
--- a/packages/web-components/src/text-input/text-input.spec.ts
+++ b/packages/web-components/src/text-input/text-input.spec.ts
@@ -1,141 +1,112 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { TextInput } from './text-input.js';
 import { ImplicitSubmissionBlockingTypes } from './text-input.options.js';
 
 test.describe('TextInput', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-textinput--default'));
+  test.use({ tagName: 'fluent-text-input' });
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-text-input'));
-  });
-
-  test('should focus the element when the `autofocus` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should focus the element when the `autofocus` attribute is present', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input autofocus></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { autofocus: true } });
 
     await expect(element).toBeFocused();
   });
 
-  test('should set the `disabled` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `disabled` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input disabled></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
     await expect(control).toBeDisabled();
   });
 
-  test('should set the `readonly` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `readonly` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input readonly></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { readonly: true } });
 
     await expect(control).toHaveAttribute('readonly');
   });
 
-  test('should set the `required` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `required` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input required></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { required: true } });
 
     await expect(control).toHaveAttribute('required');
   });
 
-  test('should set the `spellcheck` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `spellcheck` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input spellcheck="true"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { spellcheck: 'true' } });
 
     await expect(control).toHaveAttribute('spellcheck', 'true');
   });
 
-  test('should set the `maxlength` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `maxlength` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input maxlength="14"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { maxlength: '14' } });
 
     await expect(control).toHaveAttribute('maxlength', '14');
   });
 
-  test('should set the `minlength` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `minlength` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input minlength="14"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { minlength: '14' } });
 
     await expect(control).toHaveAttribute('minlength', '14');
   });
 
-  test('should set the `name` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `name` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input name="foo"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { name: 'foo' } });
 
     await expect(control).toHaveAttribute('name', 'foo');
   });
 
-  test('should set the `placeholder` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `placeholder` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input placeholder="foo"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { placeholder: 'foo' } });
 
     await expect(control).toHaveAttribute('placeholder', 'foo');
   });
 
-  test('should set the `size` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `size` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input size="4"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { size: '4' } });
 
     await expect(control).toHaveAttribute('size', '4');
   });
 
-  test('should set the `list` attribute on the internal control', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `list` attribute on the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input list="listId"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { list: 'listId' } });
 
     await expect(control).toHaveAttribute('list', 'listId');
   });
 
-  test('should reflect `control-size` attribute values', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should reflect `control-size` attribute values', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input control-size="small"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { 'control-size': 'small' } });
 
     await expect(element).toHaveAttribute('control-size', 'small');
     await expect(element).toHaveJSProperty('controlSize', 'small');
@@ -160,12 +131,10 @@ test.describe('TextInput', () => {
     await expect(element).toHaveJSProperty('controlSize', 'small');
   });
 
-  test('should add a custom state matching the `size` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should add a custom state matching the `size` attribute when provided', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input control-size="small"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { 'control-size': 'small' } });
 
     await element.evaluate((node: TextInput) => {
       node.controlSize = 'small';
@@ -196,12 +165,10 @@ test.describe('TextInput', () => {
     await expect(element).not.toHaveCustomState('large');
   });
 
-  test('should reflect `appearance` attribute values', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should reflect `appearance` attribute values', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await element.evaluate((node: TextInput) => {
-      node.appearance = 'outline';
-    });
+    await fastPage.setTemplate({ attributes: { appearance: 'outline' } });
 
     await expect(element).toHaveAttribute('appearance', 'outline');
     await expect(element).toHaveJSProperty('appearance', 'outline');
@@ -226,12 +193,8 @@ test.describe('TextInput', () => {
     await expect(element).toHaveJSProperty('appearance', 'filled-lighter');
   });
 
-  test('should add a custom state matching the `appearance` attribute when provided', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
-
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
+  test('should add a custom state matching the `appearance` attribute when provided', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await element.evaluate((node: TextInput) => {
       node.appearance = 'outline';
@@ -269,30 +232,24 @@ test.describe('TextInput', () => {
     await expect(element).not.toHaveCustomState('filled-lighter');
   });
 
-  test('should have an undefined `value` property when no `value` attribute is set', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
-
-    await page.setContent(/* html */ `
-        <fluent-text-input></fluent-text-input>
-    `);
+  test('should have an undefined `value` property when no `value` attribute is set', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('value', undefined);
   });
 
-  test('should initialize to the provided `value` attribute when set before connection', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should initialize to the provided `value` attribute when set before connection', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-text-input value="foo"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { value: 'foo' } });
 
     await expect(element).toHaveJSProperty('value', 'foo');
   });
 
-  test('should initialize to the provided `value` property if set pre-connection', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should initialize to the provided `value` property if set pre-connection', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent('');
+    await fastPage.setTemplate('');
 
     await page.evaluate(() => {
       const textInput = document.createElement('fluent-text-input') as TextInput;
@@ -305,14 +262,10 @@ test.describe('TextInput', () => {
     await expect(element).toHaveJSProperty('value', 'foo');
   });
 
-  test('should initialize to the provided `value` attribute if set post-connection', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should initialize to the provided `value` attribute if set post-connection', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
-
     await element.evaluate(node => {
       node.setAttribute('value', 'foo');
     });
@@ -323,15 +276,11 @@ test.describe('TextInput', () => {
   });
 
   test('should NOT initialize to the provided `value` attribute if set post-connection and the control has a dirty value', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
-
     await control.fill('bar');
 
     await element.evaluate(node => {
@@ -343,94 +292,87 @@ test.describe('TextInput', () => {
     await expect(control).toHaveValue('bar');
   });
 
-  test('should hide the label when no default slotted content is provided', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should hide the label when no default slotted content is provided', async ({ fastPage }) => {
+    const { element } = fastPage;
     const label = element.locator('label');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
-
     await expect(label).toBeHidden();
   });
 
-  test('should hide the label when start content is provided', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should hide the label when start content is provided', async ({ fastPage }) => {
+    const { element } = fastPage;
     const label = element.locator('label');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <div slot="start"></div>
-      </fluent-text-input>
-    `);
+      `,
+    });
 
     await expect(label).toBeHidden();
   });
 
-  test('should hide the label when end content is provided', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should hide the label when end content is provided', async ({ fastPage }) => {
+    const { element } = fastPage;
     const label = element.locator('label');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <div slot="end"></div>
-      </fluent-text-input>
-    `);
+      `,
+    });
 
     await expect(label).toBeHidden();
   });
 
-  test('should hide the label when start and end content are provided', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should hide the label when start and end content are provided', async ({ fastPage }) => {
+    const { element } = fastPage;
     const label = element.locator('label');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <div slot="start"></div>
         <div slot="end"></div>
-      </fluent-text-input>
-    `);
+      `,
+    });
 
     await expect(label).toBeHidden();
   });
 
-  test('should hide the label when space-only text nodes are slotted', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should hide the label when space-only text nodes are slotted', async ({ fastPage }) => {
+    const { element } = fastPage;
     const label = element.locator('label');
 
-    await page.setContent(/* html */ `<fluent-text-input>\n \n</fluent-text-input>`);
+    await fastPage.setTemplate({
+      innerHTML: '\n \n',
+    });
 
     await expect(element).toHaveText(/\n\s\n/);
 
     await expect(label).toBeHidden();
   });
 
-  test('should fire a `change` event when the internal control emits a `change` event', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should fire a `change` event when the internal control emits a `change` event', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
+    const wasChanged = element.evaluate(
+      node =>
+        new Promise(resolve => {
+          node.addEventListener('change', () => resolve(true));
+        }),
+    );
 
-    const [wasChanged] = await Promise.all([
-      element.evaluate(
-        node =>
-          new Promise(resolve => {
-            node.addEventListener('change', () => resolve(true));
-          }),
-      ),
-      element.evaluate((node: TextInput) => node.control.dispatchEvent(new Event('change'))),
-    ]);
+    await element.evaluate((node: TextInput) => node.control.dispatchEvent(new Event('change')));
 
-    expect(wasChanged).toBeTruthy();
+    await expect(wasChanged).resolves.toBe(true);
   });
 
-  test('should be invalid when the `required` attribute is set and the `value` property is empty', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should be invalid when the `required` attribute is set and the `value` property is empty', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input required></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { required: true } });
 
     await expect(element).toHaveJSProperty('validity.valueMissing', true);
 
@@ -438,25 +380,23 @@ test.describe('TextInput', () => {
   });
 
   test('should be valid when the `required` attribute is set and the `value` property is not empty', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input required value="some-value"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { required: true, value: 'foo' } });
 
     await expect(element).toHaveJSProperty('validity.valid', true);
 
     await expect(element).toHaveJSProperty('validity.valueMissing', false);
   });
 
-  test('should be valid when the `minlength` attribute is set and the `value` attribute is empty', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should be valid when the `minlength` attribute is set and the `value` attribute is empty', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input minlength="1"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { minlength: '10' } });
 
     await expect(element).toHaveJSProperty('validity.valid', true);
 
@@ -464,13 +404,11 @@ test.describe('TextInput', () => {
   });
 
   test('should be valid when the `value` attribute length is less than the `minlength` attribute and the value is not dirty', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input type="password" minlength="10" value="123456789"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { minlength: '10', value: '123456789' } });
 
     await expect(element).toHaveJSProperty('validity.valid', true);
 
@@ -478,13 +416,11 @@ test.describe('TextInput', () => {
   });
 
   test('should be valid when the `value` attribute is not set and the `maxlength` attribute is set', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-text-input maxlength="10"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { maxlength: '10' } });
 
     await expect(element).toHaveJSProperty('validity.valid', true);
 
@@ -492,88 +428,76 @@ test.describe('TextInput', () => {
   });
 
   test('should report valid validity when the `value` attribute has a length which exceeds the `maxlength`', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input type="password" maxlength="10" value="12345678901"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { maxlength: '10', value: '123456789' } });
 
     await expect(element).toHaveJSProperty('validity.tooLong', false);
   });
 
   test('should report valid validity when the `value` is shorter than `maxlength` and the element is `required`', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input type="password" maxlength="10" required value="123456789"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { required: true, maxlength: '10', value: '123456789' } });
 
     await expect(element).toHaveJSProperty('validity.tooLong', false);
   });
 
-  test('should report valid validity when the `value` property matches the `pattern` property', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should report valid validity when the `value` property matches the `pattern` property', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input type="password" pattern="\\d+" value="123456789"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { pattern: '\\d+', value: '123456789' } });
 
     await expect(element).toHaveJSProperty('validity.patternMismatch', false);
   });
 
-  test('should report invalid validity when `value` does not match `pattern`', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should report invalid validity when `value` does not match `pattern`', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input type="password" pattern="value" value="other value"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { pattern: 'value', value: 'other value' } });
 
     await expect(element).toHaveJSProperty('validity.patternMismatch', true);
   });
 
-  test('should report valid validity when `value` is an empty string', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should report valid validity when `value` is an empty string', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input type="email"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { pattern: 'value', value: '' } });
 
     await expect(element).toHaveJSProperty('validity.typeMismatch', false);
   });
 
-  test('should have invalid invalidity with a `typeMismatch` when `value` is not a valid email', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should have invalid invalidity with a `typeMismatch` when `value` is not a valid email', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input type="email" value="not an email"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { type: 'email', value: 'not an email' } });
 
     await expect(element).toHaveJSProperty('validity.typeMismatch', true);
   });
 
-  test('should be invalid when `value` is not a valid URL', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should be invalid when `value` is not a valid URL', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input type="url" value="not a url"></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { type: 'url', value: 'not a url' } });
 
     await expect(element).toHaveJSProperty('validity.valid', false);
 
     await expect(element).toHaveJSProperty('validity.typeMismatch', true);
   });
 
-  test('should not accept user input when the `readonly` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should not accept user input when the `readonly` attribute is present', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input readonly></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { readonly: true } });
 
     await control.fill('foo', {
       // eslint-disable-next-line playwright/no-force-option
@@ -583,13 +507,11 @@ test.describe('TextInput', () => {
     await expect(control).toHaveValue('');
   });
 
-  test('should not accept user input when the `disabled` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should not accept user input when the `disabled` attribute is present', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input disabled></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
     await control.fill('foo', {
       // eslint-disable-next-line playwright/no-force-option
@@ -600,33 +522,29 @@ test.describe('TextInput', () => {
   });
 
   test('should set the `willValidate` property to `false` when the `disabled` attribute is present', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input disabled></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
     await expect(element).toHaveJSProperty('willValidate', false);
   });
 
   test('should set the `willValidate` property to `false` when the `readonly` attribute is present', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-text-input readonly></fluent-text-input>
-    `);
+    await fastPage.setTemplate({ attributes: { readonly: true } });
 
     await expect(element).toHaveJSProperty('willValidate', false);
   });
 
-  test('should set the `form` property to the parent form element', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `form` property to the parent form element', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="foo">
         <fluent-text-input></fluent-text-input>
       </form>
@@ -635,20 +553,18 @@ test.describe('TextInput', () => {
     await expect(element).toHaveJSProperty('form.id', 'foo');
   });
 
-  test('should set the `form` property to `null` when the element is not in a form', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
-
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
+  test('should set the `form` property to `null` when the element is not in a form', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('form', null);
   });
 
-  test('should set the `form` property to the form element referenced by the `form` attribute', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should set the `form` property to the form element referenced by the `form` attribute', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="foo">
         <fluent-text-input form="foo"></fluent-text-input>
       </form>
@@ -658,11 +574,11 @@ test.describe('TextInput', () => {
   });
 
   test('should set the `form` property to `null` when the element is in a form with the `form` attribute set to an invalid value', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="foo">
         <fluent-text-input form="bar"></fluent-text-input>
       </form>
@@ -671,11 +587,14 @@ test.describe('TextInput', () => {
     await expect(element).toHaveJSProperty('form', null);
   });
 
-  test('should submit the form via implicit submission when the form has no other controls', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should submit the form via implicit submission when the form has no other controls', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="form" action="foo">
         <fluent-text-input name="testinput"></fluent-text-input>
       </form>
@@ -689,11 +608,14 @@ test.describe('TextInput', () => {
     expect(page.url()).toMatch(/foo\?testinput=hello$/);
   });
 
-  test('should submit the form via implicit submission when the form contains a submit button', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should submit the form via implicit submission when the form contains a submit button', async ({
+    fastPage,
+    page,
+  }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="form" action="foo">
         <fluent-text-input name="testinput"></fluent-text-input>
         <button type="submit">Submit</button>
@@ -708,12 +630,13 @@ test.describe('TextInput', () => {
   });
 
   test('should submit the form via implicit submission when the form has no other implicit submission blocking controls', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="form" action="foo">
         <fluent-text-input name="testinput"></fluent-text-input>
         <button type="reset">Reset</button>
@@ -730,16 +653,16 @@ test.describe('TextInput', () => {
 
   test.describe('should NOT submit the form via implicit submission when the form has other implicit submission blocking controls', () => {
     for (const type of ImplicitSubmissionBlockingTypes) {
-      test(`Blocking type: ${type}`, async ({ page }) => {
-        const element = page.locator('fluent-text-input');
+      test(`Blocking type: ${type}`, async ({ fastPage, page }) => {
+        const { element } = fastPage;
         const control = element.locator('input');
 
-        await page.setContent(/* html */ `
-            <form id="form" action="foo">
-              <fluent-text-input name="testinput"></fluent-text-input>
-              <input name="extrainput" type="${type}" value="extravalue" />
-            </form>
-          `);
+        await fastPage.setTemplate(/* html */ `
+          <form id="form" action="foo">
+            <fluent-text-input name="testinput"></fluent-text-input>
+            <input name="extrainput" type="${type}" value="extravalue" />
+          </form>
+        `);
 
         await control.fill('hello');
 
@@ -751,11 +674,12 @@ test.describe('TextInput', () => {
   });
 
   test('should prevent form submission when the `required` attribute is set and the `value` property is empty', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="form" action="foo">
         <fluent-text-input name="testinput" required></fluent-text-input>
       </form>
@@ -766,11 +690,11 @@ test.describe('TextInput', () => {
     expect(page.url()).not.toMatch(/foo/);
   });
 
-  test('should NOT prevent form submission when the `readonly` attribute is set', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should NOT prevent form submission when the `readonly` attribute is set', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">
         <fluent-text-input name="testinput" readonly></fluent-text-input>
       </form>
@@ -782,12 +706,13 @@ test.describe('TextInput', () => {
   });
 
   test('should allow comma-separated values when the `multiple` attribute is set and the `type` is "email"', async ({
+    fastPage,
     page,
   }) => {
-    const element = page.locator('fluent-text-input');
+    const { element } = fastPage;
     const control = element.locator('input');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form action="foo">
         <fluent-text-input name="testinput" multiple type="email"></fluent-text-input>
       </form>
@@ -800,20 +725,20 @@ test.describe('TextInput', () => {
     expect(page.url()).toMatch(/foo\?testinput=hello%40example\.com%2Cworld%40example\.com/);
   });
 
-  test('should allow focusable start and end slotted content to be focused', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should allow focusable start and end slotted content to be focused', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
     const start = element.locator('[slot="start"]');
     const end = element.locator('[slot="end"]');
     const label = element.locator('text=Label');
 
-    await page.setContent(/* html */ `
-      <fluent-text-input>
+    await fastPage.setTemplate({
+      innerHTML: /* html */ `
         <span>Label</span>
         <button slot="start">start</button>
         <button slot="end">end</button>
-      </fluent-text-input>
-    `);
+      `,
+    });
 
     await page.keyboard.press('Tab');
 
@@ -834,12 +759,12 @@ test.describe('TextInput', () => {
     });
   });
 
-  test('should reset the value to an empty string when the form is reset', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
+  test('should reset the value to an empty string when the form is reset', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const control = element.locator('input');
     const reset = page.locator('button');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <form id="form" action="foo">
         <fluent-text-input name="testinput"></fluent-text-input>
         <button type="reset">Reset</button>
@@ -855,12 +780,8 @@ test.describe('TextInput', () => {
     await expect(control).toHaveValue('');
   });
 
-  test('should change the `value` property when the `current-value` attribute changes', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
-
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
+  test('should change the `value` property when the `current-value` attribute changes', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
     await element.evaluate(node => {
       node.setAttribute('current-value', 'foo');
@@ -869,12 +790,8 @@ test.describe('TextInput', () => {
     await expect(element).toHaveJSProperty('value', 'foo');
   });
 
-  test('should change the `value` property when the `currentValue` property changes', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
-
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
+  test('should change the `value` property when the `currentValue` property changes', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
     await element.evaluate((node: TextInput) => {
       node.currentValue = 'foo';
@@ -883,12 +800,8 @@ test.describe('TextInput', () => {
     await expect(element).toHaveJSProperty('value', 'foo');
   });
 
-  test('should set the `current-value` attribute to match the `value` property', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
-
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
+  test('should set the `current-value` attribute to match the `value` property', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
     await expect(element).not.toHaveAttribute('current-value');
 
@@ -899,12 +812,8 @@ test.describe('TextInput', () => {
     await expect(element).toHaveAttribute('current-value', 'foo');
   });
 
-  test('should set the `currentValue` property to match the `value` property', async ({ page }) => {
-    const element = page.locator('fluent-text-input');
-
-    await page.setContent(/* html */ `
-      <fluent-text-input></fluent-text-input>
-    `);
+  test('should set the `currentValue` property to match the `value` property', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('currentValue', undefined);
 
diff --git a/packages/web-components/src/text/text.spec.ts b/packages/web-components/src/text/text.spec.ts
index 288a7b89392bdf..8b329b405074b2 100644
--- a/packages/web-components/src/text/text.spec.ts
+++ b/packages/web-components/src/text/text.spec.ts
@@ -1,104 +1,184 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-import type { Text } from './text.js';
+import { expect, test } from '../../test/playwright/index.js';
 import { TextAlign, TextFont, TextSize, TextWeight } from './text.options.js';
 
 test.describe('Text Component', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-text--text'));
+  test.use({ tagName: 'fluent-text' });
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-text'));
-  });
+  test(`should set the \`nowrap\` property to true when the \`nowrap\` attribute is present`, async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    await fastPage.setTemplate({ attributes: { nowrap: true } });
+
+    await expect(element).toHaveJSProperty('nowrap', true);
 
-  for (const attribute of ['nowrap', 'truncate', 'italic', 'underline', 'strikethrough', 'block']) {
-    test(`should set and reflect and update the ${attribute} attribute and property when provided`, async ({
-      page,
-    }) => {
-      const element = page.locator('fluent-text');
+    await expect(element).toHaveCustomState('nowrap');
 
-      await page.setContent(/* html */ `
-        <fluent-text ${attribute}>Text</fluent-text>
-      `);
+    await test.step('should set the `nowrap` property to false when the `nowrap` attribute is removed', async () => {
+      await fastPage.setTemplate({ attributes: {} });
 
-      await expect(element).toHaveAttribute(attribute);
+      await expect(element).toHaveJSProperty('nowrap', false);
+
+      await expect(element).not.toHaveCustomState('nowrap');
+    });
+  });
 
-      await expect(element).toHaveJSProperty(attribute, true);
+  test(`should set the \`truncate\` property to true when the \`truncate\` attribute is present`, async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-      await expect(element).toHaveCustomState(attribute);
+    await fastPage.setTemplate({ attributes: { truncate: true } });
 
-      await element.evaluate((node: any, attribute) => {
-        node[attribute] = false;
-      }, attribute);
+    await expect(element).toHaveJSProperty('truncate', true);
 
-      await expect(element).not.toHaveAttribute(attribute);
+    await expect(element).toHaveCustomState('truncate');
 
-      await expect(element).toHaveJSProperty(attribute, false);
+    await test.step('should set the `truncate` property to false when the `truncate` attribute is removed', async () => {
+      await fastPage.setTemplate({ attributes: {} });
 
-      await expect(element).not.toHaveCustomState(attribute);
+      await expect(element).toHaveJSProperty('truncate', false);
+
+      await expect(element).not.toHaveCustomState('truncate');
     });
-  }
+  });
+
+  test(`should set the \`italic\` property to true when the \`italic\` attribute is present`, async ({ fastPage }) => {
+    const { element } = fastPage;
 
-  for (const value of Object.values(TextSize)) {
-    test(`should set and reflect the size attribute to \`${value}\` when provided`, async ({ page }) => {
-      const element = page.locator('fluent-text');
+    await fastPage.setTemplate({ attributes: { italic: true } });
 
-      await page.setContent(/* html */ `
-        <fluent-text size="${value}">Text</fluent-text>
-      `);
+    await expect(element).toHaveJSProperty('italic', true);
 
-      await expect(element).toHaveJSProperty('size', value);
+    await expect(element).toHaveCustomState('italic');
 
-      await expect(element).toHaveAttribute('size', value);
+    await test.step('should set the `italic` property to false when the `italic` attribute is removed', async () => {
+      await fastPage.setTemplate({ attributes: {} });
 
-      await expect(element).toHaveCustomState(`size-${value}`);
+      await expect(element).toHaveJSProperty('italic', false);
+
+      await expect(element).not.toHaveCustomState('italic');
     });
-  }
+  });
 
-  for (const value of Object.values(TextWeight)) {
-    test(`should set and reflect the weight attribute to the \`${value}\` when provided`, async ({ page }) => {
-      const element = page.locator('fluent-text');
+  test(`should set the \`underline\` property to true when the \`underline\` attribute is present`, async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-text weight="${value}">Text</fluent-text>
-      `);
+    await fastPage.setTemplate({ attributes: { underline: true } });
 
-      await expect(element).toHaveJSProperty('weight', value);
+    await expect(element).toHaveJSProperty('underline', true);
 
-      await expect(element).toHaveAttribute('weight', value);
+    await expect(element).toHaveCustomState('underline');
 
-      await expect(element).toHaveCustomState(value);
+    await test.step('should set the `underline` property to false when the `underline` attribute is removed', async () => {
+      await fastPage.setTemplate({ attributes: {} });
+
+      await expect(element).toHaveJSProperty('underline', false);
+
+      await expect(element).not.toHaveCustomState('underline');
     });
-  }
+  });
 
-  for (const value of Object.values(TextAlign)) {
-    test(`should set and reflect the align attribute to \`${value}\` when provided`, async ({ page }) => {
-      const element = page.locator('fluent-text');
+  test(`should set the \`strikethrough\` property to true when the \`strikethrough\` attribute is present`, async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-      await element.evaluate((node: Text, alignValue: string) => {
-        node.align = alignValue as TextAlign;
-      }, value as string);
+    await fastPage.setTemplate({ attributes: { strikethrough: true } });
 
-      await expect(element).toHaveJSProperty('align', value);
+    await expect(element).toHaveJSProperty('strikethrough', true);
 
-      await expect(element).toHaveAttribute('align', value);
+    await expect(element).toHaveCustomState('strikethrough');
 
-      await expect(element).toHaveCustomState(value);
+    await test.step('should set the `strikethrough` property to false when the `strikethrough` attribute is removed', async () => {
+      await fastPage.setTemplate({ attributes: {} });
+
+      await expect(element).toHaveJSProperty('strikethrough', false);
+
+      await expect(element).not.toHaveCustomState('strikethrough');
     });
-  }
+  });
 
-  for (const value of Object.values(TextFont)) {
-    test(`should set and reflect the font attribute to \`${value}\` when provided`, async ({ page }) => {
-      const element = page.locator('fluent-text');
+  test(`should set the \`block\` property to true when the \`block\` attribute is present`, async ({ fastPage }) => {
+    const { element } = fastPage;
 
-      await element.evaluate((node: Text, fontValue: string) => {
-        node.font = fontValue as TextFont;
-      }, value as string);
+    await fastPage.setTemplate({ attributes: { block: true } });
 
-      await expect(element).toHaveJSProperty('font', value);
+    await expect(element).toHaveJSProperty('block', true);
 
-      await expect(element).toHaveAttribute('font', value);
+    await expect(element).toHaveCustomState('block');
 
-      await expect(element).toHaveCustomState(value);
+    await test.step('should set the `block` property to false when the `block` attribute is removed', async () => {
+      await fastPage.setTemplate({ attributes: {} });
+
+      await expect(element).toHaveJSProperty('block', false);
+
+      await expect(element).not.toHaveCustomState('block');
     });
-  }
+  });
+
+  test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const size of Object.values(TextSize)) {
+      await test.step(size, async () => {
+        await fastPage.setTemplate({ attributes: { size } });
+
+        await expect(element).toHaveJSProperty('size', size);
+
+        await expect(element).toHaveAttribute('size', size);
+
+        await expect(element).toHaveCustomState(`size-${size}`);
+      });
+    }
+  });
+
+  test('should set the `weight` property to match the `weight` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const weight of Object.values(TextWeight)) {
+      await test.step(weight, async () => {
+        await fastPage.setTemplate({ attributes: { weight } });
+
+        await expect(element).toHaveJSProperty('weight', weight);
+
+        await expect(element).toHaveAttribute('weight', weight);
+
+        await expect(element).toHaveCustomState(weight);
+      });
+    }
+  });
+
+  test('should set the `align` property to match the `align` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const align of Object.values(TextAlign)) {
+      await test.step(align, async () => {
+        await fastPage.setTemplate({ attributes: { align } });
+
+        await expect(element).toHaveJSProperty('align', align);
+
+        await expect(element).toHaveAttribute('align', align);
+
+        await expect(element).toHaveCustomState(align);
+      });
+    }
+  });
+
+  test('should set the `font` property to match the `font` attribute', async ({ fastPage }) => {
+    const { element } = fastPage;
+
+    for (const font of Object.values(TextFont)) {
+      await test.step(font, async () => {
+        await fastPage.setTemplate({ attributes: { font } });
+
+        await expect(element).toHaveJSProperty('font', font);
+
+        await expect(element).toHaveAttribute('font', font);
+
+        await expect(element).toHaveCustomState(font);
+      });
+    }
+  });
 });
diff --git a/packages/web-components/src/textarea/textarea.spec.ts b/packages/web-components/src/textarea/textarea.spec.ts
index 6828d283b9cb2c..0127cc809002c3 100644
--- a/packages/web-components/src/textarea/textarea.spec.ts
+++ b/packages/web-components/src/textarea/textarea.spec.ts
@@ -1,52 +1,42 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
-import { LabelSize } from '../label/label.options.js';
+import { expect, test } from '../../test/playwright/index.js';
 import { TextAreaAppearance, TextAreaResize, TextAreaSize } from './textarea.options.js';
 import type { TextArea } from './textarea.js';
 
 test.describe('TextArea', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-textarea--text-area'));
-    await page.waitForFunction(() => customElements.whenDefined('fluent-textarea'));
+  test.use({
+    tagName: 'fluent-textarea',
+    waitFor: ['fluent-label'],
   });
 
   // TODO: This should test 'elementInternals.role' as 'textbox' when Reference Target is widely supported.
-  test('should not have a role on element internals', async ({ page }) => {
-    const element = page.locator('fluent-textarea');
-
-    await page.setContent(/* html */ `
-      <fluent-textarea></fluent-textarea>
-    `);
+  test('should not have a role on element internals', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.role', null);
   });
 
-  test("should always return 'textarea' for the `type` prop", async ({ page }) => {
-    const element = page.locator('fluent-textarea');
-
-    await page.setContent(/* html */ `
-      <fluent-textarea></fluent-textarea>
-    `);
+  test("should always return 'textarea' for the `type` prop", async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('type', 'textarea');
   });
 
-  test('should pass down attributes to the internal control', async ({ page }) => {
-    const element = page.locator('fluent-textarea');
+  test('should pass down attributes to the internal control', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('textarea');
 
-    await page.setContent(/* html */ `
-      <fluent-textarea
-        required
-        disabled
-        readonly
-        spellcheck
-        autocomplete="on"
-        maxlength="100"
-        minlength="10"
-        placeholder="Placeholder"
-      ></fluent-textarea>
-    `);
+    await fastPage.setTemplate({
+      attributes: {
+        required: true,
+        disabled: true,
+        readonly: true,
+        spellcheck: true,
+        autocomplete: 'on',
+        maxlength: '100',
+        minlength: '10',
+        placeholder: 'Placeholder',
+      },
+    });
 
     await expect(control).toHaveJSProperty('required', true);
     await expect(control).toHaveJSProperty('disabled', true);
@@ -58,10 +48,10 @@ test.describe('TextArea', () => {
     await expect(control).toHaveJSProperty('placeholder', 'Placeholder');
   });
 
-  test('should be associated with the given external labels', async ({ page }) => {
-    const element = page.locator('fluent-textarea');
+  test('should be associated with the given external labels', async ({ fastPage, page }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <label for="textarea" data-testid="label1">Text area</label>
       <fluent-textarea id="textarea"></fluent-textarea>
       <label for="textarea" data-testid="label2">Text area</lable>
@@ -74,11 +64,11 @@ test.describe('TextArea', () => {
     expect(labelsValue).toStrictEqual([label1El, label2El]);
   });
 
-  test('should be focused when associated external label is clicked', async ({ page }) => {
-    const element = page.locator('fluent-textarea');
+  test('should be focused when associated external label is clicked', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const control = element.locator('textarea');
 
-    await page.setContent(/* html */ `
+    await fastPage.setTemplate(/* html */ `
       <label for="textarea" data-testid="label">Text area</label>
       <fluent-textarea id="textarea"></fluent-textarea>
     `);
@@ -90,13 +80,11 @@ test.describe('TextArea', () => {
     await expect(control).toBeFocused();
   });
 
-  test('should have the control focused when `focus()` is called', async ({ page }) => {
-    const element = page.locator('fluent-textarea');
+  test('should have the control focused when `focus()` is called', async ({ fastPage }) => {
+    const { element } = fastPage;
     const control = element.locator('textarea');
 
-    await page.setContent(/* html */ `
-      <fluent-textarea id="textarea"></fluent-textarea>
-    `);
+    await fastPage.setTemplate({ attributes: { id: 'textarea' } });
 
     await element.evaluate((el: TextArea) => {
       el.focus();
@@ -106,12 +94,8 @@ test.describe('TextArea', () => {
   });
 
   test.describe('visual styles', () => {
-    test('should have default custom states', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea></fluent-textarea>
-      `);
+    test('should have default custom states', async ({ fastPage }) => {
+      const { element } = fastPage;
 
       await expect(element).toHaveCustomState('outline');
       await expect(element).not.toHaveCustomState('auto-resize');
@@ -120,40 +104,28 @@ test.describe('TextArea', () => {
       await expect(element).not.toHaveCustomState('resize');
     });
 
-    test('should toggle appearance states', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea appearance="filled-darker"></fluent-textarea>
-      `);
-
-      await expect(element).toHaveCustomState('filled-darker');
-      await expect(element).not.toHaveCustomState('filled-lighter');
-      await expect(element).not.toHaveCustomState('outline');
+    test('should set the `appearance` property to match the `appearance` attribute', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await element.evaluate((node: TextArea) => {
-        node.appearance = 'filled-lighter';
-      });
+      for (const appearance of Object.values(TextAreaAppearance)) {
+        await test.step(appearance, async () => {
+          await fastPage.setTemplate({ attributes: { appearance } });
 
-      await expect(element).toHaveCustomState('filled-lighter');
-      await expect(element).not.toHaveCustomState('filled-darker');
-      await expect(element).not.toHaveCustomState('outline');
+          await expect(element).toHaveJSProperty('appearance', appearance);
 
-      await element.evaluate((node: TextArea) => {
-        node.removeAttribute('appearance');
-      });
+          await expect(element).toHaveAttribute('appearance', appearance);
 
-      await expect(element).toHaveCustomState('outline');
-      await expect(element).not.toHaveCustomState('filled-lighter');
-      await expect(element).not.toHaveCustomState('filled-darker');
+          await expect(element).toHaveCustomState(appearance);
+        });
+      }
     });
 
-    test('should toggle auto-resize state', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should toggle auto-resize state', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea auto-resize></fluent-textarea>
-      `);
+      await fastPage.setTemplate({ attributes: { 'auto-resize': true } });
+
+      await expect(element).toHaveJSProperty('autoResize', true);
 
       await expect(element).toHaveCustomState('auto-resize');
 
@@ -161,15 +133,17 @@ test.describe('TextArea', () => {
         node.autoResize = false;
       });
 
+      await expect(element).not.toHaveAttribute('auto-resize');
+
       await expect(element).not.toHaveCustomState('auto-resize');
     });
 
-    test('should toggle block state', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should toggle block state', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea block></fluent-textarea>
-      `);
+      await fastPage.setTemplate({ attributes: { block: true } });
+
+      await expect(element).toHaveJSProperty('block', true);
 
       await expect(element).toHaveCustomState('block');
 
@@ -177,21 +151,21 @@ test.describe('TextArea', () => {
         node.block = false;
       });
 
+      await expect(element).not.toHaveAttribute('block');
+
       await expect(element).not.toHaveCustomState('block');
     });
 
-    test('should toggle display-shadow state', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should toggle display-shadow state', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea display-shadow></fluent-textarea>
-      `);
+      await fastPage.setTemplate({ attributes: { 'display-shadow': true } });
 
       // Expecting `false` because the default appearance, outline, shouldn’t have shadow
       await expect(element).not.toHaveCustomState('display-shadow');
 
-      await element.evaluate((el: TextArea, apperance: TextAreaAppearance) => {
-        el.appearance = apperance;
+      await element.evaluate((el: TextArea, appearance) => {
+        el.appearance = appearance;
       }, TextAreaAppearance.filledDarker);
 
       await expect(element).toHaveCustomState('display-shadow');
@@ -202,85 +176,51 @@ test.describe('TextArea', () => {
 
       await expect(element).not.toHaveCustomState('display-shadow');
 
-      await element.evaluate((el: TextArea, apperance: TextAreaAppearance) => {
+      await element.evaluate((el: TextArea, appearance: TextAreaAppearance) => {
         el.displayShadow = true;
-        el.appearance = apperance;
+        el.appearance = appearance;
       }, TextAreaAppearance.filledLighter);
 
       await expect(element).toHaveCustomState('display-shadow');
     });
 
-    test('should toggle resize states', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea resize="both"></fluent-textarea>
-      `);
-
-      await expect(element).toHaveCustomState('resize');
-      await expect(element).toHaveCustomState('resize-both');
-      await expect(element).not.toHaveCustomState('resize-vertical');
-      await expect(element).not.toHaveCustomState('resize-horizontal');
-
-      await element.evaluate((node: TextArea, resize: TextAreaResize) => {
-        node.resize = resize;
-      }, TextAreaResize.horizontal);
+    test('should set the `resize` property to match the `resize` attribute', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await expect(element).toHaveCustomState('resize');
-      await expect(element).toHaveCustomState('resize-horizontal');
-      await expect(element).not.toHaveCustomState('resize-vertical');
-      await expect(element).not.toHaveCustomState('resize-both');
+      for (const resize of Object.values(TextAreaResize)) {
+        await test.step(resize, async () => {
+          await fastPage.setTemplate({ attributes: { resize } });
 
-      await element.evaluate((node: TextArea, resize: TextAreaResize) => {
-        node.resize = resize;
-      }, TextAreaResize.vertical);
+          await expect(element).toHaveJSProperty('resize', resize);
 
-      await expect(element).toHaveCustomState('resize');
-      await expect(element).toHaveCustomState('resize-vertical');
-      await expect(element).not.toHaveCustomState('resize-horizontal');
-      await expect(element).not.toHaveCustomState('resize-both');
+          await expect(element).toHaveAttribute('resize', resize);
 
-      await element.evaluate((node: TextArea, resize: TextAreaResize) => {
-        node.resize = resize;
-      }, TextAreaResize.none);
-
-      await expect(element).not.toHaveCustomState('resize');
-      await expect(element).not.toHaveCustomState('resize-horizontal');
-      await expect(element).not.toHaveCustomState('resize-vertical');
+          await expect(element).toHaveCustomState(`resize-${resize}`);
+        });
+      }
     });
 
-    test('should toggle size states', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea size="small"></fluent-textarea>
-      `);
-
-      await expect(element).toHaveCustomState('small');
-      await expect(element).not.toHaveCustomState('large');
+    test('should set the `size` property to match the `size` attribute', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await element.evaluate((node: TextArea, size: TextAreaSize) => {
-        node.size = size;
-      }, TextAreaSize.large);
+      for (const size of Object.values(TextAreaSize)) {
+        await test.step(size, async () => {
+          await fastPage.setTemplate({ attributes: { size } });
 
-      await expect(element).toHaveCustomState('large');
-      await expect(element).not.toHaveCustomState('small');
+          await expect(element).toHaveJSProperty('size', size);
 
-      await element.evaluate((node: TextArea) => {
-        node.removeAttribute('size');
-      });
+          await expect(element).toHaveAttribute('size', size);
 
-      await expect(element).not.toHaveCustomState('small');
-      await expect(element).not.toHaveCustomState('large');
+          await expect(element).toHaveCustomState(size);
+        });
+      }
     });
 
-    test('should toggle user-invalid state', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should toggle user-invalid state', async ({ fastPage }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea required></fluent-textarea>
-      `);
+      await fastPage.setTemplate({ attributes: { required: true } });
 
       await expect(element).not.toHaveCustomState('user-valid');
       await expect(element).not.toHaveCustomState('user-invalid');
@@ -300,54 +240,51 @@ test.describe('TextArea', () => {
   });
 
   test.describe('internal label', () => {
-    test('should not display label if no elements assigned to the `label` slot', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should not display label if no elements assigned to the `label` slot', async ({ fastPage }) => {
+      const { element } = fastPage;
       const label = element.locator('label');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea></fluent-textarea>
-      `);
-
       await expect(label).toBeHidden();
     });
 
-    test('should display label when defined and associate to the internal textarea', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should display label when defined and associate to the internal textarea', async ({ fastPage }) => {
+      const { element } = fastPage;
       const label = element.locator('label');
       const control = element.locator('textarea');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea>
+      await fastPage.setTemplate({
+        innerHTML: /* html */ `
           <fluent-label slot="label">Details</fluent-label>
-        </fluent-textarea>
-      `);
+        `,
+      });
 
       await expect(label).toBeVisible();
       await expect(control).toHaveAccessibleName('Details');
     });
 
-    test('should not include `label` slotted elements in its value', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should not include `label` slotted elements in its value', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea>
+      await fastPage.setTemplate({
+        innerHTML: /* html */ `
           <fluent-label slot="label">Details</fluent-label>
           Some text
-        </fluent-textarea>
-      `);
+        `,
+      });
 
       await expect(element).toHaveJSProperty('value', 'Some text');
     });
 
-    test('should downstream `required` to the label', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should downstream `required` to the label', async ({ fastPage }) => {
+      const { element } = fastPage;
       const label = element.locator('fluent-label');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea required>
+      await fastPage.setTemplate({
+        attributes: { required: true },
+        innerHTML: /* html */ `
           <fluent-label slot="label">Details</fluent-label>
-        </fluent-textarea>
-      `);
+        `,
+      });
 
       await expect(label).toHaveJSProperty('required', true);
 
@@ -358,15 +295,16 @@ test.describe('TextArea', () => {
       await expect(label).toHaveJSProperty('required', false);
     });
 
-    test('should downstream `disabled` to the label', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should downstream `disabled` to the label', async ({ fastPage }) => {
+      const { element } = fastPage;
       const label = element.locator('fluent-label');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea disabled>
+      await fastPage.setTemplate({
+        attributes: { disabled: true },
+        innerHTML: /* html */ `
           <fluent-label slot="label">Details</fluent-label>
-        </fluent-textarea>
-      `);
+        `,
+      });
 
       await expect(label).toHaveJSProperty('disabled', true);
 
@@ -377,81 +315,55 @@ test.describe('TextArea', () => {
       await expect(label).toHaveJSProperty('disabled', false);
     });
 
-    test('should downstream `size` to the label', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-      const label = element.locator('fluent-label');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea size="${TextAreaSize.small}">
-          <fluent-label slot="label">Details</fluent-label>
-        </fluent-textarea>
-      `);
-
-      await expect(label).toHaveJSProperty('size', LabelSize.small);
-
-      await element.evaluate((el: TextArea, size: TextAreaSize) => {
-        el.size = size;
-      }, TextAreaSize.medium);
+    for (const size of Object.values(TextAreaSize)) {
+      test(`should downstream \`${size}\` size to the label`, async ({ fastPage }) => {
+        const { element } = fastPage;
+        const label = element.locator('fluent-label');
 
-      await expect(label).toHaveJSProperty('size', LabelSize.medium);
-
-      await element.evaluate((el: TextArea, size: TextAreaSize) => {
-        el.size = size;
-      }, TextAreaSize.large);
-
-      await expect(label).toHaveJSProperty('size', LabelSize.large);
+        await fastPage.setTemplate({
+          attributes: { size },
+          innerHTML: /* html */ `
+            <fluent-label slot="label">Details</fluent-label>
+          `,
+        });
 
-      await element.evaluate((el: TextArea) => {
-        el.size = undefined;
+        await expect(label).toHaveJSProperty('size', size);
       });
-
-      await expect(label).toHaveJSProperty('size', undefined);
-    });
+    }
   });
 
   test.describe('`value` and `defaultValue` props', () => {
-    test('should have `defaultValue` as empty string if no children', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea></fluent-textarea>
-      `);
+    test('should have `defaultValue` as empty string if no children', async ({ fastPage }) => {
+      const { element } = fastPage;
 
       await expect(element).toHaveJSProperty('defaultValue', '');
       await expect(element).toHaveJSProperty('value', '');
     });
 
-    test('should have `defaultValue` as its inner text if has text content', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should have `defaultValue` as its inner text if has text content', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea>
-          some text
-        </fluent-textarea>
-      `);
+      await fastPage.setTemplate({
+        innerHTML: 'some text',
+      });
 
       await expect(element).toHaveJSProperty('defaultValue', 'some text');
       await expect(element).toHaveJSProperty('value', 'some text');
     });
 
-    test('should have `defaultValue` as its inner HTML if has HTML content', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(
-        ['<fluent-textarea>', '  <div>some text</div>', '  <p>more text</p>', '</fluent-textarea>'].join('\n'),
-      );
+    test('should have `defaultValue` as its inner HTML if has HTML content', async ({ fastPage, page }) => {
+      const { element } = fastPage;
 
       const expectedValue = '<div>some text</div><p>more text</p>';
+
+      await fastPage.setTemplate({ innerHTML: expectedValue });
+
       await expect(element).toHaveJSProperty('defaultValue', expectedValue);
       await expect(element).toHaveJSProperty('value', expectedValue);
     });
 
-    test('should have `defaultValue` as set to `defaultValue` prop', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea></fluent-textarea>
-      `);
+    test('should have `defaultValue` as set to `defaultValue` prop', async ({ fastPage }) => {
+      const { element } = fastPage;
 
       await element.evaluate((el: TextArea) => {
         el.defaultValue = 'some text';
@@ -461,12 +373,8 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('value', 'some text');
     });
 
-    test('should not have `defaultValue` as set to `value` prop', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea></fluent-textarea>
-      `);
+    test('should not have `defaultValue` as set to `value` prop', async ({ fastPage }) => {
+      const { element } = fastPage;
 
       await element.evaluate((el: TextArea) => {
         el.value = 'some text';
@@ -476,12 +384,8 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('value', 'some text');
     });
 
-    test('should have `defaultValue` as set to `innerText`', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea></fluent-textarea>
-      `);
+    test('should have `defaultValue` as set to `innerText`', async ({ fastPage }) => {
+      const { element } = fastPage;
 
       await element.evaluate((el: TextArea) => {
         el.innerText = '  some\ntext  ';
@@ -491,12 +395,8 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('value', 'some<br>text');
     });
 
-    test('should have `defaultValue` as set to `textContent`', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
-
-      await page.setContent(/* html */ `
-        <fluent-textarea></fluent-textarea>
-      `);
+    test('should have `defaultValue` as set to `textContent`', async ({ fastPage }) => {
+      const { element } = fastPage;
 
       await element.evaluate((el: TextArea) => {
         el.textContent = '  some\ntext  ';
@@ -506,10 +406,13 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('value', 'some\ntext');
     });
 
-    test('should have `defaultValue` as set to the `defaultValue` prop before connected', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should have `defaultValue` as set to the `defaultValue` prop before connected', async ({
+      fastPage,
+      page,
+    }) => {
+      const { element } = fastPage;
 
-      await page.setContent('');
+      await fastPage.setTemplate('');
       await page.evaluate(() => {
         const textarea = document.createElement('fluent-textarea') as TextArea;
         textarea.defaultValue = 'some text';
@@ -520,11 +423,11 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('value', 'some text');
     });
 
-    test('should set `value` before connected', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should set `value` before connected', async ({ fastPage, page }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
 
-      await page.setContent('');
+      await fastPage.setTemplate('');
       await page.evaluate(() => {
         const textarea = document.createElement('fluent-textarea') as TextArea;
         textarea.value = 'some text';
@@ -537,13 +440,11 @@ test.describe('TextArea', () => {
     });
 
     // This behavior is consistent with the built-in `<textarea>` element
-    test('should only downstream to the `value` prop before user interaction', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should only downstream to the `value` prop before user interaction', async ({ fastPage }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea>1</fluent-textarea>
-      `);
+      await fastPage.setTemplate({ innerHTML: '1' });
 
       await element.evaluate((el: TextArea) => {
         el.defaultValue = '2';
@@ -572,12 +473,10 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('defaultValue', '4');
     });
 
-    test('should never be upstreamed by the `value` prop', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should never be upstreamed by the `value` prop', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea>1</fluent-textarea>
-      `);
+      await fastPage.setTemplate({ innerHTML: '1' });
 
       await element.evaluate((el: TextArea) => {
         el.value = '2';
@@ -587,14 +486,10 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('defaultValue', '1');
     });
 
-    test('should return the text length of the value with `textLength` prop', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should return the text length of the value with `textLength` prop', async ({ fastPage }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea></fluent-textarea>
-      `);
-
       await control.fill('123456\n7890 ');
 
       await expect(element).toHaveJSProperty('textLength', 12);
@@ -602,13 +497,11 @@ test.describe('TextArea', () => {
   });
 
   test.describe('validity and validation message', () => {
-    test('should set `valueMissing` flag if required and value is empty', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should set `valueMissing` flag if required and value is empty', async ({ fastPage }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea required></fluent-textarea>
-      `);
+      await fastPage.setTemplate({ attributes: { required: true } });
 
       await expect(element).toHaveJSProperty('validity.valueMissing', true);
 
@@ -630,12 +523,10 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('validity.valid', true);
     });
 
-    test('should set `tooShort` flag if value is shorter than `minlength`', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should set `tooShort` flag if value is shorter than `minlength`', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea minlength="10"></fluent-textarea>
-      `);
+      await fastPage.setTemplate({ attributes: { minlength: '10' } });
 
       // `tooShort` is not set until user interacted.
       await expect(element).toHaveJSProperty('validity.tooShort', false);
@@ -653,13 +544,11 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('validity.valid', true);
     });
 
-    test('should set `tooLong` flag if value is longer than `maxlength`', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should set `tooLong` flag if value is longer than `maxlength`', async ({ fastPage }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea maxlength="3">12345</fluent-textarea>
-      `);
+      await fastPage.setTemplate({ attributes: { maxlength: '3' }, innerHTML: '12345' });
 
       // `tooLong` is not set until user interacted.
       await expect(element).toHaveJSProperty('validity.tooLong', false);
@@ -694,12 +583,10 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('validity.valid', true);
     });
 
-    test('should always be valid if disabled', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should always be valid if disabled', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea required disabled></fluent-textarea>
-      `);
+      await fastPage.setTemplate({ attributes: { disabled: true, required: true } });
 
       await expect(element).toHaveJSProperty('validity.valid', true);
 
@@ -711,10 +598,10 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('validity.valid', false);
     });
 
-    test('should always be valid if read-only', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should always be valid if read-only', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
+      await fastPage.setTemplate(/* html */ `
         <fluent-textarea required readonly></fluent-textarea>
       `);
 
@@ -728,58 +615,93 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('validity.valid', false);
     });
 
-    // TODO: Update validation messages for other browsers.
-    test('should set the correct validation messages', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should set the correct validation message for `valueMissing` validity state', async ({
+      fastPage,
+      browserName,
+    }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea required></fluent-textarea>
-      `);
+      const messages: Record<string, string> = {
+        chromium: 'Please fill out this field.',
+        edge: 'Please fill out this field.',
+        firefox: 'Please fill out this field.',
+        webkit: 'Fill out this field',
+      };
 
-      await expect(element).toHaveJSProperty('validationMessage', 'Please fill out this field.');
+      await fastPage.setTemplate({ attributes: { required: true } });
+
+      await expect.soft(element).toHaveJSProperty('validationMessage', messages[browserName]);
 
       await control.fill('12345');
 
       await expect(element).toHaveJSProperty('validationMessage', '');
+    });
 
-      await element.evaluate((el: TextArea) => {
-        el.setAttribute('minlength', '6');
-      });
+    test('should set the correct validation message for `tooShort` validity state', async ({
+      fastPage,
+      browserName,
+    }) => {
+      const { element } = fastPage;
 
-      await expect(element).toHaveJSProperty(
-        'validationMessage',
-        'Please lengthen this text to 6 characters or more (you are currently using 5 characters).',
-      );
+      const messages: Record<string, string> = {
+        chromium: 'Please lengthen this text to 6 characters or more (you are currently using 5 characters).',
+        firefox: 'Please use at least 6 characters (you are currently using 5 characters).',
+        webkit: 'Use at least 6 characters',
+      };
+
+      await fastPage.setTemplate({ attributes: { minlength: '6' } });
+
+      await element.pressSequentially('12345');
+
+      await expect.soft(element).toHaveJSProperty('validationMessage', messages[browserName]);
 
       await element.press('6');
 
       await expect(element).toHaveJSProperty('validationMessage', '');
+    });
 
-      await element.pressSequentially('78');
+    test('should set the correct validation message for `tooLong` validity state', async ({
+      fastPage,
+      browserName,
+    }) => {
+      const { element } = fastPage;
+      const control = element.locator('textarea');
 
-      await element.evaluate((el: TextArea) => {
-        el.setAttribute('maxlength', '7');
-      });
+      const messages: Record<string, string> = {
+        chromium: 'Please shorten this text to 7 characters or less (you are currently using 8 characters).',
+        edge: 'Please shorten this text to 7 characters or less (you are currently using 8 characters).',
+        firefox: 'Please shorten this text to 7 characters or less (you are currently using 8 characters).',
+        webkit: 'Use no more than 7 characters',
+      };
 
-      await expect(element).toHaveJSProperty(
-        'validationMessage',
-        'Please shorten this text to 7 characters or less (you are currently using 8 characters).',
-      );
+      await control.fill('12345678');
 
-      await element.evaluate((el: TextArea) => {
-        el.setAttribute('disabled', '');
+      await element.evaluate((node: TextArea) => {
+        node.setAttribute('maxlength', '7');
       });
 
+      await expect(element).toHaveJSProperty('validationMessage', messages[browserName]);
+
+      await element.press('Backspace');
+
+      await expect(element).toHaveJSProperty('validationMessage', '');
+    });
+
+    test('should NOT show validation message when disabled', async ({ fastPage }) => {
+      const { element } = fastPage;
+
+      await fastPage.setTemplate({ attributes: { required: true, disabled: true } });
+
       await expect(element).toHaveJSProperty('validationMessage', '');
     });
   });
 
   test.describe('with form', () => {
-    test('should connect to the given `<form>` element', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should connect to the given `<form>` element', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
+      await fastPage.setTemplate(/* html */ `
         <form id="form1">
           <fluent-textarea></fluent-textarea>
         </form>
@@ -795,11 +717,11 @@ test.describe('TextArea', () => {
       await expect(element).toHaveJSProperty('form.id', 'form2');
     });
 
-    test('should be disabled when the parent `<fieldset>` is disabled', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should be disabled when the parent `<fieldset>` is disabled', async ({ fastPage, page }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
 
-      await page.setContent(/* html */ `
+      await fastPage.setTemplate(/* html */ `
         <form>
           <fieldset>
             <fluent-textarea></fluent-textarea>
@@ -833,13 +755,13 @@ test.describe('TextArea', () => {
     });
 
     test.describe('form reset', () => {
-      test('should reset value to empty if no `defaultValue`', async ({ page }) => {
-        const element = page.locator('fluent-textarea');
+      test('should reset value to empty if no `defaultValue`', async ({ fastPage, page }) => {
+        const { element } = fastPage;
         const control = element.locator('textarea');
         const form = page.locator('form');
         const reset = form.locator('button[type=reset]');
 
-        await page.setContent(/* html */ `
+        await fastPage.setTemplate(/* html */ `
           <form>
             <fluent-textarea></fluent-textarea>
             <button type="reset"></button>
@@ -855,12 +777,12 @@ test.describe('TextArea', () => {
         await expect(element).toHaveJSProperty('value', '');
       });
 
-      test('should reset value to `defaultvalue`', async ({ page }) => {
-        const element = page.locator('fluent-textarea');
+      test('should reset value to `defaultvalue`', async ({ fastPage, page }) => {
+        const { element } = fastPage;
         const control = element.locator('textarea');
         const reset = page.locator('button[type="reset"]');
 
-        await page.setContent(/* html */ `
+        await fastPage.setTemplate(/* html */ `
           <form>
             <fluent-textarea>1234</fluent-textarea>
             <button type="reset"></button>
@@ -878,12 +800,12 @@ test.describe('TextArea', () => {
         await expect(element).toHaveJSProperty('value', '1234');
       });
 
-      test('should reset value to updated `defaultValue`', async ({ page }) => {
-        const element = page.locator('fluent-textarea');
+      test('should reset value to updated `defaultValue`', async ({ fastPage, page }) => {
+        const { element } = fastPage;
         const control = element.locator('textarea');
         const reset = page.locator('button[type="reset"]');
 
-        await page.setContent(/* html */ `
+        await fastPage.setTemplate(/* html */ `
           <form>
             <fluent-textarea>1234</fluent-textarea>
             <button type="reset"></button>
@@ -904,12 +826,12 @@ test.describe('TextArea', () => {
       });
     });
 
-    test('should set form value', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should set form value', async ({ fastPage, page }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
       const form = page.locator('form');
 
-      await page.setContent(/* html */ `
+      await fastPage.setTemplate(/* html */ `
         <form>
           <fluent-textarea name="content"></fluent-textarea>
         </form>
@@ -931,13 +853,11 @@ test.describe('TextArea', () => {
   });
 
   test.describe('`select` events', () => {
-    test('should emit when text is selected', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should emit when text is selected', async ({ fastPage }) => {
+      const { element } = fastPage;
       const control = element.locator('textarea');
 
-      await page.setContent(/* html */ `
-        <fluent-textarea>12345</fluent-textarea>
-      `);
+      await fastPage.setTemplate({ innerHTML: '12345' });
 
       const [wasSelected] = await Promise.all([
         element.evaluate(
@@ -949,12 +869,10 @@ test.describe('TextArea', () => {
       expect(wasSelected).toBe(true);
     });
 
-    test('should emit when `select()` is called', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should emit when `select()` is called', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea>12345</fluent-textarea>
-      `);
+      await fastPage.setTemplate({ innerHTML: '12345' });
 
       const [wasSelected] = await Promise.all([
         element.evaluate(
@@ -970,12 +888,10 @@ test.describe('TextArea', () => {
   });
 
   test.describe('`change` events', () => {
-    test('should emit if value changed before blur', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should emit a `change` event when value changes and the control loses focus', async ({ fastPage }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea>12345</fluent-textarea>
-      `);
+      await fastPage.setTemplate({ innerHTML: '12345' });
 
       const [wasChanged] = await Promise.all([
         element.evaluate(
@@ -990,40 +906,25 @@ test.describe('TextArea', () => {
       expect(wasChanged).toBe(true);
     });
 
-    test('should not emit if value didn’t change before blur', async ({ page }) => {
-      const element = page.locator('fluent-textarea');
+    test('should NOT emit a `change` event when the value is the same and the control loses focus', async ({
+      fastPage,
+    }) => {
+      const { element } = fastPage;
 
-      await page.setContent(/* html */ `
-        <fluent-textarea>12345</fluent-textarea>
-      `);
+      await fastPage.setTemplate({ innerHTML: '12345' });
 
-      const [wasChanged] = await Promise.all([
-        element.evaluate(el => {
-          return new Promise(resolve => {
-            // If, after 1 second, the promise hasn’t fulfilled, consider the
-            // event didn’t fire.
-            const timeout = setTimeout(() => {
-              resolve(false);
-            }, 1000);
-
-            el.addEventListener(
-              'change',
-              () => {
-                clearTimeout(timeout);
-                resolve(true);
-              },
-              { once: true },
-            );
-          });
-        }),
-        (async () => {
-          await element.press('0');
-          await element.press('Backspace');
-          await element.blur();
-        })(),
-      ]);
+      const wasChanged = element.evaluate(node =>
+        Promise.race([
+          new Promise(resolve => node.addEventListener('change', () => resolve(true))),
+          new Promise(resolve => setTimeout(() => resolve(false), 100)),
+        ]),
+      );
+
+      await element.press('0');
+      await element.press('Backspace');
+      await element.blur();
 
-      expect(wasChanged).toBe(false);
+      await expect(wasChanged).resolves.toBe(false);
     });
   });
 });
diff --git a/packages/web-components/src/theme/set-theme.spec.ts b/packages/web-components/src/theme/set-theme.spec.ts
index 047e8bb88875f2..883943b72d0ec6 100644
--- a/packages/web-components/src/theme/set-theme.spec.ts
+++ b/packages/web-components/src/theme/set-theme.spec.ts
@@ -1,5 +1,4 @@
-import { expect, test } from '@playwright/test';
-import { fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 
 import type { setTheme as _setTheme, Theme } from './set-theme.js';
 
@@ -20,16 +19,12 @@ declare global {
 }
 
 test.describe('setTheme()', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('theme-settheme--set-theme'));
-  });
-
-  test('should set and uset global tokens', async ({ page }) => {
+  test('should set and uset global tokens', async ({ fastPage, page }) => {
     const html = page.locator('html');
     const body = page.locator('body');
     const div = page.locator('div');
 
-    await page.setContent(`<div></div>`);
+    await fastPage.setTemplate(`<div></div>`);
 
     await page.evaluate(theme => {
       window.setTheme(theme);
@@ -66,11 +61,11 @@ test.describe('setTheme()', () => {
     await expect(div).toHaveCSS('--bar', '');
   });
 
-  test.skip('should set and unset tokens in a light DOM subtree', async ({ page }) => {
+  test('should set and unset tokens in a light DOM subtree', async ({ fastPage, page }) => {
     const div = page.locator('div');
     const span = page.locator('span');
 
-    await page.setContent(`<div><span></span></div>`);
+    await fastPage.setTemplate(`<div><span></span></div>`);
 
     await page.evaluate(theme => {
       window.setTheme(theme);
@@ -100,12 +95,11 @@ test.describe('setTheme()', () => {
     await expect(span).toHaveCSS('--bar', 'bar1');
   });
 
-  test('should set and unset tokens in a shadow DOM tree', async ({ page }) => {
+  test('should set and unset tokens in a shadow DOM tree', async ({ fastPage, page }) => {
     const div = page.locator('div');
     const span = page.locator('span');
 
-    // Using Declarative Shadow DOM with `page.setContent()` doesn’t work in Firefox.
-    await page.setContent('<div></div>');
+    await fastPage.setTemplate('<div></div>');
     await div.evaluate((node: HTMLDivElement) => {
       node.attachShadow({ mode: 'open' });
       node.shadowRoot!.innerHTML = '<span></span>';
@@ -139,15 +133,15 @@ test.describe('setTheme()', () => {
     await expect(span).toHaveCSS('--bar', 'bar1');
   });
 
-  test.skip('should not inherit token values from light DOM subtree once tokens are set in the shadow DOM tree', async ({
+  test('should not inherit token values from light DOM subtree once tokens are set in the shadow DOM tree', async ({
+    fastPage,
     page,
   }) => {
     const parent = page.locator('div.parent');
     const host = page.locator('div.host');
     const span = host.locator('span');
 
-    // Using Declarative Shadow DOM with `page.setContent()` doesn’t work in Firefox.
-    await page.setContent(`
+    await fastPage.setTemplate(/* html */ `
       <div class="parent">
         <div class="host"></div>
       </div>
diff --git a/packages/web-components/src/theme/set-theme.ts b/packages/web-components/src/theme/set-theme.ts
index 9e18a00880a8c7..cb1a8da3880b58 100644
--- a/packages/web-components/src/theme/set-theme.ts
+++ b/packages/web-components/src/theme/set-theme.ts
@@ -1,3 +1,4 @@
+import { Updates } from '@microsoft/fast-element';
 import { uniqueId } from '@microsoft/fast-web-utilities';
 
 /**
@@ -208,9 +209,10 @@ function forceRepaint(element: HTMLElement) {
   const currentValue = element.style.getPropertyValue(name);
 
   element.style.setProperty(name, tempValue);
-  requestAnimationFrame(() => {
-    element.style.setProperty(name, currentValue);
-  });
+
+  Updates.process();
+
+  element.style.setProperty(name, currentValue);
 }
 
 /**
diff --git a/packages/web-components/src/toggle-button/toggle-button.spec.ts b/packages/web-components/src/toggle-button/toggle-button.spec.ts
index 07e46ca5f9f12e..5bc019f24b997a 100644
--- a/packages/web-components/src/toggle-button/toggle-button.spec.ts
+++ b/packages/web-components/src/toggle-button/toggle-button.spec.ts
@@ -1,41 +1,26 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 
 test.describe('Toggle Button', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-button-toggle-button--button'));
+  test.use({ tagName: 'fluent-toggle-button' });
 
-    await page.waitForFunction(() => customElements.whenDefined('fluent-toggle-button'));
-  });
-
-  test('should have the `aria-pressed` attribute set to `false` by default', async ({ page }) => {
-    const element = page.locator('fluent-toggle-button');
-
-    await page.setContent(/* html */ `
-      <fluent-toggle-button>Toggle</fluent-toggle-button>
-    `);
+  test('should have the `aria-pressed` attribute set to `false` by default', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.ariaPressed', 'false');
   });
 
   test('should set the `aria-pressed` attribute to `true` when the `pressed` attribute is present', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-toggle-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-        <fluent-toggle-button pressed>Toggle</fluent-toggle-button>
-    `);
+    await fastPage.setTemplate({ attributes: { pressed: true } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaPressed', 'true');
   });
 
-  test('should toggle the `pressed` attribute when clicked', async ({ page }) => {
-    const element = page.locator('fluent-toggle-button');
-
-    await page.setContent(/* html */ `
-      <fluent-toggle-button>Toggle</fluent-toggle-button>
-    `);
+  test('should toggle the `pressed` attribute when clicked', async ({ fastPage }) => {
+    const { element } = fastPage;
 
     await expect(element).toHaveJSProperty('elementInternals.ariaPressed', 'false');
 
@@ -55,13 +40,11 @@ test.describe('Toggle Button', () => {
   });
 
   test('should NOT toggle the `pressed` attribute when clicked when the `disabled` attribute is present', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-toggle-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-toggle-button disabled>Toggle</fluent-toggle-button>
-    `);
+    await fastPage.setTemplate({ attributes: { disabled: true } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaPressed', 'false');
 
@@ -81,13 +64,11 @@ test.describe('Toggle Button', () => {
   });
 
   test('should NOT toggle the `pressed` attribute when clicked when the `disabled-focusable` attribute is present', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-toggle-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-toggle-button disabled-focusable>Toggle</fluent-toggle-button>
-    `);
+    await fastPage.setTemplate({ attributes: { 'disabled-focusable': true } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaPressed', 'false');
 
@@ -106,34 +87,30 @@ test.describe('Toggle Button', () => {
     await expect(element).not.toHaveCustomState('pressed');
   });
 
-  test('should set the `aria-pressed` attribute to `mixed` when the `mixed` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-toggle-button');
+  test('should set the `aria-pressed` attribute to `mixed` when the `mixed` attribute is present', async ({
+    fastPage,
+  }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-toggle-button mixed>Toggle</fluent-toggle-button>
-    `);
+    await fastPage.setTemplate({ attributes: { mixed: true } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaPressed', 'mixed');
   });
 
-  test('should set the `pressed` state when the `mixed` attribute is present', async ({ page }) => {
-    const element = page.locator('fluent-toggle-button');
+  test('should set the `pressed` state when the `mixed` attribute is present', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-toggle-button mixed>Toggle</fluent-toggle-button>
-    `);
+    await fastPage.setTemplate({ attributes: { mixed: true } });
 
     await expect(element).toHaveCustomState('pressed');
   });
 
   test('should set the `aria-pressed` attribute to match the `pressed` attribute when the `mixed` attribute is removed', async ({
-    page,
+    fastPage,
   }) => {
-    const element = page.locator('fluent-toggle-button');
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-toggle-button mixed pressed>Toggle</fluent-toggle-button>
-    `);
+    await fastPage.setTemplate({ attributes: { mixed: true, pressed: true } });
 
     await expect(element).toHaveJSProperty('elementInternals.ariaPressed', 'mixed');
 
@@ -144,12 +121,10 @@ test.describe('Toggle Button', () => {
     await expect(element).toHaveJSProperty('elementInternals.ariaPressed', 'true');
   });
 
-  test('should persist the `pressed` state when the `mixed` attribute is removed', async ({ page }) => {
-    const element = page.locator('fluent-toggle-button');
+  test('should persist the `pressed` state when the `mixed` attribute is removed', async ({ fastPage }) => {
+    const { element } = fastPage;
 
-    await page.setContent(/* html */ `
-      <fluent-toggle-button mixed pressed>Toggle</fluent-toggle-button>
-    `);
+    await fastPage.setTemplate({ attributes: { mixed: true, pressed: true } });
 
     await expect(element).toHaveCustomState('pressed');
 
diff --git a/packages/web-components/src/tooltip/tooltip.spec.ts b/packages/web-components/src/tooltip/tooltip.spec.ts
index f9dbe1aecc1073..4f6054137d9959 100644
--- a/packages/web-components/src/tooltip/tooltip.spec.ts
+++ b/packages/web-components/src/tooltip/tooltip.spec.ts
@@ -1,20 +1,9 @@
-import { test } from '@playwright/test';
-import { expect, fixtureURL } from '../helpers.tests.js';
+import { expect, test } from '../../test/playwright/index.js';
 import type { Tooltip } from './tooltip.js';
 import type { TooltipPositioningOption } from './tooltip.options.js';
 
 test.describe('Tooltip', () => {
-  test.beforeEach(async ({ page }) => {
-    await page.goto(fixtureURL('components-tooltip--docs'));
-    await page.waitForFunction(() => customElements.whenDefined('fluent-tooltip'));
-
-    await page.setContent(/* html */ `
-      <div style="position: absolute; inset: 200px">
-        <button id="target">Target</button>
-        <fluent-tooltip anchor="target">This is a tooltip</fluent-tooltip>
-      </div>
-    `);
-  });
+  test.use({ tagName: 'fluent-tooltip' });
 
   /**
    * ARIA APG Tooltip Pattern {@link https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/ }
@@ -22,139 +11,204 @@ test.describe('Tooltip', () => {
    * The element that serves as the tooltip container has role tooltip.
    * The element that triggers the tooltip references the tooltip element with aria-describedby.
    */
-  test('escape key should hide the tooltip', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('escape key should hide the tooltip', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const button = page.locator('button');
 
+    await fastPage.setTemplate(/* html */ `
+      <div style="position: absolute; inset: 200px">
+        <button id="target">Target</button>
+        <fluent-tooltip anchor="target">This is a tooltip</fluent-tooltip>
+      </div>
+    `);
+
     await button.focus();
+
     await expect(element).toBeVisible();
+
     await page.keyboard.press('Escape');
+
     await expect(element).toBeHidden();
   });
 
-  test('should have the role set to `tooltip`', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('should have the role set to `tooltip`', async ({ fastPage }) => {
+    const { element } = fastPage;
+
     await expect(element).toHaveJSProperty('elementInternals.role', 'tooltip');
   });
 
-  test('should have the `aria-describedby` attribute set to the tooltip id', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('should have the `aria-describedby` attribute set to the tooltip id', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const button = page.locator('button');
 
+    await fastPage.setTemplate(/* html */ `
+      <div style="position: absolute; inset: 200px">
+        <button id="target">Target</button>
+        <fluent-tooltip anchor="target">This is a tooltip</fluent-tooltip>
+      </div>
+    `);
+
     await expect(element).toHaveAttribute('id');
+
     const id = await element.evaluate((node: Tooltip) => node.id);
+
     await expect(button).toHaveAttribute('aria-describedby', id);
   });
 
-  test('should not be visible by default', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('should not be visible by default', async ({ fastPage }) => {
+    const { element } = fastPage;
+
     await expect(element).toBeHidden();
   });
 
-  test('should show the tooltip on hover', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('should show the tooltip on hover', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const button = page.locator('button');
 
+    await fastPage.setTemplate(/* html */ `
+      <div style="position: absolute; inset: 200px">
+        <button id="target">Target</button>
+        <fluent-tooltip anchor="target">This is a tooltip</fluent-tooltip>
+      </div>
+    `);
+
     await expect(element).toBeHidden();
+
     await button.hover();
+
     await expect(element).toBeVisible();
   });
 
-  test('should show the tooltip on focus', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('should show the tooltip on focus', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const button = page.locator('button');
 
+    await fastPage.setTemplate(/* html */ `
+      <div style="position: absolute; inset: 200px">
+        <button id="target">Target</button>
+        <fluent-tooltip anchor="target">This is a tooltip</fluent-tooltip>
+      </div>
+    `);
+
     await expect(element).toBeHidden();
+
     await button.focus();
+
     await expect(element).toBeVisible();
+
     await button.blur();
+
     await expect(element).toBeHidden();
   });
 
-  test('default placement should be set to `above`', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('default placement should be set to `above`', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const button = page.locator('button');
+
+    await fastPage.setTemplate(/* html */ `
+      <div style="position: absolute; inset: 200px">
+        <button id="target">Target</button>
+        <fluent-tooltip anchor="target">This is a tooltip</fluent-tooltip>
+      </div>
+    `);
+
     await expect(element).not.toHaveAttribute('positioning', 'above');
 
-    // show the element to get the position
     await button.focus();
     await expect(element).toBeVisible();
 
     const buttonTop = await button.evaluate((node: HTMLElement) => node.getBoundingClientRect().top);
     const elementBottom = await element.evaluate((node: HTMLElement) => node.getBoundingClientRect().bottom);
 
-    await expect(buttonTop).toBeGreaterThan(elementBottom);
+    expect(buttonTop).toBeGreaterThan(elementBottom);
   });
 
-  test('position should be set to `above` when `positioning` is set to `above`', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('position should be set to `above` when `positioning` is set to `above`', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const button = page.locator('button');
 
+    await fastPage.setTemplate(/* html */ `
+      <div style="position: absolute; inset: 200px">
+        <button id="target">Target</button>
+        <fluent-tooltip anchor="target">This is a tooltip</fluent-tooltip>
+      </div>
+    `);
+
     await element.evaluate((node: Tooltip) => {
       node.positioning = 'above' as TooltipPositioningOption;
     });
+
     await expect(element).toHaveAttribute('positioning', 'above');
 
-    // show the element to get the position
     await button.focus();
 
     const buttonTop = await button.evaluate((node: HTMLElement) => node.getBoundingClientRect().top);
+
     const elementBottom = await element.evaluate((node: HTMLElement) => node.getBoundingClientRect().bottom);
 
-    await expect(buttonTop).toBeGreaterThan(elementBottom);
+    expect(buttonTop).toBeGreaterThan(elementBottom);
   });
 
-  test('position should be set to `below` when `positioning` is set to `below`', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('position should be set to `below` when `positioning` is set to `below`', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const button = page.locator('button');
 
-    await element.evaluate((node: Tooltip) => {
-      node.positioning = 'below' as TooltipPositioningOption;
-    });
-    await expect(element).toHaveAttribute('positioning', 'below');
+    await fastPage.setTemplate(/* html */ `
+      <div style="position: absolute; inset: 200px">
+        <button id="target">Target</button>
+        <fluent-tooltip anchor="target" positioning="below">This is a tooltip</fluent-tooltip>
+      </div>
+    `);
+
+    await expect(element).toHaveJSProperty('positioning', 'below');
 
-    // show the element to get the position
     await button.focus();
 
     const buttonBottom = await button.evaluate((node: HTMLElement) => node.getBoundingClientRect().bottom);
     const elementTop = await element.evaluate((node: HTMLElement) => node.getBoundingClientRect().top);
 
-    await expect(buttonBottom).toBeLessThan(elementTop);
+    expect(buttonBottom).toBeLessThan(elementTop);
   });
 
-  test('position should be set to `before` when `positioning` is set to `before`', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('position should be set to `before` when `positioning` is set to `before`', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const button = page.locator('button');
 
-    await element.evaluate((node: Tooltip) => {
-      node.positioning = 'before' as TooltipPositioningOption;
-    });
-    await expect(element).toHaveAttribute('positioning', 'before');
+    await fastPage.setTemplate(/* html */ `
+      <div style="position: absolute; inset: 200px">
+        <button id="target">Target</button>
+        <fluent-tooltip anchor="target" positioning="before">This is a tooltip</fluent-tooltip>
+      </div>
+    `);
+
+    await expect(element).toHaveJSProperty('positioning', 'before');
 
-    // show the element to get the position
     await button.focus();
 
     const buttonLeft = await button.evaluate((node: HTMLElement) => node.getBoundingClientRect().left);
     const elementRight = await element.evaluate((node: HTMLElement) => node.getBoundingClientRect().right);
 
-    await expect(buttonLeft).toBeGreaterThan(elementRight);
+    expect(buttonLeft).toBeGreaterThan(elementRight);
   });
 
-  test('position should be set to `after` when `positioning` is set to `after`', async ({ page }) => {
-    const element = page.locator('fluent-tooltip');
+  test('position should be set to `after` when `positioning` is set to `after`', async ({ fastPage, page }) => {
+    const { element } = fastPage;
     const button = page.locator('button');
 
-    await element.evaluate((node: Tooltip) => {
-      node.positioning = 'after' as TooltipPositioningOption;
-    });
-    await expect(element).toHaveAttribute('positioning', 'after');
+    await fastPage.setTemplate(/* html */ `
+      <div style="position: absolute; inset: 200px">
+        <button id="target">Target</button>
+        <fluent-tooltip anchor="target" positioning="after">This is a tooltip</fluent-tooltip>
+      </div>
+    `);
+
+    await expect(element).toHaveJSProperty('positioning', 'after');
 
-    // show the element to get the position
     await button.focus();
 
     const buttonRight = await button.evaluate((node: HTMLElement) => node.getBoundingClientRect().right);
     const elementLeft = await element.evaluate((node: HTMLElement) => node.getBoundingClientRect().left);
 
-    await expect(buttonRight).toBeLessThan(elementLeft);
+    expect(buttonRight).toBeLessThan(elementLeft);
   });
 });
diff --git a/packages/web-components/src/tooltip/tooltip.ts b/packages/web-components/src/tooltip/tooltip.ts
index 955669af4b47e6..7843c0aeaee12b 100644
--- a/packages/web-components/src/tooltip/tooltip.ts
+++ b/packages/web-components/src/tooltip/tooltip.ts
@@ -1,4 +1,4 @@
-import { attr, FASTElement, nullableNumberConverter } from '@microsoft/fast-element';
+import { attr, FASTElement, nullableNumberConverter, Updates } from '@microsoft/fast-element';
 import { uniqueId } from '@microsoft/fast-web-utilities';
 import type { TooltipPositioningOption } from './tooltip.options.js';
 
@@ -44,6 +44,17 @@ export class Tooltip extends FASTElement {
   @attr
   public positioning?: TooltipPositioningOption;
 
+  /**
+   * Updates the fallback styles when the positioning changes.
+   *
+   * @internal
+   */
+  public positioningChanged(): void {
+    if (!SUPPORTS_CSS_ANCHOR_POSITIONING) {
+      this.setFallbackStyles();
+    }
+  }
+
   /**
    * The id of the anchor element for the tooltip
    */
@@ -84,6 +95,11 @@ export class Tooltip extends FASTElement {
     const describedBy = this.anchorElement.getAttribute('aria-describedby');
     this.anchorElement.setAttribute('aria-describedby', describedBy ? `${describedBy} ${this.id}` : this.id);
 
+    this.anchorElement.addEventListener('focus', this.focusAnchorHandler);
+    this.anchorElement.addEventListener('blur', this.blurAnchorHandler);
+    this.anchorElement.addEventListener('mouseenter', this.mouseenterAnchorHandler);
+    this.anchorElement.addEventListener('mouseleave', this.mouseleaveAnchorHandler);
+
     if (SUPPORTS_CSS_ANCHOR_POSITIONING) {
       if (!SUPPORTS_HTML_ANCHOR_POSITIONING) {
         // @ts-expect-error - Baseline 2024
@@ -91,67 +107,10 @@ export class Tooltip extends FASTElement {
         // @ts-expect-error - Baseline 2024
         this.style.positionAnchor = anchorName;
       }
-    } else {
-      // Provide style fallback for browsers that do not support anchor positioning
-      if (!this.anchorPositioningStyleElement) {
-        this.anchorPositioningStyleElement = document.createElement('style');
-        document.head.append(this.anchorPositioningStyleElement);
-      }
-
-      // Given a position with <direction>-<alignment> format, return the proper CSS properties
-      // eslint-disable-next-line prefer-const
-      let [direction, alignment] = this.positioning?.split('-') ?? [];
-
-      if (alignment === undefined && (direction === 'above' || direction === 'below')) {
-        alignment = 'centerX';
-      }
-      if (alignment === undefined && (direction === 'before' || direction === 'after')) {
-        alignment = 'centerY';
-      }
-
-      const directionCSSMap = {
-        above: `bottom: anchor(${anchorName} top);`,
-        below: `top: anchor(${anchorName} bottom);`,
-        before: `right: anchor(${anchorName} left);`,
-        after: `left: anchor(${anchorName} right);`,
-      } as const;
-
-      type DirectionMapOption = keyof typeof directionCSSMap;
-      const directionCSS = directionCSSMap[direction as DirectionMapOption] ?? directionCSSMap.above;
-
-      const alignmentCSSMap = {
-        start: `left: anchor(${anchorName} left);`,
-        end: `right: anchor(${anchorName} right);`,
-        top: `top: anchor(${anchorName} top);`,
-        bottom: `bottom: anchor(${anchorName} bottom);`,
-        centerX: `left: anchor(${anchorName} center); translate: -50% 0;`,
-        centerY: `top: anchor(${anchorName} center); translate: 0 -50%;`,
-      } as const;
-
-      type AlignmentMapOption = keyof typeof alignmentCSSMap;
-      const alignmentCSS = alignmentCSSMap[alignment as AlignmentMapOption] ?? alignmentCSSMap.centerX;
-
-      this.anchorPositioningStyleElement.textContent = `
-          #${this.anchor} {
-            anchor-name: ${anchorName};
-          }
-          #${this.id} {
-            inset: unset;
-            ${directionCSS}
-            ${alignmentCSS}
-            position: absolute;
-          }
-        `;
-
-      if (window.CSS_ANCHOR_POLYFILL) {
-        window.CSS_ANCHOR_POLYFILL.call({ element: this.anchorPositioningStyleElement });
-      }
+      return;
     }
 
-    this.anchorElement.addEventListener('focus', this.focusAnchorHandler);
-    this.anchorElement.addEventListener('blur', this.blurAnchorHandler);
-    this.anchorElement.addEventListener('mouseenter', this.mouseenterAnchorHandler);
-    this.anchorElement.addEventListener('mouseleave', this.mouseleaveAnchorHandler);
+    Updates.enqueue(() => this.setFallbackStyles());
   }
 
   public disconnectedCallback(): void {
@@ -170,7 +129,6 @@ export class Tooltip extends FASTElement {
   public showTooltip(delay: number = this.defaultDelay): void {
     setTimeout(() => {
       this.setAttribute('aria-hidden', 'false');
-      //// @ts-expect-error - Baseline 2024
       this.showPopover();
     }, delay);
   }
@@ -189,7 +147,6 @@ export class Tooltip extends FASTElement {
       }
 
       this.setAttribute('aria-hidden', 'true');
-      //// @ts-expect-error - Baseline 2024
       this.hidePopover();
     }, delay);
   }
@@ -210,6 +167,68 @@ export class Tooltip extends FASTElement {
    * Hide the tooltip on blur
    */
   public blurAnchorHandler = () => this.hideTooltip(0);
+
+  private setFallbackStyles(): void {
+    if (!this.anchorElement) {
+      return;
+    }
+    // @ts-expect-error - Baseline 2024
+    const anchorName = this.anchorElement.style.anchorName || `--${this.anchor}`;
+
+    // Provide style fallback for browsers that do not support anchor positioning
+    if (!this.anchorPositioningStyleElement) {
+      this.anchorPositioningStyleElement = document.createElement('style');
+      document.head.append(this.anchorPositioningStyleElement);
+    }
+
+    let [direction, alignment] = this.positioning?.split('-') ?? [];
+
+    if (!alignment) {
+      if (direction === 'above' || direction === 'below') {
+        alignment = 'centerX';
+      }
+      if (direction === 'before' || direction === 'after') {
+        alignment = 'centerY';
+      }
+    }
+
+    const directionCSSMap = {
+      above: `bottom: anchor(top);`,
+      below: `top: anchor(bottom);`,
+      before: `right: anchor(left);`,
+      after: `left: anchor(right);`,
+    } as const;
+
+    const directionCSS = directionCSSMap[direction as keyof typeof directionCSSMap] ?? directionCSSMap.above;
+
+    const alignmentCSSMap = {
+      start: `left: anchor(left);`,
+      end: `right: anchor(right);`,
+      top: `top: anchor(top);`,
+      bottom: `bottom: anchor(bottom);`,
+      centerX: `left: anchor(center); translate: -50% 0;`,
+      centerY: `top: anchor(center); translate: 0 -50%;`,
+    } as const;
+
+    const alignmentCSS = alignmentCSSMap[alignment as keyof typeof alignmentCSSMap] ?? alignmentCSSMap.centerX;
+
+    this.anchorPositioningStyleElement.textContent = /* css */ `
+      #${this.anchor} {
+        anchor-name: ${anchorName};
+      }
+      #${this.id} {
+        inset: unset;
+        position-anchor: ${anchorName};
+        position: absolute;
+        ${directionCSS}
+        ${alignmentCSS}
+      }
+    `;
+
+    if (window.CSS_ANCHOR_POLYFILL) {
+      window.CSS_ANCHOR_POLYFILL.call({ element: this.anchorPositioningStyleElement });
+    }
+  }
 }
 
 declare global {
diff --git a/packages/web-components/test/harness/index.html b/packages/web-components/test/harness/index.html
new file mode 100644
index 00000000000000..9e66c747610523
--- /dev/null
+++ b/packages/web-components/test/harness/index.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Fluent Web Components Test Harness</title>
+  </head>
+  <body>
+    <script type="module" src="/src/main.ts"></script>
+  </body>
+</html>
diff --git a/packages/web-components/test/harness/src/main.ts b/packages/web-components/test/harness/src/main.ts
new file mode 100644
index 00000000000000..2ca1a2fa2d4ebb
--- /dev/null
+++ b/packages/web-components/test/harness/src/main.ts
@@ -0,0 +1,17 @@
+if (!CSS.supports('anchor-name: --foo')) {
+  import('@oddbird/css-anchor-positioning/fn').then(({ default: applyPolyfill }) => {
+    Object.defineProperty(window, 'CSS_ANCHOR_POLYFILL', {
+      value: applyPolyfill,
+    });
+  });
+}
+
+import { webLightTheme } from '@fluentui/tokens';
+import { setTheme } from '../../../src/theme/set-theme.js';
+import '../../../src/index-rollup.js';
+
+setTheme(webLightTheme);
+
+Object.defineProperty(window, 'setTheme', {
+  value: setTheme,
+});
diff --git a/packages/web-components/test/harness/vite.config.ts b/packages/web-components/test/harness/vite.config.ts
new file mode 100644
index 00000000000000..6c7c44543a3bb0
--- /dev/null
+++ b/packages/web-components/test/harness/vite.config.ts
@@ -0,0 +1,23 @@
+import type { UserConfig } from 'vite';
+
+export default {
+  clearScreen: false,
+  publicDir: '../../public',
+  esbuild: {
+    target: 'ES2019',
+  },
+  server: {
+    port: 5173,
+    strictPort: true,
+    debug: true,
+  },
+  build: {
+    outDir: './dist',
+    minify: false,
+  },
+  preview: {
+    port: 5173,
+    strictPort: true,
+    open: false,
+  },
+} as UserConfig;
diff --git a/packages/web-components/src/helpers.tests.ts b/packages/web-components/test/playwright/assertions.ts
similarity index 64%
rename from packages/web-components/src/helpers.tests.ts
rename to packages/web-components/test/playwright/assertions.ts
index 46d72c8403a92f..6ec5a905a99514 100644
--- a/packages/web-components/src/helpers.tests.ts
+++ b/packages/web-components/test/playwright/assertions.ts
@@ -1,35 +1,4 @@
-import qs from 'qs';
-import { expect as baseExpect, type ExpectMatcherState, type Locator } from '@playwright/test';
-
-/**
- * Returns a formatted URL for a given Storybook fixture.
- *
- * @param id - the Storybook fixture ID
- * @param args - Story args
- * @returns - the local URL for the Storybook fixture iframe
- */
-export function fixtureURL(id: string = 'debug--blank', args?: Record<string, any>): string {
-  const params: Record<string, any> = { id };
-  if (args) {
-    params.args = qs
-      .stringify(args, {
-        allowDots: true,
-        delimiter: ';',
-        format: 'RFC1738',
-        encode: false,
-      })
-      .replace(/=/g, ':')
-      .replace(/\//g, '--');
-  }
-
-  const url = qs.stringify(params, {
-    addQueryPrefix: true,
-    format: 'RFC1738',
-    encode: false,
-  });
-
-  return url;
-}
+import { expect as baseExpect, ExpectMatcherState, type Locator } from '@playwright/test';
 
 /**
  * Evaluate whether an element has the given state or not on its `elementInternals` property.
@@ -39,7 +8,7 @@ export function fixtureURL(id: string = 'debug--blank', args?: Record<string, an
  * @param expected - Whether the given state is expected to exist.
  * @param has - Whether the element is expected to have or not have the given state, defaults to `true`.
  */
-async function toHaveCustomState(
+export async function toHaveCustomState(
   this: ExpectMatcherState,
   locator: Locator,
   state: string,
@@ -80,7 +49,3 @@ async function toHaveCustomState(
     actual: matcherResult?.actual,
   };
 }
-
-export const expect = baseExpect.extend({
-  toHaveCustomState,
-});
diff --git a/packages/web-components/test/playwright/fast-fixture.ts b/packages/web-components/test/playwright/fast-fixture.ts
new file mode 100644
index 00000000000000..374b96bc075793
--- /dev/null
+++ b/packages/web-components/test/playwright/fast-fixture.ts
@@ -0,0 +1,87 @@
+import type { Locator, Page } from '@playwright/test';
+
+/**
+ * A fixture for testing FAST components.
+ */
+export class FASTFixture {
+  /**
+   * The Playwright locator for the custom element.
+   */
+  public readonly element: Locator;
+
+  /**
+   * The tag name of the custom element.
+   */
+  private readonly tagName: string;
+
+  /**
+   * The inner HTML of the custom element.
+   */
+  private readonly innerHTML: string;
+
+  constructor(public readonly page: Page, tagName: string, innerHTML: string) {
+    this.tagName = tagName;
+    this.innerHTML = innerHTML;
+    this.element = this.page.locator(this.tagName);
+  }
+
+  async goto() {
+    await this.page.goto('/');
+  }
+
+  private defaultTemplate(
+    tagName: string = this.tagName,
+    attributes: Record<string, string | true> = {},
+    innerHTML: string = this.innerHTML,
+  ) {
+    const attributesString = Object.entries(attributes)
+      .map(([key, value]) => {
+        if (value === true) {
+          return key;
+        }
+
+        return `${key}="${value.replace(/"/g, '')}"`;
+      })
+      .join(' ');
+
+    return `<${tagName} ${attributesString}>${innerHTML}</${tagName}>`;
+  }
+
+  async setTemplate(
+    templateOrOptions?:
+      | string
+      | {
+          attributes?: Record<string, string | true>;
+          innerHTML?: string;
+        },
+  ): Promise<void> {
+    const template =
+      typeof templateOrOptions === 'string'
+        ? templateOrOptions
+        : this.defaultTemplate(this.tagName, templateOrOptions?.attributes, templateOrOptions?.innerHTML);
+
+    const body = this.page.locator('body');
+
+    await body.evaluateHandle((node, template) => {
+      const fragment = document.createRange().createContextualFragment(template);
+      node.innerHTML = '';
+      node.append(fragment);
+    }, template);
+
+    const bodyHandle = await body.elementHandle();
+    if (bodyHandle) {
+      await bodyHandle.waitForElementState('stable');
+    }
+  }
+
+  async waitForCustomElement(tagName: string = this.tagName, ...tagNames: string[]) {
+    if (!tagName && !tagNames.length) {
+      return;
+    }
+
+    await this.page.waitForFunction(
+      (tagNames: string[]) => Promise.all(tagNames.map(t => customElements.whenDefined(t))),
+      [tagName, ...tagNames],
+    );
+  }
+}
diff --git a/packages/web-components/test/playwright/index.ts b/packages/web-components/test/playwright/index.ts
new file mode 100644
index 00000000000000..97266a2d53c464
--- /dev/null
+++ b/packages/web-components/test/playwright/index.ts
@@ -0,0 +1,43 @@
+import { expect as baseExpect, test as baseTest } from '@playwright/test';
+import { FASTFixture } from './fast-fixture.js';
+import { toHaveCustomState } from './assertions.js';
+
+type FixtureOptions = {
+  /**
+   * Additional HTML to insert into the element.
+   */
+  innerHTML: string;
+  /**
+   * The tag name of the custom element to test.
+   */
+  tagName: string;
+  /**
+   * Additional custom elements to wait for before running the test.
+   */
+  waitFor: string[];
+};
+
+type Fixtures = {
+  fastPage: FASTFixture;
+};
+
+export const test = baseTest.extend<Fixtures & FixtureOptions>({
+  innerHTML: ['', { option: true }],
+
+  tagName: ['', { option: true }],
+
+  waitFor: [[], { option: true }],
+
+  fastPage: async ({ page, innerHTML, tagName, waitFor }, use) => {
+    const fastPage = new FASTFixture(page, tagName, innerHTML);
+    await fastPage.goto();
+    await fastPage.waitForCustomElement(tagName, ...waitFor);
+    await fastPage.setTemplate();
+
+    await use(fastPage);
+  },
+});
+
+export const expect = baseExpect.extend({
+  toHaveCustomState,
+});
diff --git a/packages/web-components/tsconfig.lib.json b/packages/web-components/tsconfig.lib.json
index 13c3609d2e1c95..a3ed513184b3bb 100644
--- a/packages/web-components/tsconfig.lib.json
+++ b/packages/web-components/tsconfig.lib.json
@@ -9,5 +9,5 @@
     "importHelpers": true
   },
   "include": ["src"],
-  "exclude": ["**/*.stories.*", "**/*.test.*", "**/*.spec.*"]
+  "exclude": ["**/*.stories.*", "**/*.spec.*"]
 }
diff --git a/packages/web-components/tsconfig.spec.json b/packages/web-components/tsconfig.spec.json
index d365f731b4c263..0257385abedf9e 100644
--- a/packages/web-components/tsconfig.spec.json
+++ b/packages/web-components/tsconfig.spec.json
@@ -6,5 +6,5 @@
     "outDir": "dist/esm",
     "types": ["node"]
   },
-  "include": ["src/**/*.test.*", "src/**/*.spec.*"]
+  "include": ["src/**/*.spec.*"]
 }
diff --git a/yarn.lock b/yarn.lock
index 7457e12fc332e5..778a15f50d30c8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1720,120 +1720,130 @@
     esquery "^1.6.0"
     jsdoc-type-pratt-parser "~4.0.0"
 
-"@esbuild/aix-ppc64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.1.tgz#eafa8775019b3650a77e8310ba4dbd17ca7af6d5"
-  integrity sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==
-
-"@esbuild/android-arm64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.1.tgz#68791afa389550736f682c15b963a4f37ec2f5f6"
-  integrity sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==
-
-"@esbuild/android-arm@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.1.tgz#38c91d8ee8d5196f7fbbdf4f0061415dde3a473a"
-  integrity sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==
-
-"@esbuild/android-x64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.1.tgz#93f6190ce997b313669c20edbf3645fc6c8d8f22"
-  integrity sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==
-
-"@esbuild/darwin-arm64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.1.tgz#0d391f2e81fda833fe609182cc2fbb65e03a3c46"
-  integrity sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==
-
-"@esbuild/darwin-x64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.1.tgz#92504077424584684862f483a2242cfde4055ba2"
-  integrity sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==
-
-"@esbuild/freebsd-arm64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.1.tgz#a1646fa6ba87029c67ac8a102bb34384b9290774"
-  integrity sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==
-
-"@esbuild/freebsd-x64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.1.tgz#41c9243ab2b3254ea7fb512f71ffdb341562e951"
-  integrity sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==
-
-"@esbuild/linux-arm64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.1.tgz#f3c1e1269fbc9eedd9591a5bdd32bf707a883156"
-  integrity sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==
-
-"@esbuild/linux-arm@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.1.tgz#4503ca7001a8ee99589c072801ce9d7540717a21"
-  integrity sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==
-
-"@esbuild/linux-ia32@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.1.tgz#98c474e3e0cbb5bcbdd8561a6e65d18f5767ce48"
-  integrity sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==
-
-"@esbuild/linux-loong64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.1.tgz#a8097d28d14b9165c725fe58fc438f80decd2f33"
-  integrity sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==
-
-"@esbuild/linux-mips64el@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.1.tgz#c44f6f0d7d017c41ad3bb15bfdb69b690656b5ea"
-  integrity sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==
-
-"@esbuild/linux-ppc64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.1.tgz#0765a55389a99237b3c84227948c6e47eba96f0d"
-  integrity sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==
-
-"@esbuild/linux-riscv64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.1.tgz#e4153b032288e3095ddf4c8be07893781b309a7e"
-  integrity sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==
-
-"@esbuild/linux-s390x@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.1.tgz#b9ab8af6e4b73b26d63c1c426d7669a5d53eb5a7"
-  integrity sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==
-
-"@esbuild/linux-x64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.1.tgz#0b25da17ac38c3e11cdd06ca3691d4d6bef2755f"
-  integrity sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==
-
-"@esbuild/netbsd-x64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.1.tgz#3148e48406cd0d4f7ba1e0bf3f4d77d548c98407"
-  integrity sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==
-
-"@esbuild/openbsd-x64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.1.tgz#7b73e852986a9750192626d377ac96ac2b749b76"
-  integrity sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==
-
-"@esbuild/sunos-x64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.1.tgz#402a441cdac2eee98d8be378c7bc23e00c1861c5"
-  integrity sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==
-
-"@esbuild/win32-arm64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.1.tgz#36c4e311085806a6a0c5fc54d1ac4d7b27e94d7b"
-  integrity sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==
-
-"@esbuild/win32-ia32@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.1.tgz#0cf933be3fb9dc58b45d149559fe03e9e22b54fe"
-  integrity sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==
-
-"@esbuild/win32-x64@0.20.1":
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.1.tgz#77583b6ea54cee7c1410ebbd54051b6a3fcbd8ba"
-  integrity sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==
+"@esbuild/aix-ppc64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz#38848d3e25afe842a7943643cbcd387cc6e13461"
+  integrity sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==
+
+"@esbuild/android-arm64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz#f592957ae8b5643129fa889c79e69cd8669bb894"
+  integrity sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==
+
+"@esbuild/android-arm@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.2.tgz#72d8a2063aa630308af486a7e5cbcd1e134335b3"
+  integrity sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==
+
+"@esbuild/android-x64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.2.tgz#9a7713504d5f04792f33be9c197a882b2d88febb"
+  integrity sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==
+
+"@esbuild/darwin-arm64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz#02ae04ad8ebffd6e2ea096181b3366816b2b5936"
+  integrity sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==
+
+"@esbuild/darwin-x64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz#9ec312bc29c60e1b6cecadc82bd504d8adaa19e9"
+  integrity sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==
+
+"@esbuild/freebsd-arm64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz#5e82f44cb4906d6aebf24497d6a068cfc152fa00"
+  integrity sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==
+
+"@esbuild/freebsd-x64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz#3fb1ce92f276168b75074b4e51aa0d8141ecce7f"
+  integrity sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==
+
+"@esbuild/linux-arm64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz#856b632d79eb80aec0864381efd29de8fd0b1f43"
+  integrity sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==
+
+"@esbuild/linux-arm@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz#c846b4694dc5a75d1444f52257ccc5659021b736"
+  integrity sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==
+
+"@esbuild/linux-ia32@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz#f8a16615a78826ccbb6566fab9a9606cfd4a37d5"
+  integrity sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==
+
+"@esbuild/linux-loong64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz#1c451538c765bf14913512c76ed8a351e18b09fc"
+  integrity sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==
+
+"@esbuild/linux-mips64el@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz#0846edeefbc3d8d50645c51869cc64401d9239cb"
+  integrity sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==
+
+"@esbuild/linux-ppc64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz#8e3fc54505671d193337a36dfd4c1a23b8a41412"
+  integrity sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==
+
+"@esbuild/linux-riscv64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz#6a1e92096d5e68f7bb10a0d64bb5b6d1daf9a694"
+  integrity sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==
+
+"@esbuild/linux-s390x@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz#ab18e56e66f7a3c49cb97d337cd0a6fea28a8577"
+  integrity sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==
+
+"@esbuild/linux-x64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz#8140c9b40da634d380b0b29c837a0b4267aff38f"
+  integrity sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==
+
+"@esbuild/netbsd-arm64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz#65f19161432bafb3981f5f20a7ff45abb2e708e6"
+  integrity sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==
+
+"@esbuild/netbsd-x64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz#7a3a97d77abfd11765a72f1c6f9b18f5396bcc40"
+  integrity sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==
+
+"@esbuild/openbsd-arm64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz#58b00238dd8f123bfff68d3acc53a6ee369af89f"
+  integrity sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==
+
+"@esbuild/openbsd-x64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz#0ac843fda0feb85a93e288842936c21a00a8a205"
+  integrity sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==
+
+"@esbuild/sunos-x64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz#8b7aa895e07828d36c422a4404cc2ecf27fb15c6"
+  integrity sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==
+
+"@esbuild/win32-arm64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz#c023afb647cabf0c3ed13f0eddfc4f1d61c66a85"
+  integrity sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==
+
+"@esbuild/win32-ia32@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz#96c356132d2dda990098c8b8b951209c3cd743c2"
+  integrity sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==
+
+"@esbuild/win32-x64@0.24.2":
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz#34aa0b52d0fbb1a654b596acfa595f0c7b77a77b"
+  integrity sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==
 
 "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
   version "4.4.0"
@@ -3103,6 +3113,16 @@
   dependencies:
     "@octokit/openapi-types" "^12.11.0"
 
+"@oddbird/css-anchor-positioning@0.4.0":
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/@oddbird/css-anchor-positioning/-/css-anchor-positioning-0.4.0.tgz#c72be5f1510e727c80465c15ad01ce270a1daf69"
+  integrity sha512-K3iVeBnuXIaDj4/rrFxPJBPEgghBsofL/64hiegkqkyPBk79c0h6r6gSlNCXrtf1b0cWiC55BV6PC1Y0Ph/1NQ==
+  dependencies:
+    "@floating-ui/dom" "^1.6.12"
+    "@types/css-tree" "^2.3.8"
+    css-tree "^3.0.0"
+    nanoid "^5.0.8"
+
 "@opentelemetry/api@^1.0.1":
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.0.3.tgz#13a12ae9e05c2a782f7b5e84c3cbfda4225eaf80"
@@ -3631,6 +3651,96 @@
     estree-walker "^2.0.2"
     picomatch "^2.3.1"
 
+"@rollup/rollup-android-arm-eabi@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.0.tgz#462e7ecdd60968bc9eb95a20d185e74f8243ec1b"
+  integrity sha512-wLJuPLT6grGZsy34g4N1yRfYeouklTgPhH1gWXCYspenKYD0s3cR99ZevOGw5BexMNywkbV3UkjADisozBmpPQ==
+
+"@rollup/rollup-android-arm64@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.0.tgz#78a2b8a8a55f71a295eb860a654ae90a2b168f40"
+  integrity sha512-eiNkznlo0dLmVG/6wf+Ifi/v78G4d4QxRhuUl+s8EWZpDewgk7PX3ZyECUXU0Zq/Ca+8nU8cQpNC4Xgn2gFNDA==
+
+"@rollup/rollup-darwin-arm64@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.0.tgz#5b783af714f434f1e66e3cdfa3817e0b99216d84"
+  integrity sha512-lmKx9yHsppblnLQZOGxdO66gT77bvdBtr/0P+TPOseowE7D9AJoBw8ZDULRasXRWf1Z86/gcOdpBrV6VDUY36Q==
+
+"@rollup/rollup-darwin-x64@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.0.tgz#f72484e842521a5261978034e18e20f778a2850d"
+  integrity sha512-8hxgfReVs7k9Js1uAIhS6zq3I+wKQETInnWQtgzt8JfGx51R1N6DRVy3F4o0lQwumbErRz52YqwjfvuwRxGv1w==
+
+"@rollup/rollup-freebsd-arm64@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.0.tgz#3c919dff72b2fe344811a609c674a8347b033f62"
+  integrity sha512-lA1zZB3bFx5oxu9fYud4+g1mt+lYXCoch0M0V/xhqLoGatbzVse0wlSQ1UYOWKpuSu3gyN4qEc0Dxf/DII1bhQ==
+
+"@rollup/rollup-freebsd-x64@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.0.tgz#b62a3a8365b363b3fdfa6da11a9188b6ab4dca7c"
+  integrity sha512-aI2plavbUDjCQB/sRbeUZWX9qp12GfYkYSJOrdYTL/C5D53bsE2/nBPuoiJKoWp5SN78v2Vr8ZPnB+/VbQ2pFA==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.0.tgz#0d02cc55bd229bd8ca5c54f65f916ba5e0591c94"
+  integrity sha512-WXveUPKtfqtaNvpf0iOb0M6xC64GzUX/OowbqfiCSXTdi/jLlOmH0Ba94/OkiY2yTGTwteo4/dsHRfh5bDCZ+w==
+
+"@rollup/rollup-linux-arm-musleabihf@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.0.tgz#c51d379263201e88a60e92bd8e90878f0c044425"
+  integrity sha512-yLc3O2NtOQR67lI79zsSc7lk31xjwcaocvdD1twL64PK1yNaIqCeWI9L5B4MFPAVGEVjH5k1oWSGuYX1Wutxpg==
+
+"@rollup/rollup-linux-arm64-gnu@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.0.tgz#93ce2addc337b5cfa52b84f8e730d2e36eb4339b"
+  integrity sha512-+P9G9hjEpHucHRXqesY+3X9hD2wh0iNnJXX/QhS/J5vTdG6VhNYMxJ2rJkQOxRUd17u5mbMLHM7yWGZdAASfcg==
+
+"@rollup/rollup-linux-arm64-musl@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.0.tgz#730af6ddc091a5ba5baac28a3510691725dc808b"
+  integrity sha512-1xsm2rCKSTpKzi5/ypT5wfc+4bOGa/9yI/eaOLW0oMs7qpC542APWhl4A37AENGZ6St6GBMWhCCMM6tXgTIplw==
+
+"@rollup/rollup-linux-powerpc64le-gnu@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.0.tgz#b5565aac20b4de60ca1e557f525e76478b5436af"
+  integrity sha512-zgWxMq8neVQeXL+ouSf6S7DoNeo6EPgi1eeqHXVKQxqPy1B2NvTbaOUWPn/7CfMKL7xvhV0/+fq/Z/J69g1WAQ==
+
+"@rollup/rollup-linux-riscv64-gnu@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.0.tgz#d488290bf9338bad4ae9409c4aa8a1728835a20b"
+  integrity sha512-VEdVYacLniRxbRJLNtzwGt5vwS0ycYshofI7cWAfj7Vg5asqj+pt+Q6x4n+AONSZW/kVm+5nklde0qs2EUwU2g==
+
+"@rollup/rollup-linux-s390x-gnu@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.0.tgz#eb2e3f3a06acf448115045c11a5a96868c95a556"
+  integrity sha512-LQlP5t2hcDJh8HV8RELD9/xlYtEzJkm/aWGsauvdO2ulfl3QYRjqrKW+mGAIWP5kdNCBheqqqYIGElSRCaXfpw==
+
+"@rollup/rollup-linux-x64-gnu@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.0.tgz#065952ef2aea7e837dc7e02aa500feeaff4fc507"
+  integrity sha512-Nl4KIzteVEKE9BdAvYoTkW19pa7LR/RBrT6F1dJCV/3pbjwDcaOq+edkP0LXuJ9kflW/xOK414X78r+K84+msw==
+
+"@rollup/rollup-linux-x64-musl@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.0.tgz#3435d484d05f5c4d1ffd54541b4facce2887103a"
+  integrity sha512-eKpJr4vBDOi4goT75MvW+0dXcNUqisK4jvibY9vDdlgLx+yekxSm55StsHbxUsRxSTt3JEQvlr3cGDkzcSP8bw==
+
+"@rollup/rollup-win32-arm64-msvc@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.0.tgz#69682a2a10d9fedc334f87583cfca83c39c08077"
+  integrity sha512-Vi+WR62xWGsE/Oj+mD0FNAPY2MEox3cfyG0zLpotZdehPFXwz6lypkGs5y38Jd/NVSbOD02aVad6q6QYF7i8Bg==
+
+"@rollup/rollup-win32-ia32-msvc@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.0.tgz#b64470f9ac79abb386829c56750b9a4711be3332"
+  integrity sha512-kN/Vpip8emMLn/eOza+4JwqDZBL6MPNpkdaEsgUtW1NYN3DZvZqSQrbKzJcTL6hd8YNmFTn7XGWMwccOcJBL0A==
+
+"@rollup/rollup-win32-x64-msvc@4.28.0":
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.0.tgz#cb313feef9ac6e3737067fdf34f42804ac65a6f2"
+  integrity sha512-Bvno2/aZT6usSa7lRDL2+hMjVAGjuqaymF1ApZm31JXzniR/hvr14jpU+/z4X6Gt5BPlzosscyJZGUvguXIqeQ==
+
 "@rushstack/node-core-library@3.50.1":
   version "3.50.1"
   resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.50.1.tgz#d4aa4602460f29bbf0662052969b65129384da23"
@@ -4952,6 +5062,11 @@
   dependencies:
     "@types/node" "*"
 
+"@types/css-tree@^2.3.8":
+  version "2.3.9"
+  resolved "https://registry.yarnpkg.com/@types/css-tree/-/css-tree-2.3.9.tgz#54c404e0a803e7e660fdc08c84fe73ee5266cece"
+  integrity sha512-g1FE6xkPDP4tsccmTd6jIugjKZdxIDqAf9h2pc+4LsGgYbOyfa9phNjBHYbm6FtwIlNfT1NBx3f2zSeqO7aRAw==
+
 "@types/d3-array@3.2.1", "@types/d3-array@^3.0.0":
   version "3.2.1"
   resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.2.1.tgz#1f6658e3d2006c4fceac53fde464166859f8b8c5"
@@ -5111,10 +5226,10 @@
   dependencies:
     "@types/estree" "*"
 
-"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5":
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
-  integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
+"@types/estree@*", "@types/estree@1.0.6", "@types/estree@^1.0.0", "@types/estree@^1.0.5":
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50"
+  integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==
 
 "@types/estree@0.0.39":
   version "0.0.39"
@@ -9093,6 +9208,14 @@ css-select@~1.2.0:
     domutils "1.5.1"
     nth-check "~1.0.1"
 
+css-tree@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-3.0.1.tgz#bea6deaea60bb5bcf416adfb1ecf607a8d9471f6"
+  integrity sha512-8Fxxv+tGhORlshCdCwnNJytvlvq46sOLSYEx2ZIGurahWvMucSRnyjPA3AmrMq4VPRYbHVpWj5VkiVasrM2H4Q==
+  dependencies:
+    mdn-data "2.12.1"
+    source-map-js "^1.0.1"
+
 css-what@2.1:
   version "2.1.3"
   resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
@@ -10639,34 +10762,36 @@ esbuild-register@^3.5.0:
   dependencies:
     debug "^4.3.4"
 
-esbuild@0.20.1, esbuild@^0.18.0, esbuild@^0.20.0:
-  version "0.20.1"
-  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.1.tgz#1e4cbb380ad1959db7609cb9573ee77257724a3e"
-  integrity sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==
+esbuild@0.24.2, esbuild@^0.18.0, esbuild@^0.20.0, esbuild@^0.24.2:
+  version "0.24.2"
+  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.2.tgz#b5b55bee7de017bff5fb8a4e3e44f2ebe2c3567d"
+  integrity sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==
   optionalDependencies:
-    "@esbuild/aix-ppc64" "0.20.1"
-    "@esbuild/android-arm" "0.20.1"
-    "@esbuild/android-arm64" "0.20.1"
-    "@esbuild/android-x64" "0.20.1"
-    "@esbuild/darwin-arm64" "0.20.1"
-    "@esbuild/darwin-x64" "0.20.1"
-    "@esbuild/freebsd-arm64" "0.20.1"
-    "@esbuild/freebsd-x64" "0.20.1"
-    "@esbuild/linux-arm" "0.20.1"
-    "@esbuild/linux-arm64" "0.20.1"
-    "@esbuild/linux-ia32" "0.20.1"
-    "@esbuild/linux-loong64" "0.20.1"
-    "@esbuild/linux-mips64el" "0.20.1"
-    "@esbuild/linux-ppc64" "0.20.1"
-    "@esbuild/linux-riscv64" "0.20.1"
-    "@esbuild/linux-s390x" "0.20.1"
-    "@esbuild/linux-x64" "0.20.1"
-    "@esbuild/netbsd-x64" "0.20.1"
-    "@esbuild/openbsd-x64" "0.20.1"
-    "@esbuild/sunos-x64" "0.20.1"
-    "@esbuild/win32-arm64" "0.20.1"
-    "@esbuild/win32-ia32" "0.20.1"
-    "@esbuild/win32-x64" "0.20.1"
+    "@esbuild/aix-ppc64" "0.24.2"
+    "@esbuild/android-arm" "0.24.2"
+    "@esbuild/android-arm64" "0.24.2"
+    "@esbuild/android-x64" "0.24.2"
+    "@esbuild/darwin-arm64" "0.24.2"
+    "@esbuild/darwin-x64" "0.24.2"
+    "@esbuild/freebsd-arm64" "0.24.2"
+    "@esbuild/freebsd-x64" "0.24.2"
+    "@esbuild/linux-arm" "0.24.2"
+    "@esbuild/linux-arm64" "0.24.2"
+    "@esbuild/linux-ia32" "0.24.2"
+    "@esbuild/linux-loong64" "0.24.2"
+    "@esbuild/linux-mips64el" "0.24.2"
+    "@esbuild/linux-ppc64" "0.24.2"
+    "@esbuild/linux-riscv64" "0.24.2"
+    "@esbuild/linux-s390x" "0.24.2"
+    "@esbuild/linux-x64" "0.24.2"
+    "@esbuild/netbsd-arm64" "0.24.2"
+    "@esbuild/netbsd-x64" "0.24.2"
+    "@esbuild/openbsd-arm64" "0.24.2"
+    "@esbuild/openbsd-x64" "0.24.2"
+    "@esbuild/sunos-x64" "0.24.2"
+    "@esbuild/win32-arm64" "0.24.2"
+    "@esbuild/win32-ia32" "0.24.2"
+    "@esbuild/win32-x64" "0.24.2"
 
 escalade@^3.1.1, escalade@^3.1.2:
   version "3.1.2"
@@ -12286,7 +12411,7 @@ fs.realpath@^1.0.0:
   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
   integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
 
-fsevents@2.3.2, fsevents@^2.3.2, fsevents@~2.3.2:
+fsevents@2.3.2:
   version "2.3.2"
   resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
   integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
@@ -12299,6 +12424,11 @@ fsevents@^1.2.7:
     bindings "^1.5.0"
     nan "^2.12.1"
 
+fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+  integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
 fsevents@~2.1.1:
   version "2.1.3"
   resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
@@ -16631,6 +16761,11 @@ mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0:
   dependencies:
     "@types/mdast" "^3.0.0"
 
+mdn-data@2.12.1:
+  version "2.12.1"
+  resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.12.1.tgz#10cb462215c13d95c92ff60d0fb3becac1bbb924"
+  integrity sha512-rsfnCbOHjqrhWxwt5/wtSLzpoKTzW7OXdT5lLOIH1OTYhWu9rRJveGq0sKvDZODABH7RX+uoR+DYcpFnq4Tf6Q==
+
 mdurl@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
@@ -17484,6 +17619,11 @@ nanoid@^3.3.6, nanoid@^3.3.7:
   resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf"
   integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
 
+nanoid@^5.0.8:
+  version "5.0.9"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-5.0.9.tgz#977dcbaac055430ce7b1e19cf0130cea91a20e50"
+  integrity sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==
+
 nanomatch@^1.2.9:
   version "1.2.13"
   resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -18702,10 +18842,10 @@ periscopic@^3.0.0:
     estree-walker "^3.0.0"
     is-reference "^3.0.0"
 
-picocolors@^1.0.0, picocolors@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1"
-  integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==
+picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
+  integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
 
 picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.0, picomatch@^2.3.1:
   version "2.3.1"
@@ -18983,14 +19123,14 @@ postcss@8.4.31:
     picocolors "^1.0.0"
     source-map-js "^1.0.2"
 
-postcss@^8.1.4, postcss@^8.4.33:
-  version "8.4.40"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.40.tgz#eb81f2a4dd7668ed869a6db25999e02e9ad909d8"
-  integrity sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==
+postcss@^8.1.4, postcss@^8.4.33, postcss@^8.4.49:
+  version "8.4.49"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19"
+  integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==
   dependencies:
     nanoid "^3.3.7"
-    picocolors "^1.0.1"
-    source-map-js "^1.2.0"
+    picocolors "^1.1.1"
+    source-map-js "^1.2.1"
 
 prefix-style@2.0.1:
   version "2.0.1"
@@ -20609,6 +20749,33 @@ rollup@2.79.2:
   optionalDependencies:
     fsevents "~2.3.2"
 
+rollup@^4.23.0:
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.28.0.tgz#eb8d28ed43ef60a18f21d0734d230ee79dd0de77"
+  integrity sha512-G9GOrmgWHBma4YfCcX8PjH0qhXSdH8B4HDE2o4/jaxj93S4DPCIDoLcXz99eWMji4hB29UFCEd7B2gwGJDR9cQ==
+  dependencies:
+    "@types/estree" "1.0.6"
+  optionalDependencies:
+    "@rollup/rollup-android-arm-eabi" "4.28.0"
+    "@rollup/rollup-android-arm64" "4.28.0"
+    "@rollup/rollup-darwin-arm64" "4.28.0"
+    "@rollup/rollup-darwin-x64" "4.28.0"
+    "@rollup/rollup-freebsd-arm64" "4.28.0"
+    "@rollup/rollup-freebsd-x64" "4.28.0"
+    "@rollup/rollup-linux-arm-gnueabihf" "4.28.0"
+    "@rollup/rollup-linux-arm-musleabihf" "4.28.0"
+    "@rollup/rollup-linux-arm64-gnu" "4.28.0"
+    "@rollup/rollup-linux-arm64-musl" "4.28.0"
+    "@rollup/rollup-linux-powerpc64le-gnu" "4.28.0"
+    "@rollup/rollup-linux-riscv64-gnu" "4.28.0"
+    "@rollup/rollup-linux-s390x-gnu" "4.28.0"
+    "@rollup/rollup-linux-x64-gnu" "4.28.0"
+    "@rollup/rollup-linux-x64-musl" "4.28.0"
+    "@rollup/rollup-win32-arm64-msvc" "4.28.0"
+    "@rollup/rollup-win32-ia32-msvc" "4.28.0"
+    "@rollup/rollup-win32-x64-msvc" "4.28.0"
+    fsevents "~2.3.2"
+
 rst-selector-parser@^2.2.3:
   version "2.2.3"
   resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91"
@@ -21258,10 +21425,10 @@ source-list-map@^2.0.0:
   resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
   integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
 
-"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2, source-map-js@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
-  integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
+"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2, source-map-js@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
+  integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
 
 source-map-loader@4.0.0:
   version "4.0.0"
@@ -21571,7 +21738,7 @@ string-length@^5.0.1:
     char-regex "^2.0.0"
     strip-ansi "^7.0.1"
 
-"string-width-cjs@npm:string-width@^4.2.0":
+"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
   integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -21606,15 +21773,6 @@ string-width@^3.0.0, string-width@^3.1.0:
     is-fullwidth-code-point "^2.0.0"
     strip-ansi "^5.1.0"
 
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
-  version "4.2.3"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
-  integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
-  dependencies:
-    emoji-regex "^8.0.0"
-    is-fullwidth-code-point "^3.0.0"
-    strip-ansi "^6.0.1"
-
 string-width@^5.0.1, string-width@^5.1.2:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
@@ -21715,7 +21873,7 @@ stringify-object@^3.3.0:
     is-obj "^1.0.1"
     is-regexp "^1.0.0"
 
-"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
   version "6.0.1"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
   integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -21750,13 +21908,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
   dependencies:
     ansi-regex "^4.1.0"
 
-strip-ansi@^6.0.0, strip-ansi@^6.0.1:
-  version "6.0.1"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
-  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
-  dependencies:
-    ansi-regex "^5.0.1"
-
 strip-ansi@^7.0.1, strip-ansi@^7.1.0:
   version "7.1.0"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
@@ -23637,6 +23788,17 @@ vinyl@^0.5.0:
     clone-stats "^0.0.1"
     replace-ext "0.0.1"
 
+vite@6.0.7:
+  version "6.0.7"
+  resolved "https://registry.yarnpkg.com/vite/-/vite-6.0.7.tgz#f0f8c120733b04af52b4a1e3e7cb54eb851a799b"
+  integrity sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==
+  dependencies:
+    esbuild "^0.24.2"
+    postcss "^8.4.49"
+    rollup "^4.23.0"
+  optionalDependencies:
+    fsevents "~2.3.3"
+
 w3c-xmlserializer@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073"
@@ -24074,7 +24236,7 @@ workspace-tools@^0.27.0:
     js-yaml "^4.1.0"
     micromatch "^4.0.0"
 
-"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
   version "7.0.0"
   resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
   integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -24109,15 +24271,6 @@ wrap-ansi@^6.2.0:
     string-width "^4.1.0"
     strip-ansi "^6.0.0"
 
-wrap-ansi@^7.0.0:
-  version "7.0.0"
-  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
-  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
-  dependencies:
-    ansi-styles "^4.0.0"
-    string-width "^4.1.0"
-    strip-ansi "^6.0.0"
-
 wrap-ansi@^8.1.0:
   version "8.1.0"
   resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"

From b4a12e8c011441b0d0af21a78091b36074f81ef6 Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Thu, 9 Jan 2025 04:07:18 +0000
Subject: [PATCH 11/78] release: applying package updates - web-components

---
 ...-ec172ca8-23f3-4d01-a969-6504fa67a87a.json |  7 -------
 ...-fc912571-691c-494a-b4de-9a632a76a26c.json |  7 -------
 packages/web-components/CHANGELOG.json        | 21 +++++++++++++++++++
 packages/web-components/CHANGELOG.md          | 12 ++++++++++-
 packages/web-components/package.json          |  2 +-
 5 files changed, 33 insertions(+), 16 deletions(-)
 delete mode 100644 change/@fluentui-web-components-ec172ca8-23f3-4d01-a969-6504fa67a87a.json
 delete mode 100644 change/@fluentui-web-components-fc912571-691c-494a-b4de-9a632a76a26c.json

diff --git a/change/@fluentui-web-components-ec172ca8-23f3-4d01-a969-6504fa67a87a.json b/change/@fluentui-web-components-ec172ca8-23f3-4d01-a969-6504fa67a87a.json
deleted file mode 100644
index c76de2b97d0c97..00000000000000
--- a/change/@fluentui-web-components-ec172ca8-23f3-4d01-a969-6504fa67a87a.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "prerelease",
-  "comment": "Allow field states to be set regardless of connection status",
-  "packageName": "@fluentui/web-components",
-  "email": "863023+radium-v@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-web-components-fc912571-691c-494a-b4de-9a632a76a26c.json b/change/@fluentui-web-components-fc912571-691c-494a-b4de-9a632a76a26c.json
deleted file mode 100644
index 87d09789bbf038..00000000000000
--- a/change/@fluentui-web-components-fc912571-691c-494a-b4de-9a632a76a26c.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "prerelease",
-  "comment": "fix: radio-group emit change with keyboard and disabled radio unchecks",
-  "packageName": "@fluentui/web-components",
-  "email": "jes@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/packages/web-components/CHANGELOG.json b/packages/web-components/CHANGELOG.json
index b815e91343186c..910eaf1123eb5e 100644
--- a/packages/web-components/CHANGELOG.json
+++ b/packages/web-components/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/web-components",
   "entries": [
+    {
+      "date": "Thu, 09 Jan 2025 04:07:00 GMT",
+      "tag": "@fluentui/web-components_v3.0.0-beta.76",
+      "version": "3.0.0-beta.76",
+      "comments": {
+        "prerelease": [
+          {
+            "author": "863023+radium-v@users.noreply.github.com",
+            "package": "@fluentui/web-components",
+            "commit": "2247d505c62e3f464f53b77362175580144ebd56",
+            "comment": "Allow field states to be set regardless of connection status"
+          },
+          {
+            "author": "jes@microsoft.com",
+            "package": "@fluentui/web-components",
+            "commit": "479f2f31226381d03c7a12788fb0bae55cd558c4",
+            "comment": "fix: radio-group emit change with keyboard and disabled radio unchecks"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 23 Dec 2024 04:07:55 GMT",
       "tag": "@fluentui/web-components_v3.0.0-beta.75",
diff --git a/packages/web-components/CHANGELOG.md b/packages/web-components/CHANGELOG.md
index c166b3f8f93943..baea4c5c33bbe3 100644
--- a/packages/web-components/CHANGELOG.md
+++ b/packages/web-components/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/web-components
 
-This log was last generated on Mon, 23 Dec 2024 04:07:55 GMT and should not be manually modified.
+This log was last generated on Thu, 09 Jan 2025 04:07:00 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [3.0.0-beta.76](https://github.com/microsoft/fluentui/tree/@fluentui/web-components_v3.0.0-beta.76)
+
+Thu, 09 Jan 2025 04:07:00 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/web-components_v3.0.0-beta.75..@fluentui/web-components_v3.0.0-beta.76)
+
+### Changes
+
+- Allow field states to be set regardless of connection status ([PR #33023](https://github.com/microsoft/fluentui/pull/33023) by 863023+radium-v@users.noreply.github.com)
+- fix: radio-group emit change with keyboard and disabled radio unchecks ([PR #33585](https://github.com/microsoft/fluentui/pull/33585) by jes@microsoft.com)
+
 ## [3.0.0-beta.75](https://github.com/microsoft/fluentui/tree/@fluentui/web-components_v3.0.0-beta.75)
 
 Mon, 23 Dec 2024 04:07:55 GMT 
diff --git a/packages/web-components/package.json b/packages/web-components/package.json
index 7f7baa31a7b64a..4b79588c2a395e 100644
--- a/packages/web-components/package.json
+++ b/packages/web-components/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@fluentui/web-components",
   "description": "A library of Fluent Web Components",
-  "version": "3.0.0-beta.75",
+  "version": "3.0.0-beta.76",
   "author": {
     "name": "Microsoft",
     "url": "https://discord.gg/FcSNfg4"

From b8d423da1cd0507c189f52f6ac175915df45a02f Mon Sep 17 00:00:00 2001
From: Valentyna <vkozlova@microsoft.com>
Date: Thu, 9 Jan 2025 04:10:02 -0800
Subject: [PATCH 12/78] feat(react-color-picker): added alpha input field
 (#33536)

Co-authored-by: Dmytro Kirpa <kirpadv@gmail.com>
---
 .../ColorPickerDefault.stories.tsx            | 51 +++++++++++++++++--
 1 file changed, 48 insertions(+), 3 deletions(-)

diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
index 3d903f1a6eb8b7..394822d70e8309 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
@@ -50,7 +50,7 @@ const useStyles = makeStyles({
     width: '80px',
   },
   spinButton: {
-    width: '50px',
+    minWidth: '60px',
   },
 });
 
@@ -62,17 +62,20 @@ type RgbKey = 'r' | 'g' | 'b';
 
 export const Default = () => {
   const hexId = useId('hex-input');
+  const alphaId = useId('alpha-input');
 
   const styles = useStyles();
   const [color, setColor] = React.useState(DEFAULT_COLOR_HSV);
   const [hex, setHex] = React.useState(tinycolor(color).toHexString());
   const [rgb, setRgb] = React.useState(tinycolor(color).toRgb());
+  const [alpha, setAlpha] = React.useState(color.a);
   const [namedColor, setNamedColor] = React.useState('');
 
   const handleChange: ColorPickerProps['onColorChange'] = (_, data) => {
     setColor({ ...data.color, a: data.color.a ?? 1 });
     setHex(tinycolor(data.color).toHexString());
     setRgb(tinycolor(data.color).toRgb());
+    setAlpha(data.color.a ?? 1);
     const _namedColor = tinycolor(`hsl(${data.color.h},100%,50%)`).toName();
     if (_namedColor) {
       setNamedColor(_namedColor);
@@ -96,6 +99,26 @@ export const Default = () => {
     }
   };
 
+  const onAlphaChange: SpinButtonProps['onChange'] = React.useCallback(
+    (_ev, data) => {
+      const value = data.value ?? parseFloat(data.displayValue ?? '');
+
+      if (Number.isNaN(value) || value < 0 || value > 1) {
+        return;
+      }
+
+      const newColor = tinycolor({ ...color, a: value });
+
+      if (newColor.isValid) {
+        setColor(newColor.toHsv());
+        setHex(newColor.toHex());
+        setRgb(newColor.toRgb());
+        setAlpha(newColor.a);
+      }
+    },
+    [setAlpha, setRgb, setHex, setColor, color],
+  );
+
   const colorAriaAttributes = {
     'aria-label': 'ColorPicker',
     'aria-roledescription': '2D slider',
@@ -110,7 +133,6 @@ export const Default = () => {
         <AlphaSlider aria-label="Alpha" aria-valuetext={`${color.a * 100}%`} />
       </ColorPicker>
       <div className={styles.inputFields}>
-        <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toRgbString() }} />
         <InputHexField
           id={hexId}
           value={hex}
@@ -119,6 +141,7 @@ export const Default = () => {
             const newColor = tinycolor(value);
             if (newColor.isValid) {
               setColor(newColor.toHsv());
+              setRgb(newColor.toRgb());
             }
             setHex(oldValue => (HEX_COLOR_REGEX.test(value) ? value : oldValue));
           }}
@@ -126,8 +149,9 @@ export const Default = () => {
         <InputRgbField label="Red" value={rgb.r} name="r" onChange={onRgbChange} />
         <InputRgbField label="Green" value={rgb.g} name="g" onChange={onRgbChange} />
         <InputRgbField label="Blue" value={rgb.b} name="b" onChange={onRgbChange} />
+        <InputAlphaField id={alphaId} value={alpha} onChange={onAlphaChange} />
       </div>
-      <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toHexString() }} />
+      <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toRgbString() }} />
     </div>
   );
 };
@@ -182,6 +206,27 @@ const InputRgbField = ({
   );
 };
 
+const InputAlphaField = ({
+  label = 'Alpha',
+  value,
+  onChange,
+  id,
+}: {
+  value: number;
+  label?: string;
+  onChange?: SpinButtonProps['onChange'];
+  id: string;
+}) => {
+  const styles = useStyles();
+
+  return (
+    <div className={styles.colorFieldWrapper}>
+      <Label htmlFor={id}>{label}</Label>
+      <SpinButton min={0} max={1} className={styles.spinButton} value={value} step={0.01} onChange={onChange} id={id} />
+    </div>
+  );
+};
+
 const handleOnBlur = (e: React.FocusEvent<HTMLInputElement>) => {
   const value = tinycolor(e.target.value);
   if (!value.isValid) {

From 1eedd057c2d900d69c2245294245704dc02a9bf7 Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Thu, 9 Jan 2025 13:18:05 +0100
Subject: [PATCH 13/78] fix(workspace-plugin): fail build executor process if
 generate-api failed (#33558)

---
 .../executor/libs/proj/tsconfig.lib.json      |  6 ++++--
 .../src/executors/build/executor.spec.ts      | 19 +++++++++++++++++--
 .../src/executors/build/lib/shared.ts         |  5 +++--
 3 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/tools/workspace-plugin/src/executors/build/__fixtures__/executor/libs/proj/tsconfig.lib.json b/tools/workspace-plugin/src/executors/build/__fixtures__/executor/libs/proj/tsconfig.lib.json
index 0dfe54218565f7..7b3b02933dd526 100644
--- a/tools/workspace-plugin/src/executors/build/__fixtures__/executor/libs/proj/tsconfig.lib.json
+++ b/tools/workspace-plugin/src/executors/build/__fixtures__/executor/libs/proj/tsconfig.lib.json
@@ -2,7 +2,9 @@
   "extends": "./tsconfig.json",
   "compilerOptions": {
     "outDir": "./dist/out-tsc",
-    "declaration": true
+    "declaration": true,
+    "types": []
   },
-  "include": ["src/*.ts"]
+  "include": ["src/*.ts"],
+  "exclude": ["src/*.spec.ts"]
 }
diff --git a/tools/workspace-plugin/src/executors/build/executor.spec.ts b/tools/workspace-plugin/src/executors/build/executor.spec.ts
index ea26f7c24e6527..a690d8b1bcb4b7 100644
--- a/tools/workspace-plugin/src/executors/build/executor.spec.ts
+++ b/tools/workspace-plugin/src/executors/build/executor.spec.ts
@@ -3,7 +3,7 @@ import { type ExecutorContext, logger, stripIndents } from '@nx/devkit';
 import { BuildExecutorSchema } from './schema';
 import executor from './executor';
 import { join } from 'node:path';
-import { existsSync, readFileSync, readdirSync } from 'node:fs';
+import { existsSync, readFileSync, readdirSync, appendFileSync, writeFileSync } from 'node:fs';
 
 // ===== mocks start =====
 import { rm } from 'node:fs/promises';
@@ -73,7 +73,7 @@ const measureStartMock = measureStart as jest.Mock;
 const measureEndMock = measureEnd as jest.Mock;
 
 describe('Build Executor', () => {
-  it('can run', async () => {
+  it('runs build and api-generation and fails on api update', async () => {
     // mute api extractor - START
     jest.spyOn(console, 'warn').mockImplementation(() => {
       return;
@@ -263,5 +263,20 @@ describe('Build Executor', () => {
       });
       "
     `);
+
+    // ==================
+    // update api public surface to simulate out of date api.md which will fail the executor
+    // ==================
+
+    const publicApiFilePath = join(workspaceRoot, 'libs/proj/src/index.ts');
+    const originalApiContent = readFileSync(publicApiFilePath);
+    appendFileSync(publicApiFilePath, `export const hello='new public api';\n`);
+
+    // force api-extractor to generate api.md and not fail on Local/CI
+    process.env.__FORCE_API_MD_UPDATE__ = '';
+    const outputFailed = await executor(options, context);
+    expect(outputFailed.success).toBe(false);
+
+    writeFileSync(publicApiFilePath, originalApiContent, 'utf-8');
   }, 60000);
 });
diff --git a/tools/workspace-plugin/src/executors/build/lib/shared.ts b/tools/workspace-plugin/src/executors/build/lib/shared.ts
index 8d6af2b6f2724d..ac044df1af0a5a 100644
--- a/tools/workspace-plugin/src/executors/build/lib/shared.ts
+++ b/tools/workspace-plugin/src/executors/build/lib/shared.ts
@@ -9,8 +9,9 @@ export async function runInParallel(...tasks: Tasks[]): Promise<boolean> {
   const processes = tasks.map(task => task());
 
   return Promise.all(processes)
-    .then(() => {
-      return true;
+    .then(results => {
+      // if one of the processes failed (returned false) we need to force returning `false` to propagate `false` to final executor result which will fail the process chain
+      return results.indexOf(false) !== -1 ? false : true;
     })
     .catch(err => {
       logger.error(err);

From 95af8ed946f334198a8d26c3ae939dab1163911d Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Thu, 9 Jan 2025 14:22:32 +0100
Subject: [PATCH 14/78] ci:prevent running pipelines on forks (#33584)

---
 .github/workflows/azure-static-web-apps-deploy.yml | 1 +
 .github/workflows/bundle-size-base.yml             | 1 +
 .github/workflows/bundle-size-comment.yml          | 2 +-
 .github/workflows/bundle-size.yml                  | 1 +
 .github/workflows/check-packages.yml               | 3 +++
 .github/workflows/check-tooling.yml                | 1 +
 .github/workflows/create-milestone.yml             | 1 +
 .github/workflows/docsite-publish-ghpages.yml      | 2 +-
 .github/workflows/pr-housekeeping.yml              | 2 ++
 .github/workflows/pr-vrt-comment.yml               | 2 +-
 .github/workflows/pr-vrt.yml                       | 1 +
 .github/workflows/pr-website-deploy-comment.yml    | 2 +-
 .github/workflows/pr-website-deploy.yml            | 1 +
 .github/workflows/pr.yml                           | 2 ++
 14 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/azure-static-web-apps-deploy.yml b/.github/workflows/azure-static-web-apps-deploy.yml
index 1e049feb7b0b2c..bd29d2351ec5a1 100644
--- a/.github/workflows/azure-static-web-apps-deploy.yml
+++ b/.github/workflows/azure-static-web-apps-deploy.yml
@@ -13,6 +13,7 @@ permissions:
 
 jobs:
   build_and_deploy:
+    if: ${{ github.repository_owner == 'microsoft' }}
     runs-on: ubuntu-latest
     name: Build and Deploy Job
     steps:
diff --git a/.github/workflows/bundle-size-base.yml b/.github/workflows/bundle-size-base.yml
index cf71367ac61bc0..1c2aa9fb32bfd4 100644
--- a/.github/workflows/bundle-size-base.yml
+++ b/.github/workflows/bundle-size-base.yml
@@ -18,6 +18,7 @@ env:
 
 jobs:
   bundle-size-base:
+    if: ${{ github.repository_owner == 'microsoft' }}
     # TODO: use macos-14-xlarge (arm) for faster builds once https://github.com/Azure/cli/issues/172 will be fixed
     runs-on: ubuntu-latest
     permissions:
diff --git a/.github/workflows/bundle-size-comment.yml b/.github/workflows/bundle-size-comment.yml
index 9f2c116816e7c4..14715007aec7e8 100644
--- a/.github/workflows/bundle-size-comment.yml
+++ b/.github/workflows/bundle-size-comment.yml
@@ -8,7 +8,7 @@ on:
 jobs:
   comment:
     runs-on: ubuntu-latest
-    if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }}
+    if: ${{ github.repository_owner == 'microsoft' }} && ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }}
     permissions:
       pull-requests: write
     steps:
diff --git a/.github/workflows/bundle-size.yml b/.github/workflows/bundle-size.yml
index e523e3066e049e..adeabf8c750305 100644
--- a/.github/workflows/bundle-size.yml
+++ b/.github/workflows/bundle-size.yml
@@ -16,6 +16,7 @@ env:
 
 jobs:
   bundle-size:
+    if: ${{ github.repository_owner == 'microsoft' }}
     runs-on: macos-14-xlarge
     permissions:
       contents: 'read'
diff --git a/.github/workflows/check-packages.yml b/.github/workflows/check-packages.yml
index 8fadfbeedb554e..338a77e578bd90 100644
--- a/.github/workflows/check-packages.yml
+++ b/.github/workflows/check-packages.yml
@@ -5,6 +5,7 @@ on:
 jobs:
   dependency-deduplication:
     runs-on: ubuntu-latest
+    if: ${{ github.repository_owner == 'microsoft' }}
     steps:
       - uses: actions/checkout@v4
         with:
@@ -37,6 +38,7 @@ jobs:
 
   dependency-mismatches:
     runs-on: ubuntu-latest
+    if: ${{ github.repository_owner == 'microsoft' }}
     steps:
       - uses: actions/checkout@v4
         with:
@@ -63,6 +65,7 @@ jobs:
 
   change-files:
     runs-on: ubuntu-latest
+    if: ${{ github.repository_owner == 'microsoft' }}
     steps:
       - uses: actions/checkout@v4
         with:
diff --git a/.github/workflows/check-tooling.yml b/.github/workflows/check-tooling.yml
index d43b425484aa17..9004893bb3bc49 100644
--- a/.github/workflows/check-tooling.yml
+++ b/.github/workflows/check-tooling.yml
@@ -14,6 +14,7 @@ env:
 
 jobs:
   check-tools:
+    if: ${{ github.repository_owner == 'microsoft' }}
     strategy:
       matrix:
         os: [ubuntu-latest, windows-latest]
diff --git a/.github/workflows/create-milestone.yml b/.github/workflows/create-milestone.yml
index 36fac805beb64a..14acf3cf83f372 100644
--- a/.github/workflows/create-milestone.yml
+++ b/.github/workflows/create-milestone.yml
@@ -10,6 +10,7 @@ permissions:
 
 jobs:
   create-milestone:
+    if: ${{ github.repository_owner == 'microsoft' }}
     name: Create this month's milestone
     runs-on: ubuntu-latest
     steps:
diff --git a/.github/workflows/docsite-publish-ghpages.yml b/.github/workflows/docsite-publish-ghpages.yml
index d22b389deedd2d..66754ab9603647 100644
--- a/.github/workflows/docsite-publish-ghpages.yml
+++ b/.github/workflows/docsite-publish-ghpages.yml
@@ -10,7 +10,7 @@ on:
 jobs:
   check:
     runs-on: ubuntu-latest
-    if: ${{ contains(github.event.head_commit.message, 'applying package updates') || github.event_name == 'workflow_dispatch' }}
+    if: ${{ github.repository_owner == 'microsoft' }} && ${{ contains(github.event.head_commit.message, 'applying package updates') || github.event_name == 'workflow_dispatch' }}
 
     outputs:
       status: ${{ steps.verify-react-components-changed.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' }}
diff --git a/.github/workflows/pr-housekeeping.yml b/.github/workflows/pr-housekeeping.yml
index cc099a3290ad1c..2b6d63086c61da 100644
--- a/.github/workflows/pr-housekeeping.yml
+++ b/.github/workflows/pr-housekeeping.yml
@@ -9,6 +9,7 @@ permissions:
 
 jobs:
   label:
+    if: ${{ github.repository_owner == 'microsoft' }}
     runs-on: ubuntu-latest
     steps:
       - uses: actions/labeler@v5
@@ -18,6 +19,7 @@ jobs:
           configuration-path: .github/labeler.yml
 
   assign-to-current-milestone:
+    if: ${{ github.repository_owner == 'microsoft' }}
     runs-on: ubuntu-latest
     steps:
       - name: Assign to latest milestone
diff --git a/.github/workflows/pr-vrt-comment.yml b/.github/workflows/pr-vrt-comment.yml
index c5f4ac082b1f9b..39f8960881ce12 100644
--- a/.github/workflows/pr-vrt-comment.yml
+++ b/.github/workflows/pr-vrt-comment.yml
@@ -18,7 +18,7 @@ env:
 jobs:
   run_vr_diff:
     runs-on: ubuntu-latest
-    if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }}
+    if: ${{ github.repository_owner == 'microsoft' }} && ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }}
     outputs:
       pr_number: ${{ steps.pr_number.outputs.result }}
     permissions:
diff --git a/.github/workflows/pr-vrt.yml b/.github/workflows/pr-vrt.yml
index c0e49517d55bfc..344a1783f9f858 100644
--- a/.github/workflows/pr-vrt.yml
+++ b/.github/workflows/pr-vrt.yml
@@ -18,6 +18,7 @@ permissions:
 
 jobs:
   generate_vrt_screenshots:
+    if: ${{ github.repository_owner == 'microsoft' }}
     runs-on: macos-14-xlarge
     steps:
       - uses: actions/checkout@v4
diff --git a/.github/workflows/pr-website-deploy-comment.yml b/.github/workflows/pr-website-deploy-comment.yml
index d636e5ad9ddcde..a5ae23eb4be542 100644
--- a/.github/workflows/pr-website-deploy-comment.yml
+++ b/.github/workflows/pr-website-deploy-comment.yml
@@ -17,7 +17,7 @@ env:
 jobs:
   deploy:
     runs-on: ubuntu-latest
-    if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }}
+    if: ${{ github.repository_owner == 'microsoft' }} && ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }}
     outputs:
       pr_number: ${{ steps.pr_number.outputs.result }}
       website_url: ${{ steps.website_url.outputs.id }}
diff --git a/.github/workflows/pr-website-deploy.yml b/.github/workflows/pr-website-deploy.yml
index 862324e3e5c93f..c834640b268682 100644
--- a/.github/workflows/pr-website-deploy.yml
+++ b/.github/workflows/pr-website-deploy.yml
@@ -16,6 +16,7 @@ env:
 
 jobs:
   bundle:
+    if: ${{ github.repository_owner == 'microsoft' }}
     runs-on: macos-14-xlarge
     permissions:
       contents: 'read'
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 91d1fb2e791014..5712801a144c5d 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -23,6 +23,7 @@ env:
 
 jobs:
   main:
+    if: ${{ github.repository_owner == 'microsoft' }}
     runs-on: macos-14-xlarge
     permissions:
       contents: 'read'
@@ -81,6 +82,7 @@ jobs:
           git diff-index --quiet HEAD -- || exit 1
 
   e2e:
+    if: ${{ github.repository_owner == 'microsoft' }}
     # TODO: switch to macos once problematic tests are fixed
     # https://github.com/microsoft/fluentui/issues/33173
     # https://github.com/microsoft/fluentui/issues/33172

From 90ccf40771d9d992b824b52e33fe750a67eda097 Mon Sep 17 00:00:00 2001
From: krkshitij <110246001+krkshitij@users.noreply.github.com>
Date: Fri, 10 Jan 2025 16:51:30 +0530
Subject: [PATCH 15/78] feat(react-charting): center align bars with auto
 barWidth in plotly mode (#33603)

---
 ...-5e13d62c-9372-4a66-84d6-a1e6cab63291.json |  7 +++++
 .../react-charting/etc/react-charting.api.md  |  3 +++
 .../DeclarativeChart/PlotlySchemaAdapter.ts   |  3 +++
 .../GroupedVerticalBarChart.base.tsx          | 27 +++++++++++++++----
 .../GroupedVerticalBarChart.types.tsx         |  6 +++++
 .../VerticalBarChart.base.tsx                 | 18 +++++++++++--
 .../VerticalBarChart.types.ts                 |  6 +++++
 .../VerticalStackedBarChart.base.tsx          | 18 +++++++++++--
 .../VerticalStackedBarChart.types.ts          |  6 +++++
 9 files changed, 85 insertions(+), 9 deletions(-)
 create mode 100644 change/@fluentui-react-charting-5e13d62c-9372-4a66-84d6-a1e6cab63291.json

diff --git a/change/@fluentui-react-charting-5e13d62c-9372-4a66-84d6-a1e6cab63291.json b/change/@fluentui-react-charting-5e13d62c-9372-4a66-84d6-a1e6cab63291.json
new file mode 100644
index 00000000000000..15228db009078d
--- /dev/null
+++ b/change/@fluentui-react-charting-5e13d62c-9372-4a66-84d6-a1e6cab63291.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "feat: center align bars with auto barWidth in plotly mode",
+  "packageName": "@fluentui/react-charting",
+  "email": "110246001+krkshitij@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/charts/react-charting/etc/react-charting.api.md b/packages/charts/react-charting/etc/react-charting.api.md
index 9a02db813cebf4..3d1c49be07983f 100644
--- a/packages/charts/react-charting/etc/react-charting.api.md
+++ b/packages/charts/react-charting/etc/react-charting.api.md
@@ -637,6 +637,7 @@ export interface IGroupedVerticalBarChartProps extends ICartesianChartProps {
     // @deprecated
     legendColor?: string;
     maxBarWidth?: number;
+    mode?: 'default' | 'plotly';
     onRenderCalloutPerDataPoint?: IRenderFunction<IGVBarChartSeriesPoint>;
     roundCorners?: boolean;
     // @deprecated
@@ -1468,6 +1469,7 @@ export interface IVerticalBarChartProps extends ICartesianChartProps {
     lineLegendText?: string;
     lineOptions?: ILineChartLineOptions;
     maxBarWidth?: number;
+    mode?: 'default' | 'plotly';
     onRenderCalloutPerDataPoint?: IRenderFunction<IVerticalBarChartDataPoint>;
     roundCorners?: boolean;
     styles?: IStyleFunctionOrObject<IVerticalBarChartStyleProps, IVerticalBarChartStyles>;
@@ -1520,6 +1522,7 @@ export interface IVerticalStackedBarChartProps extends ICartesianChartProps {
     isCalloutForStack?: boolean;
     lineOptions?: ILineChartLineOptions;
     maxBarWidth?: number;
+    mode?: 'default' | 'plotly';
     onBarClick?: (event: React_2.MouseEvent<SVGElement>, data: IVerticalStackedChartProps | IVSChartDataPoint) => void;
     onRenderCalloutPerDataPoint?: IRenderFunction<IVSChartDataPoint>;
     onRenderCalloutPerStack?: IRenderFunction<IVerticalStackedChartProps>;
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
index 181f88c9b5a60a..d570f55a927c4e 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
@@ -198,6 +198,7 @@ export const transformPlotlyJsonToVSBCProps = (
     chartTitle,
     xAxisTitle,
     yAxisTitle,
+    mode: 'plotly',
   };
 };
 
@@ -239,6 +240,7 @@ export const transformPlotlyJsonToGVBCProps = (
     chartTitle,
     xAxisTitle,
     yAxisTitle,
+    mode: 'plotly',
   };
 };
 
@@ -329,6 +331,7 @@ export const transformPlotlyJsonToVBCProps = (
     chartTitle,
     xAxisTitle,
     yAxisTitle,
+    mode: 'plotly',
   };
 };
 
diff --git a/packages/charts/react-charting/src/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.tsx b/packages/charts/react-charting/src/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.tsx
index 9f45393ea1b222..7b0f476bbfeb9d 100644
--- a/packages/charts/react-charting/src/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.tsx
@@ -32,6 +32,7 @@ import {
   getNextGradient,
   getNextColor,
   areArraysEqual,
+  calculateLongestLabelWidth,
 } from '../../utilities/index';
 import {
   IAccessibilityProps,
@@ -695,21 +696,22 @@ export class GroupedVerticalBarChartBase
   private _getDomainMargins = (containerWidth: number): IMargins => {
     this._domainMargin = MIN_DOMAIN_MARGIN;
 
+    /** Total width available to render the bars */
+    const totalWidth =
+      containerWidth - (this.margins.left! + MIN_DOMAIN_MARGIN) - (this.margins.right! + MIN_DOMAIN_MARGIN);
+    /** Rate at which the space between the groups changes wrt the group width */
+    const groupGapRate = this._xAxisInnerPadding / (1 - this._xAxisInnerPadding);
+
     if (this._xAxisType === XAxisTypes.StringAxis) {
       if (isScalePaddingDefined(this.props.xAxisOuterPadding)) {
         // Setting the domain margin for string x-axis to 0 because the xAxisOuterPadding prop is now available
         // to adjust the space before the first group and after the last group.
         this._domainMargin = 0;
       } else if (this.props.barwidth !== 'auto') {
-        /** Total width available to render the bars */
-        const totalWidth =
-          containerWidth - (this.margins.left! + MIN_DOMAIN_MARGIN) - (this.margins.right! + MIN_DOMAIN_MARGIN);
         // Update the bar width so that when CartesianChart rerenders,
         // the following calculations don't use the previous bar width.
         this._barWidth = getBarWidth(this.props.barwidth, this.props.maxBarWidth);
         const groupWidth = (this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE) * this._barWidth;
-        /** Rate at which the space between the groups changes wrt the group width */
-        const groupGapRate = this._xAxisInnerPadding / (1 - this._xAxisInnerPadding);
         /** Total width required to render the groups. Directly proportional to group width */
         const reqWidth = (this._xAxisLabels.length + (this._xAxisLabels.length - 1) * groupGapRate) * groupWidth;
 
@@ -717,6 +719,21 @@ export class GroupedVerticalBarChartBase
           // Center align the chart by setting equal left and right margins for domain
           this._domainMargin = MIN_DOMAIN_MARGIN + (totalWidth - reqWidth) / 2;
         }
+      } else if (this.props.mode === 'plotly' && this._xAxisLabels.length > 1) {
+        // Calculate the remaining width after rendering groups at their maximum allowable width
+        const groupBandwidth = totalWidth / (this._xAxisLabels.length + (this._xAxisLabels.length - 1) * groupGapRate);
+        const barBandwidth = groupBandwidth / (this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE);
+        const barWidth = getBarWidth(this.props.barwidth, this.props.maxBarWidth, barBandwidth);
+        const groupWidth = (this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE) * barWidth;
+        let reqWidth = (this._xAxisLabels.length + (this._xAxisLabels.length - 1) * groupGapRate) * groupWidth;
+        const margin1 = (totalWidth - reqWidth) / 2;
+
+        // Calculate the remaining width after accounting for the space required to render x-axis labels
+        const step = calculateLongestLabelWidth(this._xAxisLabels) + 20;
+        reqWidth = (this._xAxisLabels.length - this._xAxisInnerPadding) * step;
+        const margin2 = (totalWidth - reqWidth) / 2;
+
+        this._domainMargin = MIN_DOMAIN_MARGIN + Math.max(0, Math.min(margin1, margin2));
       }
     }
 
diff --git a/packages/charts/react-charting/src/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.tsx b/packages/charts/react-charting/src/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.tsx
index 1a8f43ac0822c3..050d9ea4c99cf3 100644
--- a/packages/charts/react-charting/src/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.tsx
+++ b/packages/charts/react-charting/src/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.tsx
@@ -121,6 +121,12 @@ export interface IGroupedVerticalBarChartProps extends ICartesianChartProps {
    * The prop used to enable rounded corners for the chart.
    */
   roundCorners?: boolean;
+
+  /**
+   * Specifies the mode of the chart.
+   * @default 'default'
+   */
+  mode?: 'default' | 'plotly';
 }
 
 /**
diff --git a/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.base.tsx b/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.base.tsx
index 1f17a5f43ea113..484461c1a1cab8 100644
--- a/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.base.tsx
@@ -53,6 +53,7 @@ import {
   formatDate,
   getNextGradient,
   areArraysEqual,
+  calculateLongestLabelWidth,
 } from '../../utilities/index';
 import { IChart } from '../../types/index';
 
@@ -1237,6 +1238,8 @@ export class VerticalBarChartBase
     /** Total width available to render the bars */
     const totalWidth =
       containerWidth - (this.margins.left! + MIN_DOMAIN_MARGIN) - (this.margins.right! + MIN_DOMAIN_MARGIN);
+    /** Rate at which the space between the bars changes wrt the bar width */
+    const barGapRate = this._xAxisInnerPadding / (1 - this._xAxisInnerPadding);
 
     if (this._xAxisType === XAxisTypes.StringAxis) {
       if (isScalePaddingDefined(this.props.xAxisOuterPadding, this.props.xAxisPadding)) {
@@ -1244,8 +1247,6 @@ export class VerticalBarChartBase
         // to adjust the space before the first bar and after the last bar.
         this._domainMargin = 0;
       } else if (this.props.barWidth !== 'auto') {
-        /** Rate at which the space between the bars changes wrt the bar width */
-        const barGapRate = this._xAxisInnerPadding / (1 - this._xAxisInnerPadding);
         // Update the bar width so that when CartesianChart rerenders,
         // the following calculations don't use the previous bar width.
         this._barWidth = getBarWidth(this.props.barWidth, this.props.maxBarWidth);
@@ -1256,6 +1257,19 @@ export class VerticalBarChartBase
           // Center align the chart by setting equal left and right margins for domain
           this._domainMargin = MIN_DOMAIN_MARGIN + (totalWidth - reqWidth) / 2;
         }
+      } else if (this.props.mode === 'plotly' && this._xAxisLabels.length > 1) {
+        // Calculate the remaining width after rendering bars at their maximum allowable width
+        const bandwidth = totalWidth / (this._xAxisLabels.length + (this._xAxisLabels.length - 1) * barGapRate);
+        const barWidth = getBarWidth(this.props.barWidth, this.props.maxBarWidth, bandwidth);
+        let reqWidth = (this._xAxisLabels.length + (this._xAxisLabels.length - 1) * barGapRate) * barWidth;
+        const margin1 = (totalWidth - reqWidth) / 2;
+
+        // Calculate the remaining width after accounting for the space required to render x-axis labels
+        const step = calculateLongestLabelWidth(this._xAxisLabels) + 20;
+        reqWidth = (this._xAxisLabels.length - this._xAxisInnerPadding) * step;
+        const margin2 = (totalWidth - reqWidth) / 2;
+
+        this._domainMargin = MIN_DOMAIN_MARGIN + Math.max(0, Math.min(margin1, margin2));
       }
     } else {
       const data = (this.props.data?.map(point => point.x) as number[] | Date[] | undefined) || [];
diff --git a/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.types.ts b/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.types.ts
index 8094c91e73a120..aa62768cb0fb59 100644
--- a/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.types.ts
+++ b/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.types.ts
@@ -117,6 +117,12 @@ export interface IVerticalBarChartProps extends ICartesianChartProps {
    * The prop used to enable rounded corners for the chart.
    */
   roundCorners?: boolean;
+
+  /**
+   * Specifies the mode of the chart.
+   * @default 'default'
+   */
+  mode?: 'default' | 'plotly';
 }
 
 /**
diff --git a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
index 3a45277290bdd2..bae69324657ec7 100644
--- a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
@@ -60,6 +60,7 @@ import {
   formatDate,
   getNextGradient,
   areArraysEqual,
+  calculateLongestLabelWidth,
 } from '../../utilities/index';
 import { IChart } from '../../types/index';
 
@@ -1199,6 +1200,8 @@ export class VerticalStackedBarChartBase
     /** Total width available to render the bars */
     const totalWidth =
       containerWidth - (this.margins.left! + MIN_DOMAIN_MARGIN) - (this.margins.right! + MIN_DOMAIN_MARGIN);
+    /** Rate at which the space between the bars changes wrt the bar width */
+    const barGapRate = this._xAxisInnerPadding / (1 - this._xAxisInnerPadding);
 
     if (this._xAxisType === XAxisTypes.StringAxis) {
       if (isScalePaddingDefined(this.props.xAxisOuterPadding, this.props.xAxisPadding)) {
@@ -1206,8 +1209,6 @@ export class VerticalStackedBarChartBase
         // to adjust the space before the first bar and after the last bar.
         this._domainMargin = 0;
       } else if (this.props.barWidth !== 'auto') {
-        /** Rate at which the space between the bars changes wrt the bar width */
-        const barGapRate = this._xAxisInnerPadding / (1 - this._xAxisInnerPadding);
         // Update the bar width so that when CartesianChart rerenders,
         // the following calculations don't use the previous bar width.
         this._barWidth = getBarWidth(this.props.barWidth, this.props.maxBarWidth);
@@ -1218,6 +1219,19 @@ export class VerticalStackedBarChartBase
           // Center align the chart by setting equal left and right margins for domain
           this._domainMargin = MIN_DOMAIN_MARGIN + (totalWidth - reqWidth) / 2;
         }
+      } else if (this.props.mode === 'plotly' && this._xAxisLabels.length > 1) {
+        // Calculate the remaining width after rendering bars at their maximum allowable width
+        const bandwidth = totalWidth / (this._xAxisLabels.length + (this._xAxisLabels.length - 1) * barGapRate);
+        const barWidth = getBarWidth(this.props.barWidth, this.props.maxBarWidth, bandwidth);
+        let reqWidth = (this._xAxisLabels.length + (this._xAxisLabels.length - 1) * barGapRate) * barWidth;
+        const margin1 = (totalWidth - reqWidth) / 2;
+
+        // Calculate the remaining width after accounting for the space required to render x-axis labels
+        const step = calculateLongestLabelWidth(this._xAxisLabels) + 20;
+        reqWidth = (this._xAxisLabels.length - this._xAxisInnerPadding) * step;
+        const margin2 = (totalWidth - reqWidth) / 2;
+
+        this._domainMargin = MIN_DOMAIN_MARGIN + Math.max(0, Math.min(margin1, margin2));
       }
     } else {
       const data = (this.props.data?.map(point => point.xAxisPoint) as number[] | Date[] | undefined) || [];
diff --git a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.types.ts b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.types.ts
index 5e47df049599cf..5fa46b7dcf6d8d 100644
--- a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.types.ts
+++ b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.types.ts
@@ -155,6 +155,12 @@ export interface IVerticalStackedBarChartProps extends ICartesianChartProps {
    * The prop used to enable rounded corners for the chart.
    */
   roundCorners?: boolean;
+
+  /**
+   * Specifies the mode of the chart.
+   * @default 'default'
+   */
+  mode?: 'default' | 'plotly';
 }
 
 /**

From 2f88d062a57e6dc44ecd65df2ab067652ae4c7ce Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Fri, 10 Jan 2025 14:47:12 +0100
Subject: [PATCH 16/78] fix: make api.md up to date (#33599)

---
 ...view-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json |  7 +++++++
 ...view-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json |  7 +++++++
 ...view-f95778aa-ad54-4ba0-9ef8-38237de444a8.json |  7 +++++++
 ...ster-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json |  7 +++++++
 ...oast-b6083bc4-f97c-4ad1-a457-a150145f3543.json |  7 +++++++
 ...ltip-7be3b676-890f-4c2c-8a08-d7abf38084de.json |  7 +++++++
 ...izer-d6716ae8-9732-454c-9c6f-65ab98953a42.json |  7 +++++++
 .../library/etc/react-color-picker-preview.api.md |  9 +++++----
 .../etc/react-motion-components-preview.api.md    | 15 ++++++---------
 .../library/etc/react-nav-preview.api.md          |  4 +++-
 .../src/hooks/useIsNavigatingWithKeyboard.ts      |  2 +-
 .../react-toast/library/etc/react-toast.api.md    |  1 +
 .../library/etc/react-tooltip.api.md              |  2 +-
 .../library/etc/react-virtualizer.api.md          | 11 ++++-------
 14 files changed, 70 insertions(+), 23 deletions(-)
 create mode 100644 change/@fluentui-react-color-picker-preview-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json
 create mode 100644 change/@fluentui-react-motion-components-preview-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json
 create mode 100644 change/@fluentui-react-nav-preview-f95778aa-ad54-4ba0-9ef8-38237de444a8.json
 create mode 100644 change/@fluentui-react-tabster-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json
 create mode 100644 change/@fluentui-react-toast-b6083bc4-f97c-4ad1-a457-a150145f3543.json
 create mode 100644 change/@fluentui-react-tooltip-7be3b676-890f-4c2c-8a08-d7abf38084de.json
 create mode 100644 change/@fluentui-react-virtualizer-d6716ae8-9732-454c-9c6f-65ab98953a42.json

diff --git a/change/@fluentui-react-color-picker-preview-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json b/change/@fluentui-react-color-picker-preview-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json
new file mode 100644
index 00000000000000..65b78e7e086001
--- /dev/null
+++ b/change/@fluentui-react-color-picker-preview-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "fix: make api.md up to date",
+  "packageName": "@fluentui/react-color-picker-preview",
+  "email": "martinhochel@microsoft.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-motion-components-preview-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json b/change/@fluentui-react-motion-components-preview-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json
new file mode 100644
index 00000000000000..1599dbedebc4be
--- /dev/null
+++ b/change/@fluentui-react-motion-components-preview-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "fix: make api.md up to date",
+  "packageName": "@fluentui/react-motion-components-preview",
+  "email": "martinhochel@microsoft.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-nav-preview-f95778aa-ad54-4ba0-9ef8-38237de444a8.json b/change/@fluentui-react-nav-preview-f95778aa-ad54-4ba0-9ef8-38237de444a8.json
new file mode 100644
index 00000000000000..86031271d82853
--- /dev/null
+++ b/change/@fluentui-react-nav-preview-f95778aa-ad54-4ba0-9ef8-38237de444a8.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "fix: make api.md up to date",
+  "packageName": "@fluentui/react-nav-preview",
+  "email": "martinhochel@microsoft.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-tabster-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json b/change/@fluentui-react-tabster-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json
new file mode 100644
index 00000000000000..9931e30185f731
--- /dev/null
+++ b/change/@fluentui-react-tabster-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "docs: fix invalid TSdoc that is causing warnings within generate-api task",
+  "packageName": "@fluentui/react-tabster",
+  "email": "martinhochel@microsoft.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-toast-b6083bc4-f97c-4ad1-a457-a150145f3543.json b/change/@fluentui-react-toast-b6083bc4-f97c-4ad1-a457-a150145f3543.json
new file mode 100644
index 00000000000000..6bf5ab81b5af14
--- /dev/null
+++ b/change/@fluentui-react-toast-b6083bc4-f97c-4ad1-a457-a150145f3543.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "fix: make api.md up to date",
+  "packageName": "@fluentui/react-toast",
+  "email": "martinhochel@microsoft.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-tooltip-7be3b676-890f-4c2c-8a08-d7abf38084de.json b/change/@fluentui-react-tooltip-7be3b676-890f-4c2c-8a08-d7abf38084de.json
new file mode 100644
index 00000000000000..985a836a6abda3
--- /dev/null
+++ b/change/@fluentui-react-tooltip-7be3b676-890f-4c2c-8a08-d7abf38084de.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "fix: make api.md up to date",
+  "packageName": "@fluentui/react-tooltip",
+  "email": "martinhochel@microsoft.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-virtualizer-d6716ae8-9732-454c-9c6f-65ab98953a42.json b/change/@fluentui-react-virtualizer-d6716ae8-9732-454c-9c6f-65ab98953a42.json
new file mode 100644
index 00000000000000..d4ed76c700480b
--- /dev/null
+++ b/change/@fluentui-react-virtualizer-d6716ae8-9732-454c-9c6f-65ab98953a42.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "fix: make api.md up to date",
+  "packageName": "@fluentui/react-virtualizer",
+  "email": "martinhochel@microsoft.com",
+  "dependentChangeType": "none"
+}
diff --git a/packages/react-components/react-color-picker-preview/library/etc/react-color-picker-preview.api.md b/packages/react-components/react-color-picker-preview/library/etc/react-color-picker-preview.api.md
index 5c78ccfa5aa480..0ff850de65940e 100644
--- a/packages/react-components/react-color-picker-preview/library/etc/react-color-picker-preview.api.md
+++ b/packages/react-components/react-color-picker-preview/library/etc/react-color-picker-preview.api.md
@@ -35,7 +35,7 @@ export const ColorArea: ForwardRefComponent<ColorAreaProps>;
 export const colorAreaClassNames: SlotClassNames<ColorAreaSlots>;
 
 // @public
-export type ColorAreaProps = Omit<ComponentProps<Partial<ColorAreaSlots>>, 'color' | 'onChange'> & {
+export type ColorAreaProps = Omit<ComponentProps<Partial<ColorAreaSlots>>, 'color' | 'onChange'> & Pick<ColorPickerProps, 'shape'> & {
     color?: HsvColor;
     defaultColor?: HsvColor;
     onChange?: EventHandler<ColorAreaOnColorChangeData>;
@@ -50,7 +50,7 @@ export type ColorAreaSlots = {
 };
 
 // @public
-export type ColorAreaState = ComponentState<Required<ColorAreaSlots>> & Pick<ColorAreaProps, 'color'>;
+export type ColorAreaState = ComponentState<Required<ColorAreaSlots>> & Pick<ColorAreaProps, 'color' | 'shape'>;
 
 // @public
 export const ColorPicker: ForwardRefComponent<ColorPickerProps>;
@@ -62,6 +62,7 @@ export const colorPickerClassNames: SlotClassNames<ColorPickerSlots>;
 export type ColorPickerProps = Omit<ComponentProps<Partial<ColorPickerSlots>>, 'color'> & {
     color: HsvColor;
     onColorChange?: EventHandler<ColorPickerOnChangeData>;
+    shape?: 'rounded' | 'square';
 };
 
 // @public (undocumented)
@@ -79,7 +80,7 @@ export const ColorSlider: ForwardRefComponent<ColorSliderProps>;
 export const colorSliderClassNames: SlotClassNames<ColorSliderSlots>;
 
 // @public
-export type ColorSliderProps = Omit<ComponentProps<Partial<ColorSliderSlots>, 'input'>, 'defaultValue' | 'onChange' | 'value' | 'color'> & {
+export type ColorSliderProps = Omit<ComponentProps<Partial<ColorSliderSlots>, 'input'>, 'defaultValue' | 'onChange' | 'value' | 'color'> & Pick<ColorPickerProps, 'shape'> & {
     channel?: string;
     onChange?: EventHandler<SliderOnChangeData>;
     vertical?: boolean;
@@ -96,7 +97,7 @@ export type ColorSliderSlots = {
 };
 
 // @public
-export type ColorSliderState = ComponentState<ColorSliderSlots> & Pick<ColorSliderProps, 'vertical'>;
+export type ColorSliderState = ComponentState<ColorSliderSlots> & Pick<ColorSliderProps, 'vertical' | 'shape'>;
 
 // @public
 export const renderAlphaSlider_unstable: (state: AlphaSliderState) => JSX.Element;
diff --git a/packages/react-components/react-motion-components-preview/library/etc/react-motion-components-preview.api.md b/packages/react-components/react-motion-components-preview/library/etc/react-motion-components-preview.api.md
index d9efd381278b6e..fba94f92528fba 100644
--- a/packages/react-components/react-motion-components-preview/library/etc/react-motion-components-preview.api.md
+++ b/packages/react-components/react-motion-components-preview/library/etc/react-motion-components-preview.api.md
@@ -36,6 +36,9 @@ export const createCollapsePresence: PresenceMotionFnCreator<CollapseVariantPara
 // @public
 export const createFadePresence: PresenceMotionCreator<FadeVariantParams>;
 
+// @public
+export const createScalePresence: PresenceMotionFnCreator<ScaleVariantParams_unstable, ScaleRuntimeParams_unstable>;
+
 // @public
 export const Fade: PresenceComponent<    {}>;
 
@@ -46,19 +49,13 @@ export const FadeRelaxed: PresenceComponent<    {}>;
 export const FadeSnappy: PresenceComponent<    {}>;
 
 // @public
-export const Scale: PresenceComponent<    {
-animateOpacity?: boolean | undefined;
-}>;
+export const Scale: PresenceComponent<ScaleRuntimeParams_unstable>;
 
 // @public (undocumented)
-export const ScaleRelaxed: PresenceComponent<    {
-animateOpacity?: boolean | undefined;
-}>;
+export const ScaleRelaxed: PresenceComponent<ScaleRuntimeParams_unstable>;
 
 // @public (undocumented)
-export const ScaleSnappy: PresenceComponent<    {
-animateOpacity?: boolean | undefined;
-}>;
+export const ScaleSnappy: PresenceComponent<ScaleRuntimeParams_unstable>;
 
 // (No @packageDocumentation comment for this package)
 
diff --git a/packages/react-components/react-nav-preview/library/etc/react-nav-preview.api.md b/packages/react-components/react-nav-preview/library/etc/react-nav-preview.api.md
index 70ed49272f741a..0ce49da49a38d3 100644
--- a/packages/react-components/react-nav-preview/library/etc/react-nav-preview.api.md
+++ b/packages/react-components/react-nav-preview/library/etc/react-nav-preview.api.md
@@ -228,7 +228,9 @@ export type NavDrawerProps = ComponentProps<NavDrawerSlots> & DrawerProps & NavP
 export type NavDrawerSlots = DrawerSlots;
 
 // @public
-export type NavDrawerState = DrawerState & NavContextValue;
+export type NavDrawerState = DrawerState & NavContextValue & {
+    size?: 'small' | 'medium' | 'large' | 'full';
+};
 
 // @public
 export const NavItem: ForwardRefComponent<NavItemProps>;
diff --git a/packages/react-components/react-tabster/src/hooks/useIsNavigatingWithKeyboard.ts b/packages/react-components/react-tabster/src/hooks/useIsNavigatingWithKeyboard.ts
index ce23ff78a953cf..983dd7c14fb959 100644
--- a/packages/react-components/react-tabster/src/hooks/useIsNavigatingWithKeyboard.ts
+++ b/packages/react-components/react-tabster/src/hooks/useIsNavigatingWithKeyboard.ts
@@ -3,7 +3,7 @@ import { useKeyborgRef } from './useKeyborgRef';
 
 /**
  * Instantiates [keyborg](https://github.com/microsoft/keyborg) and checks if the user is navigating with the keyboard.
- * @returns {() => boolean}
+ * @returns
  */
 export function useIsNavigatingWithKeyboard(): () => boolean {
   const keyborgRef = useKeyborgRef();
diff --git a/packages/react-components/react-toast/library/etc/react-toast.api.md b/packages/react-components/react-toast/library/etc/react-toast.api.md
index d60e0e05c3769c..c5c8d6f1c179fc 100644
--- a/packages/react-components/react-toast/library/etc/react-toast.api.md
+++ b/packages/react-components/react-toast/library/etc/react-toast.api.md
@@ -133,6 +133,7 @@ export type ToastSlots = {
 // @public
 export type ToastState = ComponentState<ToastSlots> & {
     backgroundAppearance: BackgroundAppearanceContextValue;
+    intent?: ToastIntent | undefined;
 };
 
 // @public (undocumented)
diff --git a/packages/react-components/react-tooltip/library/etc/react-tooltip.api.md b/packages/react-components/react-tooltip/library/etc/react-tooltip.api.md
index ada8f59ee9266d..d0d85dc974e426 100644
--- a/packages/react-components/react-tooltip/library/etc/react-tooltip.api.md
+++ b/packages/react-components/react-tooltip/library/etc/react-tooltip.api.md
@@ -56,7 +56,7 @@ export type TooltipState = ComponentState<TooltipSlots> & Pick<TooltipProps, 'mo
 // @public
 export type TooltipTriggerProps = {
     ref?: React_2.Ref<unknown>;
-} & Pick<React_2.HTMLAttributes<HTMLElement>, 'aria-describedby' | 'aria-label' | 'aria-labelledby' | 'onBlur' | 'onFocus' | 'onPointerEnter' | 'onPointerLeave'>;
+} & Pick<React_2.HTMLAttributes<HTMLElement>, 'aria-describedby' | 'aria-label' | 'aria-labelledby' | 'onBlur' | 'onFocus' | 'onPointerEnter' | 'onPointerLeave' | 'aria-haspopup' | 'aria-expanded'>;
 
 // @public
 export const useTooltip_unstable: (props: TooltipProps) => TooltipState;
diff --git a/packages/react-components/react-virtualizer/library/etc/react-virtualizer.api.md b/packages/react-components/react-virtualizer/library/etc/react-virtualizer.api.md
index 6b3c901b351b61..3bcd16bcd68144 100644
--- a/packages/react-components/react-virtualizer/library/etc/react-virtualizer.api.md
+++ b/packages/react-components/react-virtualizer/library/etc/react-virtualizer.api.md
@@ -6,10 +6,7 @@
 
 import type { ComponentProps } from '@fluentui/react-utilities';
 import type { ComponentState } from '@fluentui/react-utilities';
-import type { FC } from 'react';
-import type { MutableRefObject } from 'react';
 import * as React_2 from 'react';
-import type { RefObject } from 'react';
 import type { Slot } from '@fluentui/react-utilities';
 import type { SlotClassNames } from '@fluentui/react-utilities';
 
@@ -132,7 +129,7 @@ export const useVirtualizerScrollViewStyles_unstable: (state: VirtualizerScrollV
 export const useVirtualizerStyles_unstable: (state: VirtualizerState) => VirtualizerState;
 
 // @public
-export const Virtualizer: FC<VirtualizerProps>;
+export const Virtualizer: React_2.FC<VirtualizerProps>;
 
 // @public
 export type VirtualizerChildRenderFunction = (index: number, isScrolling: boolean) => React_2.ReactNode;
@@ -152,10 +149,10 @@ export const VirtualizerContextProvider: React_2.Provider<VirtualizerContextProp
 
 // @public (undocumented)
 export type VirtualizerDataRef = {
-    progressiveSizes: RefObject<number[]>;
-    nodeSizes: RefObject<number[]>;
+    progressiveSizes: React_2.RefObject<number[]>;
+    nodeSizes: React_2.RefObject<number[]>;
     setFlaggedIndex: (index: number | null) => void;
-    currentIndex: RefObject<number>;
+    currentIndex: React_2.RefObject<number>;
 };
 
 // @public (undocumented)

From cd3334a52470b0d6d07e075c7b4ad91f5a409d0a Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Fri, 10 Jan 2025 17:59:55 +0100
Subject: [PATCH 17/78] ci(ado): update storage baseline for bundle-size only
 if all bundle-size tasks passed (#33600)

---
 azure-pipelines.bundlesize.yml | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/azure-pipelines.bundlesize.yml b/azure-pipelines.bundlesize.yml
index 76d9ac3fe3febf..f919bace9f1300 100644
--- a/azure-pipelines.bundlesize.yml
+++ b/azure-pipelines.bundlesize.yml
@@ -22,6 +22,10 @@ jobs:
           filePath: yarn-ci.sh
         displayName: yarn
 
+      # TODO: these commented steps can be probably removed as we migrated these workflows to GHA
+      #  - @{link file://./.github/workflows/bundle-size-comment.yml}
+      #  - @{link file://./.github/workflows/bundle-size.yml}
+
       # - script: |
       #     yarn nx affected -t bundle-size --nxBail $(sinceArg)
       #   displayName: build packages & create reports
@@ -49,7 +53,7 @@ jobs:
 
       - task: AzureCLI@2
         displayName: upload a report (base only)
-        condition: eq(variables.isPR, false)
+        condition: and(eq(variables.isPR, false), succeeded())
         env:
           AZURE_TENANT_ID: $(AzureTenantId)
           AZURE_CLIENT_ID: $(AzureClientId)

From befe9020d9198ff7f3d7e9042fc2c249c874b050 Mon Sep 17 00:00:00 2001
From: Mason Tejera <17346018+mltejera@users.noreply.github.com>
Date: Fri, 10 Jan 2025 19:11:08 +0000
Subject: [PATCH 18/78] (fix)[react-nav-preview): Updating Nav animation speeds
 (#33588)

---
 ...t-nav-preview-b0930295-331e-4b55-96fc-c17b84ce854b.json | 7 +++++++
 .../library/src/components/sharedNavStyles.styles.ts       | 4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)
 create mode 100644 change/@fluentui-react-nav-preview-b0930295-331e-4b55-96fc-c17b84ce854b.json

diff --git a/change/@fluentui-react-nav-preview-b0930295-331e-4b55-96fc-c17b84ce854b.json b/change/@fluentui-react-nav-preview-b0930295-331e-4b55-96fc-c17b84ce854b.json
new file mode 100644
index 00000000000000..15efc7af0656d4
--- /dev/null
+++ b/change/@fluentui-react-nav-preview-b0930295-331e-4b55-96fc-c17b84ce854b.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: Speeding up animations in Nav.",
+  "packageName": "@fluentui/react-nav-preview",
+  "email": "matejera@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts b/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts
index c2e2ecdbba7623..fdcf64730d34d0 100644
--- a/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts
@@ -13,12 +13,12 @@ export const navItemTokens = {
   backgroundColorHover: tokens.colorNeutralBackground4Hover,
   backgroundColorPressed: tokens.colorNeutralBackground4Pressed,
   animationTokens: {
-    animationDuration: tokens.durationFast,
+    animationDuration: tokens.durationFaster,
     animationFillMode: 'both',
     animationTimingFunction: tokens.curveAccelerateMid,
   },
   transitionTokens: {
-    transitionDuration: tokens.durationFast,
+    transitionDuration: tokens.durationFaster,
     transitionTimingFunction: tokens.curveAccelerateMid,
     transitionProperty: 'background',
   },

From 74641ca04daeda5a6cd644513351d675ccd4dbad Mon Sep 17 00:00:00 2001
From: Ben Howell <48106640+behowell@users.noreply.github.com>
Date: Fri, 10 Jan 2025 18:18:27 -0800
Subject: [PATCH 19/78] fix: Remove deprecation warning from Callout's
 preventDismissOnResize, etc. (#33493)

Remove the `@deprecated` tag from Callout's `preventDismissOnResize`, `preventDismissOnScroll`, and `preventDismissOnFocus` properties, given that we have no plans to actually remove these APIs from v8. They still work fine, and provider a simpler API for common use cases.
---
 ...i-react-b39a56a4-8975-43fa-a958-fb3c555a2c11.json |  7 +++++++
 packages/react/etc/react.api.md                      |  3 ---
 .../react/src/components/Callout/Callout.types.ts    | 12 ++++++------
 .../src/components/Callout/CalloutContent.base.tsx   |  3 ---
 4 files changed, 13 insertions(+), 12 deletions(-)
 create mode 100644 change/@fluentui-react-b39a56a4-8975-43fa-a958-fb3c555a2c11.json

diff --git a/change/@fluentui-react-b39a56a4-8975-43fa-a958-fb3c555a2c11.json b/change/@fluentui-react-b39a56a4-8975-43fa-a958-fb3c555a2c11.json
new file mode 100644
index 00000000000000..bd7e3272e1794b
--- /dev/null
+++ b/change/@fluentui-react-b39a56a4-8975-43fa-a958-fb3c555a2c11.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: Remove deprecation warning from Callout's preventDismissOnResize and similar props",
+  "packageName": "@fluentui/react",
+  "email": "behowell@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react/etc/react.api.md b/packages/react/etc/react.api.md
index 94b006c3695750..9fe14cb8bfbb28 100644
--- a/packages/react/etc/react.api.md
+++ b/packages/react/etc/react.api.md
@@ -3243,11 +3243,8 @@ export interface ICalloutProps extends React_2.HTMLAttributes<HTMLDivElement>, R
     popupProps?: IPopupProps;
     preferScrollResizePositioning?: boolean;
     preventDismissOnEvent?: (ev: Event | React_2.FocusEvent | React_2.KeyboardEvent | React_2.MouseEvent) => boolean;
-    // @deprecated
     preventDismissOnLostFocus?: boolean;
-    // @deprecated
     preventDismissOnResize?: boolean;
-    // @deprecated
     preventDismissOnScroll?: boolean;
     role?: string;
     setInitialFocus?: boolean;
diff --git a/packages/react/src/components/Callout/Callout.types.ts b/packages/react/src/components/Callout/Callout.types.ts
index 6907bb11cb8989..b00e10355e5e69 100644
--- a/packages/react/src/components/Callout/Callout.types.ts
+++ b/packages/react/src/components/Callout/Callout.types.ts
@@ -87,23 +87,23 @@ export interface ICalloutProps extends React.HTMLAttributes<HTMLDivElement>, Rea
   isBeakVisible?: boolean;
 
   /**
-   * If true then the callout will not dismiss on scroll
+   * If true then the callout will not dismiss on scroll.
+   * *Note:* This property will be ignored if using `preventDismissOnEvent`.
    * @defaultvalue false
-   * @deprecated use preventDismissOnEvent callback instead
    */
   preventDismissOnScroll?: boolean;
 
   /**
-   * If true then the callout will not dismiss on resize
+   * If true then the callout will not dismiss on resize.
+   * *Note:* This property will be ignored if using `preventDismissOnEvent`.
    * @defaultvalue false
-   * @deprecated use preventDismissOnEvent callback instead
    */
   preventDismissOnResize?: boolean;
 
   /**
-   * If true then the callout will not dismiss when it loses focus
+   * If true then the callout will not dismiss when it loses focus.
+   * *Note:* This property will be ignored if using `preventDismissOnEvent`.
    * @defaultvalue false
-   * @deprecated use preventDismissOnEvent callback instead
    */
   preventDismissOnLostFocus?: boolean;
 
diff --git a/packages/react/src/components/Callout/CalloutContent.base.tsx b/packages/react/src/components/Callout/CalloutContent.base.tsx
index e4acb42562bfc0..9355bc972c5159 100644
--- a/packages/react/src/components/Callout/CalloutContent.base.tsx
+++ b/packages/react/src/components/Callout/CalloutContent.base.tsx
@@ -337,11 +337,8 @@ function useDismissHandlers(
   {
     hidden,
     onDismiss,
-    // eslint-disable-next-line deprecation/deprecation
     preventDismissOnScroll,
-    // eslint-disable-next-line deprecation/deprecation
     preventDismissOnResize,
-    // eslint-disable-next-line deprecation/deprecation
     preventDismissOnLostFocus,
     dismissOnTargetClick,
     shouldDismissOnWindowFocus,

From bf60a56cb23b3af90bcb62462c2423468eb9fa3c Mon Sep 17 00:00:00 2001
From: hamzamaimi <82286785+hamzamaimi@users.noreply.github.com>
Date: Sun, 12 Jan 2025 00:01:47 +0100
Subject: [PATCH 20/78] Fix: updated regex validation for color theme designer
 input field (#33148)

Co-authored-by: Makoto Morimoto <Humberto.Morimoto@microsoft.com>
Co-authored-by: Humberto Makoto Morimoto Burgos <makotom@microsoft.com>
---
 .../theme-designer/src/components/Sidebar/Form.tsx          | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/packages/react-components/theme-designer/src/components/Sidebar/Form.tsx b/packages/react-components/theme-designer/src/components/Sidebar/Form.tsx
index 1f85ac0a4d84ad..b6a71e81e27325 100644
--- a/packages/react-components/theme-designer/src/components/Sidebar/Form.tsx
+++ b/packages/react-components/theme-designer/src/components/Sidebar/Form.tsx
@@ -118,8 +118,10 @@ export const Form: React.FC = () => {
     });
   }, [dispatch, debounceKeyColor, debounceHueTorsion, debounceVibrancy]);
 
-  const generateHexColor = (e: React.ChangeEvent<HTMLInputElement>) =>
-    '#' + e.target.value.replace(/\W/g, '').toUpperCase();
+  const generateHexColor = (e: React.ChangeEvent<HTMLInputElement>): string => {
+    return '#' + e.target.value.replace(/[^0-9A-F]/gi, '').toUpperCase();
+  };
+
   const handleKeyColorChange = (e: React.ChangeEvent<HTMLInputElement>) => {
     // check if the newly inputted hex code has a #
     const newHexColor = generateHexColor(e);

From 7fd4e13f9175ed9194d9ab4ce06089a372c29a08 Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Mon, 13 Jan 2025 07:21:41 +0000
Subject: [PATCH 21/78] release: applying package updates - react v8

---
 ...-b39a56a4-8975-43fa-a958-fb3c555a2c11.json |  7 -----
 ...-5e13d62c-9372-4a66-84d6-a1e6cab63291.json |  7 -----
 packages/azure-themes/CHANGELOG.json          | 15 +++++++++++
 packages/azure-themes/CHANGELOG.md            | 11 +++++++-
 packages/azure-themes/package.json            |  4 +--
 packages/charts/react-charting/CHANGELOG.json | 27 +++++++++++++++++++
 packages/charts/react-charting/CHANGELOG.md   | 13 ++++++++-
 packages/charts/react-charting/package.json   |  6 ++---
 packages/cra-template/package.json            |  2 +-
 packages/fluent2-theme/CHANGELOG.json         | 15 +++++++++++
 packages/fluent2-theme/CHANGELOG.md           | 11 +++++++-
 packages/fluent2-theme/package.json           |  4 +--
 packages/react-cards/CHANGELOG.json           | 15 +++++++++++
 packages/react-cards/CHANGELOG.md             | 11 +++++++-
 packages/react-cards/package.json             |  4 +--
 .../library/package.json                      |  4 +--
 packages/react-date-time/CHANGELOG.json       | 15 +++++++++++
 packages/react-date-time/CHANGELOG.md         | 11 +++++++-
 packages/react-date-time/package.json         |  4 +--
 .../react-docsite-components/CHANGELOG.json   | 21 +++++++++++++++
 .../react-docsite-components/CHANGELOG.md     | 12 ++++++++-
 .../react-docsite-components/package.json     |  6 ++---
 packages/react-examples/package.json          | 14 +++++-----
 packages/react-experiments/CHANGELOG.json     | 15 +++++++++++
 packages/react-experiments/CHANGELOG.md       | 11 +++++++-
 packages/react-experiments/package.json       |  4 +--
 packages/react-monaco-editor/CHANGELOG.json   | 21 +++++++++++++++
 packages/react-monaco-editor/CHANGELOG.md     | 12 ++++++++-
 packages/react-monaco-editor/package.json     |  6 ++---
 packages/react/CHANGELOG.json                 | 15 +++++++++++
 packages/react/CHANGELOG.md                   | 11 +++++++-
 packages/react/package.json                   |  2 +-
 packages/storybook/package.json               |  6 ++---
 packages/theme-samples/CHANGELOG.json         | 15 +++++++++++
 packages/theme-samples/CHANGELOG.md           | 11 +++++++-
 packages/theme-samples/package.json           |  4 +--
 36 files changed, 313 insertions(+), 59 deletions(-)
 delete mode 100644 change/@fluentui-react-b39a56a4-8975-43fa-a958-fb3c555a2c11.json
 delete mode 100644 change/@fluentui-react-charting-5e13d62c-9372-4a66-84d6-a1e6cab63291.json

diff --git a/change/@fluentui-react-b39a56a4-8975-43fa-a958-fb3c555a2c11.json b/change/@fluentui-react-b39a56a4-8975-43fa-a958-fb3c555a2c11.json
deleted file mode 100644
index bd7e3272e1794b..00000000000000
--- a/change/@fluentui-react-b39a56a4-8975-43fa-a958-fb3c555a2c11.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: Remove deprecation warning from Callout's preventDismissOnResize and similar props",
-  "packageName": "@fluentui/react",
-  "email": "behowell@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-charting-5e13d62c-9372-4a66-84d6-a1e6cab63291.json b/change/@fluentui-react-charting-5e13d62c-9372-4a66-84d6-a1e6cab63291.json
deleted file mode 100644
index 15228db009078d..00000000000000
--- a/change/@fluentui-react-charting-5e13d62c-9372-4a66-84d6-a1e6cab63291.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "feat: center align bars with auto barWidth in plotly mode",
-  "packageName": "@fluentui/react-charting",
-  "email": "110246001+krkshitij@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/packages/azure-themes/CHANGELOG.json b/packages/azure-themes/CHANGELOG.json
index d805638349bb4e..4aaf5704766b85 100644
--- a/packages/azure-themes/CHANGELOG.json
+++ b/packages/azure-themes/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/azure-themes",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:23 GMT",
+      "tag": "@fluentui/azure-themes_v8.6.119",
+      "version": "8.6.119",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/azure-themes",
+            "comment": "Bump @fluentui/react to v8.122.6",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/azure-themes_v8.6.118",
diff --git a/packages/azure-themes/CHANGELOG.md b/packages/azure-themes/CHANGELOG.md
index 6d33570bd6959c..c5e0dc641af2fe 100644
--- a/packages/azure-themes/CHANGELOG.md
+++ b/packages/azure-themes/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/azure-themes
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.6.119](https://github.com/microsoft/fluentui/tree/@fluentui/azure-themes_v8.6.119)
+
+Mon, 13 Jan 2025 07:21:23 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/azure-themes_v8.6.118..@fluentui/azure-themes_v8.6.119)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.6 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+
 ## [8.6.118](https://github.com/microsoft/fluentui/tree/@fluentui/azure-themes_v8.6.118)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/azure-themes/package.json b/packages/azure-themes/package.json
index 84b147bb49e9cc..49ed3c4f1ba138 100644
--- a/packages/azure-themes/package.json
+++ b/packages/azure-themes/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/azure-themes",
-  "version": "8.6.118",
+  "version": "8.6.119",
   "description": "Azure themes for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   }
diff --git a/packages/charts/react-charting/CHANGELOG.json b/packages/charts/react-charting/CHANGELOG.json
index e5ceb86a70036d..39fddc4b97a2dc 100644
--- a/packages/charts/react-charting/CHANGELOG.json
+++ b/packages/charts/react-charting/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-charting",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:22 GMT",
+      "tag": "@fluentui/react-charting_v5.23.40",
+      "version": "5.23.40",
+      "comments": {
+        "patch": [
+          {
+            "author": "110246001+krkshitij@users.noreply.github.com",
+            "package": "@fluentui/react-charting",
+            "commit": "90ccf40771d9d992b824b52e33fe750a67eda097",
+            "comment": "feat: center align bars with auto barWidth in plotly mode"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charting",
+            "comment": "Bump @fluentui/theme-samples to v8.7.195",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charting",
+            "comment": "Bump @fluentui/react to v8.122.6",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/react-charting_v5.23.39",
diff --git a/packages/charts/react-charting/CHANGELOG.md b/packages/charts/react-charting/CHANGELOG.md
index 9660401028e9d1..42e32365cd9654 100644
--- a/packages/charts/react-charting/CHANGELOG.md
+++ b/packages/charts/react-charting/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-charting
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:22 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [5.23.40](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.40)
+
+Mon, 13 Jan 2025 07:21:22 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charting_v5.23.39..@fluentui/react-charting_v5.23.40)
+
+### Patches
+
+- feat: center align bars with auto barWidth in plotly mode ([PR #33603](https://github.com/microsoft/fluentui/pull/33603) by 110246001+krkshitij@users.noreply.github.com)
+- Bump @fluentui/theme-samples to v8.7.195 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+- Bump @fluentui/react to v8.122.6 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+
 ## [5.23.39](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.39)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/charts/react-charting/package.json b/packages/charts/react-charting/package.json
index f0c8be40c0d649..80f4f6edff1ebd 100644
--- a/packages/charts/react-charting/package.json
+++ b/packages/charts/react-charting/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-charting",
-  "version": "5.23.39",
+  "version": "5.23.40",
   "description": "React web charting controls for Microsoft fluentui system.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -40,7 +40,7 @@
   },
   "dependencies": {
     "@fluentui/react-focus": "^8.9.20",
-    "@fluentui/theme-samples": "^8.7.194",
+    "@fluentui/theme-samples": "^8.7.195",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@types/d3-array": "^3.0.0",
     "@types/d3-axis": "^3.0.0",
@@ -66,7 +66,7 @@
     "tslib": "^2.1.0"
   },
   "peerDependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@types/react": ">=16.8.0 <19.0.0",
     "@types/react-dom": ">=16.8.0 <19.0.0",
     "react": ">=16.8.0 <19.0.0",
diff --git a/packages/cra-template/package.json b/packages/cra-template/package.json
index 4b7d2b9b1a85d3..53539c3f54f811 100644
--- a/packages/cra-template/package.json
+++ b/packages/cra-template/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/cra-template",
-  "version": "8.4.195",
+  "version": "8.4.196",
   "description": "Create React App template for Fluent UI React (@fluentui/react)",
   "repository": {
     "type": "git",
diff --git a/packages/fluent2-theme/CHANGELOG.json b/packages/fluent2-theme/CHANGELOG.json
index c98ffb340e50a4..5accf0e86228d6 100644
--- a/packages/fluent2-theme/CHANGELOG.json
+++ b/packages/fluent2-theme/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/fluent2-theme",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:23 GMT",
+      "tag": "@fluentui/fluent2-theme_v8.107.123",
+      "version": "8.107.123",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/fluent2-theme",
+            "comment": "Bump @fluentui/react to v8.122.6",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/fluent2-theme_v8.107.122",
diff --git a/packages/fluent2-theme/CHANGELOG.md b/packages/fluent2-theme/CHANGELOG.md
index 20c6586e7c4892..669e0f54e84205 100644
--- a/packages/fluent2-theme/CHANGELOG.md
+++ b/packages/fluent2-theme/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/fluent2-theme
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.107.123](https://github.com/microsoft/fluentui/tree/@fluentui/fluent2-theme_v8.107.123)
+
+Mon, 13 Jan 2025 07:21:23 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/fluent2-theme_v8.107.122..@fluentui/fluent2-theme_v8.107.123)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.6 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+
 ## [8.107.122](https://github.com/microsoft/fluentui/tree/@fluentui/fluent2-theme_v8.107.122)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/fluent2-theme/package.json b/packages/fluent2-theme/package.json
index 390598b19b7209..c9bd931fde9043 100644
--- a/packages/fluent2-theme/package.json
+++ b/packages/fluent2-theme/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/fluent2-theme",
-  "version": "8.107.122",
+  "version": "8.107.123",
   "description": "A Fluent2 theme for Fluent UI React 8.x",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   }
diff --git a/packages/react-cards/CHANGELOG.json b/packages/react-cards/CHANGELOG.json
index 4cbe3386256270..894fc0a4338fa7 100644
--- a/packages/react-cards/CHANGELOG.json
+++ b/packages/react-cards/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-cards",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:23 GMT",
+      "tag": "@fluentui/react-cards_v0.205.195",
+      "version": "0.205.195",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-cards",
+            "comment": "Bump @fluentui/react to v8.122.6",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/react-cards_v0.205.194",
diff --git a/packages/react-cards/CHANGELOG.md b/packages/react-cards/CHANGELOG.md
index 6b5143a5965031..8842b2aa64790c 100644
--- a/packages/react-cards/CHANGELOG.md
+++ b/packages/react-cards/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-cards
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.205.195](https://github.com/microsoft/fluentui/tree/@fluentui/react-cards_v0.205.195)
+
+Mon, 13 Jan 2025 07:21:23 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-cards_v0.205.194..@fluentui/react-cards_v0.205.195)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.6 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+
 ## [0.205.194](https://github.com/microsoft/fluentui/tree/@fluentui/react-cards_v0.205.194)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/react-cards/package.json b/packages/react-cards/package.json
index b4577baff1d012..d3b373b949b12f 100644
--- a/packages/react-cards/package.json
+++ b/packages/react-cards/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-cards",
-  "version": "0.205.194",
+  "version": "0.205.195",
   "description": "Deprecated experimental Card container components for Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -33,7 +33,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@fluentui/foundation-legacy": "^8.4.23",
     "@fluentui/set-version": "^8.2.23",
     "@microsoft/load-themed-styles": "^1.10.26",
diff --git a/packages/react-components/react-migration-v8-v9/library/package.json b/packages/react-components/react-migration-v8-v9/library/package.json
index cddd7a5f762af6..47f25425991e63 100644
--- a/packages/react-components/react-migration-v8-v9/library/package.json
+++ b/packages/react-components/react-migration-v8-v9/library/package.json
@@ -19,8 +19,8 @@
   },
   "dependencies": {
     "@ctrl/tinycolor": "3.3.4",
-    "@fluentui/fluent2-theme": "^8.107.122",
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/fluent2-theme": "^8.107.123",
+    "@fluentui/react": "^8.122.6",
     "@fluentui/react-components": "^9.57.0",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-hooks": "^8.8.16",
diff --git a/packages/react-date-time/CHANGELOG.json b/packages/react-date-time/CHANGELOG.json
index e294f99c2f0f5f..ae36148a7907cd 100644
--- a/packages/react-date-time/CHANGELOG.json
+++ b/packages/react-date-time/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-date-time",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:23 GMT",
+      "tag": "@fluentui/react-date-time_v8.7.195",
+      "version": "8.7.195",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-date-time",
+            "comment": "Bump @fluentui/react to v8.122.6",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/react-date-time_v8.7.194",
diff --git a/packages/react-date-time/CHANGELOG.md b/packages/react-date-time/CHANGELOG.md
index efce8ba0cfdd80..b49bc61fd8e02c 100644
--- a/packages/react-date-time/CHANGELOG.md
+++ b/packages/react-date-time/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-date-time
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.7.195](https://github.com/microsoft/fluentui/tree/@fluentui/react-date-time_v8.7.195)
+
+Mon, 13 Jan 2025 07:21:23 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-date-time_v8.7.194..@fluentui/react-date-time_v8.7.195)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.6 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+
 ## [8.7.194](https://github.com/microsoft/fluentui/tree/@fluentui/react-date-time_v8.7.194)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/react-date-time/package.json b/packages/react-date-time/package.json
index 1efd230ad16fcc..f487bb5a933dac 100644
--- a/packages/react-date-time/package.json
+++ b/packages/react-date-time/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-date-time",
-  "version": "8.7.194",
+  "version": "8.7.195",
   "description": "Date and time related React components for building experiences for Microsoft 365.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   },
diff --git a/packages/react-docsite-components/CHANGELOG.json b/packages/react-docsite-components/CHANGELOG.json
index 953fe83726c9bd..5d7a22a2596c23 100644
--- a/packages/react-docsite-components/CHANGELOG.json
+++ b/packages/react-docsite-components/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-docsite-components",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:23 GMT",
+      "tag": "@fluentui/react-docsite-components_v8.13.160",
+      "version": "8.13.160",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react to v8.122.6",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react-monaco-editor to v1.7.278",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/react-docsite-components_v8.13.159",
diff --git a/packages/react-docsite-components/CHANGELOG.md b/packages/react-docsite-components/CHANGELOG.md
index c79eb080c69f62..33839b07639803 100644
--- a/packages/react-docsite-components/CHANGELOG.md
+++ b/packages/react-docsite-components/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-docsite-components
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.13.160](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.160)
+
+Mon, 13 Jan 2025 07:21:23 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-docsite-components_v8.13.159..@fluentui/react-docsite-components_v8.13.160)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.6 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+- Bump @fluentui/react-monaco-editor to v1.7.278 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+
 ## [8.13.159](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.159)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/react-docsite-components/package.json b/packages/react-docsite-components/package.json
index 30d1083227846e..f4ee726ea14112 100644
--- a/packages/react-docsite-components/package.json
+++ b/packages/react-docsite-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-docsite-components",
-  "version": "8.13.159",
+  "version": "8.13.160",
   "description": "Fluent UI React components for building documentation sites.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -35,14 +35,14 @@
     "react-dom": ">=16.8.0 <19.0.0"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@fluentui/theme": "^2.6.64",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/public-docsite-setup": "^0.3.34",
     "@fluentui/react-hooks": "^8.8.16",
     "@fluentui/set-version": "^8.2.23",
-    "@fluentui/react-monaco-editor": "^1.7.277",
+    "@fluentui/react-monaco-editor": "^1.7.278",
     "color-check": "0.0.2",
     "markdown-to-jsx": "^7.0.0",
     "office-ui-fabric-core": "^11.0.0",
diff --git a/packages/react-examples/package.json b/packages/react-examples/package.json
index 6acc283a63b1da..4b8954b9a8ddac 100644
--- a/packages/react-examples/package.json
+++ b/packages/react-examples/package.json
@@ -27,18 +27,18 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/azure-themes": "^8.6.118",
+    "@fluentui/azure-themes": "^8.6.119",
     "@fluentui/date-time-utilities": "^8.6.9",
     "@fluentui/dom-utilities": "^2.3.9",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/font-icons-mdl2": "^8.5.57",
     "@fluentui/foundation-legacy": "^8.4.23",
     "@fluentui/merge-styles": "^8.6.13",
-    "@fluentui/react": "^8.122.5",
-    "@fluentui/react-cards": "^0.205.194",
-    "@fluentui/react-charting": "^5.23.39",
-    "@fluentui/react-docsite-components": "^8.13.159",
-    "@fluentui/react-experiments": "^8.14.191",
+    "@fluentui/react": "^8.122.6",
+    "@fluentui/react-cards": "^0.205.195",
+    "@fluentui/react-charting": "^5.23.40",
+    "@fluentui/react-docsite-components": "^8.13.160",
+    "@fluentui/react-experiments": "^8.14.192",
     "@fluentui/react-file-type-icons": "^8.12.7",
     "@fluentui/react-focus": "^8.9.20",
     "@fluentui/react-hooks": "^8.8.16",
@@ -47,7 +47,7 @@
     "@fluentui/scheme-utilities": "^8.3.65",
     "@fluentui/style-utilities": "^8.11.6",
     "@fluentui/theme": "^2.6.64",
-    "@fluentui/theme-samples": "^8.7.194",
+    "@fluentui/theme-samples": "^8.7.195",
     "@fluentui/utilities": "^8.15.19",
     "@microsoft/load-themed-styles": "^1.10.26",
     "d3-fetch": "3.0.1",
diff --git a/packages/react-experiments/CHANGELOG.json b/packages/react-experiments/CHANGELOG.json
index d0177c7041f7a3..868b4ed9328a7a 100644
--- a/packages/react-experiments/CHANGELOG.json
+++ b/packages/react-experiments/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-experiments",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:23 GMT",
+      "tag": "@fluentui/react-experiments_v8.14.192",
+      "version": "8.14.192",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-experiments",
+            "comment": "Bump @fluentui/react to v8.122.6",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/react-experiments_v8.14.191",
diff --git a/packages/react-experiments/CHANGELOG.md b/packages/react-experiments/CHANGELOG.md
index 597552adf1297e..b60f783ca0d8a9 100644
--- a/packages/react-experiments/CHANGELOG.md
+++ b/packages/react-experiments/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-experiments
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.14.192](https://github.com/microsoft/fluentui/tree/@fluentui/react-experiments_v8.14.192)
+
+Mon, 13 Jan 2025 07:21:23 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-experiments_v8.14.191..@fluentui/react-experiments_v8.14.192)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.6 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+
 ## [8.14.191](https://github.com/microsoft/fluentui/tree/@fluentui/react-experiments_v8.14.191)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/react-experiments/package.json b/packages/react-experiments/package.json
index e2658817839fe1..f01f7b540cd0c9 100644
--- a/packages/react-experiments/package.json
+++ b/packages/react-experiments/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-experiments",
-  "version": "8.14.191",
+  "version": "8.14.192",
   "description": "Experimental React components for building experiences for Microsoft 365.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -38,7 +38,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@fluentui/theme": "^2.6.64",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
diff --git a/packages/react-monaco-editor/CHANGELOG.json b/packages/react-monaco-editor/CHANGELOG.json
index b649aef893a820..a9165e4ed2632c 100644
--- a/packages/react-monaco-editor/CHANGELOG.json
+++ b/packages/react-monaco-editor/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-monaco-editor",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:23 GMT",
+      "tag": "@fluentui/react-monaco-editor_v1.7.278",
+      "version": "1.7.278",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react to v8.122.6",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react-charting to v5.23.40",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/react-monaco-editor_v1.7.277",
diff --git a/packages/react-monaco-editor/CHANGELOG.md b/packages/react-monaco-editor/CHANGELOG.md
index 2610eace648b0d..347343e2e9ed51 100644
--- a/packages/react-monaco-editor/CHANGELOG.md
+++ b/packages/react-monaco-editor/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-monaco-editor
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [1.7.278](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.278)
+
+Mon, 13 Jan 2025 07:21:23 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-monaco-editor_v1.7.277..@fluentui/react-monaco-editor_v1.7.278)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.6 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+- Bump @fluentui/react-charting to v5.23.40 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+
 ## [1.7.277](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.277)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/react-monaco-editor/package.json b/packages/react-monaco-editor/package.json
index de09ff4bbac275..661f83943e8eef 100644
--- a/packages/react-monaco-editor/package.json
+++ b/packages/react-monaco-editor/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-monaco-editor",
-  "version": "1.7.277",
+  "version": "1.7.278",
   "description": "Live React example editing using monaco",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -29,12 +29,12 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/monaco-editor": "^1.3.24",
     "@fluentui/react-hooks": "^8.8.16",
-    "@fluentui/react-charting": "^5.23.39",
+    "@fluentui/react-charting": "^5.23.40",
     "raw-loader": "4.0.2",
     "react-syntax-highlighter": "^10.1.3",
     "tslib": "^2.1.0"
diff --git a/packages/react/CHANGELOG.json b/packages/react/CHANGELOG.json
index cb5cd89cc85b01..88716d9606fe0a 100644
--- a/packages/react/CHANGELOG.json
+++ b/packages/react/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:22 GMT",
+      "tag": "@fluentui/react_v8.122.6",
+      "version": "8.122.6",
+      "comments": {
+        "patch": [
+          {
+            "author": "behowell@microsoft.com",
+            "package": "@fluentui/react",
+            "commit": "74641ca04daeda5a6cd644513351d675ccd4dbad",
+            "comment": "fix: Remove deprecation warning from Callout's preventDismissOnResize and similar props"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/react_v8.122.5",
diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md
index dbf76e1ebe0846..7d8b9d600a8490 100644
--- a/packages/react/CHANGELOG.md
+++ b/packages/react/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:22 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.122.6](https://github.com/microsoft/fluentui/tree/@fluentui/react_v8.122.6)
+
+Mon, 13 Jan 2025 07:21:22 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react_v8.122.5..@fluentui/react_v8.122.6)
+
+### Patches
+
+- fix: Remove deprecation warning from Callout's preventDismissOnResize and similar props ([PR #33493](https://github.com/microsoft/fluentui/pull/33493) by behowell@microsoft.com)
+
 ## [8.122.5](https://github.com/microsoft/fluentui/tree/@fluentui/react_v8.122.5)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/react/package.json b/packages/react/package.json
index 90b98f3293d83b..8a452f08378d43 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react",
-  "version": "8.122.5",
+  "version": "8.122.6",
   "description": "Reusable React components for building web experiences.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/storybook/package.json b/packages/storybook/package.json
index ccf3ca88252d40..97be09debf8faf 100644
--- a/packages/storybook/package.json
+++ b/packages/storybook/package.json
@@ -22,11 +22,11 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@fluentui/theme": "^2.6.64",
     "@storybook/addon-essentials": "7.6.20",
-    "@fluentui/azure-themes": "^8.6.118",
-    "@fluentui/theme-samples": "^8.7.194",
+    "@fluentui/azure-themes": "^8.6.119",
+    "@fluentui/theme-samples": "^8.7.195",
     "tslib": "^2.1.0"
   },
   "peerDependencies": {
diff --git a/packages/theme-samples/CHANGELOG.json b/packages/theme-samples/CHANGELOG.json
index b54d2d9b34977f..694a5edcd67cdf 100644
--- a/packages/theme-samples/CHANGELOG.json
+++ b/packages/theme-samples/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/theme-samples",
   "entries": [
+    {
+      "date": "Mon, 13 Jan 2025 07:21:23 GMT",
+      "tag": "@fluentui/theme-samples_v8.7.195",
+      "version": "8.7.195",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/theme-samples",
+            "comment": "Bump @fluentui/react to v8.122.6",
+            "commit": "bf60a56cb23b3af90bcb62462c2423468eb9fa3c"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 07:21:37 GMT",
       "tag": "@fluentui/theme-samples_v8.7.194",
diff --git a/packages/theme-samples/CHANGELOG.md b/packages/theme-samples/CHANGELOG.md
index 4f840e8fc6bd63..e21be703fbb89f 100644
--- a/packages/theme-samples/CHANGELOG.md
+++ b/packages/theme-samples/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/theme-samples
 
-This log was last generated on Wed, 08 Jan 2025 07:21:37 GMT and should not be manually modified.
+This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.7.195](https://github.com/microsoft/fluentui/tree/@fluentui/theme-samples_v8.7.195)
+
+Mon, 13 Jan 2025 07:21:23 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/theme-samples_v8.7.194..@fluentui/theme-samples_v8.7.195)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.6 ([PR #33148](https://github.com/microsoft/fluentui/pull/33148) by beachball)
+
 ## [8.7.194](https://github.com/microsoft/fluentui/tree/@fluentui/theme-samples_v8.7.194)
 
 Wed, 08 Jan 2025 07:21:37 GMT 
diff --git a/packages/theme-samples/package.json b/packages/theme-samples/package.json
index 53714d03b041ed..c89e224f28e127 100644
--- a/packages/theme-samples/package.json
+++ b/packages/theme-samples/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/theme-samples",
-  "version": "8.7.194",
+  "version": "8.7.195",
   "description": "Sample themes for use with Fabric components.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -26,7 +26,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.5",
+    "@fluentui/react": "^8.122.6",
     "@fluentui/set-version": "^8.2.23",
     "@fluentui/scheme-utilities": "^8.3.65",
     "tslib": "^2.1.0"

From e561700253aaaf2c6e17e5c70bf10c12c434bd96 Mon Sep 17 00:00:00 2001
From: Mason Tejera <17346018+mltejera@users.noreply.github.com>
Date: Mon, 13 Jan 2025 18:45:46 +0000
Subject: [PATCH 22/78] [Fix](react-nav-preview): Changing nav item hover
 animation curves. (#33633)

---
 ...t-nav-preview-f1f67efd-37ec-4bf3-a0b8-470029586904.json | 7 +++++++
 .../library/src/components/sharedNavStyles.styles.ts       | 4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)
 create mode 100644 change/@fluentui-react-nav-preview-f1f67efd-37ec-4bf3-a0b8-470029586904.json

diff --git a/change/@fluentui-react-nav-preview-f1f67efd-37ec-4bf3-a0b8-470029586904.json b/change/@fluentui-react-nav-preview-f1f67efd-37ec-4bf3-a0b8-470029586904.json
new file mode 100644
index 00000000000000..f180fa0c84851c
--- /dev/null
+++ b/change/@fluentui-react-nav-preview-f1f67efd-37ec-4bf3-a0b8-470029586904.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix - changing hover animation curve to linear.",
+  "packageName": "@fluentui/react-nav-preview",
+  "email": "matejera@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts b/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts
index fdcf64730d34d0..43b9b4a28dae55 100644
--- a/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts
+++ b/packages/react-components/react-nav-preview/library/src/components/sharedNavStyles.styles.ts
@@ -15,11 +15,11 @@ export const navItemTokens = {
   animationTokens: {
     animationDuration: tokens.durationFaster,
     animationFillMode: 'both',
-    animationTimingFunction: tokens.curveAccelerateMid,
+    animationTimingFunction: tokens.curveLinear,
   },
   transitionTokens: {
     transitionDuration: tokens.durationFaster,
-    transitionTimingFunction: tokens.curveAccelerateMid,
+    transitionTimingFunction: tokens.curveLinear,
     transitionProperty: 'background',
   },
 };

From e7a954abbbe42a13ba302f28710a908cd34b72b9 Mon Sep 17 00:00:00 2001
From: Makoto Morimoto <Humberto.Morimoto@microsoft.com>
Date: Mon, 13 Jan 2025 15:57:34 -0800
Subject: [PATCH 23/78] chore: Moving `@ctrl/tinycolor` dependency to be a
 caret dependency in production packages (#33611)

Co-authored-by: Humberto Makoto Morimoto Burgos <makotom@microsoft.com>
Co-authored-by: Martin Hochel <hochelmartin@gmail.com>
---
 ...icker-preview-8a924d25-d099-4172-ab21-290a69090030.json | 7 +++++++
 ...gration-v8-v9-d059899d-0a8a-4a74-8136-70b89e36f065.json | 7 +++++++
 .../react-color-picker-preview/library/package.json        | 2 +-
 .../react-color-picker-preview/stories/package.json        | 1 -
 .../react-migration-v8-v9/library/package.json             | 2 +-
 yarn.lock                                                  | 2 +-
 6 files changed, 17 insertions(+), 4 deletions(-)
 create mode 100644 change/@fluentui-react-color-picker-preview-8a924d25-d099-4172-ab21-290a69090030.json
 create mode 100644 change/@fluentui-react-migration-v8-v9-d059899d-0a8a-4a74-8136-70b89e36f065.json

diff --git a/change/@fluentui-react-color-picker-preview-8a924d25-d099-4172-ab21-290a69090030.json b/change/@fluentui-react-color-picker-preview-8a924d25-d099-4172-ab21-290a69090030.json
new file mode 100644
index 00000000000000..448468fae0103b
--- /dev/null
+++ b/change/@fluentui-react-color-picker-preview-8a924d25-d099-4172-ab21-290a69090030.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages.",
+  "packageName": "@fluentui/react-color-picker-preview",
+  "email": "makotom@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/change/@fluentui-react-migration-v8-v9-d059899d-0a8a-4a74-8136-70b89e36f065.json b/change/@fluentui-react-migration-v8-v9-d059899d-0a8a-4a74-8136-70b89e36f065.json
new file mode 100644
index 00000000000000..dac1b4b49e6557
--- /dev/null
+++ b/change/@fluentui-react-migration-v8-v9-d059899d-0a8a-4a74-8136-70b89e36f065.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages.",
+  "packageName": "@fluentui/react-migration-v8-v9",
+  "email": "makotom@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-color-picker-preview/library/package.json b/packages/react-components/react-color-picker-preview/library/package.json
index 6f3f46d0a1615c..04b24ee067e828 100644
--- a/packages/react-components/react-color-picker-preview/library/package.json
+++ b/packages/react-components/react-color-picker-preview/library/package.json
@@ -24,7 +24,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@ctrl/tinycolor": "3.3.4",
+    "@ctrl/tinycolor": "^3.3.4",
     "@fluentui/react-context-selector": "^9.1.71",
     "@fluentui/react-jsx-runtime": "^9.0.49",
     "@fluentui/react-shared-contexts": "^9.21.2",
diff --git a/packages/react-components/react-color-picker-preview/stories/package.json b/packages/react-components/react-color-picker-preview/stories/package.json
index 9659abb1243b41..43f559899ccdb3 100644
--- a/packages/react-components/react-color-picker-preview/stories/package.json
+++ b/packages/react-components/react-color-picker-preview/stories/package.json
@@ -3,7 +3,6 @@
   "version": "0.0.0",
   "private": true,
   "devDependencies": {
-    "@ctrl/tinycolor": "3.3.4",
     "@fluentui/react-components": "*",
     "@fluentui/react-color-picker-preview": "*",
     "@fluentui/react-storybook-addon": "*",
diff --git a/packages/react-components/react-migration-v8-v9/library/package.json b/packages/react-components/react-migration-v8-v9/library/package.json
index 47f25425991e63..c7cc7dd2fc481f 100644
--- a/packages/react-components/react-migration-v8-v9/library/package.json
+++ b/packages/react-components/react-migration-v8-v9/library/package.json
@@ -18,7 +18,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@ctrl/tinycolor": "3.3.4",
+    "@ctrl/tinycolor": "^3.3.4",
     "@fluentui/fluent2-theme": "^8.107.123",
     "@fluentui/react": "^8.122.6",
     "@fluentui/react-components": "^9.57.0",
diff --git a/yarn.lock b/yarn.lock
index 778a15f50d30c8..5885094de87ceb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1498,7 +1498,7 @@
   dependencies:
     "@jridgewell/trace-mapping" "0.3.9"
 
-"@ctrl/tinycolor@3.3.4":
+"@ctrl/tinycolor@3.3.4", "@ctrl/tinycolor@^3.3.4":
   version "3.3.4"
   resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.3.4.tgz#59691edd031eedc431bda1bdf601257c06289a40"
   integrity sha512-8vmPV/nIULFDWsnJalQJDqFLC2uTPx6A/ASA2t27QGp+7oXnbWWXCe0uV8xasIH2rGbI/XoB2vmkdP/94WvMrw==

From 5964b11d0ac272f2ae10e1081b8f0d1e17497eef Mon Sep 17 00:00:00 2001
From: "Atishay Jain (atisjai)" <98592573+AtishayMsft@users.noreply.github.com>
Date: Tue, 14 Jan 2025 05:46:45 +0530
Subject: [PATCH 24/78] feat(chart-web-components): Create chart web components
 - Donut and Horizontal Bar Chart (#33084)

Co-authored-by: Anush Gupta <74965306+Anush2303@users.noreply.github.com>
Co-authored-by: krkshitij <110246001+krkshitij@users.noreply.github.com>
Co-authored-by: v-baambati <132879294+v-baambati@users.noreply.github.com>
Co-authored-by: Kumar Kshitij <kumarkshitij@microsoft.com>
---
 .github/CODEOWNERS                            |   1 +
 apps/pr-deploy-site/just.config.ts            |   1 +
 apps/pr-deploy-site/pr-deploy-site.js         |   6 +
 ...-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json |   7 +
 .../charts/chart-web-components/.eslintignore |   8 +
 .../chart-web-components/.eslintrc.json       |  74 ++
 .../charts/chart-web-components/.gitignore    |   1 +
 .../.storybook/docs-root.css                  | 473 ++++++++++++
 .../chart-web-components/.storybook/main.cjs  |  88 +++
 .../.storybook/manager-head.html              | 118 +++
 .../.storybook/manager.mjs                    |  14 +
 .../.storybook/preview-body.html              |   9 +
 .../.storybook/preview.mjs                    |  69 ++
 .../chart-web-components/.storybook/theme.mjs |  34 +
 .../.storybook/tsconfig.json                  |  10 +
 .../charts/chart-web-components/README.md     |  26 +
 .../chart-web-components/api-extractor.json   |  35 +
 .../chart-web-components/docs/api-report.md   | 150 ++++
 .../charts/chart-web-components/package.json  | 119 +++
 .../chart-web-components/playwright.config.ts |  31 +
 .../charts/chart-web-components/project.json  |  10 +
 .../public/SegoeUI-VF.ttf                     | Bin 0 -> 1844524 bytes
 .../chart-web-components/public/favicon.ico   | Bin 0 -> 17174 bytes
 .../chart-web-components/public/favicon.png   | Bin 0 -> 17174 bytes
 .../chart-web-components/public/shell.css     |  82 ++
 .../chart-web-components/rollup.bench.js      |  21 +
 .../chart-web-components/rollup.config.js     |  48 ++
 .../chart-web-components/scripts/clean.js     |  53 ++
 .../chart-web-components/scripts/compile.js   |  28 +
 .../scripts/run-benchmarks.js                 |  47 ++
 .../scripts/setup-browser.cjs                 |  14 +
 .../scripts/transform-fragments.js            |  34 +
 .../scripts/type-check.js                     |  63 ++
 .../scripts/verify-packaging.js               |  79 ++
 .../src/donut-chart/define.ts                 |   4 +
 .../src/donut-chart/donut-chart.bench.ts      |  12 +
 .../src/donut-chart/donut-chart.definition.ts |  18 +
 .../src/donut-chart/donut-chart.options.ts    |  45 ++
 .../src/donut-chart/donut-chart.spec.ts       | 139 ++++
 .../src/donut-chart/donut-chart.stories.ts    |  39 +
 .../src/donut-chart/donut-chart.styles.ts     | 159 ++++
 .../src/donut-chart/donut-chart.template.ts   |  70 ++
 .../src/donut-chart/donut-chart.ts            | 257 ++++++
 .../src/donut-chart/index.ts                  |   4 +
 .../src/helpers.stories.ts                    | 101 +++
 .../chart-web-components/src/helpers.tests.ts |  86 +++
 .../src/horizontal-bar-chart/define.ts        |   4 +
 .../horizontal-bar-chart.bench.ts             |  12 +
 .../horizontal-bar-chart.definition.ts        |  20 +
 .../horizontal-bar-chart.options.ts           |  50 ++
 .../horizontal-bar-chart.spec.ts              | 730 ++++++++++++++++++
 .../horizontal-bar-chart.stories.ts           | 389 ++++++++++
 .../horizontal-bar-chart.styles.ts            | 190 +++++
 .../horizontal-bar-chart.template.ts          |  66 ++
 .../horizontal-bar-chart.ts                   | 462 +++++++++++
 .../src/horizontal-bar-chart/index.ts         |   4 +
 .../chart-web-components/src/index-rollup.ts  |   2 +
 .../charts/chart-web-components/src/index.ts  |   7 +
 .../src/utils/benchmark-wrapper.ts            |  22 +
 .../src/utils/chart-helpers.ts                | 193 +++++
 .../chart-web-components/tensile.config.js    |  25 +
 .../tsconfig.api-extractor.json               |   7 +
 .../charts/chart-web-components/tsconfig.json |  22 +
 .../chart-web-components/tsconfig.lib.json    |  14 +
 .../chart-web-components/tsconfig.spec.json   |   9 +
 .../charts/chart-web-components/tsdoc.json    |  44 ++
 tsconfig.base.wc.json                         |   1 +
 67 files changed, 4960 insertions(+)
 create mode 100644 change/@fluentui-chart-web-components-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json
 create mode 100644 packages/charts/chart-web-components/.eslintignore
 create mode 100644 packages/charts/chart-web-components/.eslintrc.json
 create mode 100644 packages/charts/chart-web-components/.gitignore
 create mode 100644 packages/charts/chart-web-components/.storybook/docs-root.css
 create mode 100644 packages/charts/chart-web-components/.storybook/main.cjs
 create mode 100644 packages/charts/chart-web-components/.storybook/manager-head.html
 create mode 100644 packages/charts/chart-web-components/.storybook/manager.mjs
 create mode 100644 packages/charts/chart-web-components/.storybook/preview-body.html
 create mode 100644 packages/charts/chart-web-components/.storybook/preview.mjs
 create mode 100644 packages/charts/chart-web-components/.storybook/theme.mjs
 create mode 100644 packages/charts/chart-web-components/.storybook/tsconfig.json
 create mode 100644 packages/charts/chart-web-components/README.md
 create mode 100644 packages/charts/chart-web-components/api-extractor.json
 create mode 100644 packages/charts/chart-web-components/docs/api-report.md
 create mode 100644 packages/charts/chart-web-components/package.json
 create mode 100644 packages/charts/chart-web-components/playwright.config.ts
 create mode 100644 packages/charts/chart-web-components/project.json
 create mode 100644 packages/charts/chart-web-components/public/SegoeUI-VF.ttf
 create mode 100644 packages/charts/chart-web-components/public/favicon.ico
 create mode 100644 packages/charts/chart-web-components/public/favicon.png
 create mode 100644 packages/charts/chart-web-components/public/shell.css
 create mode 100644 packages/charts/chart-web-components/rollup.bench.js
 create mode 100644 packages/charts/chart-web-components/rollup.config.js
 create mode 100644 packages/charts/chart-web-components/scripts/clean.js
 create mode 100644 packages/charts/chart-web-components/scripts/compile.js
 create mode 100644 packages/charts/chart-web-components/scripts/run-benchmarks.js
 create mode 100644 packages/charts/chart-web-components/scripts/setup-browser.cjs
 create mode 100644 packages/charts/chart-web-components/scripts/transform-fragments.js
 create mode 100644 packages/charts/chart-web-components/scripts/type-check.js
 create mode 100644 packages/charts/chart-web-components/scripts/verify-packaging.js
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/define.ts
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/donut-chart.bench.ts
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/donut-chart.definition.ts
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/donut-chart.options.ts
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/donut-chart.spec.ts
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/donut-chart.stories.ts
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/donut-chart.styles.ts
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/donut-chart.template.ts
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/donut-chart.ts
 create mode 100644 packages/charts/chart-web-components/src/donut-chart/index.ts
 create mode 100644 packages/charts/chart-web-components/src/helpers.stories.ts
 create mode 100644 packages/charts/chart-web-components/src/helpers.tests.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/define.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.bench.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.definition.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.options.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.spec.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.stories.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.styles.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.template.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.ts
 create mode 100644 packages/charts/chart-web-components/src/horizontal-bar-chart/index.ts
 create mode 100644 packages/charts/chart-web-components/src/index-rollup.ts
 create mode 100644 packages/charts/chart-web-components/src/index.ts
 create mode 100644 packages/charts/chart-web-components/src/utils/benchmark-wrapper.ts
 create mode 100644 packages/charts/chart-web-components/src/utils/chart-helpers.ts
 create mode 100644 packages/charts/chart-web-components/tensile.config.js
 create mode 100644 packages/charts/chart-web-components/tsconfig.api-extractor.json
 create mode 100644 packages/charts/chart-web-components/tsconfig.json
 create mode 100644 packages/charts/chart-web-components/tsconfig.lib.json
 create mode 100644 packages/charts/chart-web-components/tsconfig.spec.json
 create mode 100644 packages/charts/chart-web-components/tsdoc.json

diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 397bb53cbb7247..6822b498246488 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -134,6 +134,7 @@ apps/chart-docsite @microsoft/charting-team
 #### Packages
 packages/azure-themes @Jacqueline-ms @robtaft-ms
 packages/react-conformance @microsoft/fluentui-react-build
+packages/charts/chart-web-components @microsoft/charting-team
 packages/charts/react-charting @microsoft/charting-team
 packages/charts/react-charts-preview/library @microsoft/charting-team
 packages/charts/react-charts-preview/stories @microsoft/charting-team
diff --git a/apps/pr-deploy-site/just.config.ts b/apps/pr-deploy-site/just.config.ts
index 4a9cff295e94a2..34244cfedaaf2b 100644
--- a/apps/pr-deploy-site/just.config.ts
+++ b/apps/pr-deploy-site/just.config.ts
@@ -24,6 +24,7 @@ const dependencies = [
   '@fluentui/public-docsite',
   '@fluentui/react',
   '@fluentui/react-charting',
+  '@fluentui/chart-web-components',
   '@fluentui/chart-docsite',
   '@fluentui/public-docsite-v9',
   '@fluentui/react-experiments',
diff --git a/apps/pr-deploy-site/pr-deploy-site.js b/apps/pr-deploy-site/pr-deploy-site.js
index c16475726733a1..ce4b6278494d8b 100644
--- a/apps/pr-deploy-site/pr-deploy-site.js
+++ b/apps/pr-deploy-site/pr-deploy-site.js
@@ -60,6 +60,12 @@ var siteInfo = [
     icon: 'BarChart4',
     title: 'Charting',
   },
+  {
+    package: '@fluentui/chart-web-components',
+    link: './chart-web-components/storybook/index.html',
+    icon: 'BarChart4',
+    title: 'Chart web components',
+  },
   {
     package: '@fluentui/theming-designer',
     link: './theming-designer/index.html',
diff --git a/change/@fluentui-chart-web-components-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json b/change/@fluentui-chart-web-components-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json
new file mode 100644
index 00000000000000..c610fda40decf5
--- /dev/null
+++ b/change/@fluentui-chart-web-components-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json
@@ -0,0 +1,7 @@
+{
+  "type": "prerelease",
+  "comment": "Create chart web components. Includes donut chart and horizontal bar chart",
+  "packageName": "@fluentui/chart-web-components",
+  "email": "98592573+AtishayMsft@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/charts/chart-web-components/.eslintignore b/packages/charts/chart-web-components/.eslintignore
new file mode 100644
index 00000000000000..ba38ef5432888d
--- /dev/null
+++ b/packages/charts/chart-web-components/.eslintignore
@@ -0,0 +1,8 @@
+# don't ever lint node_modules
+node_modules
+# don't lint build output (make sure it's set to your correct build folder name)
+dist
+# don't lint coverage output
+coverage
+# don't lint storybook
+.storybook
diff --git a/packages/charts/chart-web-components/.eslintrc.json b/packages/charts/chart-web-components/.eslintrc.json
new file mode 100644
index 00000000000000..3d5876196e9baa
--- /dev/null
+++ b/packages/charts/chart-web-components/.eslintrc.json
@@ -0,0 +1,74 @@
+{
+  "root": true,
+  "parser": "@typescript-eslint/parser",
+  "plugins": ["@typescript-eslint", "import"],
+  "extends": [
+    "eslint:recommended",
+    "plugin:@typescript-eslint/eslint-recommended",
+    "plugin:@typescript-eslint/recommended",
+    "prettier",
+    "plugin:playwright/recommended"
+  ],
+  "settings": {
+    "react": {
+      "version": "latest"
+    }
+  },
+  "rules": {
+    "no-empty": [
+      "error",
+      {
+        "allowEmptyCatch": true
+      }
+    ],
+    "no-extra-boolean-cast": "off",
+    "no-prototype-builtins": "off",
+    "no-fallthrough": "off",
+    "no-unexpected-multiline": "off",
+    "no-useless-escape": "off",
+    "import/order": "error",
+    "sort-imports": [
+      "error",
+      {
+        "ignoreCase": true,
+        "ignoreDeclarationSort": true
+      }
+    ],
+    "comma-dangle": "off",
+    "@typescript-eslint/no-non-null-assertion": "off",
+    "@typescript-eslint/no-use-before-define": "off",
+    "@typescript-eslint/no-empty-interface": "error",
+    "@typescript-eslint/no-empty-object-type": "off",
+    "@typescript-eslint/no-unsafe-declaration-merging": "off",
+    "@typescript-eslint/explicit-module-boundary-types": "off",
+    "@typescript-eslint/explicit-function-return-type": "off",
+    "@typescript-eslint/camelcase": "off",
+    "@typescript-eslint/no-inferrable-types": "off",
+    "@typescript-eslint/no-unused-vars": [
+      "warn",
+      {
+        "args": "none"
+      }
+    ],
+    "@typescript-eslint/no-unused-expressions": "warn",
+    "@typescript-eslint/no-explicit-any": "off",
+    "@typescript-eslint/naming-convention": [
+      "error",
+      {
+        "selector": "default",
+        "format": ["UPPER_CASE", "camelCase", "PascalCase"],
+        "leadingUnderscore": "allow"
+      },
+      {
+        "selector": "property",
+        "format": null // disable for property names because of our foo__expanded convention for JSS
+        // TODO: I think we can come up with a regex that ignores variables with __ in them
+      },
+      {
+        "selector": "variable",
+        "format": null // disable for variable names because of our foo__expanded convention for JSS
+        // TODO: I think we can come up with a regex that ignores variables with __ in them
+      }
+    ]
+  }
+}
diff --git a/packages/charts/chart-web-components/.gitignore b/packages/charts/chart-web-components/.gitignore
new file mode 100644
index 00000000000000..51511d1f8f36f4
--- /dev/null
+++ b/packages/charts/chart-web-components/.gitignore
@@ -0,0 +1 @@
+test-results/
diff --git a/packages/charts/chart-web-components/.storybook/docs-root.css b/packages/charts/chart-web-components/.storybook/docs-root.css
new file mode 100644
index 00000000000000..b24a61b6161347
--- /dev/null
+++ b/packages/charts/chart-web-components/.storybook/docs-root.css
@@ -0,0 +1,473 @@
+/*
+ * Heads Up!
+ * This file should be kept in sync with the `docs-root.css` file for the React v9 Storybook.
+ */
+
+/* remove the docs wrapper bg to let page bg show through */
+#storybook-docs .sbdocs-wrapper {
+  background: transparent !important;
+}
+
+/* sb-show-main is missing during page transitions causing a page shift */
+/* todo: cleanup once we no longer inherit docs-root */
+.sb-show-main.sb-main-fullscreen,
+.sb-main-fullscreen {
+  margin: 0;
+  padding: 0;
+  display: block;
+}
+
+#storybook-docs .sbdocs-content {
+  font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
+    sans-serif;
+  max-width: 1200px;
+}
+
+#storybook-docs h1.sbdocs-title {
+  font-size: 44px;
+  line-height: 60px;
+  /* identical to box height, or 143% */
+  font-weight: 900;
+  letter-spacing: -0.04em;
+  color: #000000;
+}
+
+#storybook-docs details {
+  position: relative;
+  z-index: 99;
+}
+
+#storybook-docs .sbdocs:not(.sbdocs-preview) p {
+  font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
+    sans-serif;
+  font-size: 18px;
+  line-height: 27px;
+  letter-spacing: -0.01em;
+  color: #000000;
+  margin-top: 24px;
+}
+
+#storybook-docs .sbdocs-img.featured-image {
+  max-width: 100%;
+  margin: 48px 0;
+  display: block;
+}
+
+#storybook-docs .sbdocs-img {
+  border-radius: 24px;
+}
+
+#storybook-docs .sbdocs:not(.sbdocs-preview) hr {
+  margin: 48px 0;
+  height: 0;
+  border-top: 1px solid #ebebeb;
+}
+
+#storybook-docs .sbdocs h2 {
+  font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
+    sans-serif;
+  font-size: 24px;
+  line-height: 28px;
+  letter-spacing: -0.04em;
+  color: black;
+  border-top: 1px solid #ebebeb;
+  border-bottom: none;
+  margin: 48px 0 15px 0;
+  padding: 48px 0 0 0;
+}
+
+#storybook-docs .sbdocs h2 code {
+  border-radius: 4px;
+  font-size: 20px;
+}
+
+#storybook-docs .sbdocs-h3 {
+  font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
+    sans-serif;
+  font-size: 18px;
+  line-height: 24px;
+  margin: 25px 0 0 0 !important;
+  letter-spacing: -0.01em;
+  color: #000000;
+}
+
+#storybook-docs .sbdocs-h3 code {
+  border-radius: 3px;
+  font-size: 16px;
+}
+
+/* Only apply to H3s inside of stories which have a parent with an ID */
+#storybook-docs [id] > .sbdocs-h3:before {
+  content: '';
+  display: block;
+  height: 40px;
+  margin: -40px 0 0;
+}
+
+#storybook-docs .sbdocs:not(.sbdocs-preview) li {
+  font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
+    sans-serif;
+  font-size: 16px;
+  line-height: 150%;
+  letter-spacing: -0.01em;
+
+  /* Neutrals / Web / Gray 200 #1B1A19 */
+  color: #1b1a19;
+  margin-top: 8px;
+}
+
+#storybook-docs .sbdocs:not(.sbdocs-preview) ul {
+  margin: 12px 0;
+}
+
+#storybook-docs .sbdocs-ul .sbdocs:not(.sbdocs-preview) li {
+  list-style: none;
+  position: relative;
+}
+
+#storybook-docs .sbdocs-ul .sbdocs-li::before {
+  position: absolute;
+  content: '•';
+  color: #8d8d8d;
+  top: 0;
+  left: -15px;
+}
+
+#storybook-docs .sbdocs-ol .sbdocs-li::marker {
+  color: #8d8d8d;
+}
+
+#storybook-docs .sbdocs-preview {
+  border-radius: 16px;
+  background: #fff; /* --colorBrandBackgroundInverted */
+  padding: 0;
+  box-shadow: none;
+  border: 1px solid #d1d1d1; /* --colorNeutralStroke1 */
+}
+
+/* Apply the currently selected Fluent UI theme to the relevant areas of the docs */
+#storybook-docs .innerZoomElementWrapper > div {
+  box-sizing: border-box;
+}
+
+/* fix mouse interactions for toolbar on first story */
+#storybook-docs .sbdocs-preview > .os-host {
+  /* The toolbar sits within the story content area and is position: absolute by default. */
+  /* The story content overlays the toolbar making it non-interactive */
+  /* We don't use z-index because the toolbar can still sometimes overlay story content (flyout menu) */
+  /* The best solution is to use a static toolbar that is always outside the story content and interactive */
+  position: static;
+}
+
+#storybook-docs span + .sbdocs .docblock-argstable tbody tr td button {
+  color: #0078d4;
+  color: red;
+}
+
+#storybook-docs .docs-story + div {
+  background: #11100f;
+}
+
+#storybook-docs .sbdocs-content > div:last-child {
+  margin-bottom: 96px;
+}
+
+#storybook-docs .docs-story > div {
+  padding: 0;
+  background: none;
+}
+
+#storybook-docs .docs-story > div:last-child {
+  right: 31px;
+  border-radius: 24px;
+}
+
+.docs-story + div > div:last-child {
+  background: #000000;
+  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
+  border-radius: 5px 5px 0px 0px;
+  right: 31px;
+}
+
+.docs-story + div > div:last-child > button {
+  color: white;
+  font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
+    sans-serif;
+  font-size: 14px;
+  line-height: 150%;
+  text-align: center;
+  letter-spacing: -0.01em;
+}
+
+#storybook-docs a.sbdocs-a {
+  color: #0078d4;
+  text-decoration: underline;
+}
+
+/*  */
+/* Args Table */
+/*  */
+
+#storybook-docs .docblock-argstable tbody {
+  box-shadow: none;
+  border-left: none;
+  border-right: none;
+}
+
+#storybook-docs .docblock-argstable-head th {
+  letter-spacing: -0.01em;
+  color: black;
+  font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
+    sans-serif;
+  font-size: 16px;
+  line-height: 150%;
+  font-weight: 600;
+}
+
+#storybook-docs thead.docblock-argstable-head {
+  border-bottom: 1px solid #edebe9;
+}
+
+#storybook-docs .docblock-argstable tbody tr {
+  border: none;
+}
+
+#storybook-docs table.docblock-argstable tbody.docblock-argstable-body td,
+#storybook-docs .docblock-argstable th {
+  padding-top: 12px;
+  padding-bottom: 12px;
+  padding-left: 16px;
+}
+
+#storybook-docs .docblock-argstable tbody tr td:nth-child(1) span {
+  font-weight: normal;
+  font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
+    sans-serif;
+  font-size: 16px;
+  line-height: 130%;
+  letter-spacing: -0.01em;
+  color: #616161;
+}
+
+#storybook-docs .docblock-argstable tbody tr td {
+  vertical-align: top;
+}
+
+#storybook-docs .docblock-argstable-body > tr > td > div > div > button {
+  color: #0078d4;
+  line-height: 21px;
+}
+
+#storybook-docs code,
+#storybook-docs .docblock-argstable tbody tr td:nth-child(3) > div > span,
+#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(2) span,
+#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(1) > div > span,
+#storybook-docs .css-16d4d7t {
+  font-family: 'Cascadia Code', Menlo, 'Courier New', Courier, monospace;
+  font-style: normal;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 130%;
+  letter-spacing: -0.2px;
+  box-decoration-break: clone;
+  -webkit-box-decoration-break: clone;
+}
+
+#storybook-docs code.sbdocs-code,
+#storybook-docs .sbdocs-p code,
+#storybook-docs .sbdocs-li code,
+#storybook-docs .docblock-argstable code,
+#storybook-docs .docblock-argstable tbody tr td:nth-child(3) > div > span,
+#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(2) span,
+#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(1) > div > span,
+#storybook-docs .css-16d4d7t {
+  font-size: 14px;
+  background: #f0f0f0;
+  border-radius: 4px;
+  padding: 1px 4px;
+  margin: 0 3px 0 3px;
+  color: black;
+  border: none;
+  line-height: 1.5;
+}
+
+#storybook-docs .docblock-argstable code {
+  white-space: normal;
+}
+
+#storybook-docs code {
+  padding: 0.1em 0.2em;
+  display: inline-block;
+  background-color: rgba(17, 16, 15, 0.1);
+  border-radius: 2px;
+  width: fit-content; /* prevent wrapping kebab-case words when they'll fit on one line */
+}
+
+.os-content-glue {
+  width: auto !important;
+}
+
+#storybook-docs .sbdocs-preview .prismjs {
+  overflow: hidden;
+}
+
+#storybook-docs .os-content .prismjs * {
+  font-family: 'Cascadia Code', Menlo, 'Courier New', Courier, monospace;
+  font-size: 14px;
+  line-height: 1.4em;
+}
+
+#storybook-docs .sbdocs-preview .prismjs code {
+  color: white;
+  background: #11100f;
+  margin: 0;
+  overflow-x: auto;
+}
+
+#storybook-docs .docblock-argstable-body td > div > p,
+#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) p,
+#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(1) > span {
+  font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
+    sans-serif;
+  font-size: 16px;
+  line-height: 130%;
+  color: black;
+  letter-spacing: -0.01em;
+}
+
+#storybook-docs .docblock-argstable tr > :nth-child(1) {
+  width: 10%;
+}
+
+#storybook-docs .docblock-argstable tr > :nth-child(2) {
+  width: 60%;
+}
+
+#storybook-docs .os-padding {
+  z-index: 0;
+}
+
+@font-face {
+  font-family: 'Segoe UI';
+  src: local('Segoe UI Light'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.woff2) format('woff2'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.woff) format('woff'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.ttf) format('truetype');
+  font-weight: 100;
+}
+
+@font-face {
+  font-family: 'Segoe UI';
+  src: local('Segoe UI Semilight'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semilight/latest.woff2) format('woff2'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semilight/latest.woff) format('woff'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semilight/latest.ttf) format('truetype');
+  font-weight: 200;
+}
+
+@font-face {
+  font-family: 'Segoe UI';
+  src: local('Segoe UI'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff2) format('woff2'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff) format('woff'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.ttf) format('truetype');
+  font-weight: 400;
+}
+
+@font-face {
+  font-family: 'Segoe UI';
+  src: local('Segoe UI Semibold'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semibold/latest.woff2) format('woff2'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semibold/latest.woff) format('woff'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semibold/latest.ttf) format('truetype');
+  font-weight: 600;
+}
+
+@font-face {
+  font-family: 'Segoe UI';
+  src: local('Segoe UI Bold'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff2) format('woff2'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff) format('woff'),
+    url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.ttf) format('truetype');
+  font-weight: 700;
+}
+
+body,
+body p,
+body ul,
+body ul li {
+  font-family: 'Segoe UI' !important;
+}
+
+h1.fluent {
+  font-weight: 700;
+  font-size: 40px;
+  font-family: 'Segoe UI';
+  line-height: 60px;
+  letter-spacing: -0.16px;
+}
+
+h1 .fluent-version {
+  display: block;
+  font-size: 24px; /* --font-size-base-600 */
+  line-height: 32px;
+  color: #707070; /* --color-neutral-foreground-3 */
+}
+
+h2.fluent {
+  font-weight: 600;
+  font-size: 24px;
+  font-family: 'Segoe UI';
+  line-height: 36px;
+  letter-spacing: -0.16px;
+}
+
+/* Mimic React v9 Provider styles:
+ *   - apply font, background, and foreground colors
+ *   - apply padding for story content
+ */
+#storybook-docs .innerZoomElementWrapper > div > div {
+  padding: 48px 24px;
+  font-family: var(--fontFamilyBase);
+  background: var(--colorNeutralBackground2);
+  color: var(--colorNeutralForeground2);
+}
+
+/*
+ * Theme Switcher
+ */
+#switches-container {
+  position: sticky;
+  display: flex;
+  gap: 20px;
+  align-items: center;
+  padding: 12px;
+  width: 100%;
+  top: 0;
+  box-sizing: border-box; /* keep from overflowing body making x scroll bar*/
+  background: #fff;
+  box-shadow: 0 0 3px rgb(0 0 0 / 22%);
+  z-index: 10;
+}
+
+#switches-container select {
+  padding: 5px var(--spacingHorizontalM);
+  border: var(--strokeWidthThin) solid #d1d1d1 /* --colorNeutralStroke1, without theme switching */;
+  border-radius: var(--borderRadiusMedium);
+  font-size: var(--fontSizeBase300);
+  font-weight: var(--fontWeightSemibold);
+  line-height: var(--lineHeightBase300);
+  width: 140px;
+}
+
+.custom-fullscreen #switches-container {
+  display: none;
+}
+
+.custom-fullscreen .sbdocs-wrapper {
+  padding: 20px;
+}
+
+.custom-fullscreen .sbdocs-content {
+  max-width: unset;
+}
diff --git a/packages/charts/chart-web-components/.storybook/main.cjs b/packages/charts/chart-web-components/.storybook/main.cjs
new file mode 100644
index 00000000000000..a608e4b28b9aba
--- /dev/null
+++ b/packages/charts/chart-web-components/.storybook/main.cjs
@@ -0,0 +1,88 @@
+const path = require('path');
+const CircularDependencyPlugin = require('circular-dependency-plugin');
+const { TsconfigPathsPlugin } = require('tsconfig-paths-webpack-plugin');
+
+const tsBin = require.resolve('typescript');
+const tsConfigPath = path.resolve(__dirname, '../../../../tsconfig.base.wc.json');
+
+const tsPaths = new TsconfigPathsPlugin({
+  configFile: tsConfigPath,
+});
+
+module.exports =
+  /** @type {import('@storybook/html-webpack5').StorybookConfig} */
+  ({
+    features: {
+      // On-demand code splitting is disabled for now, as it causes issues e2e tests.
+      storyStoreV7: false,
+    },
+    // helpers.stories.ts is a file that contains helper functions for stories,
+    // and should not be treated as a story itself.
+    stories: ['../src/**/!(helpers)*.stories.@(ts|mdx)'],
+    staticDirs: ['../public'],
+    core: {
+      disableTelemetry: true,
+    },
+    framework: '@storybook/html-webpack5',
+    addons: [
+      {
+        name: '@storybook/addon-essentials',
+        options: {
+          backgrounds: false,
+          viewport: false,
+          toolbars: false,
+          actions: true,
+        },
+      },
+    ],
+    webpackFinal: async config => {
+      config.resolve = config.resolve ?? {};
+      config.resolve.extensions = config.resolve.extensions ?? [];
+      config.resolve.plugins = config.resolve.plugins ?? [];
+      config.module = config.module ?? {};
+      config.plugins = config.plugins ?? [];
+
+      config.resolve.extensionAlias = {
+        '.js': ['.js', '.ts'],
+        '.mjs': ['.mjs', '.mts'],
+      };
+      config.resolve.extensions.push(...['.ts', '.js']);
+      config.resolve.plugins.push(tsPaths);
+      config.module.rules = config.module.rules ?? [];
+      config.module.rules.push(
+        {
+          test: /\.([cm]?ts|tsx)$/,
+          loader: 'ts-loader',
+          sideEffects: true,
+          options: {
+            transpileOnly: true,
+            compiler: tsBin,
+          },
+        },
+        // Following config is needed to be able to resolve @storybook packages imported in specified files that don't ship valid ESM
+        // It also enables importing other packages without proper ESM extensions, but that should be avoided !
+        // @see https://webpack.js.org/configuration/module/#resolvefullyspecified
+        {
+          test: /\.m?js/,
+          resolve: { fullySpecified: false },
+        },
+      );
+
+      config.plugins.push(
+        new CircularDependencyPlugin({
+          exclude: /node_modules/,
+          failOnError: process.env.NODE_ENV === 'production',
+        }),
+      );
+
+      // Disable ProgressPlugin which logs verbose webpack build progress. Warnings and Errors are still logged.
+      if (process.env.TF_BUILD) {
+        config.plugins = config.plugins.filter(value => value && value.constructor.name !== 'ProgressPlugin');
+      }
+
+      return config;
+    },
+    docs: {
+      autodocs: true,
+    },
+  });
diff --git a/packages/charts/chart-web-components/.storybook/manager-head.html b/packages/charts/chart-web-components/.storybook/manager-head.html
new file mode 100644
index 00000000000000..5ff3ef7092e609
--- /dev/null
+++ b/packages/charts/chart-web-components/.storybook/manager-head.html
@@ -0,0 +1,118 @@
+<meta name="title" content="Fluent UI Chart Web Components" />
+<link rel="shortcut icon" href="/favicon.png" />
+<link rel="icon" type="image/png" href="/favicon-192.png" sizes="192x192" />
+<link href="shell.css" rel="stylesheet" />
+<!--
+   Override the default styles used in the Storybook svg icons for the left tree panel.
+   @see https://storybook.js.org/docs/react/configure/theming#css-escape-hatches
+   > 💡 NOTE:
+   > This is a brittle way for providing custom non thenable styles for manager UI.
+   > Those selectors might change on any storybook version bump.
+  -->
+<style>
+  /* These styles should be kept in sync with those in the `manager-head.html` file for the React v9 Storybook. */
+  @font-face {
+    font-family: 'Segoe UI';
+    src: local('Segoe UI Light'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.woff2) format('woff2'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.woff) format('woff'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.ttf) format('truetype');
+    font-weight: 100;
+  }
+
+  @font-face {
+    font-family: 'Segoe UI';
+    src: local('Segoe UI Semilight'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semilight/latest.woff2) format('woff2'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semilight/latest.woff) format('woff'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semilight/latest.ttf) format('truetype');
+    font-weight: 200;
+  }
+
+  @font-face {
+    font-family: 'Segoe UI';
+    src: local('Segoe UI'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff2) format('woff2'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff) format('woff'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.ttf) format('truetype');
+    font-weight: 400;
+  }
+
+  @font-face {
+    font-family: 'Segoe UI';
+    src: local('Segoe UI Semibold'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semibold/latest.woff2) format('woff2'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semibold/latest.woff) format('woff'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semibold/latest.ttf) format('truetype');
+    font-weight: 600;
+  }
+
+  @font-face {
+    font-family: 'Segoe UI';
+    src: local('Segoe UI Bold'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff2) format('woff2'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff) format('woff'),
+      url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.ttf) format('truetype');
+    font-weight: 700;
+  }
+
+  #storybook-preview-iframe {
+    background: transparent !important;
+  }
+
+  #storybook-explorer-searchfield {
+    font-weight: 400 !important;
+    font-size: 14px !important;
+    letter-spacing: -0.01em !important;
+    line-height: 14px !important;
+  }
+
+  .sidebar-item svg,
+  .sidebar-svg-icon {
+    color: #11100f !important;
+  }
+
+  .sidebar-item[data-selected='true'] svg,
+  .sidebar-item[data-selected='true'] .sidebar-svg-icon {
+    color: #ffffff !important;
+  }
+
+  .sidebar-subheading {
+    font-weight: 600 !important;
+    font-size: 16px !important;
+    letter-spacing: 0px !important;
+    line-height: 24px !important;
+    text-transform: none !important;
+    color: #11100f !important;
+  }
+
+  .sidebar-item {
+    font-weight: 400 !important;
+    font-size: 14px !important;
+    letter-spacing: -0.01em !important;
+    line-height: 14px !important;
+    color: #11100f !important;
+  }
+
+  .sidebar-item[data-selected='true'] {
+    font-weight: 600 !important;
+    font-size: 14px !important;
+    letter-spacing: -0.01em !important;
+    line-height: 14px !important;
+    color: #ffffff !important;
+  }
+
+  /* Hides "Addons" button from mobile view nav. */
+  nav > button:last-child {
+    display: none;
+  }
+
+  /*
+    Storybook has proposed a feature for this in https://github.com/storybookjs/storybook/issues/9209
+    which will configure stories to exist in deeplink URL format, but do not appear in the nav tree or the docs page
+    Using suggested temporary workaround until storybook gets proper support.
+  */
+  [id*='accessibility-stories'] {
+    display: none !important;
+  }
+</style>
diff --git a/packages/charts/chart-web-components/.storybook/manager.mjs b/packages/charts/chart-web-components/.storybook/manager.mjs
new file mode 100644
index 00000000000000..73873977355b42
--- /dev/null
+++ b/packages/charts/chart-web-components/.storybook/manager.mjs
@@ -0,0 +1,14 @@
+import { addons } from '@storybook/manager-api';
+import webcomponentsTheme from './theme.mjs';
+
+addons.setConfig({
+  previewTabs: {
+    canvas: { hidden: true },
+  },
+  enableShortcuts: false,
+  sidebar: {
+    showRoots: true,
+  },
+  showPanel: false,
+  theme: webcomponentsTheme, // override the default Storybook theme with a custom fluent theme
+});
diff --git a/packages/charts/chart-web-components/.storybook/preview-body.html b/packages/charts/chart-web-components/.storybook/preview-body.html
new file mode 100644
index 00000000000000..93e32a40560db2
--- /dev/null
+++ b/packages/charts/chart-web-components/.storybook/preview-body.html
@@ -0,0 +1,9 @@
+<div id="switches-container">
+  <label for="theme-switch">Theme</label>
+  <select id="theme-switch" name="theme">
+    <option value="web-light" selected>Web Light</option>
+    <option value="web-dark">Web Dark</option>
+    <option value="teams-light">Teams Light</option>
+    <option value="teams-dark">Teams Dark</option>
+  </select>
+</div>
diff --git a/packages/charts/chart-web-components/.storybook/preview.mjs b/packages/charts/chart-web-components/.storybook/preview.mjs
new file mode 100644
index 00000000000000..e7e4cce4c6afb0
--- /dev/null
+++ b/packages/charts/chart-web-components/.storybook/preview.mjs
@@ -0,0 +1,69 @@
+import { teamsDarkTheme, teamsLightTheme, webDarkTheme, webLightTheme } from '@fluentui/tokens';
+import * as prettier from 'prettier';
+import prettierPluginHTML from 'prettier/parser-html.js';
+import { setTheme } from '@fluentui/web-components';
+import webcomponentsTheme from './theme.mjs';
+
+import '../src/index-rollup.js';
+import './docs-root.css';
+
+const FAST_EXPRESSION_COMMENTS = /<!--((fast-\w+)\{.*\}\2)?-->/g; // Matches comments that contain FAST expressions
+
+const themes = {
+  'web-light': webLightTheme,
+  'web-dark': webDarkTheme,
+  'teams-light': teamsLightTheme,
+  'teams-dark': teamsDarkTheme,
+};
+
+function changeTheme(/** @type {Event} */ e) {
+  setTheme(themes[/** @type {keyof themes} */ (/** @type {HTMLInputElement}*/ (e.target).value)]);
+}
+
+// This is needed in Playwright.
+Object.defineProperty(window, 'setTheme', { value: setTheme });
+
+document.getElementById('theme-switch')?.addEventListener('change', changeTheme, false);
+setTheme(themes['web-light']);
+
+export const parameters = {
+  layout: 'fullscreen',
+  controls: { expanded: true },
+  viewMode: 'docs',
+  previewTabs: {
+    canvas: { hidden: true },
+  },
+  options: {
+    storySort: {
+      method: 'alphabetical',
+    },
+  },
+  docs: {
+    source: {
+      // To get around the inability to change Prettier options in the source addon, this transform function
+      // imports the standalone Prettier and uses it to format the source with the desired options.
+      transform(/** @type {string} */ src, /** @type {import('@storybook/html').StoryContext} */ storyContext) {
+        if (!src) {
+          const fragment = storyContext.originalStoryFn(storyContext.allArgs, storyContext);
+          if (!(fragment instanceof DocumentFragment) && !(fragment instanceof HTMLElement)) {
+            return;
+          }
+
+          const div = document.createElement('div');
+          div.append(fragment);
+          src = div.innerHTML;
+        }
+
+        src = src.replace(FAST_EXPRESSION_COMMENTS, ''); // remove comments
+        src = src.replace(/=""/g, ''); // remove values for boolean attributes
+        src = prettier.format(src, {
+          htmlWhitespaceSensitivity: 'ignore',
+          parser: 'html',
+          plugins: [prettierPluginHTML],
+        });
+        return src;
+      },
+    },
+    theme: webcomponentsTheme, // override the default Storybook theme with a custom fluent theme
+  },
+};
diff --git a/packages/charts/chart-web-components/.storybook/theme.mjs b/packages/charts/chart-web-components/.storybook/theme.mjs
new file mode 100644
index 00000000000000..515891480e7a6f
--- /dev/null
+++ b/packages/charts/chart-web-components/.storybook/theme.mjs
@@ -0,0 +1,34 @@
+import { create } from '@storybook/theming';
+
+export default create({
+  base: 'light',
+  brandTitle: 'Fluent UI\nChart Web Components',
+  brandUrl: 'https://github.com/microsoft/fluentui',
+
+  // Toolbar default and active colors
+  barSelectedColor: '#0078d4', // use msft primary blue default
+  barTextColor: '#222',
+
+  colorPrimary: '#dedede',
+  colorSecondary: 'deepskyblue',
+
+  // UI
+  appBg: '#ffffff',
+  appContentBg: '#ffffff',
+  appBorderColor: '#e0e0e0', // use msft gray
+  appBorderRadius: 4,
+
+  // Typography
+  fontBase:
+    '"Segoe UI", "Segoe UI Web (West European)", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;',
+  fontCode: 'monospace',
+
+  // Text colors
+  textColor: '#11100f',
+  textInverseColor: '#0078d4', // use msft primary blue default
+
+  // Form colors
+  inputBg: 'white',
+  inputTextColor: 'black',
+  inputBorderRadius: 4,
+});
diff --git a/packages/charts/chart-web-components/.storybook/tsconfig.json b/packages/charts/chart-web-components/.storybook/tsconfig.json
new file mode 100644
index 00000000000000..78905f4f659714
--- /dev/null
+++ b/packages/charts/chart-web-components/.storybook/tsconfig.json
@@ -0,0 +1,10 @@
+{
+  "extends": "../tsconfig.json",
+  "compilerOptions": {
+    "allowJs": true,
+    "checkJs": true,
+    "noEmit": true,
+    "types": ["node"]
+  },
+  "include": ["*", "../public", "../src/**/*.stories.*"]
+}
diff --git a/packages/charts/chart-web-components/README.md b/packages/charts/chart-web-components/README.md
new file mode 100644
index 00000000000000..d0d22e595afee8
--- /dev/null
+++ b/packages/charts/chart-web-components/README.md
@@ -0,0 +1,26 @@
+# Fluent UI Chart Web Components
+
+Fluent charts is a set of modern, accessible, interactive and highly customizable visualization library representing the Microsoft design system. The library is built using D3 (Data Driven Documents).
+
+## Using the library
+
+Examples and code snippets for the chart components to be added.
+
+## Contact
+
+The charting project is actively funded by a small feature team. The team responds within 1-2 business days for any queries or doubts.
+You can reach out to the charting team by tagging `@microsoft/charting-team` in [discussion](https://github.com/microsoft/fluentui/discussions) items.
+
+You could also create issues under the [charting](https://github.com/microsoft/fluentui/labels/Package:%20charting) tag.
+
+## Contributing
+
+[![contributions welcome](https://img.shields.io/badge/contributions-welcome-1EAEDB)]()
+
+A comprehensive contributor and developer guide is available in the charts [wiki](https://aka.ms/fluentChartingWiki).
+
+## Accessibility
+
+Our charts have elaborate accessibility support. The charts are WCAG 2.1 MAS C compliant for accessibility.
+
+More details are covered in the [wiki](https://aka.ms/fluentChartingWiki).
diff --git a/packages/charts/chart-web-components/api-extractor.json b/packages/charts/chart-web-components/api-extractor.json
new file mode 100644
index 00000000000000..146de64b6d95ea
--- /dev/null
+++ b/packages/charts/chart-web-components/api-extractor.json
@@ -0,0 +1,35 @@
+{
+  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
+
+  "mainEntryPointFilePath": "<projectFolder>/dist/dts/index.d.ts",
+
+  "apiReport": {
+    "enabled": true,
+    "reportFolder": "<projectFolder>/docs",
+    "reportFileName": "api-report.md"
+  },
+
+  "docModel": {
+    "enabled": true,
+    "apiJsonFilePath": "<projectFolder>/dist/chart-web-components.api.json"
+  },
+  "dtsRollup": {
+    "enabled": true
+  },
+  "compiler": {
+    "skipLibCheck": false,
+    "tsconfigFilePath": "./tsconfig.api-extractor.json"
+  },
+  "messages": {
+    "extractorMessageReporting": {
+      "ae-missing-release-tag": {
+        "logLevel": "none",
+        "addToApiReportFile": true
+      },
+      "ae-different-release-tags": {
+        "logLevel": "none",
+        "addToApiReportFile": true
+      }
+    }
+  }
+}
diff --git a/packages/charts/chart-web-components/docs/api-report.md b/packages/charts/chart-web-components/docs/api-report.md
new file mode 100644
index 00000000000000..0d202f8acf7e0d
--- /dev/null
+++ b/packages/charts/chart-web-components/docs/api-report.md
@@ -0,0 +1,150 @@
+## API Report File for "@fluentui/chart-web-components"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+
+import { ElementStyles } from '@microsoft/fast-element';
+import { ElementViewTemplate } from '@microsoft/fast-element';
+import { FASTElement } from '@microsoft/fast-element';
+import { FASTElementDefinition } from '@microsoft/fast-element';
+
+// Warning: (ae-missing-release-tag) "DonutChart" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
+//
+// @public (undocumented)
+export class DonutChart extends FASTElement {
+    constructor();
+    // (undocumented)
+    activeLegend: string;
+    // (undocumented)
+    protected activeLegendChanged(oldValue: string, newValue: string): void;
+    // (undocumented)
+    chartWrapper: HTMLDivElement;
+    // (undocumented)
+    connectedCallback(): void;
+    // Warning: (ae-forgotten-export) The symbol "ChartProps_2" needs to be exported by the entry point index.d.ts
+    //
+    // (undocumented)
+    data: ChartProps_2;
+    // (undocumented)
+    elementInternals: ElementInternals;
+    // (undocumented)
+    group: SVGGElement;
+    // (undocumented)
+    handleLegendClick(legendTitle: string): void;
+    // (undocumented)
+    handleLegendMouseoutAndBlur(): void;
+    // (undocumented)
+    handleLegendMouseoverAndFocus(legendTitle: string): void;
+    // (undocumented)
+    height: number;
+    // (undocumented)
+    hideLegends: boolean;
+    // (undocumented)
+    hideTooltip: boolean;
+    // (undocumented)
+    innerRadius: number;
+    // (undocumented)
+    isLegendSelected: boolean;
+    // (undocumented)
+    legendListLabel?: string;
+    // Warning: (ae-forgotten-export) The symbol "Legend" needs to be exported by the entry point index.d.ts
+    //
+    // (undocumented)
+    legends: Legend[];
+    // (undocumented)
+    tooltipProps: {
+        isVisible: boolean;
+        legend: string;
+        yValue: string;
+        color: string;
+        xPos: number;
+        yPos: number;
+    };
+    // (undocumented)
+    protected tooltipPropsChanged(oldValue: any, newValue: any): void;
+    // (undocumented)
+    valueInsideDonut?: string;
+    // (undocumented)
+    width: number;
+}
+
+// @public (undocumented)
+export const DonutChartDefinition: FASTElementDefinition<typeof DonutChart>;
+
+// @public
+export const DonutChartStyles: ElementStyles;
+
+// Warning: (ae-internal-missing-underscore) The name "DonutChartTemplate" should be prefixed with an underscore because the declaration is marked as @internal
+//
+// @internal (undocumented)
+export const DonutChartTemplate: ElementViewTemplate<DonutChart>;
+
+// @public
+export class HorizontalBarChart extends FASTElement {
+    constructor();
+    // (undocumented)
+    activeLegend: string;
+    // (undocumented)
+    protected activeLegendChanged: (oldValue: string, newValue: string) => void;
+    // (undocumented)
+    chartContainer: HTMLDivElement;
+    // (undocumented)
+    chartTitle?: string;
+    // (undocumented)
+    connectedCallback(): void;
+    // Warning: (ae-forgotten-export) The symbol "ChartProps" needs to be exported by the entry point index.d.ts
+    //
+    // (undocumented)
+    data: ChartProps[];
+    // (undocumented)
+    elementInternals: ElementInternals;
+    // (undocumented)
+    handleLegendClick: (legendTitle: string) => void;
+    // (undocumented)
+    handleLegendMouseoutAndBlur: () => void;
+    // (undocumented)
+    handleLegendMouseoverAndFocus: (legendTitle: string) => void;
+    // (undocumented)
+    hideLegends: boolean;
+    // (undocumented)
+    hideRatio: boolean;
+    // (undocumented)
+    hideTooltip: boolean;
+    // (undocumented)
+    isLegendSelected: boolean;
+    // (undocumented)
+    legendListLabel?: string;
+    // (undocumented)
+    tooltipProps: {
+        isVisible: boolean;
+        legend: string;
+        yValue: string;
+        color: string;
+        xPos: number;
+        yPos: number;
+    };
+    // Warning: (ae-forgotten-export) The symbol "ChartDataPoint" needs to be exported by the entry point index.d.ts
+    //
+    // (undocumented)
+    uniqueLegends: ChartDataPoint[];
+    // Warning: (ae-forgotten-export) The symbol "Variant" needs to be exported by the entry point index.d.ts
+    //
+    // (undocumented)
+    variant?: Variant;
+}
+
+// @public
+export const HorizontalBarChartDefinition: FASTElementDefinition<typeof HorizontalBarChart>;
+
+// @public
+export const HorizontalBarChartStyles: ElementStyles;
+
+// Warning: (ae-internal-missing-underscore) The name "HorizontalBarChartTemplate" should be prefixed with an underscore because the declaration is marked as @internal
+//
+// @internal (undocumented)
+export const HorizontalBarChartTemplate: ElementViewTemplate<HorizontalBarChart>;
+
+// (No @packageDocumentation comment for this package)
+
+```
diff --git a/packages/charts/chart-web-components/package.json b/packages/charts/chart-web-components/package.json
new file mode 100644
index 00000000000000..fe15d6d133e168
--- /dev/null
+++ b/packages/charts/chart-web-components/package.json
@@ -0,0 +1,119 @@
+{
+  "name": "@fluentui/chart-web-components",
+  "description": "A library of Fluent Chart Web Components",
+  "version": "0.0.0-alpha.1",
+  "author": {
+    "name": "Microsoft"
+  },
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/microsoft/fluentui/tree/master/packages/charts/chart-web-components"
+  },
+  "bugs": {
+    "url": "https://github.com/Microsoft/fluentui/issues/new/choose"
+  },
+  "type": "module",
+  "main": "dist/esm/index.js",
+  "types": "dist/chart-web-components.d.ts",
+  "unpkg": "dist/chart-web-components.min.js",
+  "files": [
+    "*.md",
+    "dist/dts/",
+    "dist/esm/",
+    "dist/*.js",
+    "dist/*.d.ts"
+  ],
+  "exports": {
+    ".": {
+      "types": "./dist/dts/index.d.ts",
+      "default": "./dist/esm/index.js"
+    },
+    "./utilities.js": {
+      "types": "./dist/dts/utils/index.d.ts",
+      "default": "./dist/esm/utils/index.js"
+    },
+    "./*/define.js": {
+      "types": "./dist/dts/*/*.define.d.ts",
+      "default": "./dist/esm/*/*.define.js"
+    },
+    "./*/definition.js": {
+      "types": "./dist/dts/*/*.definition.d.ts",
+      "default": "./dist/esm/*/*.definition.js"
+    },
+    "./*/options.js": {
+      "types": "./dist/dts/*/*.options.d.ts",
+      "default": "./dist/esm/*/*.options.js"
+    },
+    "./*/styles.js": {
+      "types": "./dist/dts/*/*.styles.d.ts",
+      "default": "./dist/esm/*/*.styles.js"
+    },
+    "./*/template.js": {
+      "types": "./dist/dts/*/*.template.d.ts",
+      "default": "./dist/esm/*/*.template.js"
+    },
+    "./*/index.js": {
+      "types": "./dist/dts/*/index.d.ts",
+      "default": "./dist/esm/*/index.js"
+    },
+    "./*.js": {
+      "types": "./dist/dts/*/define.d.ts",
+      "default": "./dist/esm/*/define.js"
+    },
+    "./package.json": "./package.json"
+  },
+  "sideEffects": [
+    "./dist/esm/**/define.js",
+    "./dist/chart-web-components.js",
+    "./dist/chart-web-components.min.js"
+  ],
+  "scripts": {
+    "verify-packaging": "node ./scripts/verify-packaging",
+    "type-check": "node ./scripts/type-check",
+    "benchmark": "yarn clean && yarn compile:benchmark && yarn compile && node ./scripts/run-benchmarks",
+    "compile": "node ./scripts/compile",
+    "compile:benchmark": "rollup -c rollup.bench.js",
+    "clean": "node ./scripts/clean dist",
+    "generate-api": "api-extractor run --local",
+    "build": "yarn compile && yarn rollup -c && yarn generate-api",
+    "lint": "eslint . --ext .ts",
+    "lint:fix": "eslint . --ext .ts --fix",
+    "format": "prettier -w src/**/*.{ts,html} --ignore-path ../../.prettierignore",
+    "format:check": "yarn format -c",
+    "code-style": "yarn format:check && yarn lint",
+    "start": "yarn start-storybook -p 6006 --docs",
+    "start-storybook": "storybook dev",
+    "build-storybook": "storybook build -o ./dist/storybook --docs",
+    "e2e": "playwright test",
+    "test:dev": "playwright test"
+  },
+  "devDependencies": {
+    "@microsoft/fast-element": "2.0.0",
+    "@tensile-perf/web-components": "~0.2.0",
+    "@storybook/html": "7.6.20",
+    "@storybook/html-webpack5": "7.6.20",
+    "chromedriver": "^125.0.0"
+  },
+  "dependencies": {
+    "@microsoft/fast-web-utilities": "^6.0.0",
+    "@fluentui/tokens": "^1.0.0-alpha",
+    "@fluentui/web-components": "^3.0.0-beta",
+    "@types/d3-selection": "^3.0.0",
+    "@types/d3-shape": "^3.0.0",
+    "d3-selection": "^3.0.0",
+    "d3-shape": "^3.0.0",
+    "tabbable": "^6.2.0",
+    "tslib": "^2.1.0"
+  },
+  "peerDependencies": {
+    "@microsoft/fast-element": "^2.0.0-beta.26 || ^2.0.0"
+  },
+  "beachball": {
+    "disallowedChangeTypes": [
+      "major",
+      "minor"
+    ],
+    "tag": "alpha"
+  }
+}
diff --git a/packages/charts/chart-web-components/playwright.config.ts b/packages/charts/chart-web-components/playwright.config.ts
new file mode 100644
index 00000000000000..20100ddbc643c1
--- /dev/null
+++ b/packages/charts/chart-web-components/playwright.config.ts
@@ -0,0 +1,31 @@
+import type { PlaywrightTestConfig } from '@playwright/test';
+import { devices } from '@playwright/test';
+
+const config: PlaywrightTestConfig = {
+  reporter: 'list',
+  retries: 3,
+  fullyParallel: process.env.CI ? false : true,
+  timeout: process.env.CI ? 10000 : 30000,
+  use: {
+    baseURL: 'http://localhost:6006/iframe.html',
+    viewport: {
+      height: 720,
+      width: 1280,
+    },
+  },
+  projects: [
+    {
+      name: 'chromium',
+      use: { ...devices['Desktop Chrome'] },
+      testMatch: /.*\.spec\.ts$/,
+    },
+  ],
+  webServer: {
+    // double-quotes are required for Windows
+    command: `node -e "import('express').then(({ default: e }) => e().use(e.static('./dist/storybook')).listen(6006))"`,
+    port: 6006,
+    reuseExistingServer: process.env.CI ? false : true,
+  },
+};
+
+export default config;
diff --git a/packages/charts/chart-web-components/project.json b/packages/charts/chart-web-components/project.json
new file mode 100644
index 00000000000000..023ee8ab08c977
--- /dev/null
+++ b/packages/charts/chart-web-components/project.json
@@ -0,0 +1,10 @@
+{
+  "name": "chart-web-components",
+  "$schema": "../../../node_modules/nx/schemas/project-schema.json",
+  "projectType": "library",
+  "implicitDependencies": [],
+  "tags": ["platform:web", "web-components"],
+  "targets": {
+    "e2e": { "dependsOn": ["build-storybook"] }
+  }
+}
diff --git a/packages/charts/chart-web-components/public/SegoeUI-VF.ttf b/packages/charts/chart-web-components/public/SegoeUI-VF.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..859db801de8fd50522da927bfeb36654b7932ce5
GIT binary patch
literal 1844524
zcmd?ScVJY-+Q9wHIlG%efFy*Pz;3c6lmG!juaVw_&=YDxsG*3VHvs{GP^60ph;#vQ
zK}0~raxGX88!FgC2?8RD1rYXpzd6}(xxD(`_xt|+Fu%;1Idf*_DO1m86(u6&_~npI
zt-7~wE6w_Kk{ENVNbG{Pty;H9&t0%V9MyM<%s$^XwM+L(N38SWcz&6vF?-r}@7ZEd
zW|zj|s?dZ2&b90HK({utGdGIM>k-KcdXTv9vEhBi^;l(UIn||mQtdXwy*?2`$1}S3
zc%aAicLtvo*L<R~Cv#$Ej)a8zi0>g@Eo*e<*q+M{9}uY;MfugTxE~xoV;T3q<bK(#
ziQ_#FOo-Vgk`hMz($KNPM)zJ+JY1wkib(M}L&;zIoo^$^{~PzO49grhRvJnI@~kBu
zK5W#Kq32rG86z@$v6%Ii4I}^c>!aq2Yr*$Ya%#EZLox@4be-NsMCta_8%{#FqxdM|
z=ZIGvK6?D*k1w`-26+~UR9Zahp{&f}iBV6{o*Tqhjn14rwrEzwQ0@nl-!pp1_{{I#
zem7ZSjN8O_j>#N7#Qnkd6~ufxMx<Ew*oVfAcaGY0S<L4sZ&tCfIYY+2`B;;yB2C|<
zjCP`JWjNhKBKLG2SiH&aQbZRk^48~`<~scPc9EO6FWgxfIwhDoB}5GS37RVsy!nn_
zBy`*D3%4(XP6?#zhwOhLc{(NJoa!b$WPmt%GF*~m9o0=LJ_p}0#Nl{UE#pqGbDcAp
zBBKjJ^J5umL>88#!%bpX1Vswd9_;S%NQ%f`F6XEIuBvG8X2bA^dRpIih?6?RBc`*e
zY}YA9EodXpn_k)CI3lr*RB7&7EUB(x@`3t7wiwy67)qJFq?2=s<g24n$xN1IgxO{V
z>jwFIn!!?vZ~%;gx-bMX0`w;Ar}OJ)ol{h}E=Pyv8mSVrRrWZm@cbG%>iA6tIM)+~
z$x-v79CgkhzE_SKvGA3II<}JjrW_4Q;@)jJ>I$aLX@T%vo=cGwM=k1@DZ3muBr<3U
z<sOo9j!{zFu}or-<G2}Y{Z3e$He4{fA$z=Zb3{rX#{t=H?x)QMAxQ=rvynqz&zJ4$
zn#@(#tUl%~`+B?UoNU+W4j=b<j(l^B<2*k^+875Vk$cO`Q&P-%T*{bxq@4Mk6f-y4
z_4iYkWDoT>r~Z!vx<7z^4nejfM+OtN(s|HLe=}941-WH2w&{jW`ti&~t@|LiYCzk4
zrb9;QG~=oahml4LneW(0J9bGAbUjvWl}g4*X>I06XP)m9lp?Kza$uv3r2H9L?|+9Y
z4_#vmZHIfo4k572h_!CQ57;WE&<@%b_kw-HbX?owUTj-nGe;lvruF_exOPe(+ZNbC
z+oBL`a2;DrB|Ho7JEj!a$F_sE#XV@f5U-_eaWC2ywyg<mzoY*9LoK^q|38G<N1a0?
zL(6abh}M&C=YI*cKkNMe7~<>NukiU8!V2j4Q{;RFotGrE2o>RF!mj9{A>kgv?GE~a
z`G?HaeT4gc?0$l;YJb)Jg*;ON;R8A}CKRL_^K?kLwIoQ}(XRWx&~e)OqVS&G-_Y^>
zAwD%AXcYRV59)q!U${W`OWimAF{IDh{f5w-NB^lMRdn3$$Jp=x8tVS8`<(VM+s=W0
zult_v|M!OKD(yT#`bBGxV<ocde!NkV?X*9no#PLD;7Eauoma`TO8Rjx!*LXf;WKYa
zFGmj<YhJV(J5r^-b0M~6%yIc;yU|&EMkA?W+u^o7W<;5{Eq{<#4mod=f1S*+`${>U
zc}FsWUZd}Hqui6!quYUhp{xGrtcN33Y8V5oImRLMl5CwQ2pQvcF~%K`Wv);e<lN8r
zvDCWg@Z#Hra^^`9N1hBc7fJ=Q4gEQl@>8X~87l3}N>afwfOhF|CR}!#+a+1g0U?aJ
zAu)0^I2jwC#>d~F9ZI$buVTzS#yC3(-_&DusC2_OZ{TZrg}(5AwGsWKTVWZ6p&oBs
zn@GQ}e-!$0VI74bauqQbTHk74zqieW&j<Nw`<#L~!uDz1X8O5Z4`WN9oLYtT7l!oT
zm+$Sz$hd_%786>87Ypkz46&p3_u2t}UwXd|?)rP7e+P@h94k&er`hfLjy6`pE{CL<
zV<A2lu-!fFvB#Cd`u-^_^miiz`xL|f=sQ|BK~wQ9puAwlG^NKh`hTROmh~&X)z<D0
zr5I;^v;JiMjiLP&oI&)TFxjE?P&l5rRKd7~oH587Q&=B<u*@F+3g*D=^q0!I&)8`N
z^Jq71Z^s2mH9Jcks7>Fg?HDc@MgyzO-F!`G7xSgL)A}5}=<(W~UyU*nN<Ug<ER#+~
zGwY;jSXb<R`>EJ-u%3rCjvT8$bElq<?K#=G2ASW4a@2ENirvF@uD2U|nZx#4Uz?j5
z|1?R`Lfx_k8R6DQqq8;BXl1q1{mkxb?@L9;8^|>2o;h95=e;D<)?XRM6?_pc8CR@Z
z#uaf8{$cCkSLFJRHVtCzKt|+RudZ5U%-i@u6zS-Qytnl;K|Qe5S~y9*i;`%bWc)iO
ziLNx(AzNjwV=3+YO=`h-$5Cr9>^6L?1wnPTo>cn@_gjBxjAk;_tS(VTBj(FfGKO`+
z81)Y8uXpTljIm4p(x@ZWWp#wHVUOg%SQx4?Zb)AkYV1-TW12M6>k7S2x*ONmI<27`
zv<Z|)nVasSpBp3bYQ2o2J*i5^_e&XLt)!6WVcOl!K!>Um?Y<`EDKAR5h4E<3{g8i9
zfF|~uZI@^n<^?!Ts3~aUTB%GOmF>D3$_~=k{wLNoW0&<SX^ljz5Lhna&xcpJHVAtI
zdjM-A;n#%AAPF8Mev$BfNaK1{K|cRA;<>Q$9-48jX&0arA*)SmJ9L7M0d##iT(jS?
zHgK)$s}1X6HLyC@_4$eW_knKb1)zPpUjJ*{4<giU*64Vl3`2-NM4USP?2)WigzVjH
zS+s2Ax5`5n*ZMiy?|+eyw%GMm<r+DymIe299-Ez{^%MJ_HJ)o-zSfu4k&c7^nSyk!
zL#rC`R|qpiZqxQc{E;GeiWS7~JkR}l5DQwr4oC#8i>QKYzt#tBwFU!wPRr|Xv+hZx
zAI*_eM+1BeUx&d?#(&3lJr)=a^8{m(9`^|K{zH#xMh#hR)UeLzah9|(j%C&%S1s#R
zGf0wM!>#?!Ue+Ghdh3D_XI-?%V)iEH+l<wfSs&;%9^<qg!}WN~8tkZ^r<}o3rf^^4
zh>}M7p7Vgbs`n>)4%hn<J#Lb&$NO@wy0U<|dmwX5o=$gMV$D07v2vX}YQ)j@QI@6C
z7&}%vDv6VR*-zhRKJTRSIQB`Vov#+-0&5Gs?swFcF!OQgt=GX$hr|=EHlHW{q-2^G
zq^&N~$r$74EG1ncYnjg{A>&7OU3%@zeVwM|q2BH62g4lm(7`C{SvzDrb!8*VGV6+S
zBkLdi%ud!xThTA;Msq!5_nXXP4skoqNnP_-Ynop3*kkl5bQdMb&QjJ*M=R?Jb9g&*
zFZ14;5@qH|l(Q3aj4p2;V*s8?9e+^vCT%-CmuY>PN2v#Fo$5KKE$gPG=w8e2V=ea^
zW2N4==rFK%VZU2S+s<)~bk?ETURvkc4}wlhSkSjTf4pF=X8TR9#5s49rq>L5U07)Q
z#n^~4T|Zm59Nnae&THq_wjV?}dQTegiMw{!ZP9kuWqyR-4l&1GBVPyE&RBmm=nJm5
zNhMb+>d|YytI|9;f$)el)$0|<W^B<E`-UT52J<#^vhxOW$8xD|`!_yrvc`AR=afS0
zpg<29c8Gp#zi%gH^;(#<Q4hTrb(|pIJlX6T%G|k@>m$th&k+XO`BPl8xprZf!hP39
z*5uT0m&F>Mv0Cqi-?wejO$^s~^5>FAw?nr_@2_Zw>mucjf<#-lRf3Swd5HB%H|*h;
zFc<#f)O(#zxj#>$gT@l~Q${!DxF;nRoeXtF0e07Z;d}%6Hz7wL44o+hf`64X*LwOH
z>(vnQ1+kVYte3U%0QyS?14(tppJT9#F+-2hj3fTVL3t934eGkuP;XJ{T~9m0(Cc*8
zfG;A)YxuK=^a@hNY{z<eF?Mlaw|3SgS2Ip$@B!8i)mhsdbu=U2R@uoOYz1K?x~PON
zR6!pVw7s>?U5BWrGi&Km_z>$9=iA6NUNW`6YTeRz3+iDk2<%-VZM!)*KlqjL;+9ll
zPg{XCn%=i;cIrB@qxL1eUUE^NGhC_^hT6}yuWEmxO~;UJJ9~yO$J6+VUVmaE?j3cy
z2m@sWP39Tm*tlSwf6v~yaP4gOEA5AR|D)IPf$(l!S})o^lca`T7ukITzbFg~?RkHw
zeIGrf=)Pjhe_v?JiM+ZmYk$;z#`fDn`}~HUzPI~WIqm1pTLpT@-rLODGR%2Ws$<ho
z$`RLQ#?kMjnXUJs=x;1-?uE@eNj=t=ON~L+kJ_I(ck$T$iuP+C)N_b~H64tDPWWs$
zM+f41eF&7N*OL`&=y#4bjE4(3w>f67?}y$!6JkGVrs3xukhc;0dG<f%1=ekE%QVI%
zui1t$$EF?E&CJ0vO-+GMt?!Lfq_>i3j4RXd?*fLCCye#gLGHZ)-6$`Wbz)r!XOG_u
zhEjGjEi<8gZOq_$hO{?g2xHj)abI<oG|r}mBD=k=G>&qw3TrkUYL2m1ThIKtUHTd8
zDeo5R*A(JQITzZ)bua4*y8A<yqt~N$KJEuO<Z;IV>ot45JKMVMI%geo%!dP(&p2)!
zVJ*JSd{HVI2hqFUs~<$)PqP+oDkbf;f1LFfJ|BlZ<Ir;?*9B|mz!{yk6+T<XRd_DP
zeb)I6OvWp7qBThC-9CrYW$STO?@bE!Cj;#{6@PVpFWvOmruQ)H1y<;N2>$zxt*<y_
zPmrd@D}?AuO=8{J**dCqre#Fl;%Yp)86*)lovrzHypwp<`vv;6b>*|R*lYHWZ2dMf
zen#hCviIn09SZ2xY1gqC{jP)*DPokCayESlBds6tXT7e}Y+@WcBme%VNaG~f&$`yH
z*PZ<d+d>O_F4J=BGghs;`@_H(q|ddqUjAEHI0pQ;(BwQppQ9G;%k6Qe;C!p_oU1U@
z`hL9dKJ)X(%r7qyULyRA@$0Cz@%^Db%fe=>3qs2u2(3W)gPxPMPuw3mnS1n@`A^~f
zW7GZdyXz0Vw$u9j`*W{tchgySXkXOpkN-6+JSX^v@c#3Ke~LRehtfV@7#5z3{kKrB
zOYJp6VOTg96`m>GAEHCX9G5<Gv&U?FjPbK8HZNwMpZ_jCy>2b^zrPQykN-aXf1b<!
zQ@;P^hmJ7oXGfBC`=9bLS3Zp&EhOBl$AJ6oeP7&jU;N+ap@H)}*MABBhus2adCbrD
znchEzdY@qH`JY0)U-)0p`m?!eea@NYXYg(ye3o#hJr?Rc#(l6BzhtlZ_gn8d_glx|
z6&>395WN@q2V6C+Yw&AOFY7b-1l|dRI|#QMaqP|G(0iP96@DrRC5-S(jp>phFwDFm
zC830)sx)%ckuHSgpp2fA{|?s})@Wm_D?yvAGw>yx(4oE0(fg`@fPLThuEo|z0k-PB
z(ErMMDdSo%<$|_b-@~`?X&`)oaDSmK3iVm2Cu9x>dre`tKhU1Sx(c8Br|`eov9O+h
z3fb%a^1s=oupR#x{vYN3yY}C0d!aAteU?vMhaG{i1z|F6pYuOppN=2edv(2Ex91C=
zYEOPmGCp$|ESLZ<g7&E|nMdx>w<C;;_)(D5A#aBO$^XL_*fV33)&EXs-$#GbX96}3
z&PsjCfN=QmZ*|1kfj&QQy<pw3L-zUP{RA$vACX`v3=MWA9N38JNm?r5QCJ6e=XL9A
z=JI$T^mo<o|H#*;@OfPpWA+|>F2>nMcHj&oO^2NOWrGgW>`<hpsY#Ko&Tl09ZWVuX
zp~~=ndar$^@+i+Pag>)O#(dT!V1B{-;x*FBu2a9)eFqt?N;{Rox#3Ak;`$+I4-div
zf$RQ+1!U9jf%Wwm(%R{Fl!OKEF#lgXZ?A3jI##buz2dajv-(VwHLN~YWX({pj%D3y
zgh+Y4#&Y;s7pKZZ4eOH_!fd@p;C;9^IFI$h8TJ*wNtB~L?_%{DF_kk>J`jPtRX8lH
z##u*A_J;|MuDqM+%6_V=jDTL`OXQrTHer331KrspRCblI(^8xhIipHt&;PMjwttgr
z40GoiDHhB=MZe>9B}pfJ9>iX;XGl})hVv)RPu5Gjpm^Tb){@pC6Qy}jhRu?o2-3RC
z5*Qg2BuPP~iD$?|pu>?tV`LWRE}J=bYVFGBJoOz}Lzr)e=L_P_uXzU#=5bl$XeXVW
zoNY0$9d-Q78I69=%)5PjaV&f5X|9Fr^Crs$=LWfetV^6L<O27yozvuFxTy2nA=j=7
z<T=GYcn|tJWq2K@R7mJ1IpExF{pj3n%qXDn`rc4q--~*UypK3{>riv=y?;vAdHyc{
zz0dyBwFu`v_h6iIwhF{gv1dFd+q7KlzvgJ@ciTuy)#-(yW4Darda>hmeCCwwcb!u=
zi7zMr*kDns10=gdoq=Y~shnN>Cnp>t2RWNNXpWPbT5tasSntLd9q`$*yc3^>PwUS@
zL`pjQso(AMhZi^#jUi2+75vWL^DoXXFLGX@&#d$~e2IIUtpq>9Il~6#)g{ug@NCt|
zd7+E<HD(=|s^==+Uu{==tq+VpsfYC}?{Z@CXML_>@GfAq+9Q1k`x168T+cgy;cUW5
z{}@T1e2c!*TDqEN*oz&JuJ${xzI>LUzoc-6Q_8hS`h+x;QbDEoyuvx+|01kM8(aO)
zP@nU$=dSG7${FG<I}Gd-tn0*`j=t<a9%WC?J1=!jD&XIO4C49@y$_a*&~51827P>*
zM6-^sz&pbV&h6rKO|iamowvTR*Li%lBj_{E8C%e&`?0sL!F(`<dau&=?RB<wo^^FO
zy#{8!>*=V@UVoasM@<NXRZQNcat5)T^MiV3S?e$Jxb>d#tF_coQ5vw0X=aR&%1%B{
zU_8xU<ypp}2krgqcE=9vb%}RDKI;l?(e-AS^ilS<dM~8k^Y>w&+z0tQ$hX~95<9-j
zv%dxM+~RCW@5^t<Al+XbkIF?p)3Zu{u1DL(ENz|FecaVlrrYO&zcH8Wx3NF>;(SBK
zurHp#JMNkGKCT02RtfA6dEd{ONd{*r0~{?0XNY2~6xyTDzDl#Nie!IPmbQe@)^Pl!
zA^V<|F5WFT^x5fko_hs*@t&V&3>})o#iREh_TH2;@1Xs>r)B-cxlwJ-Kgx2(*35N|
zJ^4k(-D%Pd-_@UsI2w}3GncHJuAS1Iv3W4(P9^j?n7#jC{5D=<ZhD7(_%-Vf&LOsQ
zrd;sZo$BP(_!uks>;eo3T2kN-wohcr4AYVpMho)u4&2;@zkkao^|sLd-qJ+BFVtrQ
zj`umMWd6`NF0<$2Y@M^jFh^(B3Dxv|%5poZS#EQW|A1b*>vv+jn;NXpwR%;QaSneR
z&-1CUP-+C_QsyRnGMh8(32+O>77$cH>S~-OOxN?b{XRs$zqw$~qs*mxeqo;JNxZe5
zR|D}Cf%$cKAf85iq$Us_&2^HVy94nS#PuBhP#`{-YdxR055zOL)^q!V_r&!)|3Dz#
zTj$jj-nZKrD>XTv+Rn9J%kaL<|5o5y$6pJ?In(g}3YP-mzX&<^xHoQbu3^Om(saHr
zfimte4&6Df$0FkIfj%$M*RR8A&}DrUNc)a!p0(OT6RztM;{DbUuCEhrf)^-nCLw3Y
zRvlpOwkmM{0vGzaz531io{)O&HdD3^tqp3B|0rRQmY;BHAkP)<>-t^16YWa)g*8>*
zvzLG@%_K@pd+8U&sVyroWhjv#`)*Nr#GGW#G;__x<}(h<8Sgym{N8z~e0=!<<%g7?
zRQ_1`_bS|UmvonRw{}11?(I%@_jUJo&u|}bzv=$e{gwM?_it{$r?@BF6X!|r)b!Nx
zH1ag_wDJt}JnUKOS?_t(bJlY$))`wOwsdS<Y(i{}*yPyGu>)gQ$37AJWbDp3BhD39
zJT5Y>WL&v8cU+aY#JD<f_2SyaWyTGO`_*fB!@aTbxORM4e0Y3Re3|%|_=@q>;_JjW
zi60d|D}HYLg80SpE90Mu-xI$-{z&}M_&4J}h(8&BI{rdJlZ2Fn773XNSqVcEMkYK|
zX=b&V+b3_Ix?}H-mv&gY2VXP(a_Ms|{uLDuZ-l0rbJ4+4bBnWLKnGI3TKUZKBg;=I
z|5|y!Tij*b9(Ox;YCs1A-Lu>W-EX@;cYovl)%}M@&_M(`sO+ijY3ON!4hDF}dd7Q}
zc{bhEL8-escrZ3KcG-XEAOanfjjM2v4l?2f2Xx@6X#K4YQt#?uS^TE>U3Ycx9y<6E
z9W=6akbw?{BxIw5iPbV}9mMVM?f7$d&1>o}eYU5p->f|Ab?a5@W$TD_*g9mb^85W?
z`9H~jCI6-T7xR7j&*$&WpO!x%e_Z~<`48of&L5ROGCw<iME<b+q4`7dv+@V!XXFpe
zAMl-(-#@=ketLddevka_Kd#EJlV34EE<ZNE!iB#s{Cwf73m;zi;KCahUcGSW!hs7<
zU08P^`@)C|!!Pu?pw9cx|8f5J^ViQ`JO9)9bLY>V|LXji^Y5PDf8KY#;`x&2gU{VO
z8*?`LY~<PEXT#2hoOR_{c{lQY$-9*IMc$ivujd`hdpYk=-k!Xzc~9r9&3htmS>B?&
zg?Y2{CgjECx$`RIsXY0?`r-BuH^0CBb%{aIgUV%&%go749$=OoRxJCTO_A*m|9||I
z(&5RqPpp~$*u1%O9-TdF<|8wvPn$Yr@}!9q#*fQ+c<e)CMvoeqJ!1H<p+g2|4a&?I
zIG}&OzJ1cudiUztqkGrXE}b9j)UiYRc5T~Kc87<CR8#wkgtqjy91>c+n(PZL!ex=_
z)s)ZG(idbW`nn`~d?{ViVmo$AYuze3Ha0!l8|zE)IpSMuG6&~o72Zgv2%h3uis;zg
z+p%k(G*9c?4Erfkdi+PM;C=&LqJ1xL<uh9LNb|KxB;CGK5N~V8$yg9=ci-*yg}1#P
zpQPsI4&EnbJjJ9$?^E`Lv*n_6BuV%B1|@o9y=g-zYG1H~#rDW($yHe4mGZQu2G5~z
z83b9qy@yobs!y8FlQA^C9l80yu+RSKen{$iCl_32_&ix2kIxnF9h91u8|zaU-snKQ
zTN)ZunbEni-dIn1`XTG}7@gZ2OIe1r*ymLXy6#I+3%d77JIsd~JPUfH?KhOsGNVQM
zzKYySJM0lju~QA5suOh<kB&%3g=O{|!FK-W!zm)O?7I#-!H#Dkg`HNAi8Liyhm3->
za68|=1iPXX=9#QRj)FTWg(Wyh3ob~TRgk-KAa^i#!u6daqNgeQX1e_kEn&!%P-jYT
zN=QnWQPjW|I%z*CN5~tZ<b^O*R7LNjOe7%rkeanGBqjQ=T~a~P5jBgPI&BsO2C^BV
zv)xk=H5LfolOP~L&pv4{gbC%_zsb=;|EpfD^**C>qW9l!-8BsZw%(^YCuZQ<9f_Lp
ztv$H4FQt2$&YKa9&&Q^xx2j%EdzUB8J0#khzAq{&cWmo@;o&Vi=C;Jq@ip7Q_GP*f
zG7@vseA?x-qj|#{;kIUc`z&vp46=CXHvF_FDXW(!!#5}+kxNf_n_O;tvNCmUDYefq
z<M$~?ykgCZ-dth6Q16fyz9QZhckeWp<^^|L`c9Cyg-?|#(0XfcYfqUGxmn&pcwkCu
z+OX)M>6w)6OYvs<9Nreu`yA4O-c?2+QtN%vIT6`9;)7ihQ~T0MwK6=pxvf0=QXC1H
zS(!TCDwckq8@T0d)k=5T!Y5jLa(yY8SsCPLoo;8YUX3Q?w)SRv1~YgdE}HA^<+4v7
zT}zKXX}Mv8y@S1II3*=F6S1Q`S?STa=~=eMX%0=3>eZb89-RV%lcC3e_^hG)I^>Z-
z8Qwt!3A%UQpEm6NgrVfRH_h8YS4U$z=vEWvcJQ_yOb$)vV4sP{#d-#(7r2b1+T+GQ
zW}*l$4q|8WU{kyB-0;TQZ*+|Nc8mx=xxQil86AE%+J@UWgCo91fv@-+3EK10Vtv`s
zzESDgUkb8h`eqIC<a)xrjlBAo?PqPd+cv}JjBo3km6eGcj7j(&2^~oAqz%HCDX>jO
zZlTBVm?PnCO};VM{+=QkQdJMCHsZAwe6vzL8R?#k3{sgCVxv7iC!uF(rgknp?50vb
zKdFrU1ev+rc~*1>iuMID0}Ra^;*Di+CoSF9t8G4N?|_G-`6N0w*PH88G%>ynnJGTO
z=Spa=1AfLPdNYS$L|vaJbBO(H8=7ltN4GD!wKq1MEJnQ6yH*_I+#vlcD;IC{^{2Nv
z<0En-b3F}n8MXQ|;5rhrdSx&zuqJHdu}z(cCu=3N*Rga8D##c@kF}qt2;G{|iTnBo
z#s52n#CYFBi3OR1?NVu3w=`d>u2la7**{!7oai%3H{hl=km|<x!Ki?twDO$s?NM(E
zt{1JJ_V^5@GJDV{c)q=UG&+zHc#IT#*wwQp^GZPziWIcBpi-AE-xp^8gv9%T<1w_)
zK^qEg2WfE%%e1d)bip$;iRKmvz%^Crc~1Y>f@B0Dj(F5gdG^$(1<;mH$)wk3dZQ0n
zucb0ZW)REprl;%b`N8e<6L!(L1qEw$QF8F#sv=NRLFGl_eMQKnMJPxp_#GPW;|HN=
zv%XiLII1AYZm+H<puNM^YeEdo*?O~8rynrm=W9dINdx_ENVIQwdg9=M!dwMGdk-Tj
zBX?F;d$rM*-r$W5VjM#Q3}_x-_e3TUTekW36A8Gu9v!q-sy1F}gAWBRq?Gu?+fM0U
zLf7)P^BF|%UU~QPcV)re2094wHrQvVAVzz}U~hQQFb4YEtc<}-eN5D7SsFw)(Mu)t
zfuZ@qwiETx)FaIq?a)1o9_5=<U{bmjdeIr~-k-!ssI^s~$zXji_wG%tNc&-}ZMvrY
zdtzcR<^9j6a)bYGmEj7uHGLs=L-c5r5Ud;a&sCWP2I`<IU~n}G#OR<!aiVDYbZ%}|
zCM&G|#dHr1ONbyn5}6tzTEl>B=w>={r|Q~i0|ML89%)+qA~=EVJVm$>jvikxaP1=8
z3`g+S8PEdlKFr1p1qN~#s1E&7p6%y>+jhs$h3V%eC8l%LMw3CVHkv?BDiY|WVfT&t
zf#M5n8uFhvy>|=K6TSCti8{7Vg|QfRL_4W5!4r<U8rh~xKoa7)jrOUagg^#7G8{1*
z<>nUg7ECE#J^UYL0V?+5Qqmcn|1-fi1Jmc`1{eMNJHhwoFKR!aJ3m$~dN<Ui1iC|L
zOJ9+edi{a{eIa@rs)2oHyrta@udtUB_e_U&lJ1K4PLgG`?ol+4pz(+7!Axf?)Z0+I
zOBWP(e`=4k8C0S*^%lwq_bEbWLaZiQtIqa0A3fut#PotC*9`3&kJ?@8(L|4D1naDp
ziq#eqCD$HC19Ar^*n?ay3!V{~OwEi#dfZ7b!&<7FULCUo@P>O-6KPVgE%Fw4TzBRG
zM|@h7=!WU+D-Kyd#^~`1)fi0j&?DF536J1bt|yX>hHswkijKfNubsv$?n(&c(h|%|
z%*`#xr`P0RMsCOMC_(SoLK{Sf(x$unueFK)+ifPNmOU7+d;`6cW3?)Ly}VOcEVT6c
zJf40Gi6pj-Nzct?I?eU!Jyox?g5Ua<surVH26`0}$QvEQ9_`=JFdjvsL)Hs1db@PD
zwrPd6<xrchHn*@kU)JB&roBw{)xYf@Te^Mq#9L6mBOy>}Zok|<><?po<#ok@b`UKV
zqepGKC2Ms{B*l7oz}TLn8(8j94Nka6*6-lXu7AQkqQ2!GUcZ-nSp8b=q4g~HklIf7
z;JTJOtB&O!lx(>(lY6-{YSwZOtl8Q<pk|J{e@)BXua@QRn`F8B)Ue#?)rPs#I4SO3
z-E#LzwA?+bc5wHoI?LU?s^#uh^@O`?70aDk*>ZQOWVt&hSndboEqAB*-R_Rw0qzc7
z%iX@B<!)DTmb-0Sj=N2q<!<e<+^u3QcT0}HTDUFu0~KbuQz}^Q<`q`Dn^oxIZdxJH
z-K4zbZX7eq-6+O#H;mcsu3IO^T_-ukom_jjyH?FE?&{SN-Bl|0awo*+xZ|rvm+e>4
zJIn2jPMMbDjw@%mV?8-;Pg%?DF16cTp^W7&U)plVl(O8>^~zT3Tc%;DR(;FqtJ3<a
zWZ7n=ZuKdV6xlN(DZFQ7dU$%#Dq%gHRUAFT(jDo=2NdgBBr&vSP@=1+N|K(%(nHf-
z>5?9j7~IoLG<pW78|mR<rldI4VYN(pBz8O$WOeK43r_9pQwx0Y-SuyF7(UkmpY-h0
zH*KF%OVj5qSt8|Ibo4Fjp0=OU)$;7A*+h3u+vhNsrnitpNlb)-|G2cT3V*A_fB&cR
zDSg8Z6c-vhVuxJb&0t^a-2c8~$NnS1&Q!*Eh4)(Pqzshhy&vbj*2Mt%{wln?<Fo6;
zIiu#xe5b7Czpb*E|Mc|}vX|IXk}Gp$nyi;?GF*1Z3$jSn<L)dKD*a@I%#*1yUgpXY
zbwwT_eKXJc2xs!#GRk;bo|l7^vW@sk8At9pvQ*Yk-VVy!Df{IyS;U<uDRmb4pRvn*
zjFO*{XULN+lkC#lQT_<Yq1-vNZzVPG&sb;uVw^DAIk)PV{jV{<3t7T7=l^OtIopVs
z$ZuX_MUKq8X%ojYynQvG1B?aE*qxl|JAdbm$xwKXqw!9_nY#Y_`(ShzvIaQU4}Dyu
z2!B6PWHEdt5>^iQghkkD4v{%`FO~+>U7YLU{Jlvy=lkKbBb@gG5xrmw@TrE#2$%rd
zL`pOOB#H9Cqar0^;3<((JX?zTOT8*mx-{^{sZ2w70>0sE6G$t|=QYbtf`dSN^cO&s
zds-yABCHaLiH7xfs0$8=RG{7p1K}ePH}$z&!6zIK)qp2OVtEG<OIu>^h{P>}zeK#f
z;d#C$;Xybl5}yj#A%W);cs}6+z9Rt{Y!--Ab^~Qp83`62aYz<PEDPiKm_vK`o{!G+
z&ZBxJJj{1IbOU6laats)5up2|0Wb&re5|Ak%!7QmDN?I1AWN;!;5U)lQSd696G;vM
zWJ&H0y#J_E4QNZ9cY(hps#^kRYh83ucP=~&AHwe<^`^i^z*hCJdHteL8`9y3NCRYR
z@EoA827ih)L{|-4f={Fo^);Fd8{iF~t&PJVS)>VeY=VqUkg*B2X!1Hxe$ygATbtr5
zO?kE%d7Gud4A>0#NwX^=&1rM<MXZ(3OA7i*!533rhCJc57%YMP@CDowX@UM*w1N?^
z6kdQY0h_jrgSIdVmIHp%@+%RtORI1=1m6g+_@EL{XKU(gO`WZ&vo*GB<Akb!UD}L?
zC*c^J6=@p`HQ}~MyI5!gFNw6T2iUFsBd`UI!%rd|sIvodcjyJv;AtR#2mGu9w(VFN
zn!_+4z2ny+o$&EaRRFzp!e*VG0qoo97m)|s!3rSngXHb(fNDVA&JzLqcA>s5FTxqH
zL{ck4dl(B(h;*gR-Mm0q-A2P|cm>dRcVzF5?A?*QJF<5tfA^#CgGdkhSP$COqce<y
zwZL;dOTapK70!wD3IXiit2;~vWbXAgppV}8a_@#P0Or6>I03(kq?LtckOd3iIrs$d
z-E?%6j&1tT);`#|?_&5%q#wHI9|qWN0M8AeT?70g1BU|o%~%hYL^7uf2O5CCWMQ|g
z^CE+}9)iCNp&t)<L1btH*bUc3hE3wTR!mqWG6G*2u}mZzU&+2IGIE>9s0ZN-k<qh6
z#^9r4kpH3T&=fuv89N-_5P6tq9!AC-d@X0M$T;K}M_b3eFEaiiI4d#%+f3k@iRtjU
z$Rz5XOr4X_!4z~kg|eqc0PUWN?xt>sgTS-X@ULmqIjtv*hIz07UW5~XUZ<CaCXfk_
z0Wwbi2+->cH&Fi!^frU%X1oKxh&&Pvt%3L>#Agzp*#brYdYg&9W)0!Hb|`l?<<6$u
z*_1n*a%WTSqvfD0;FFJ%|Iw}RF8lyDMdl#SoO;j~J{FnV0no=>^gZ`5(C&G(dmiP_
zqx^Z4KkqsC40!&r7-$LE@Hp&;(<1W);(_w!KMeTj{8!+6kp)3e1G)o#xd6Xh@HSi)
zSy&8c&qDliA$2X>E0T*&b8m<&Di6rMXotvRSduQX6rWo<9q{+ZvC-p{`#9x3PPvb7
zh7aJn$TIY>44W?-42ytvF2iq@-4<E?l*kI&xUx1(6Is<?WHt4yMyAy(MAq=^8sck+
zKam2*_|wB=*eCL2S9ldp!k;4Ru;aQ%M4k$Uqay3^zYPjTL7vD)?C^9HJR!0Pc{U;U
zGxdRIH$Nk?1s~XQ9KICUx(#0BV_N-KJ~f7qMRpMGEDAik6ZxK{&CmWQvWw?-QPytc
z*o|%XBm#Eab5-QIF@P=iwu7%lo*ygXOMquZ_Em?quv27zM>sF?!dxKVfjWSmUMvC&
z0G~P-4dj0b8D9EI<WO6{7Y;ula>M}SJo357%bnm;k)y3(wa6<~VGH0h$7YJWS^+5M
zwL!r1uT#$JFN?f^Ja6#azp(AUeiC^T9l!ZH%Pf51E$Vwa1YQz(2U*@ZEpi+^zKh?z
z_ms%{*!BbLf5Hpc{KF+c-#mFo<f9BgwvS2s_=?CUBY@{WO#)>5%!CPi<x~)0zf((L
zBfJHt;4hKSo57>-i^vyQup53B`LZ%l{+G+)4agTc9R@K_4S4P}_fO{lx;;&v(>f2j
zID>A_GzIK-W+$8w`6?2S?<?Y8QSaB(^)>Q+{j10~`0zLH!8MU@rvN(o7Wuxb4#Qy!
zd@J&OQD_3=U>>{%*zX7A{Gl$4hyCy-V6Pu8!Yz?J+MQPcI>9u+NAkW9IZJtG8^ToB
z0NCU#?K#&69)V@B84dt`cs>@e^LcD_{tEa-E+hkbzc2^zi3{HV`pZ{P0^*@QAV>a_
z@Q%pEP(Y6tvFpVY=myyN;vT>bKjOzfQqPa*{zrWF$EzZj1R|jWya3qn5;9zl2K01!
z6>Nora2(D6I=oUGsQ(JKx{?Ff>dG;ZpAw-dpxd8b1lsk}X}AnLca`U^BJb6numX_(
zD*gB8G?8oEyLLk47xec_;{Xp5E`l2(zqW?nfL?w*0;F9>=IgZKH}vrv_kQEvZ|L<m
z%KYtDk>C5l4xkNx41^Cv{)~dr@T$lS+HzwZpr4!5;X{#IRbf0_;Cr<^K->O$2C)0>
zVo(QKK@S)Tj8nHa0y?^lJh$<Y+qd{E5%=!U_B*cwW%-LhZJ<2=48X4XZ{_{S?Ei+n
zAM#t-FcorP9dB=|LsNJVbbJ>a5v9T)271B}cp2V@ulN|zbXd$cfH)uu8p9x%4}0Ka
z;2T2tYggs?OcbB?RnA{UxmJq`Y6M612{e#5_z#YuN5UtfLi>SFRFPpY3GzgRWx;t-
zMbqE~QN@zsJyCp*n=1ajsBk_l7`_$Wg{z_>N<ag6UQ}djQ6<X5MmPu`ii#R4s$@9)
zDXP>2;F;1-iz-tCR>1{PWh=u8QRN1}x1yqHXUt5vC8|7O1@z)puve6ac41-_i)?Yt
zfpWbW@QtX7&xnfWe*AEl3=80jsDv&s5FUabL{%CO=%;cySPHbY@`rF;R29;yV3R5*
zMODQXRk1}?+Ff-$(5}QjfK93)Yqe~691g&3QPsoXVVDieMb+SA!Zk|4i=vWx!JF_S
z+!R$48`PWzi{L5P4KKs{K>4+hqc$?vj)1;!SX46cWOS7Lwx~MTr4DVc8x1^HuL*P#
zRo{dqa8y)-BtS<Ekgs8P*a_&lA-ZbR5k3&rxFo~_`e}@Q8qWmU+xRU}P0(W#^w{JL
zQB6I7pYYv!s#$f|EUGznXg*g|3O<m69#YUl3T=OYv<IFQ)uIYCg!V8NW{GM^T1%d7
z6$@=(B=G%+t$40A`fPnxRGXoYFRCr_wW|u`Z;xHtzapvw`tNW{RL2#f*qf*aouWF|
z5Y?p{pu1Gc?25m2Jt?Z&gYX{wBC2~CQ9ZClk30Oa2EO0x2~oW-i%L&~me3bS@ACj0
z64e)5_8kG!0DboTQB?nxq6T2c0i+GsBx)dS8n{MOMrpu48NZ6kq&(L7D)S>zgF3^z
zqO#EGVC*;;nTEV7YG@-sreU;u*j7=)6M%9?Aj^nB@VcmMFH8Y!G!om5{7lp+WEuUO
zs4@LSJ%sKb>IiEAyXudqk9`Da!^63va>@g?%R#1b$TaSGQR6EBvW!0uzl)kc+C=1@
zh+QUb1MEKW3|OKjtr9gk3b5Z~d~P!3OhHdm@QEpuF$Eh;9SjR$FB}7GH;r~oOM)K2
z{b}RjN#Opp58+#mjF59WcAbv>rqjmhPs5v{W~4wWOn`NO9%ft=^+<832jrRA3P!>T
zK<6_lZ<Yz@aMpv61JpO`H9+69i$OO)zq9e5+2=$(8UpD4QQA9)a^_Zte~Frhjphx6
z)j++Ejf1a6&F?L0L3{Wfu8CSm8y4atxyX^b9j=R7)CA~%i#CA|sDBYYu!v_Cw}XA6
zmXK#@5qMeD;|5UX<Ijp(RvC7{OQM#$0Q;`s{))x09`?XdQ7h}iccNB31RslHovv0R
z)0#H$1e_N2L^LdgPvNGhwJl)_5PvcQ@S$~e0ew8x6qbux9|T;l$F3VZuvgSZ+Pd)o
zUpz@!o6y&$$G|V@nMtBHlYjFnQCk|oe4y;Dl)V*Mx6!6;$h7T8QQOh$_T8d(lmz@>
z$NQpoBHPYgqMpT`&we6m7xnBS-0g;1Kzn!h<SRt6`JPLno_kl+-ds`7j}hgIgFB*F
zudDrSMZJ&!`0@eT_9D-|__e5mwDsU<z=ki?frFwBrNIo?4DSGP9QFcsIZWQe_`qRw
zf0*ZwlmX;A@-U#IBiQO?WIReAdIjCQ(puE9cs~5CpfMo#tCK~&774WL_1<t&)Eo8T
zil~3B74;^1c$4<LX^DCZx!$7ex2WswN<jT@9~1QsHht%)sN+#U9mnyhcNdC!uNa`~
z_mKPj5kUF}_}2;Sd;&Xth#o&YAnK$8#=$G1J_-e%`M3&f7xhU6p#D!Y;T!l})MrJ3
z`aeUi&q)7lHmn3}bc(W1(S}pB=@jLhqMx1mLDc8y_H*?7c{(fubon_leh~o;fpWf}
z&0p+;)1tmqKpVd73h3y|r{Qh*N!00*z&Ln%5MbZaufq-gw5B}ZLuZBo{(pwD&U_Bo
z>?`d3)q^k|o`55eC+chD{kk^vfw_QQzWx*_?;C9P4R-!!EMSXoUW1FGzKsR)fBPux
z0(|gW@_$GD-%<Z})c+mze}`_r!&cuT%lFj(eP@^m8v$9qzbfj7QqU9z!%{c|^wT^S
zREHig1$ZX!UqJorDb!ioe3mwxr448CGxikfTsffrbJTy1`q@*cbJTy{gsOlp&rb&Q
za{jWY3*k@~`olbU4o<-xQS2#Heixwb{Ab`@_(jykvXBDQadA0N_r>o;{pbYR`(sa-
z3fSw%H{nN7m#F6wK7FYl%!X&-WB5Z9dkb}$HeaT^%e472ZM%%kF5eV&1wCJB4-dnW
z@H!y>PxOPI>Oo(a1@w)p_}kA>P!T%8c;K0zkHL9S*TNtf(AhQGaBU}?1lsUR5)6mO
z;UIh?>Q@IOLN}NKo8Yvl>ygk12ElyT1ITina(*ihtzaaqfWv@peh-2gfQ-LW&hKx*
zB~gD+)*qDh2W9<{3(v!6@Rz7R;{e(J#P|NhU;jjoKat}Ga@=SQkH8i<4nK*yNm)11
z@lAAm6Zvj#hYx{v-Kqd>fOg$l1~0-HKyQCl0`&D4`uYof{Y5>0T@c0IM%_kVx6=R}
z-`)oA!Ox=ZpyxXcfx7q`33X>HybD)F`Aa|pz^D9=!VdTdZi?dXHWc4~rud#PWo>}h
z;Jg?T3Q5odrocw{7hDlTm4s$6407Q)_yqnG!-#<gU??mCADjZe7<|*EVWtA*nVaE#
zxF&{!@*GVd3n<UQYh=flV2R;OfCphB=x@t84!?-uDhDlrdiYBn!?hPag&Sf7l?Uzx
zjeyngI{YL?a9N<9;DIm~o`nzLx)>p4peYOj+8uHLz7ZqT0NNee879DbKo6mp#3&L0
ziO?D-vj}n(SqbQ)$UE?Z7-24`0z4n~Fsy;Y@U0j{O+db)?O_ZohlB8y7{we=9nxS9
z?1j@}6eqnnb}8Nu76KplEq+;y@EAZ(;g7)ca7K&>zR5bGHqf?+#X!9g7sQAx0VyyV
zHo{3UII=KG)B@x$fea;HgP+8RqTHyCFcr{O6m}^Y1TA0&P(OP?qf{M0zEZTa6zwS;
z4s{^|upN6uqx2iVy)xV@!@V+nU?w~P=%Z{!7zsWx$~A{kfSt-APdWUn+#NBZ<De~Y
zFB*MC)20~YjLC%W#3+w`%2$EzK>NyXh7aHuF)EaTrZ5<g&m9eG;T6ae!xIL`;pq*?
z>)8Nr0k)1U4%~}P2Xq{Z-^LAs`GBv)QAgZOF}xK3eR;>hQ}803fM3O^SQ-ZWf8bG`
zLGSUD9Z%ci#{)WxKMMF*JhCN(06w39UJ_QrAwVCM$^yEmM8B%^rWloD0h?9knJU=j
zzfpCr7*(Hxd@&Lm0QO1T2>59=e6ZSV*c|{pvS&7`)6VKOp#}5+`e^mZKpU#B2YjSD
z`mc^nYg7kpU85^x!3033HJ${@twEVJ@Xs2^S>w7GN!U6GJtkq}q{i?d41|Y)ev*Xj
zNmsxxM$I_DW;Lm|CiT{&-kQ`~3w_k)nPha6JX4H1<f}t^-E=YPtq`L=c5A@>249KM
zaG4m5x&duy++K_(w5RD9z@E+C5Tp5YF;cjna#@TA9ucDj`C7&Rc5j6rwVnmH#Arj<
z_5m^46@?DaPmK1ojdywm@9zxW)fpYpaVO;HbVrOXi^WLgI`sg22EU2Xm2$f_0iNwT
z9oEB9_!@4D(Jcm=KtGrc>w)LH2SX=7r`^95qX+HnL3$6`)e{@_>?1}m1rb2odToVw
z;0vHly%Palq)|@V6gVqJIyOzGZ}eFyMqd*sv+oX|?fpi>>+q8p{ZoKE1De7hm;oE$
z75E13h%pfT4{QfKH;}vo@za6WFe3_@LpE##bd_;kjLgbFeVH?0KYT65ApBxbLl^<b
zJ?J|zvgor}$d`o=XVD+BeiUOcvJ4&oOW`9ihLi;4AA-Gxd<?XCXb8ju_8MMIjFG#<
zc&I9Lh2`)P{4U1W7-$K!Z!CT?mh^{RFk6gqkHZNu#*=3}wwush4EE;6B+8rI4BiuC
z3iVFGZ>CyeOj`id&3iRt`XVuARDzeqc%+FKGil>Y>@e#IF=o?-M{5K2o3lZTx#Pr`
z*8^S<<FPWZNsRfFG5<BVD8_<t@W3iD78ZdVpzd6Bo=bmNlm)bNF>PBsQj8_EZwY!@
zx&+=4<8l1raoV%2DG*<dY|GKp3glj~QjC?O;b$>cbprf&bqOHPYVxiLg=u0uAwXN#
z4in?aAb3`cb=0%YC&p8~#aNI3tZxfniLrru8<FMd$Hdq)LX2k|fSoqezAcgPwisI%
zi?OYP7~5+Ay4>CwUKe8rW$xH4#?D|^EylA^kOs8#*>A+yRRQ*ivAeYxduZpL55;)y
zIWhJQhBIP3KS>N9_4)RQu`gAO{SiQYFANgn0Csp0UA#B}&Wdr6e((}`Um69Ui*e`~
zF%AzA<48I9RE(E-{^cuT97X0=@Xc3<ze4{zhV71_?^ntDs$Y!Pu*>U-a6pVV(El6w
z>Axn6@g{!s=6EsQssulX@%Cad-YEuK#5j&$AD<z{y9q#9?~(7lt#Dk7_q)I+VthcE
zAIybc#5mClh6ClEpq>-Rdg788A65r!_aXjw5*vSn-q>dvALDNyzX;^}g!rfE{!?uJ
zSx2DFrx^R$Ga9@*GQOZ4U-I0S*zEK;xGct*9`KnMUy=W-^J08W{OiBO_y!$)i*J65
zOy6Sb?`FfhVtk(n8Dj80$M^xe{ICtEKd(QGhGp=l7-xNAoNEe?0ya259@dF*f%fH-
zez7i4?~l{OxD*e>FQf0v*y9Q|{V7F^tJHt>H8FnPAjY)@a8Zn3UJ~QiMPgh>hTqnT
z@jL$XM>p6j#-Hf(&oyG);JF*feRDow*IVSfwNs40ko_;(aGU&hxW2Oxu(Ka|EP>a>
zl;&b81Gb83cwwWMrW+26>6iq+i0K?8e7O>w6f-CXeit*?2_@l(m?3HKk(i+i#Vk@E
z&Wjo51D-8f8y<!^KzgyM!2d_3*c~y8w}3-phL?bNI3Q*OWkvicW@HFFC1#0HVn&4l
z|1TCkOJ$biy5vMyAZDo`ctK3oa%Sna@VS^}o)NQb7sv!;Do6fuJz<!b(V=ib%$PN>
zQ_S+TwfrqHD-f^nftc<H$c8gwdX|bATLf}}JaK!)^j3o%V2N3=7vzf>KO4xOPzT-=
zv(f<A1%HTHITg6BQW}uI${s*>Rjb1WKp%<aV6B+dLSdDd)t%58R*G385@=(Mey|xR
zzXo+CB?5X%LI+96pLA2qnoR+jYi@`4#H@w>YDGgQcml4AS$ixXCujR+assp$vkrOc
zJOK0IteAX`%B*`-%z80EJL-)Gd|bBkIlH;+bW9175-Fi7C|gvvIC$lh#Ag(1)=G|u
zjfjtph}~{}d;6eq@J<Kk#9O(m9Js4IZ(UVS@DW8*ic86qBB5$T=qyKx95XzJk4Ba|
z!Nbb*nkC{A>ei{3T)R}sD3_WTIX^P3R?C*Pz`5?PTMpN)9xZCtY@wmVE#_CoEW5-Y
z34h6Hs%(d8P+IN8+7uSyr7hkFRcE>SX1Q~n{{i)?hUa4WI?Sa!7cFjiAjM-wN0)Y#
zFCSGRC?-5Oth7Xh#e_!1M8%X1mF(i7x_K1XuwhbCL}Ww#lbme-L=Z$I*Q^!qEfHIv
zKZA#4GZ|uoVr{%7yd_9bsWW=`Z$+t)rvA$%RmmQY^tjz?S`QUe+W%K`RW{oHQ`#fF
zZuM&6Pno8cWb=kct?-Z0WcxqM_K#Cb)EfV13ZIkaR+4$al}hs~v+u2);`T;GXS=Gq
zs}zZeE0$0?)QpUXGIOe$q1h^fuBh9MT50=<$kGk9N}MIVbrTXQ)h|`5bVPzybN#x>
zC5Z%)7*WdBc!bMUGOARGh<f$v)=4l14}UDL=b#SH4SwV05B3co{#vJT$#Xh>c;G$%
z_ru0yof$NFSmdjRjkHelT0LkQW!t^Da{GxAo1b=cYCbusvCCh))3HrYeQS19?-b3+
zOdaOG>MtEJF{{sbaY`!Rx0d4cNf9ZH5h_Wt@EPKm8rhZOvMX1PaY-cp6yplZE*F_o
zCOpR#krPuwI|=_H8zv=U1Dp*D-{UG~oNjk=ZQbm6<yH5((Y^Q7s#U%t8=rjkl|=)`
zjOsridxY8R_Q=Q0)d{P7N7t|2^~$1*(RQ-&{=c^DKXGi&o|DF;CDW$NUp#%v{PbIW
zo!f48d2{prldnCu`=l{(@$^aamrR>F7u$Sb{pc#s|5w8;iBeZ;rj&O_=9H>lx<WPO
za)f%q%awD4CuE05<T#SE@p)Soq=;<TP@AS^t=LK~mp87WHi>PR0{;(Em?1gJ6{Pe<
zodmBfq*Atxkk$FXp44BS`NDr~(~3^bKi~M&TXRpTovoX#?>9ij-JY;>-0aqaCbm@H
z`Ku0n^w5GCM|X6}`Rv`5pSJF`y7R_e+ZIjS)Ym_}&%bil-I(aVXpU++p;uN~cHh<$
z?xd^tYOI<2*iz2qbQe=~>@F7eBK^zmURw3uh-5m}a_+uLuEqW%MlW&|m9Q6sWJHke
zgm$h3BO*MqezMCb85L>tSn(A9R&Cg@-hX7DdQq9msa}5Rn7_@PTmBA|Qp$fs<^9i6
zN_gu<)~#byN-h-{5pL{Sv3~uA4Xf6#r;wM`!CQCKkz+6UTl@d=-|=%u#Q*r=v>8Sr
z#iV>n3B%<GQo&L*v{*<HXP7x6%x+li(hZToSvtrxE7gy$?=+Lmcr(m@_1Kv88^;{;
zU#YHKrE^QGAV+G0>z!1H|Ibd>8_dX3HT@rDQ9-`UbgXnFYTr#M;!>g6PNjm4>|h4K
zhDpix$fJjy*t)R{53!Dw{!#P%qt(iJYLyYGFCJ4X{i7+TlK+NkEa&i@&=>R=%JYmR
zrniJ@{Pctg=loH8LR#_v&AMgmH>TOS49Vuei(Dn@#+F=W#Hm}eIkJ;%zVx)4d`N@B
zUKCfh*zQ%cR_S|s$G0_GwW<lFS|-(K)v88POHR;kSczsrz_Pl2dl*J9bRIL|PTz&b
zHs`vV%UusKUiP%|&A)JN-CawjgwZ|en=WUL6fN*%MwU2j=;YekLgqc!M!7G4x^X%0
z2mgsD*R6SC^{N$R)i~8lO;U^e%l*szYy6KmQ~dAxkNdy%f1@h%Uu{(zkxH>FiE{FP
zcaX9v#azy87vBq%9YTd+c7>64m+>-I1y!n7v3{}<wKe{g_DSQE*`b-^gV;VLmQ`55
z!KDmfwekz?t}Nb^(q4xrsC;PAa#0~tIy}2Hg(YMM%1fjZGIi<RS1<5W(Ay|JFck$+
zm;F;Rw&e86HEOIL)p>*`#=T%t#<T4Q4>&Xby-yP>RUV%@WKKdQkMUmHev6wof22!;
zp~+RpG@7`oUB`^f{#Tyrva(^boW^YiCss>qxRU0LLak?MUKOd5QrZ(+BrIDhl`c}G
zTqQ?#rJ_0IN@SO#k%2+4Au>0lk@Xq83r0Dww{GAfPOG7?os8!tqa5D2gi)PRpXt8o
z>Ep*IJ-lz<qRj43wC&aRwQ&bdKmPcN*Zem>o$z+%#5y(CPF%5M(cHy3Q|r_p-L}QC
zZL?mg><E8p&D(j6Fne9=SN;xcJJWS(6j&m{p|XQYhDDmi9S&!4M~>4rh91RAH!Se`
zh~$!9+w}{ysA9E+TrP9=x^-Lb^d9&|dfJ*gez&^XX@1jY4>`BrZt|r6S=D>_sNWxX
z<o3ARO^o;EebTcRC)zRu&0NMe%TsSu$<S<xE?Kfzv?DvZXil++>|&0)YOy`x9-W|y
z60s#?O|1?`fgXnR>bRl*l7mNIXf(feE#rwhf0p;Oi^)@l|H`S!?@V~8alPkr7eDQC
z87Eiy`x<8cyC3^oBYOrd_!-;i@w`$>sq)_JvS#tH^5xC264_zS9J5Nc8E}4k7`NM@
zqQr~u*NMc77{K+k%7~2uN+#P0L4_kYb~AtWTW@^vd*lAyKVH&lS?g}KM>I=c+Pq#v
zN7Lu}ANhXgit)Kyo}M**t$OE-|CZ{ZnygdJ=1#~?s{L?$T*qD=&dlxB^~Q%AHtw3V
z{%zihNCu964Sj{`HJOA2XNNd)90h$v4|N8M)kvw&kYrxl>;IvVufD3W{7x-%nX|F~
z<el;UN7Zm+^KF)$(wi^TzKPfvoFxXzFK)(G%8rc<DH)wzvS?07b-Nc9PQ=<FOWZeQ
z1>CP<{leK86_mK=x_9o({$uj@>^(oG?~Gi(_0b9c?fp;Bp0Rbq-054B7Y)i>k~=ti
zj#~Ec>6&%6WNrNDll56!>eM{_@R6UcygPrx)AJ_p-eQy;n!9Mo@P$h-Q$Ngfo%WWM
zc-`6vZ+6kr5fNtT^16ew5c&@z=@}_pV&m);kRGeNdeUVbBt-thIM@9@`M({pyK_dv
z89k4_=cutM=kR6adgt`Teb3C8_{^r+Is7m7{KNeHTeKOOTvNrUM*aKUdh3)5_3zrg
z?SlikPwv`C+w5_fKTZjZnqiUIVI^{0e0wCDC#^wrch3-Q-g8|zT<alQW7ck&q!+zO
zEpH#XJAxbb4ART4pt!bs@uJzq?-p-Q6ZaHZf{7(hucRri>ZS=3{$1pq{RLAEs+s8+
z<>*wfun$sB!{Ib#gvpGfN5^<oSFw6kj#0O_n*HuPVmvxi`5LRdHU9MuKPM1;tgxA5
zr8x>G(mR6?J!%_<vS+ODx3%i^j0ldExA`ASXpD<<?|d>>lwI@4!kTf`Ag9x%Mz{hs
zD{9vNIY!>zX3V)W!|cn^Y3gd#z@-MS@mHYgD%MrA7G4l9wIm^>Y`hugcEyB*l`Rok
zs+x?bmQW(6RPpRm5w_Y-Bu3cNf5H0K9;p6)tY<k{`d*``KE+DaO{kofkdT}^pzTxj
zhjutVVe2<_DpgKTtW>{rXsa4+w5{5xc@+jGHO;76tw+_w{tYsQbZk1bQ|8m_JB+VY
zvv;M6U1}yYFXgY@qGqiJ9;jvSVfI+9T(_NjrM|ReN$;s!D!Z<uS$1dxb{?Tc#Sx$2
zN~#i<om6E+QcQMIfe3oKibzgOOx9X0^kF97Ql*ob3t4K}GX$RQkqCa*u2;V_j$RPq
zca(wC-@7JuEOu60Hge&P{G;t24tIpkC|#yW<57?MxB5Tuf8n359##z}ebBS|!1Igz
ztNbn1r)nev(y`0WjvjMh`jf+YO<&$eZJjjfz1?{#u|tD#^qhR>u;G`Es1mB5KZB|L
zgnxeJN+S}J)JrN$jZu02QT~^&`cF<Wp1AV-#07tTFmfa&WX5+!GJ*w3gq~|cBZ`{J
z;R?=nxkMQ`4hhD1wG$)k)xSMi^U*Y~8Eck^HQBtNgrHJJ!d~7REWfjI;p@tO(G}`)
zIEw^1*WDVbX8C6srHu*2YsOZn$!1!PvWZQivf}&+U928Af<wwiWS1=~Dm<Ioq+GUL
zAAMBsH1sIPO3vPq1_h>9Ga@ke-n}@go;-4T?)c?<{WspdwI_FD?t(YYt=jV3bIx`9
zo|t+d!4YwI)uD4v!(VIOlo7-4th;l2@zj~T1eF2&Z}|4wBUp4w@i4Y+;n^W(j#(<(
z-oV*S(7o@j0So69ZCct;-?4Z2+vEK&`=3xNRjVQU1~%)ms@HA*7pnZ_-aC4?t6f9o
zsuVR)J(Ey1*Xt%<zW?U`L)m`-MpbR?<M8Zr&dg+5GLuP}^hOFK0g@0xC-fpsL_iD>
ziohJIkpN1U79i4Vs6xaDh=>tUL6mDj5d|A|z1Xi@+qFXG<o~R_&rBu}-{1FHF>cmb
zyRG`HwYAqW5YD1iFm}NzgkZ_Zs)O5T;nSzJ=JE-%7N-WY6u&slD%pHCU%OM=_s)AP
zmUTcgv5(+eAJh(Lwc2!}bYmN92`Lf5kkF+s$hG)_&5%?aZZWAA3zLkhB$dHxX8KoX
zh2j4|G(_ru%eB4`>3!cN$>h5(4KY^j(9*VRR-N1ykh2)DR7OcP8qFb04Ux*sf|ei!
ztAj|v0++W4A~n+cSa|1l-wOO@vEroK6Ugj}i&yd9jolI#ce9m;g9aB3{QdL#bCGs!
z+E2^1m$V1iKGtjQ>uRq%j!yht`xlGy4cpXNdzoDw-?=ke0K0cI+m+Y0qGfa3iZ8X#
zwGUEK*`^(0X38)6LOGeyW|BixSvH!aG9#ZFKleP?kRpN_6lN(<eyQ=r*3?K}*GTJp
zWyUJsTB%$RV-rD4hCe`S%_(4s$z_{ZQ^VK5TK}z-jbDWsT*a0!iK|Kq7;vvGg0vz<
z3FwTw3Z(4X=UNZV%}MQ?G;wMTtGf7=J#?eZvSg<s>8u|BrEvILPRSH*3p2VxTo(E+
zeHhUP7q_lc(imM-><i`rv5Whw9Qcp#y)d_;)YK?uw_WmF_U)85xMNH{982FATZ}`x
z+c!jfL$1a*jKnQd_z4nQ&QA^&L$3CDYNTS^c1?^oVLfoSQ;H+vJV|cJZV5A5SV|Pw
zvPE*fz?jaL3l<Cs5I8=>Aq*H|k|8c4_%xM0Y&I+QNUIh#RExGo*%U=N@F_bLn_@Oa
zr8?LPZ^`G{R}O96JMzW}rMIVlUUud9I<QjbX+J!n<H!X0OTm&6KZ9Wv3y($$g)tos
zZ<N{mi$p?AU!!0Spr%{}#^N`8iJ{RJ6PD^j>5b?Fh&E%5G8X}c=<x$?{EE=nuC&&U
zB(=Z%3obT9it#WGxNdlu;I7GVom7L^VH{^;Kp8j<>G>o|(o*T4lBT_>ZDey;ch;Ou
z)he~~*O*iL^V_T1*Uar<oAC2dY_~Q`JEJ|QP1(-c;Ht;7w%Rk=ANcc(5GqP@%oCO<
z-BS9hL6U70IFQ7a>9>?FD2Y_OUgMXgIGt?G*FNo=AI}^=_7o0ws1KLo%S&%+e@MUj
zst<16w29Bo!e{5g1;+M@+1Vk=)li3O2=)4BiF?~<rV*0aXh!Hn<})pzSxd4(yNp{q
zpLK=nIezOhmOM#2+;(1@tJ;^${n<5U(mZSf>xp~2lP3LvcCzF`C6k<PV?Lkrbwn&^
z4H6jQ_*|`!xQhU1NyRRwDGKT<#1g3n-3FmiXse;O(zv%2P%P2RzY<FA`QLku@BL5>
zJNoQjd)MUl%<z5i<-&)zKESq@b@QDxR=xbfjyGB=am8KaWZ&lpmfk~7Q*r&b+?`A}
zq!vdR%*oaSN31)<nWm^|mNI9w>ck-+xz3M$gU^)d4>;-m3fVnm#FG#}TcP9S%N|*O
z@U?&W-Y7jazU$Ckqn2)4^WgiZ>%Ls_{)|QK+svQiUDUDPQ`?Sz*u3ScjMRIlj+xbA
z(DMh6eOC;QGNEU!SP&5^<`!X@EKUIhX!S6OV%5giXcNG@bX_w_Bo7ZmDZY!}NQ%kk
zGRt-qAthZQQplCecpPDf5@G8=7QU<fr2U8}(2bgBo~eDJM(Tx~eT${SNSI!?_v26A
zeOCq?3{uLVd=0`51Qr~2V~8v{9D$>$ODc+hG+ck>Yu|sL_Wk)Rd%zlMR1}w;Z6%um
zS8jb=akIp3sme^yh52GG0bMR};@x3UG09fhjK{A%4jg>De#!HN>8T4EA#xhN)bJ~F
zi8l2m?E{NlQe=l!yYers<Y|^?wM#}h%)vT8$XbWk6-5fQv2@}^@uc?4Oz)d^12el(
zo7y)cu5Yd~;KtGT9+|PdvK5k`v6y!i_=_<l7Ka-x5^UqJs1Qcn1w>G=m=?SREd!)=
z)kW=Oh|{7NU3Ts08|-tf_ZuudG}fj#<LxZ(1+BA`?nsNar+IuINtdNpwUC(nn3Ohd
z_A7zDplJ-sXmAilAsvO8Lv2P0N?ex;LKZUysSxy0Wwe%AqZOQG-Q@64+2{^sFbC@9
z`F@Z><x1Z?Q%;5}Cr+vW^%PJioo6BHW}~7KWfr1a8IS}dT~i9l2Z>~Ov;M|qxtmW?
z40WgEHm#JmcVykj0G0CyW3~eoGucDTq>}r>?G@b~;-&?3gVavjz-E2=srHQN^SRdn
zd8_{o!8A91C)c?M)9Jx9BTka+UhSK@`dtLlm;q9QJs9|aq>`6Iev-JD+(#;Kr4^>I
z2epl#e8OgG&&)OcG8ez`YiX9U4I-U5vl$^#6%$ht7YAec+?`3op~A<MZQHb3lXhV<
zJJd~@B~A5hmAm7&8?-C((0b%?5Np(ZGXAj?d1&1+d8l@UzA;oe$F7)=fWjaqsf>pj
z`CYiOSi4?>|JxTrZWN@<e8ppkGh`UDi(?!Ks$`1vI2<OAOZAw`OwCl2t;}E*Ga_k6
zCKOqCX@!1QrEO7qW0%WZNI?>QmF4->O5v`_8&1?d#G1{UIAlw=(&6XkK6ASIkGspJ
z4qUNke@RKr+GR&QnbAw9cj_|Xwn1mlUZ0fe96GXO98#f%Ll7LpjMs3_lVI25(Ml@`
zK3kbJLA9FUM!?X~IRk5CSEnIj#SIdK03w~-Gt&Jh9;{)5l<I1w^W(E$`t14#cU84}
zXz|uZ_O4ogZ25BIHDBqZN!owE(dxAegV>Griy!~;!jW^YU?EGfM4PZgF{A-?litit
zdaMkW!2Ht`d@%6fgFjRxzFZ{F>9cOw``Y&``q#nh`}Jx+quV33XSU@{ZQD7gIkW$M
zowdoxo|l|>_1N>TC8c1}_@3fyn6%Sc7G@};?<T00rr#x<NXBfcq<<Nc$BAP?j*4xO
zr?h`;-U}!bd{^Ds8uRz<erWBQ!w)UocJ$bU3C#Upjpg5Vn{?mxh-0k#;}>7vzJ0;b
zkHN-RO#2f|I|63|_I?~w<Kk>CkLog)*%Z|lm^<0~FvZBa<c?{oAv1#_Fp<zi6fcuM
z@#QFw?d`R;=YSE%rhKc_F~-bqo&ThURm?3v7|uR=^x5XQ<?Y(Ah(G>dEwvlp6t3HM
zkQ87cOpTK!2{u+ru{+uvA*&Ir%x*0UHCxp%vk7YtqmL9IHXf!Pz7-iMB9;iHilk$-
zv_3vJX4uf5emeNrV<&cHbV)HzvV@Ep@p5Hdr98Xxjg1FwHd=8lQE_6biHHtn7sn==
z%Hl%9J!$*`$l=Y^a2vO%!~EM#-{fut8Cn6;T3m?0MidsvV*SN2P@LL-fAl_C+G)tn
z5!I)a4#(%5{f@DBrtHkemOM0n`=k3GSo3I+_CM{{tlUNEsn48QJAOQKeO<>o-*($N
z-<#X-J9g=vljmN<x*%sO|B3T~jVXrya2ffQ7~qA`W$>>E`~wl6^qc6EgOdM*Yd^0V
zcc5d<^hY0+2JPSf^hV!l9Da4&xJv+B7*MpyX5n!d8zehq6D1%@LrrB4e$Qgxz+MMO
zx!kyI*YkV!%*Wq}p!yq6?IOK<!=?}vVU(7rQ;Q=>&Z)(k%EF@5FtM0_r`W_>@l%gK
z_C#j4^t7b>Snq8?-?{$7&+k}mYi*Xb2bHX#wXxIMKvB!gW<rpzj2ZQ{@oPohbAfh}
z|NL6(L}Gy*yP~DDYg&ZyT3uK6t_CbMtu^b9wI)Tt47wns_(6f|P_^;ebzq=rjA<B7
zPZ~v*lZ|R}Y^WM*E{jTVN0?|+-2Bss@X(>*QJ&zvY1kw^tQ;+3|E6Kp-UZ&x)w9c|
zRf4&qeN()<6WSlX`;kYa0f%=yztVR~D&4;Q$&J2Kis8WM(dA=R6&t9Z4smUZ!^GKe
zSg{EH(*fzt#dpx@&_66r$NUHJwGK5iYEDRf4<3B_0iu6++_(>b`r(pkh!W%XMBojO
zxsLd!E(|DfWGHkRirO0B31sr@EnUlqC~4>y+Rx1M%U6tP-+!|2$kDxfPd(#dN&kf~
zNX5^-{Ofn^!!>W7dEw3XPoI1XpE{&9S7=fHLGqi*<WO-N`CTN*Pv>0B<o}fXFMoRd
zg9%j~{E~l*Z>#Z2Z9wu5Xa5UGe#x*5OcXRQ5ss6KZoJW|9f~o5D@H#PLLM+M(MT9K
zl>r6NhL7F%!gtK@zIR6}y7-H?96hvb!x62yv})o+2;+K|NB8~W)<wrYdgbv~Q6oU-
zOL|5L$5P-5g~^b8WwsEDsVs!wNwJ^0{A*Z)sAy@QJ286U2JB|qhA~OmE_t@e`0jq+
z?~38Vw7V$|XXp(H@5b~f)*g)_U*Td{xQk)qE(W&t|4$dA_n;n2`g^C3oBaH`=ME3u
zGO%Cone8V`nL2m(u2&x$^XR}uIk|%dbsZ6#w{`lWM_Lpt$Vuzht5@%&7TfPz_fQ+K
zlwJQHX`QhZWIj|*h{LJc9Cp>>z;;KdvN&b=*&O`9wH~}_lJ!MAM8tJok+iPGtp)e3
zJ$}3zIU%iU*Ti;iyUVq{Qkq$Ly->Sc>8l<&DAa;aZNTiWLP~KlDj6cI5ENm-)=oYt
zmIgZqSKjZP$XBbCg1u9pdg|bU1@m@Q<NAI0p)}EV^1y+|*Gq#y8ztfL1<>Yxi4kIm
z{1Q`{#CPnbeu;cRoARKxpq442;mF51ZFpYHP-jpKK2P&LNtwNpBuXE95aR=05cY9;
zag<56Muo*Bha)telH&1TktAqG5u+&(Q5yI@{&=bkbJDE`LEH_$G9K419)2eT*#XIF
z`Knrb?dUs3Ga8DAgk0N(U&$fNV!lM2NT0=L#>QqO_)_p+nyY0(RI3=-P*>;9jgM#<
zONHg+mB3Ikz)*r$qS(x#EW+aokz>NJeO!U~gEST?n5`hb<V{))8+!ItYm`Hgqa!b#
zVWYJZXJ58O+7!FT4n6=aFtGv743CnPs@1aJC98HIA}a!au`#snTB7_eIEV!YuCU0M
za3xlWb(+c)o2m$f6Igt@r+(F4MByucfJlB<OK5*|c4B^Xa(Gf$_YtvoXtPeTNXZsr
zk}V-DO)=c)ykWiBRB1By?DCGR)m<}ZCD}7#<tQ)!$3>n62Dsy52r;W6h+HAjs_>l`
zjtgT5Xma00p5;3rjjVeLnB<S-DEV^Tvy}yMw@T0{f$Ks6Ju-VEqCMsi)oczkB&lHr
zZ<td>wpKShMK~L`zYy{~vk<Tn3V%hy{B{9nLeXs;+Gr_zXVoD5QMGgMkX!IapOGNH
zYbVROOEu0mPMge{?b;(PktU4OKJqU0C{asP?X#I<DI9nd3cT0^lpc8+e!K$2TmdWI
zvPDY_fqFD_1u=)8S0{04Fc8Ncv)2=?dUS7y;zVR86WWD%^YaP>li=OYt7FihojXVL
zyQP2sTZRnTxpUAU_LEV)OM7SME@_ceI)kOCOQICdQZGv%HvvrV*`<9vd72S?TxO?~
z!+3Kh21pJ&;_gwhYKe-mdt>1Fi0Bc%O`9(4(ln9P6^5&F*t~gB+ZBUa4@v6XPhMr*
zy0~yoarX(yo%>7D4_gitwM|VKIdc8OIXStx<A*>!)oQ?X>A5<XNnxcHe9Z2JeNGz_
z`v&I84H;pEB3W0!Hg(T!*{xg4-0smw-7Dpqmc_*_@%QyDiV5^i)xRl!V_boQn}U>A
zWW3d-hO;;|Cdy$}tg%*v#Y?S*R)BvA>=#FW6=uNJ3=hV9Ar6bwkU3HourF!M3txTp
z!osc_Iu6X5+_LlJls@gY6fc~+sv_@f6pMQEBbJ%|?gf^Wwm2q9s{7HD6<MCq%6Nti
zlm1G&xNY0ZSW@hy`~&>dWXPMykT{QOj*DZC2-RVPJD#L6o|DF@#^!R!0DN*B!NLan
z+pOE=IPnNU0Z8{l-Gb@UUwY}oM?0!R+h&bzS9TA}(%vr}C%v*NZTEf8KA@fcDI#e_
zRP@fOYY*(c_mMoT%|yJm7^)nGeZ^67mNYX<wZ=Q$F>x-tAvQe95TcYSEz~H*8`VsW
z!e(OwoNwggFA<-~6uWND6j-bxr1!+u7e$+SWXv4RxRD}qK=O&zZRYjpIj;@+fo9+j
z{HthQw{COVt}R)ei9c3rIkWdYSa$cpLrf9_N>{d@(**-6N>}4-Wv(u*Xg8;8r@0+g
zN)-q0zWV_EjkWBFm_|6RNrItOacrc?ta?mRj3le^;kHm&k}L@!Wf6!hlKjSUatwy^
zWk^iuAWBNmpFxtcfP@JB>0%#1W{$+)Y1;nhuZMapirEuhSF7!23EBxZ2!E%qeRHj}
z!KWn@#YJ{ZXLY_=_<;sEbkOxS8$zFCW=TPpF#VpABduTbEnB1u@@;<_WWcHoqwAlO
zGmUQ}H`~?FqBzlMkqzzJ73O#C<c_kn%86+nAD(1#s7WSoQihtucZ1v9kgp;L>CZ$!
zUhz<603p{jU`dh!!V8-PKPpq&l$(2g*X<kn3@TLn4=d@jadvtCeuah4?(9CdOXpUj
z3Wp85_28_T{k6yQ3;NFJo0HRX2HT%Ly4~{XoYu3OB@gaY*l%FxedC7Sm(^ls@5R+|
zNeiPRhZGl$8dSJ>^zCa{ZOo9i9ZTD$r4Db?zN8IiIbS&^oincDrf%qyfG~RPfOPTg
zU_p8Kl%QWrrCA-?Wwq$gP8;5$WBcaKJ9SXbwaaeN4!`WsF-!a#g7iTBXQqY5XF26O
zi1)~pEH$pBni3aIC@jQ)fR^N#uWaN;xv_2x3h%R^U%TmG17rwqyJ^T_15jA~kfAMN
zZP`;=KkYTZH5ahuEF6C>(-uZ|UpDZ0c;eP~JKfi{bKdB-4?OkkhV%*fDg3t-@!#?)
zkuWaT7T~x3pe<y}_-|f*<G)$WuAlx8tzuGV$41xg*m5E+3F|dfdIoK{k3)dr6{z9}
ziP@d;@lI2!3UHPw+G}EE{AAOdcnApsGB|=%#N8l2?#Ud89~DZ+mnxaF2TWhFV8K_n
z4sA27uuIR?Lziz^T03mmz~Z3`rHd0gcA7i-t~t)6VZ&0Ijc(au!~IiZY(3f)6yJ9{
z*eWrcmuux&NHy6EQN^|p$!JqdfI;BUlEk7|TY4HJFHrpRM2+??%Ra1K9CnC)aY(y-
zo(-Yfr5zXl#zp?tpebAAJkSh1smQ8=2SDkVa~}kkRN1n;?tMJ>#*VE(XK)?xCz&W>
zYEW1^L%s1E-~%X`lY<aPtKztnTs0;+t7VF8PYzE^q*FkMJcC!n1N|$;F#`BTGR2q>
zEr)}}Qt6*aec&hVG*WBa2?|O;L<*6XCT~Ds;YoH2o?NlBTeK&&-(J@)vsSNPV7c1c
zBi7uO)HA(J`IQwLC*7G;oTObCGkEarCG~95&%dxqTGcN<YgNjv+IL@E)xKlVSHED<
zb?cw%)k`}o-I!H6Xr@~>_vy+m{??^)p8~ATaa^1O#tu!wj#wAzfEJ2^>T~n3Ez{(s
z(l+B^z6v@55%U$tpBxUHj-ZPb3~pdc7wp_Ie__?m1zpFKbS)k`MqYa8?itn9Gwwdb
zYDe_$J8D$l-XrjZZ?V{0lxln-j7%toxU3b~n^4*72vr>+UPrhvp>P}p*ewX;$#cM4
zv}wz<sSHV^EgalZsZC>BmNWdg?kC#VDe`P-lj%drY(d{9mV=*6mB&i!_)nJ7Pp}rN
zuom{ehhSk0m==F_h(}=I-f6QH4@|~*3Uk>#genRPF&JH5V|ZDFL4>(P=m4ui)?6CI
zrii`j`B&X7k^gi$58Ld<7Hh}fHn*8_@Zg%6_il&DY#FmWv)QoLV@tbq)||#l-@3)y
zj&79tgFkeulDk7C@gTmzp{NeC>Ts4J?W<o_9d}R1O6*5Uq;yW*J8jy!ty9?##)9h?
z>2G<}j(f^CPX@tROk+c&&#>y&CkVTQd(k*x^ck5zt-5z-T6g+atCkeb&eVpmRk$4<
z7;cVGvl<cVWu6Gt!&6IK0v1H_L)~Dp>jCG&^CKs(zNbY(f-N@L(WiHDH)Diz%8<Sz
zM@sVTl9Zd9nJM8B)OtfNc{V#|`WTyaFW(x;Fi1Kjr|I_)Cy*|k$xEV_<kbIt0&5>W
zd-0Kjr(fBxE}T2VJO5tk)T>9IeEpRpC*G1OHY{FHxqkkl^*Di}f<#YjvBL=Aqgary
z3<w|Lq6zVXxIBcAwCW*5K;L?Z<@$ykW^J_B53}s^Y$zM99oCMCf74_TZ#oQ7n?aK?
zWLn;rF5us0%L?rEDgFPy)9C-BvmE~aLZv(Z|5Ne%zsJ-wEI6n1`(>oj`0wxLI|arU
zYD3}1MRBYo;8zAyOq9j$4hxYpoZjRNRgPDaWpA<`8qnca+{6-qTT<2l8<4rj6*$F(
znSc8*MBdc*?R%ektxe{@Gtt(~p;1ruCj?gCeTCW=I_66IssFHJJNit^E7@=t@Kr@X
zU@bf_6!5D%OM7%w9`~cIFjWpSGEb5+U>qWVVd%~}vl4^tq~u0iY58zNcAJ|FDrf8e
zX^`rtB&}l2#GvTEQ3?$V+QYhuK}i@iJNR>^FZ_cHUc)sEay%tV;eJx6DiW-lE+VRv
z2tadgaje^}x??hv(@f#U7$#>CU?fIH;8G+TIb;Nel#@cR$Tp`yVR7?`!n#=MU>WHS
z`25Cj4xoA#MfnBuN=D9V-FilTF$W*M`3+zxgsA$8;8e!(u|wP4F=P6$cDKc`$gZv1
zx5pxPxv|?1vO>=~>d#;>E#uO{O{pTI1V_}R0tXak2?G*HLXcQ>aCi!0&@f$EktGfZ
zQjkWrY6Bn${;%uezogUhZr^3e?E6a^;<IQH+ov63Py69PJJ=>T$C=Ux*uOE_5Q0=;
zLDA6<n|!Z?%m6l-<;##6`l@qm5<dyZQqxH=T;f~998$wcXga7Iu}3;CHyK1Hfm6bR
z=TC`2uBMduCX3H`4U73E!|w5qqN8U4FY7p0*@CNjotDu*3WGKvz84uZs2q=;ajt>}
z)&GS-EzQIgrzEYa-zx@L8YtEO8-ubqSK@Qt`bj!hihmT@w(&Yr%nnx>x)D-OmRzB#
z%VjV+DATH=<;Y_%$j5P`j8YJGj5gDcAKSk_2tme%XvYI6GHEINbq*vuq0IzdD|VL_
z?Z=W~(%1@Pv6-$?Yg!p;4?8aAlWuRgN*wvZS0+y^A3MbdNiinIrs+H1bWpiu{ii{+
ze4G-l_dYQw;ct|PCoyObJ1qvKV^B%(=lB{6p1f=_2GRBQ_(>s<iDrz|$_%*nHi|^q
zWM);&MoS3dYOn;kUd-1+bm@#`GT7-1f(ALFquQ}CY?yX*48;AgG1^f!th(`k;%6GF
z7J&-72;9uuFe6iNB=U<>?O~o&2nIul1KHk4=8eoyBQ0gHb}SCBC5}*tT(OaI;|^K6
zaEJ*}8Wl~hFv8}9rskn!z)GXQ5CumJh%B+5I|l6?JeZZU9_6nNTQz8HNeQ8eR(v8I
z>biUM7uq*@d2*yLyZgg;0btZ&*~xBa$N#a7jbQtVyB+9yXrlI4H35tUDT@jUv{Tw&
zGoQUhj;Pz)vln2%5%*ulao`9MzSBkePJ8*%Gq<zh`ZgU@&Ysl=p`yw!?ZqJ4X-)|{
zJwyzOZc2%7qWB!_4ZevI3-^zr>&rn7oGbJmg-|JHd4iS;MMC_8xJ@|893o{mMB+BN
z4S1&%34OXrMk#<r5#pO;BMB6NL<NcM#$c(MtKZ(xzWV8z<By)IsbO8TbH=KxpIv-i
z)1)tawYxWNSPxT)65<iai8dz*oSb5{p~l2&<s~MzvRIcI%gUm7sF8M=JS`q`ONTxd
zo&XOK22xJ`!b|~!HNm`MRULCjw3xo&{E0a`W{kUMcJ;^49C~@%yfbIsdaB3W2@50L
zn-^?*Hsbz>LuJ$ER_(g+oHFY9Z=c(}__a)9`n$&;|0xEG#t{W3D>k5q*h)MiLE>7<
z@-TK-zeP<4l`~ktHy=dzkyC;s-YEv<G^NC~gBY|2?^$q4Z7`@R_;bcpIwkm4;}Dz2
zmCf`MqTS{^8LtICx6AMYDEWsCAyTBcG0Zd^S(98t8$>`l7N@4>tEq8?Ei+Y@!DLO0
zYuVBo7oo->Q{O_Bt({aWPg?-rEj9$1A~+n#2EvyUfvF%IMX(o4a79X^N2WwY6_E{<
z!eeQ2z^W=Vbs1SZ?V+>nmA>ch-TBz_XPIg0y+gM4ymRCW<*T=)DjiPDd+k#nUXS0`
zcU>>vRw-LrF?aT%r!K5rt&W;oJ+@2xd&<i0d2rRX19s=ut?fEa8Q6Cs{?KlGJM73a
zEVnh=v|)F(_M<&y=-7UDJhB)IRH_XjAOsc&CMYRlwwy0@BSp+%1AP1Y=-ZDzwzRVe
zu7>SzI;fnr`lms({hSiE|3xtfF|WWu;*|K#iqCoR{D|1Jc>gHuZT<hi%RJ82FZh+o
z(EUN;2?dLcozu?<TI{m=pdsb>J&lLde}S9rF%d_cinOYN53w{*slR|B;hY~Dg5t^g
zA)FtHDgIHUf=lcFqj*eIu$+w`TD;MuxXhu>u#g0sRZXyY6Oz>gb6IqT8m(tmb(zf&
zEXy=zrsJQu($VSBMo4X5rX-?3=HNJHxRN`et@dsK3(Xl<G_=d?ZY(oT`?LC>rhWS9
zb*6mW#rxov!-ux4J-AgqFW<VN&Gzxj(t4*(&lpv-dEEUwwT1urNqZeB+yAjvnd3fq
z_Q|*3uRVVrr$E3D$Q;AW7&N!xXTB{g)yCKfeK85cGK4SYt$Z1}GbZ+qG`C*}G#ymV
zZu_S}wC0==P61qdex90A;zB?S+Ji0TgGh7xg#iB?-x|S_7cb$6qe7aSGe!6NTf;0w
z4m$A2L7XA3*cszi9Wh>@QDuvY_(3R-Y4R9FP>7$PXpKVt*_~VDbn4KuO#$;#{6O2-
zAv>o_r<Miz@|&$Xb<W8xF4P<=wQjkcI%Vf}Z;S8d)gM!~DU)=C-m*BsZgr%kq<UDC
z!D@?kyW><h62InBbB1c>rvgFl>}=;7BFN1n*&L1HSL+lMEaJ+Xhf#$xr%<Z0ttKx|
z`_H$f`?_u%y0xHy#s5@N)#ZTpzszYp_dOL8BX!f1oEbe19*I^wwY?slQm1`bP_Tbc
zb+5yB;XV4)yu9Pur|Ice&UByElD+PGKO^JPb3N|C!Qcs1zUL#vo*VwlH-SaL8}r|?
zri02EdH~Zsi?TKyM0?IDVb9+YgJPRf;@c@c=QZr++bOX~|0t5`JSE7vx|4HNZunl%
ziif7>T;V!$v_S*p>Lxfdf1;lvF+9>o;c;C;{~tKBzoQMz{|W+{1;GvctnwKVtI$$?
z>3B*kE>`E1=EGfH(>AP48lTTB!}r`KY2@+>Rn`H6NGX~Ovr74G2-d*Db&mDZk#@52
zf=;C0OU1_oo#%8qW@)G43ST^_g<o+JN7^i^^$AegEh8dEH#A+rrT1%KZ5H7S1C(}4
zx<Keal0hE?Q(ig7?JeQym9syDy%h%$>$mrDjpa>zLxmP9XSawAr9pntA}Em+$SJ`J
ztQ3@z{zi$88K;C}_PL-$gBnpX{X0OZN@^)6#Wtm6ToIsD#qJlBXiy_c<|zS66>P~r
z&CVX6RN+7R!LuXhsSBr+L1#d!U^$#pqcebYGM+#a_Y6aC8f3X_?2B+Xwj~Yd1e3nv
z@xm2^Q?d~ZlV18(*@24?3+FelIKg8mi;0L-Sw!d(ml6`1q=uTyLekX`n+|2*MooLl
zwjpapA$@p?jS(<Bbp>;miHMz!h1*e4t+YQr_XPqaPN~XMC^lVPp}kYRXxq_;)>a%<
zPTUw21WshdD{E`(I56=X5Q;c+SOK|~--1m27Az8L8SL&0+kkF?unlJ6DKmaBgG~`m
z$xQcvQ^FDdO;8H+yUh5UphWk8Q^IAD1f?XukrCjDPKuyZ#qJQ40wI9_B|0gBQWcvd
zC<V+FqJ+zW%7Xx<-4eEpge2ljfy*)$gMiNrP}<EX%!mDLWosH1p))6VsxTb+hjlX1
znG-x!7)}XF!Rtgf>PH@cXwJ{vD)yS7looss2uR5dq<&(M;gX<~7bGtPC0cPoX{Qt-
zD5W%|WTX`rly)+)1X8P}l=$5gl&Yj@f>Pq&DA9@wN>!{(@D%JtjM0`WC?fOoWH|@8
z4W5XrWhpXaPuK6~5(-M1BSnob<5#K3Mi&*Qq?*c-!s7w`Pz~{=@tJD8xy)*g%2lIm
zW#&-T90VC9b&Xahgd1h(DubGbpm27RThjzL#;zQiU(O!*{{cXXoPwg&-6;Qm;z-4L
zRes?++CtyaDPr|pP{n?C`VcPKpXNDOnEv{Xe#fTJQH+JP*M+1Aqy|ZmO^6J-VZ1ai
zj<PEeA!?W$;f_?@ZU8W)GM63}%qKti<$OpBN^6s}C_u}a6#T8X8gLOZW@63${Zs~r
zfBIsjuN7s7hCg=PsFT*QIiGz7H#m{Ff|!bj8|;aUu{t7Lsy!lRNsLjAF%w+ck9HJL
z04iGJSgr=pqyA+IWeL2c9~xUxQOyQuwMwU&X$=5b<pc!KO0AkevhXI}hNv9IgIC#n
zQTEj9fd~o_>T%%uGZ@r`A1UE1?0JY^VF-+Xl^ls7W-i4z9mA~pyTlFzNB+>$i~VdQ
zDJDFMS@nbY`EBI9KrBcZT#5;fcGiC^D483iSpD}H<m7isaJ2Jf&Jltq0rTuuZ5F$W
zOCF+Ql6JfK5QKsPa;H6p03i&1ZV^LnaH*5#Xc%%7|Ko0cF9kPMhGM}@APh;N3=HZI
zub-f`fblcRbn###L2C(dMn@DvXAlk+k9wk7A_vXP=;zCU^O^&cGUow59{>eLKewU|
z@;82@b3ok;jjk_fWN6?>6DV1VA|b{8<P%u6lFyNb_^s5_5C^D&#2j;p4#dG6Ar4Sv
z194E{H&_m7%jq0q+(3O?o)`z)GB8feRsIumMZ~q(VGB`Y@MbErG99kR<8inSuqcrQ
zLM|wc_4fmkB?G~e6@!*dkYwKv?3%c`ay6f4OZu*%+|Y}a(ygTJuF!QmrMfip{a|j8
z7*ziYn@5Al>m8&I!c3_a6N5M<%v7HNBxqm;_+mG0IUCPs%86Od8L)UHAk7GN2CWFG
z(_ng+<uvRt##toEKyP8|-^K1r|H2K{nX_D$?tp|LdQh!T*Z=At*OcBB=`-y+8fPbZ
zzO(*uL~m0Ny(>~{?HY}<5<TB6J`N5(ZWHkbWM*QqTb2}?F~kZ~A7m7>`-_;xcBHuA
zNnuOiWQ&5-dwZU#VVOO(tx~a+HhAV->2u%er)GYp*|EW9d_EJOw;5uKot&&SgvgR4
zqI2!vVL=knRyMJ^yyw%^i+lb{>OOS({j$S1{*LKuz#b-yz&NF}T8mvnN|k2=Vh|W_
zB$c@h%zbbKCjDMiusxzJry5m1CCfRPj20|OT;r|fhnO1@oEVP4XfY0&w#n9lGqNQ(
zXRta~>6}G1<&10zP7Kvt=RpjIE~<gEdN>hEf56HxXef@ac}~4od@<U_0-KLjJ*|!6
zRkmq{X2p?aB|b@sb0E(Y$55QaJYK!#9I>=O?XQ4w5~L7lT?%OW(ME8Dc`Y!M3rcQT
zLOhk+o_s2QOk!SAx0JDC>gsIKb`<2I<nBE@jniyKfBEF~L;w3<WatJ*=&Du9TxV`V
z?1a8_m$gy2%N|2A^7RohQ3);{ssY5+3dEr|5PgNC2tTnA4-MK!2dYy+#uHCuloa;y
zbV?pOcJAE!4&d6OG~?kXVn6>pDq*=ZY}KkJFnk;l7*NK;Ty5a4;sVZMl;(lu7n~Lm
z(GF4@w~9fA$M{C@K|wBw@i12#oD%HXPXwhnL_~rdE@cQ;8=MjbWe7?%s4=Cn_?)1$
zS5nwm9y}$cX40)E@0D|9lKossd)YvU2a2)Mut)hY7!;VHIUENh3Qlf8adLF1Qw^2M
zpyVSW0Ebkqa+#8>DweV|L!{o@fy!Pez>0s8X#u+|O(3Q6qY47qM?JM6IxU#PeXT>^
z8H3vWEvOjoHR&`u$NRe!_(F!PZ2Oh=6^s6&!|K6-N@<ViU7$<~4MlqdAB>WdsIrDt
z2zFC&BvN6~7Q!k_rpTSMIeHP8tZrxX=2mA5)ro*`5(2`l)xQUXv;P(jrYZ^w;53N=
zBe9Em3g930@;W$Gruq?2Ox<&~ozm^n`mePAA(*rI)wW8f=U2S=A!5IeZ}0O!&$iOa
z+4CNDYR<i<PVL_J=%Zu0w3|C;&Rmvw4e^|2<#XngYkyrGiJ)&z9^15T?~$b}=YzAg
zmoA<;cS#5&rIrh%Ho8C>F3t#f$w2~1dWH)mU`n_`5}|q)fkDAqRk$^r5(Ld^e(j}{
zziCw}c)%gy#4P97gF-ws(Y_Fs;EV(krw3W{+21)sh!&iYKq6u$sUnq&qlhrZj_bOp
z7!idp_zaO)Cgvd_xya3g8u#A<UM#_9c)LEs!~7O78sxtPf)a%tI3?I0dR8<0Z<HwP
zK$J|<D#&gKNE#BLgGf7CiTUXu(*A(>SQpqo{*-rb3_|&aPKUzrk$)c~IHENY990;q
z|7mWtMuMY?0?twJ%z)9M+HVYL%cp-YTOmG{EH~JF+1e24Nn<Mv8m<q5Q9*NSEgK9`
z`f9@wRjhp1I3?`b9>I|X62O0+PzNGAj60zrI3<_|2XW6pDb8*%s6+{p7*3x;y#d1@
ziNoz-vI5M6!A79_Kn@!<9F)ZNI~x>@Ad^2bO`1{j*I!hnu8sfwcjT(s*E@C~M-8g}
z5)_2yi(^9~J*p)l(rb4`0PNsY9WDs^_(r8Dh<t#4a5)P37Q7^ddo>MZDcSe0J$O(r
zO!@QAu3eLgcxlR7mbBt^QJnJn3hme7gF`L2b|Q~Sr=*D15()C@VwsX)ulunkJetbS
z36FsW#p2<@`D5{%5?2?T64XVspyUopn+i&#E;uE_EW<9bb-{62!BcF2r=4t_pcIL-
z>)$#-i9C0~(@qvHD0%#0*}&}j1}N=f4}lT|J1GI%g6jbc6ST;_7PNLT>^UDsG2SWu
zVS+DGK75AIDo=9dBk}a{D*rG}jVm8PZ7*xjm5;<D)Gzsm9oA-1w}Jq*-I6|mbev-U
z<=cSh3#x|#ob8r2h*@R@xk^#gMu3~??fD+Al17O2%7jDZUoT$M!(%3Qh(Qeg2px4A
z<QJVH6HS7pqZnj(Szmd`F+U{{>ZT(@@niCSmIzA8{s1zTlvCoVZ%zsDB-%q-d8eNg
zDe4s5t%+PFb|PAkiFb+*+We_+F-V@pWnzgKWcauEpbY}u&pM~Xok31XszTopE?uon
zDe(X*r-VUR7Fq;rQ%YQN2uc-(FaL=rl4V2*@*e4U&<Suv793Q<y-1?-ZaH>YwX-s_
zNSY%wBMKIfqvy%-XgqO11;o`)1d4}8-sq@Y+$0KzQ{bOceL96pTNNi5P&J&SdTeDT
zK%tD`4sUq68jgr*P@OsjO8q$m>aNHGAQb%g=Ul=7<-m#+2mbt%*RB8i#)qh0tX{I^
z=-$=qk8Rna)K(rnTB+?o1>=w3)f=?eL`vb`FFp3kD+ak9p186UA~FGzv=w4Ao~X<u
zH8ax?mMDdI!z2~Gf(%)K_E_1#q(EL$sKh1eHaXZ7E5Uoah=L+?qm=!PO#;7Qp`Kgs
zuv+)pZ2x+YZF}a!hR#`gR<C|Rbk34S4~#2}jqjYY{MgA&|J*}MAS$SD10gC<2Iw%V
z4u=7Kf~c1l&=sQN2sic!o5Za<fiDa+TsbXizQfG<-VfK`*R*R}5A51az_NC4o_+ai
z>45L|%0)|-P}WD^y$GE4%wkW7!5$t%wchq5s_<0IfOZEp7zo-mu0uq2{wBE}?3bMG
zTX@s$GG43nUAyUCN$8qvP};%hb&%Ox91&_#Lqn-G1VW2w$Q>4#IGPM&lW6Lhh3S}o
z)48u^aZwF(-(R&$SvohW+PCr|&A!_A%eqDAGb<VVXV(t16`C&9S{9xZ6|boAwz9BL
zr$dc$!kJN{betzuBIv<O5yKbpe3`Qle0DR@f`Rq*AJ79Um@~RzCE6+nq&yVZ^5e;F
z+!MXuM_m{6lRJD1E@xkC$_}go@3!EQ4G|6%U9b&kOs=;(;t4pT-?J0Vj!e9AfE)bm
zocHn4E<?7Ay1|-j*L))m4(KxS@=P@S@oLjOSuNJ4rLtbI?~JT%X4>k!Ol^*KPTQxA
z#h1yg8gE(#vm(7X8ht@cc5h}Z3I(Xt7aXKDaDX1qSbwA6!O+Wz%tCYkIK_WOoDudF
z6<O#;tao%PC~aX{KFQN7Eio!9yj^=m&gr{tAoX{P(E9Bi+GoP^9)E*3OGwE|n`5cj
zJa}+KL40azn!njwX3mPj)?gP-hmxzj3wE=LJycO|DK#X-+ZEZ8%=<(DsjGtr5PXPr
zz7CGLk>c-BA!?wSFin01flcK7w;mmSRr`&_exA`gS(<xCY*DioPLH!7pGoQ6%G+*z
z_RO}f({3BsCXXe3^&{(SwT`&Y9(Iq})Td8Oc6ee!(q~WCUSbLPP!jQtQ%oe1j2m#f
z31E!udUS&z@&t}}HktzcO$3SMhR6}WXe4sh=xyxwzD)qc_S(m2V;3ZEZrad}szVI&
zl?Fi*W=2~A1_Xu;(I8~K8VMS>lxQv549((UL&~~%ERe5gC13r*te=19J1l86-|X45
zYu6j+&V9|!S6#m@g|1x5uNrMtDAa^5Xx!nd+rUf7f%Zo!c_LLEi#QQ?V)^Ov7aj-t
zN$~Fq=#~KdE1?GhNi^#0;aem(J0LP>tB(X{&wi+^yAM4*D0Q|S7oTz%CGb`g4J{1G
z#SwD6)e(cHuDD`ugV&u!FawSh<S{Gezi7M&ix9_Da1x2`TO8tzMkAs=3+h5@e%F!P
z`}bTmZ2Gj3=ih#UrGEJti$44O{NW#H1xw$4dDAnyt4?c)d2Q#k$Sm&KX7t=ee{6b_
zxwN_$H*0lw-?nJT-8+=58P6@5`Px0(PCS7FJ_@@t6uZOQ4Fc0>Gyzh_tQOUZ?Gby!
z9e#563wezkU!tLCH#h{X22DU0U)jOF+s^)jmop5*al0o$u24G@6f+`IV7G;#M`ReK
zD#|F15Rfl`%~6&H_ggMZL7p8RcP4HNKX&Q)XuKO0E?v~#(@q(cF)r=j?~i<X%z(Q;
zxu3OT)6r7%-8Y#OQ8!%q#ltqTRk8nN?!2Pq-8w?hJfuCRjo!{Y*S^=j!Te_7R78Oz
z!t!~nmgEE#4`Vo!lV#D|OU4BbX33A`(~G{)?4Nd{8AS;Km$(3ygg-V=q(n_PJL|gk
z^??mbmN3@`lTMBvaLdNw4;;R5#5?u!TW23C*?U{Rf|j40TJd6rDQn-Hhd<6MT%Mh|
zXzHv@+gDXAd?2F*!lfOxZSofE0YMuh&^*bGFm42DYa=Y)2&P6rA>+i7Dh78jo&?If
zanLK!x3TuQj$;yACv?r2IMv_5@#4j=!oxP$LznC{4#SERY5$Qw#@Ev5Yu5M})f^w6
z92%)6hkBD`H5rLJ{cECRM+8I6n6oU9bOPpB<c3vMB*dHicvL}rzuWCehn^jkaI7M&
zN3+cE?3i1|M%+1hLA>j+mD&B%l;0foAww>$@y)w@*&cR(h;7p*X~CM0mhE*o!4fHj
zccBz=Vc*5Kkkw`_yq*{})6y)?<4J7hP@BnRiEcHqVWW75NsbP>xjLXTit^k*bV^qq
z#-oXCliNcfB;Wq*xZkz&Eb+Ht8@r&{<d@TaUV)ygE8rmY=rpgRymE4ve$9>FSVD#k
zi)j;|mD^G~sr`;-X|JYG^GV+vw5F_Nz1cu^#O0c}-e$+q566Y4E@`na0yB!E;=)*D
zc#H`xCk=6>At?~Lc=d=cZR{Hen~H1CqW$%nRMin&A1}%>1)LP!)HGB3_Nyn9-rsy+
zh-N}tHCw2nn4MO(RqK(Gnu@<t(bMd_z3h>qaVzeh*txvQY3y+0bV9p0{H64~-nF+k
zH3xsBda>9r$V{tv5FZ*iK8#F}NEGkm>3KE8TqgO0>2%<55V%vXgK(lE{Z<KoSOD?~
zvEM=+bHI}+dE4)*saY_8`QE;LPjoBRE?jusyI@)+I^UFy9)0QZ;Uh=RRX@O-D_3g&
zTm6;x-GBeP=J1XuH-e|*^*=~mv3T5Bptf~(|Fvvz`t{BbMN-$)TQla*ugPx}l^Nv<
zcWvCLthsStpS~9AHv!KT**6kracCJS9vT1~T<@3`s6&HKKwbehqCj%)ui3Y+W<Rw9
zmDX*S%29^FyRafRbpql$q1fe)Ro!x#G0`T6pmvzI=%ieOSR5YnCbY5W&>5`o%}fdE
z)*0$R@^1N>;kmcwv`K0gRajD_eGt^SGdw(;%{V<O)Vbbf9WYS4i*^dK`A@h|9x~7+
zPlRlYGL=!UTUKV|-NGmy%TH1YvRMIdN*7c-&87F<d17s|9&HO^a^i*#ZRo(GoY?u4
zBYcU?GI@$`ncj*g0`A;LJjH_bvofv?B)C?hsRkvMDbB+`rmr9SXk+!JP1PHv7k!<i
z7b~URzKIZN8d(3#_ycYO`YNJ{WQZx&5*_2QlBH>gKrN?8$_2PbGL9gZnL^r-BH(y=
zqx{)%bl=@w%ifIBe(AuH9MJ=^lkyW=rrwe@Z%Nx<JK#B?PIWKJe-2oF_u7<>#Ub`}
zVGi$#xpyzb@}0s#N6$eBI;bMa!qQ@$QkgwcwUaGi@oP6=hVzjz=b3AN#UB@RJiEaW
z-Pl`yQxempYNhR7@6-*=+8-%9e7I)v!pR$J?!J3kWexh1sQBaRRaD<+Jhc1lO8LFI
z@NL_l+#tUvM7)uT0MlR$xKZ2had;DAB{Z!_L+b{iXDPiBbfh2|8Yfru_NqMXV(fm&
z-`q4v;0M~A9`?66t?Lvd`-A$OGIZUU#uF?tbil){QATn?&_l#(@bV5<LI?1zZa}hU
z;60J3hDJt*=FC~Rui6z}6Y5af9WHzL3DCS$eem&>zFO(zyoYkrMzonQ;k^q8|B!$e
z-Br<FhfcF0T8#)tqQOAjU|<;t(XLw>y3Nl`0XLZj2D33GicF%Wy;je;HQ)P}v>&46
zuj^tXnf=1Y%oa!__*<^Zt$$~B?c4wC`j2*vQ71BRW9ne)0*5r$fb>$lU5z)Oh}snH
zC05|6>xzaXV6X=g!1vQCkp4}j#<x&l4c$?LIGlE7h$qWAb*j}?VX;)+XSZ7i3_v}{
zJG?LKC%i{&fYqXQim_X_X5A9vdSp#oIqrX(sggtQmx>;-tc~ay3*O1feMG6_b|snz
zha2EWdrHZ`P3LWOuy1Jh#e0AdleBnxmZJ&xM!yLI`7OWEt(*4!cho&9_NVOD*-5vz
z?Ks$KU1_yU*HY0#YWKb)N94-hFE08``+(X>0ibF|zxh7->D?0IduEl+4!?5d<Xdk%
z_xvTXx@HBUGmcl>#U)4~vd5@;!jo0>(1{C|%j_AjaQxQ~Sw+}^?RmR=B<F>R(MWZ3
zzKa+hU&363yJuEvIxgrI*F9^&&$G2Rv`r|RFKV}a?AWbsr@c1D*XFJ*t-jQ*vgogd
zY*&7@JB-SWMNrt(lXd_*?7|<ZsW+@j7pIf=qy1fbj%w?%u*Rb>*op1t#W5jLykI*?
zjYD+FVo!%D>-Qhf8|h{&W2r@(0Ku}+Z<~;VYCKw<U)nOMbJB>~l55)6EbCf}IRggF
zX>rH#5x%8eC#3B?_tL{fqtoT_c62GNyOy2J;{JD?WjTr4l$x-xD`!q!a^n#_9&DNq
zN#eorMJ;oTV)eQZxj_4M19SOh2?=U+LBsVWMaOr#QIILPCgx;KP*kY`w#L^#o<9D>
z3A7SU^j!`1@BV$^f_6jt(pS4<$GUY`F^=bjdZLDYi0n8MB4X3jSX)^{b2Y+@mrn4=
zPZ<k9dMU6W#0i(}0VPGEUhgG_N^8G?K^Zt$6elX14asg3-HP;9$H(VTL&=F%g^Itg
znAY61ddDe;dx^z9d5TuegB;Xaa`<qzXZ@lRU%Y<g9KEt|x_*i>9!o~fFjRpR=>|Dk
zjg%whFp74CdG%<QUQP)%q0A#2qH)n~(ResU5(Zh?=^Cb7{AS<&oWW_|oPVk1;#=?e
zboGN9@m|`Fi^n&d%v9ng_S53o$;p$o2u0Ommdw8IUg)FIxVm&Pc(38~aC?j;-joy~
z(=!WbUZ3i>c!W;WQynl1d1ns4dnD>m10}zTGV0pWAAULg{)20_Egin2{XMt7vFsV&
zzg|1I{*kH?wS(6U9&zP~2j3jjVb&e9?(JMSugAa-cO7}EU&lq0=gl8LY4%}A%27^L
zv_E#6lHx5fXrx6fA(IN08iE@EL+t;-lALnu-q9~TvwQW*p;PW0JE5RY&lQ6oz52k)
z39GylZeP@`OK$U1W%HNj=M8J$Ze)DooaX6=?w`A;Fk|4Yefy>~LnH&qEP9qjGRcUq
z<Ge2ekZ3PX8AX4gs?x1$dZ`mRUZ)p(DC^Ka-r-O*9x4<v1O_!s2x`nkx33W}R@$3%
zYu*F*$9GA+Yt4pfOE&iF=xO2BR<vv1qJ5XVxO}ZoL}XQ!@^xtFs>xF}9NBvP==kwA
zt4VeY8`dd1rxSvthHPz{v=j~0(n(T8#U-jSaj|N2oT)6`g*CIPF4^nSSB^r_;vKn0
z4qG8~2WfH&O*d++wshz6tXops#TLeN=n6Tze1)FM>NPa6ZFJ97`y$+n9FD<5ve>q*
zQmNi-?abtnC@W?47xh#f5Q0<+?`7deHQaCef)89j#Cw{`1I3P3(z{08WwY+F+0Px2
z5YwTS(j|jL9C^i~G+}g%tHLIvk-jv?#H-dAQyF~5P*x@<2Tln-(IiPH!u$GN=Z$n4
z5_P<P+>T|LLvq{1=frmJ5!^{`>q>Nzdw%m{;qC<v%h=LWXec-E4&G2MQ`^SVk$jFU
z9Ee2B(eA}Gx!X#{X^Ot-hzXK^LcSo)@%Gyj+C;W#HZ1SK1KK$GD?GbUuzb1QR^fJE
zcul#YchELoGHruEL&(e#r#d3M4h4iQev1J1wy+0+EJEIYk=sQm5T|zVwSk7(n>!8W
z%75V^?I#Z`+|-7)+I{lUyOZkl&U5-QwYRjlu*k@qDX&1aQ{TBrcZwS8E_I_IylKb0
z@b(3SawW%1w^xHL)kf?zZlQOduG7ozY0^v2ug52pQ#a1>P=xg0K@#>lJl3klTFN4v
zPPEQustdRvf9pHg&9v4?_0mIiWSr4^bCmfNHLkGU+Jv*`v}(z8^eBt`<a6c$)YGIL
zI(AH3r(J@#z5bZdv}Ma;?Zq>HKq1EecA9lsvSkZG#jm21&Q`!}+P}uSf+5)P#$nu`
z!2L(^2gZb@EZnBTlpyg<mMWABT3`q>ol0o~;u3GGq1;w-ovJx{^aB=s|NNZdgkI@W
zd%XOqwp9D5t`4oSkACqbVo2#f|Ll%j6Pu(xs(qpD)Eq3EWdnqYGALy?zHO4%KpOGh
zcM5fK&VXMN8Hr~S6l<ESrlE`srn5`6>heg)aFOPs{`n0UsbDYPE!-SspgYxBFf2ve
z)Zxh8Dfyn1;Es4kn-MJt&CjDXX=;9oyu@rAHmvTB&6UBe@j^3W9GS6_Y4c_)!Q^-@
z5F6-1G$mGYA}eRHD@OFQQy9H+1see`wlsuYsZf%?(aA%6j5=x4t}<vq(e<0{{DSpo
z-FyZ`((bO)_Grh@|63Znoqe(+%lCwMW(42lE&1pnnh4OhhvAF*2dOP8-zGBed96D_
ziS!+}|2t^3pw>ObGHaOqZEDh|T|2FP{<So+fNia0$(60NWtAE=<+UNkLd_AN3jlz&
zqLGNlY7O%!YM96C3Jc|lHnc7G$I9qT@Msm<H#Ng;5%W?Eq6FJkJmtj&@8SKa%i8ZH
z?6<mKF+GX7SRbuI`)v6aTE&{yIX|9#{ptXzddC3Y&}i+_k4XL1=7W#1;NufNA66Sa
z?1GGtU8q5iR&BBup=~;rB4P*Y78eC)fHxJwlTf%KEHW*bo?0W_q<nJUe=4-EwF=e;
zfm*bPtoxPyR)TQTWoCVE-fOD1p;KGd>&CCFC|Wu;V27_{z}45!{@9Az03~WE@~aAU
zV#KNw4|v9l*g+>+QjWUq#WPuc9{6*aejfZTK#~0Ft<O%y>|X!lO>K^x>wAgaH|+eE
zAMU&Jp?=!ZR(XHDe*8v)lvIGUTEUTR4?NMlIX-R$JU9d&M}<LgY;<IV8jilz=9EOM
zBhF=3D5TU(RRjy<*@|V*WpcoV@NWutr~*Z|(z4<^4o}>FV)yRqMSIr`WwDx7dSCl+
z@3BKKZoZ?Wq-Uk}^TOQb3ujK)TF`d-9it|9X1ywVYsbP5EM4?i&-`9!kCzGtOK~R8
z;qE4Z!Dt12_2jVdxHy9@IShyd^Gm=}#R#qPaAyHOm^U%G=r%;AM3%C}KDOLDbi>jy
zyNd@5d+(m-KN>Q4A6{ZyEp6Y#c5a@#=k|FOUGiu2=>O*N5zkJ*tCb4n+xp?jwO6@J
zg=mk)+k6Sp(ar=#O|X=?onb2C5;!k@Mj%&<M37a4*6<`Qof(-+3-LZ*zi~ac-?8@8
zna7K2OuhEXZY{karESzVH?*HWTK=z9<$b!-`+Rn(BicunNYdA@UDgJI3uOJIi`X%e
z>~4JB8m(Hb37i2_S%NTFIF_d=2WG*6S?7SnS^uuB?kJo%f7v}9hvaveB9&+dvSQM#
zdtQI{MDMxH=0`_O8!_xIJTAPhveL)c!&|nWO#lOlVBkyGO=*-(GbdW(l!z2XO|g}Q
zMntRO5pER`53B^YnDoe2!%84FB$^%y)DLnZx)+|&dte*yE#t?vTe#`YMT>Yx+TN2^
z&wTaKVe7izla}1KZ_8V{4%jt)lCYM>-!dkzXXTj12kAK{a$(Tt60Kx;93&)~LZAkx
zQI@EYEI+(@RK`dlzDRum3`W_7_RC^>DDXM_sd3w1(e`T>iV8nvu3066kLGH_jaQZq
z9Pr|%ceO=JrSE;aqDxuU!O{1Pf{m*;`~;pJuWjPLkHE&g3k^Us5Sjp*#W04UpbqO*
zfGdW~6-qubizD1<gXUE1==m9DR`93QprTtPTz$N;Ofp=A>(hAX8-f)k3JwkZEyZuv
z4pVz0Hhi=A7djm!%2{h!^cv}?Z`c~`yR~3Ke`*>`0fB@6K8*&er_EC+oDF6&4V{c5
z!4vA>Or1C&L{138*I;nS4<>tHaEWn|7;O9%zu9(DP6$HBz|{^h^1;11<q~D9KG-S-
zX9M5kN4B6k!9<VaaO^zRCPzkWk=WA`jXijE0>R%<ogkxN1V2B7sV(K<ZD8o>=aNf|
z2YmEPP6xnhqGNp8PsiMa(-A)(V0^<*$M^^TIWX2lM_I*x4!Dsqoa1BC1k=2$1#rQ@
zN(DedL*ZB5!)MszPrhab0WAz}&rlC+ztn<L5(OL;^*UxJxG?1^21RgW<uBrM^$Wlb
zur|R}^*p@BDG6L~1>QBgIaZld5(wi8!^fObBdoFjc@dIPfV?UYG~qZRcT?~grz9X=
z4e;~7fzJ;4DOsMAo(Cmou|<|xjGq{XD+|O}e~jehFtP_26C>mO6!}QbT}YPz&C@|N
zQ~fx*AevVLG*3%C12oh9MbJSshX-gL2%?#O6PnipG!F&QO!`0hJQYMU>Lzn<;PX@v
z&6oz75LI-fE<sdLY8B!e`qms7X?1$|OC2)3)WI!b*c?1b7!*i1L<8!Aw<`)EFv;MM
zGw@PG?+1F{GV-|hTk4pg{nhYNgp~g1vn_JV+qcoK{qYAL12TSd>q>em0yj&XeA-cd
z^07}_#E#+t`56D<=W8mCe}CLre*7`gB32(GTlz~2`A9)?V}RyaPLrVOfeL8?$_avn
z0fJ{aK^hjQk)~k~AEsp-go(S#fZ3NsL9!ItP@qM$OoPxnF~jgM-Ay1h_wsuncSFer
z#|A_4(v4aO+acXhSe(!-ktHPJPftp!8fr^PG1|gm<&_yds<9y@iC8frTqKM6V@qjh
z58aS{<Q}jet0LOWl7u!c+(?h$QQ~nQ>wV7~Q+thibkZ+)1P^&hJc4(gwL@<5>PD9L
zrk-#tVY~B+Dq6PCUeUgybYyDE%(Z~jQrMLM2PbhpTHxju7AG|`m8C|;B(+kL%w^4;
zEX)~Ziz!rNY(ZVRiC^ND3{@WJ7Cln*Vh(!wmbV!u?<IhbK+X(qZj(aelOJ{b6^+`*
zb-A^w%k<qX(K39Q$wZHDocW$gkLmFZlj($Zk{;lAc;%W$FITK?(P~j<vmV{oCUr~Q
zIer4OzyBL+g_itvL$d}nle)~f@7R0K?0M-NwiFwIidYgzNbQmKVb2MH)TqWBb9Zuq
z)K3iZH!;ceA2v{eic$`6O1b)=e+x>4p7*0WdCJW^8=o7f4_YcJF_BCZm6*g6YVncH
zz#t)RcS{a_f+WcC0Cu$$09QQYfI&js?q(DIK8RED7nwlE@*)$=Qc#R64wYMRk_|;C
zyxAV7P1TAFI3GH~dfADb3oiZecJ3_Ed{K`E1qKNC8dd_A_ER_wQ)scI+wgN>H(Nk$
z@_IdVMb+!|FuESCT1d~hf-CmOB;Y!fOaiko3B=NdAZCXvC4OFFT*7rFDS8vv#iZ!X
zh7x5P|GC&yD!<~JYABZq|7laL7{oUf;8<X3!I2c$RNPZo2j+Y6WxQpK-q{W{#1rC?
zo$$Y`A^bH1{eDt{51sPhhw&&}Aub<fY{^LSXZFnZetYrN4}Col_dfIRvitA9AMeP$
z_rq6j|KNWmvMyr#j;&jykrYtYnj14A9YPU>M;Cre6mR_H3^OWl-)?3%7PJL~gj#<w
zS2I06ff}hArJP9*ocl|YwGM0?J8`h0{MQcJ1oPdWEts$U@``pAzVPC@c^lcQOkQ_p
zgIMTBb!*+(QL%6_f2$6og@fgS)6qT9BBY@@ObGLkK^U}>4=QIBP(3izTA%{1J)yMm
zIo_GVd>00hM$VLW5hYMWBPn(#f{bBGaV}$d!$prL(Y%TOMlOgsuvrM=a=A6<vymX?
zJ)StQ`C&m->drT~K@ihjqYiAG5^7!O(^4p>B<JGR`pZUmR~JqRHXY}Wjy5Kf3l-|W
z4?@+HU@}~NNtXhu27`nEXizoe)(X?@Qb5%N8hg+%LCxu>X3j8l7c&fKLJZ<+%UG+^
zGMO`;;s-dO0x{%SIH|Q};wqC^2UnS(LrC#JlLh)5?~Q;S_Wtexmn2l<V3^#{@ri~(
z#(^4f#i^My>fhyDF?Wyx6nz$Ibz0yGHYTnWUXk;!RsBKm@;&EDn5LIln9fzeHpS=a
zD>3XH&Xq7uFY$U+Vm@G<(lGcmQWEEiQ!{5Eqsfg*TLV`VX_G<%b<<|)El!I-<=CCq
z^#dskU0N+6c`qS@L#rh!+xT&yWuPSK5YCs7y_axn#cELj96t~=Oi-iM;?%H*f-flv
zqx@%!(=yU(5iP8iiLVw7@t-WxEZ9SAGd6|qA;I{Gt3dS@eJ&p}e1>y1Obp|O2d!41
zPKt&JYQz<%2ChV>N+~@^Ppu<boGVTX8$E!ZcorK}awUv;S}kGBU*cvceK26n(+7q9
z-B4w5iQAwwEYMSkh6!rK7pDfkW{6!3So3~boG-HFv06A7*u#Jsk0He<h7KybLV;Q`
zSVzTdbF}C6cY(mT-WV5Dd4&SCnwyTxL>YNd(G=);#5gpB46dxr)|S(&H{gFbEkEeJ
zAjZY<aeMJ&Uht$qKVE=v&nBEgnl((d#y1CGySX<$QjM4WRyGCocyN)TdKo<4+$2+n
z_@2P>Qv^CgNy;9O#SCoZmrvzR>X5qm%9V2u_kEy$@u(vce`k?fwm$lr)<>&tbEj6g
z1tra{H}}8hbZ$y)UAuhQo}{!jEi$g1t9-e=rTJgSwLi7BR%kvW*z5v(@1|@9oPhwF
z`3U^oluh2)mcP(VY(^$!^-aCNjMbGnceaXOu=n`p)gA8d)#<i<qhI-E_Uz^R@xb}_
z`NOrgt1Kbs_b#jo4XcPs+%$gtti+TBS?OoCPpB#~C%#hofp*o39i)@|3%9sh@B?4L
zO2mnA{H^x|SzP_aAj2oZ;))9NzMvXqp>Xj^Y_ZE>aVqpMD-fy{MDY9>W=a7t9{ZR0
zW5jx~hs&ibKK}Ug*K2A_gMZlf-JhUj|KBg#*YDP${7AdLem%_ZFRr7EgDhxMJggP6
zpnIU_V0x0-AZMk<qCJm2EV7jvX)eo>y&bdEZXLa;-PF{uLN$yB&8Y1l5BIi5?-Bm8
zq{(DX!#g27V%5lg<_1S}P#mq%^L4xxC}Dtco|JZG3)`qfyK{0H0g$V$mNtuTnOS*Y
zNxN~s`GLqxO6;B0uV1@%g(I{T$psMwcjb55HmYhu@XLc)nSD~abS^I$yC_zkK+g{n
zRN41dw5LUjjEr`$YPvvbQW;A+#37#IO*ZAY)f@vJlrA%51TtW7b108bPmm#qiwWYN
z1^#?AIQM75IQXQ|<7A_L(cY`9oHRK;?r1_{_3AZ;l9G<a$4&9B+^(Jfe&0JE?%ey<
z`!Lr(SpQ~mVfD;T_jYbq-g)-6ZL>R;cj$6&$H~>5+q}2-iuUXF$G2^L?6Iv|Pk>`8
zW9W_@(>Vt8(xGOUlXKK$TbbL8m*hlDRls5XAG{J!rcK*mR16zBc1Bd>es{!<6)U#7
z-TR^<Crw(hLc8)2nj@@W_ilReeC5WM&dak~zr3J$S&vSOy01I-*aO`cb?ULK_`avR
zcD=m$iuMDueYp7@+nGJPUwD4c&KGcPQ|j#s!8alec)%glh9`8)cAJV<t<6Zvl=4T}
zk<3PGXFVlj#5tk^A>J~=JFFZ5pp2@HaQE$3_pbj%R;kmbjm}@wx+TKS6;HD+T9if^
z{*?Mec`stVk+?a|Q2G=ggyLJ2lp(ATf9Un*-;oz@b-B9t@KuS&lY9r*l9emNt|oVi
zFGTm8Zk4U-o}E2Axd-k#w}*HEny{{_n5dm==*Nvg!X8=?u&t{6CVikqC`k=e+y?b!
zLdES7$Z05%W{d^;qm0F%puS8P^avj$wXrq0U_!rBz=G>{%X8dXKwt@Bh=7XcVF+O`
zPzZ_}3<y||!O$>Lm<*%^1<m6Dnh!RzKt_=cp<#mHumHh_0u~50OWfff#;NgD;~Yv=
zlHTi_nk6>2K&ZD8XAWh1Ys6e>klzLod{H1p%=K)5uRxc92EGdYv@B->d<FUp&@fTI
zSczf0eo<OuxWPu#9#Bu-6}mCTD<Qc;1yTcM&l*Fm*r>)${}SclxT0~eNP#zYLZrH5
zWN%W8nx5o!r>i!%*G3nW|It)<{!Lm2r$yK-a|j8@h@6~i3(3T?HPwrY#)l^M%Iep*
zsHl-7G`@dbh`%{^j#(VLw?XD1T8w@a9=sCL&VU{WDPXTz3)$Pch1#~Yw^>`YS#)f;
zwM@J<$#WBQHQN*JR!{LZNcx*Jo`7>1EbD{0R}ur<&z;-w93-E}tjg*|?J$wvS$&&M
zL~7IMxk%puU8pynRW@Sal|0YVie}}(tm0B+Z)S>`o9T_qRUL8O2)oPS^y1w=yl6+O
z&*MNhn^iDE<)0?Q4q-BAS_@sJ!&R)7g2e-7K2W`+Xq<yKq+d}{+hEls>)4gL{WqBa
z<4>CQh1BABZ~$t6^TGS5#3xiwBOnb>v3-MIElmi1s#G+Mh{f?s0j{W{p>1(;Qe3DN
z9m5l>Wv!wOh0R?i1Aw2+RXnbVCpH5o5eE-{=IiR**bx7sACvYDAl4!|2m^|)NT_W9
z*i!sYa+>iUQV8$A#~%geC3^f#<TeVm=IgVn#>h3eyoz2(Uh|mpkf-6PU|zH*o=P4*
zd<#mA)|_2`NT_XkH2KWNy^9~`R!ehpEKYD>hGA|gSusZ03Y)h|jmPsjWq6v;)?Bp#
zl9#F)byyNkF`uHVK-@VOkNpLO`5Ha)31A-k#~I4g8rvtqv(&QwK1IC3xuU@^Sr_yy
z=y3E;?)UdeLLP<Gqte&Z8uEy17t51UIYdoptrUTOJzcMI+a2Rry{de~$030R8~;gZ
z1|P@bWg2(Cu<<2`=XUa8<t;2<0_kBy#~h_j#Y~T`naj+vdhb^r7zNhGiI?W0)9@-e
znR2ia0Cov32g1tyx>0(zvdurdKz$zVZl>Pk6>9Js4u3tUk(0Eh{vF?M<O_vJ)KF=S
zKCk*;Ft6A7yxQvX8Y|{y<?|BrhqmvdZIUB!7}^_hiW3VAYHooyHX@~&D>F32Y_dk@
z+SFWIS#+Wr?RO9a<ec&M`ZD#%Z(-XE%C$DaZZ%|E3G=Kc5|GT7x(%6`mNa){i$TqH
z4)IQB6YhEePm+$^((|^w`#Os!Nnd_kG0W~Go2NsI#Ny=MdE>NALx=WV+9qakbay;c
zIy^R?o+)irFr!&2o+<5>++y4OwKd^6aqZi=-1o)Dk`04d9fUN9MdAaHan&5*4WYh&
z)-ngx5puymRt!fZ@u{RW;0l6xedpHgWBTr#oUR))+k33++~>}m<nF0G+kmOD({39g
zY??=-#tyur7rqX(fM|pFJFsuOO>t<1SwX8RAO~E4`H5O7euGlzNytXH0RniK2-4tU
z)uSu!@AbmJOCK)DoqT3GYt9nK?VT`?{jlo5H1CWqW0%AyFHcK8zvIq*^9L@QNlzlz
z|6y1weQRuuR6U$fXOzVhV|25mMAZ$Yi6=~WcVy9z2~QJ}4c_R}0hA~Z3lVP(QPp<a
z7qy>X+<i#Zo#*~Dc<F#1tkv4B&U^Py;a^Wmou8e-zus@@IOkS_Le->7D;TLVGSBg_
zu7S3}Iye#{)r17a7(vfhD2b}lfFa7Jf-E@1z$q}jR$8>XzgZc3ywp=GVLPAsprL+!
z@0yBpyndYxMmpnhW7Xr^|F7EhL}X`5Ie*-&McE==JC8ur7ly4_gnT)UK>*auaKM2^
zgTV90dX1&mpEGt}iww$-0kB?;w0y@EV1eGkb0ujFKs{VigcH!VvI-b5#9Hv*57#e{
zUo|NZMj~YQm(;GFcS{R}efl)=v$}mWR(nkT#8`xJeYkz}my}o^PeLmZHtN&bD}G^Q
z1uEi<zS?+Do4Q;Y%m6gf5f_so;FMTha}(uvL<-+j`&{dxxjCtwlO|5Bk(Tb*@y*4r
z?4cWNmL)qC3Ec_kdGL3T$d;i^IsRF(s!C!h|BM^2uv2xDfUVJI1hkMgQl?T|4x)`P
z;gRjMh8k5@K|DM4q5dLyqc_9ZqpMcQef{r~H-0x9br;$;)BnfWd%!hy^>O3(+<TKi
z5&~He0t7<XTM!u{#Jv?!5jQH1#En{U@4c&auPRz=t@UxY)oSgsPj{d0+WEBBr?qxG
zok}kM?>YAdf=~Ot|Ie$U5br(bch32p-yYLpS<%Dnj{p!O0>&M@UE{S2wJs!}yF9qt
z7R6$po?ZqO2so9PYcl5Z$TZ`PVI~l&{QN-28udpprzWLEPrdq`@YM^?{qntV{lJ;>
zZ?+<a>RIHWN3Q*(&#}RSqe`4vnH7sjYl0$#;b;N%l=M4(UzQ@iynJxx92CsxK!%XL
zGpE0HchB<WTJ5IL5U7~d(stEAP*fV^j$mJvDac?(=xY)!(re@3Z}0@g(o(&O1j~w#
z0_`ZA_p{VyNWo0~X>*ov@u`C+TXN9BgClcoIjy_+hOa$-bUuppO54A@JO@0}bjL^X
zsGBSw0O~gz_2kCO+jcBGPE~oFFTJ+VobVkL2h!XjRy*37vV#s$>Cv_7d~Haim+JEn
zq*#^EJh^5kySH+TJNzO6f$vSV9-;}FzFz;W^XM)|;1_xN&;4sNJ0<x({A$4?4{hLk
z?%e4+M|RY<_nlYme(~9zuV;x-?ouJn_xYhEGuC1g0T^qpO&c=N<R6ORA!wrv+0%@K
zXoVTkqy-tv&2r`h3%Oz9R(M1--_hN&)ixy+d}7OX+qB#WCk|IG6AeYAq`|B+g$Aiq
z8Z#_Lat#vNv{b%SG$znYvm^qV6N`QCy(Z=vq~v2#-WAebFc}1u*+9yLKX;PghC1IJ
z-XN^^)u}U*j2ThztMPLEb8sjDcmhWhTc9Jx9xenqpfv=AdV}N});urWa`WFthLRZJ
zsOkUQA(@X^xsv?*Z@VP(%&hwlU~UxD?PO$n8fl`hHd5=Nu>vBPCbF^pc#H5i7B+y2
z4+tjqXLx~qspNzVT3>-Q@fa(we(DmMtnV4W`SjT%(v7;B@@?&_E3ZixexF`DvG<C7
zwkuco-3NyaJGO4w30rc+lF22dWBT{uP4QtBRl`P|TtV*@OgCYGPH8=l2vJ(}2~ON_
zmaQM{Rm(A>%r_0R@CQ2wh^PXylPMV^VpwyrYbI>h`)y+ZN%|Y5aRDj%tTKrLLZUld
z)N&!1RHJ5>1UPAK-XG;!(}EbNyy4#=ssuEfxTvtdWbAH;_VtPge49%3n@%3FL4Fsx
zW<hr?mET|5juIW%2nt0d#0w>h#>|CByO1eW8=gvYFenc|jJ?8XseZ<2A_XGM6d;DS
z5Z47|PuTvDa`C9|MxSk6+qJE0x9V7vbiS(ySu~FwSWWBO2%iuO_;&m<N6eA`Zbcf6
zqIQt~0>-cZdHlJTAP1!&0A&caE3jq=b_q2@6f9z(HPsAJ%$RbwQPxPaZ{JPbI~Pr9
z|LEDv+gnX+)18XT#47#AmXux>=lJsE)qlo1AIM0Re);XL^eRJ<X~IEFNUeKm?#M_X
zUM~iRXJiD^p0|mfSRKoSRfq>|d0NCIu?X4ldY_bzPia1g%*UX#CpIZ*;o(ndVr{*8
zk%(WK0Cc&^9v$((_Dj1<r{@`rC?h>^Oj%i{8QDpdn>)@c?DpIoA8DmP-Dg#9^?*6U
z#;vm1QU+u+6lA5RckW`dQTP#|)(N^NJz3yaIA_u5j4rQHL$$HsS|O?_eWi>ZYZ=%E
zRWN8)h-@=fsuTJJmzG&9s!rLJ&Ib=t&T;J~5#JlPqm@`+Uhc@TO9Kuq-t{OftdC2b
z%;qN!kZ$9~k?>n^KI9G<z|a44WlfDXL<nEC=pUb7JMsD}@?})@YsNuKl-EL7=?oXU
zjHv<XvJ3;Mpxt~S{b06G7+To1mCM-#=h?Lh1G93X3Xs-S?}ruFqX|gTVb=wNd4(Ya
znaSA!a8mo>8^8z}0|h>!vwC%CJsOFC$d-6W`A9P&B9f&w?h5VUqO|uRKi57xqIa*o
z6+0dge5v2P_Szp119SLP%a(<6*V@{;Yg=buK34fT(MkWl_q+5NKX?1~havdU=@Ej(
ztC{1D=gJ|5_5wJ;Ku{E>LW|*aLsYbA(}buqM5j}W0;)DtDo31V(+xq(X&@=UlkqPZ
z7XJtk6(v)^pZA>Cth7+EOKv+t?rz!}to7Z}t{eNzhavom%%ua{?djcf<dx}lPj_6=
zCCFBi9@;9hZA$OVPNN;ACZqIg?K>CKd&Ws0P1?Nn&J9vsTAGzRv$Sy7u&$2kJiTG6
z)!em9e9koYFVY8CTx*0Vr;BJrDNKexm~gp}O7CECnN<2m9-`Ob6v7}$+r7^FcN?sf
z`k9({oS8!6UHQ4WO2V8{+(Xt&n6pVus`{<(-mZ8`$Egc8Z;6hMj<QG1SywYQ*Hc*1
zWo6$(&kh?tWy;64xP<vJkt2InR&E@OUiG%9`SGzk=2gsciII!Otv)V;DRu*x#T@Fy
zJL7VMn50Z^Op+(x5bCwZ2q^9p6HaT#wxCm>6f_`RZmZc6Y?!;6D8t_!2gt`?tYJXK
zj7?4OZ+hG@ywGSVPDU_%uDwHSyJ3z2X;oP*mo&V4_wH;-Q>Ki{D=t=RJ%;dhC6(!J
zt7u;|7R!^_q#nyNLDxXkUx+=*YqzsxWh|+gK~Y)8@0Fp}3BT*nqE`4*z_KWx8hr<;
z&`EcWy**@z$8+ncnJZVU=+<fO+_|IcuU)et2e^Tx?U~naM!aZSFm}}wYpZ+U0Lsfd
z4t)2@`M05+c0s&yG{l_<+(M&K57}L>52ZUCN>j+GbP0f1JTjCBzg59sZ~?3f&DHWM
zvy0+N632~w;)%m2Pd+C(OxDGQkX<`@ZXMYzjaw&)?|rAx&>B!C>XXZKM@Q<dp)m>G
z7*cD^rT)0kbmoF%Gy5g*W)a*!vtJUIIcA<xbdJU3K|2rQgg|keH+arfmz3`sRDX$v
zuwD7jy^m-F+u60P2WJ*KikuY{()ZWbK7M50PRQksl+1;R@h`tTZS-hjyosoX*8Tev
z_pS?O)1nZhq~1G@ypEgvfaiDZn0xY*mmYf!_l(BrLGVGCHNu*Jzz~Fl4{*ZN5EYK9
zCpKGDIIV{j;)Ovn@Q5Se+F^9<FD+2mU0U&kA4ijm3x6AMu(EacRec|Qhh-IiMivb^
zYa_NFe<B63uEh@f=Vxg)F%j2E5$QAz-hghjFXBMW&>N!NVNse8tr*N%yuqAD7feqS
z7H_!)64(>04YX7V{(wvY(_|D&PL|U*$Y&$#TD6LomYya_B<r+P7oVLye?*)!(ryT~
zN5n}L%f@6rIJT2e?d!ll({QlUhzDDbS+=TGZuF3LPG{lJxZGAq`g{+Y@*y^bvi^94
zzN_OhL|o*sU|QjqdLtEr3aU>1t+>Jzs(_eR#qJ&<AF^CVNr96&E6E#E7k2O7x4J00
z%vqc>IDhn-%JzGw6b#HP!4dbIT->wAiYc^W3Vzw@S9(61HM^T3bV0afSncRZmhkzZ
zA(fulpNw67bZup2_k9EU?dw%piL=}+rP6wpls~ycd6fyddnyC7xhhU-SS6^Fn(=ok
zX*XFUjPT``JUaQriNg=fntQY!Hqs@dM!oeWKihZu;K8Ri@ty9{l$)c_Fla%LI68iq
z*@h|_P@Y7cS5&I@u<`T$N;E_&EUGOg!Le*L9&Pxz&xW3DN@sM0JcvTrk3U{Ndv;yD
zECt5IEslyf^4~SI3xjVB-{;`LC%5=6(aGUdpp$2SA=q4~%fN1(SzDWAfYX&(6%{CO
z|Dn4xE!ckr{Zs#?*vcwh@atO*%q)s6im$1mz|<=+)^_s4cm*`Vve=+MaDX2t1N9dG
zuekXK&{+$8)1dkgRbV1Gbc-~HgBchMMrfSsY9r@?rU7DMe~rqFay=7<KQi4E0_YS8
z%W%6hvf8y<4!6dsQ!23}3qNFKl-_M1A1ib!5nHnj>9I}j3Ysp8Fk6`p%DCx2Xr@Nh
zZ&+5}Ei1fDY<5OP__l5Q9iP4D&>+JSqX8o!iiht64AOCtwEhZ@&c7<Jx+#N>CD<Z+
zjy8*RQbh!&w4me1$sfm$ujg+e*Tx3w{07Dt1G$q{ehY;x2mG*zp%9nRvIFZzC?u8N
z@>oFywJe{9M*u`QIvkoFl{t(rM#S39xsFaLL-Rvpjr9?!rl|bL(pKde#w08MVX$bl
zjB%zTD|ET97tMQ}>awd;zDnHP+nD|irZ-X3q1zG>q!Y|~v)ubu4`-TQfr4(m94>)i
zO#cB;IB436kmoO+Kzejoy=~Uu^lmZrglpu!a*N$_lajjdt7eWLSQq0UfB2Ht`Q`|w
zPQwxtLCYAP^0k<s`HpZHB8PG_j48=>nHGof{?`2vnnMa>6H>ZMjwcSN7gO<A6TDhW
zV{DE}PVqE`a!}Jxs3FpefX{HF7gcyHTrDtPz5)v4QKTShOD|wsNu?laho)u>EDE9?
zBv5|#l&6Px@3o`)<Y%9~RzVi~o~f@FGNsuc+?Fm$&iu9y<fNb9y!}WXs+*y1l4QyA
zePRFZ%&XGx6dXjZ4*+twxO8_!6e^+wa}F^iB-~;0I&`&>+FAg{fWds!eI*;vC~@?!
zxy3jB^x<Ua_J2J3XuW5?XKVeenUmH-fo*fZ<JlWiblk>h(AncVudd{~`3~;bac&FW
zt${-V@vM<vFWaJ21t#>Q;e&KB7M0Fvvq22dSs<M^h36nYiT$SPtDgX3VtVj@37qOw
z6AaT^zy{JdN1pw!K$FQNoVo+RJ+dJ(*puR-4XG}3v@3$9>BgvQqwhO63Kr<*-_a|D
zW;QAPevdAM81YuY$W|SkWr;O4Z0}~yVta>FUAA|C8#K#ipJxmM&8ne$=)1^Q(>?TE
z6#aV$DocqLX&g@JE1+gA4`j?T7}4p#Xot#JD|<PpU_~#lxf#j)#)v=yZ&6!|Dl+q9
z3zItauNR9SoqFO#{R0ooJA6iRgqfCx=*Eu|*Bl=;>R<ozZB!Z`B<wmTUmaC~AA~Ty
zY@36T4uq2y81W}J0|@0R{m<t33od|)h%2`4r;`Gk7zFg1IZ{)5(rd=w2ykNq46ddo
zNV_sbM`3^gPYWcE00jgD5a4yRYYnpoQ6!=Vg%hKS6KDiQ9@?XwwVgmq8}f6Q4V_<v
zgL@^l$)Xi`UgUi4@MNRCD3;&b!0~U{9cFv`WZyU{iox_!PDL^CVTfW>*#1^kEr!EL
z>4HAzpb5pHT3Sa^TZ<mRG!Y+#qac4oG|3;}bX3%BA(m0{rF^NWY*Zi<S}JxA`%e0S
z*zcr_YsXuq2gp=u3pwQbSJ|-KR{e8x2B#i)_Nj2<{O-RbQ>R;xU@7VK^*Y`1&`|#S
z5d9Zt&fZ`k-cr@zgs46M**h#k(FLL*De9S2)Li?RUVPd0AzM8lbx;uqeV}AN2t7O)
zX2Qw&{TIntl1ZXT<@HnEc`54j2fJ5~JTQFN#EEx5|5R$2VEgV}lrtZUB6vT3@$0ZD
zW5=%Dw{OUheftg_`s`0h`rzS*Vfd^@D&<q4l|~q!W9h{UBc@23U8_O$FzQj&)RIUq
zX(k9@L^4HSRcex`U5_?`VXam*MkDiQB?}N~>Bg0O(n!P)4u94lNgr-KcyR0CEr$<F
zspN{0#DDe;iHjibNEu<$7hnHdx?z>t^W9Bvo_OpnQ^Qw6wCU{=NB;%1GN8g-JkSdD
zr`(1xok7cPRI~BQ2(+S_xI(%qT2ZyZ6Ps>~YPLI@)anPR#hKSOaIZ|7?jM(NyQXo$
zZ2n)z6@I&GQN{%|s1i+JJ&1Tz1;OW_cpG3#R)pW?YbeW;0kAjwM4ou?fauyhqIns8
z%R`G|bJEM{H6+s~O>bJ!y=vHnbj!l17=pZ5X0T_wCGsW%Gen{~pu%7%0WddF9!1KA
zU|HW{E`(aXkJTtMG{mxj9c*B>ELt!Dg{wFfMnzd#zY~fQIO;(8-|?H4MJV5HF;{uH
zp*Su*y$@ZMxUG3s--Mc)VC@P6EsU@km;5L$50eaNeIndtMprN)YEQMWUy)W1zkWQu
zcTz@7Va&uy{JhJbhlVZI2d`NRN__*n<M59YYN*wTG`fOvUdr1TO;p4x_<k2moaF45
zT%2Fi_S7@DB7N4c3o|W<41fEDd&h8}sYJgFXo<j9dY^+?H#d&NctP_F3^+L}oND(F
zBAPUNe@P;EHDz;!>nN!>a$(l2v@X#bF3yS_T2i@t+_=%B4~g8)<&#%LieY_Akxypn
z-d!5Pw;C{@Pw)So+#tlz-VSJ}#C!wt&M-f!OmgW|1!$_*Wd3j^H%(q&*}i}LoU<Du
zJEhN<@zTkM9`a0>GGaFxY7J@M4`r8MDeP?(txG1YKD@qfpT2`|79FJX{4dzU)?Ai5
zHp1v|8gvONF-@Cn$>O}pS)Sw|Z!$_r!4fI&EYm4iY%MS&ze&LQ>p+DFnc&HEjtSl6
z^EPC4+F0zFJZk(^1Sqt7w0HL|Q;S%D!fx{N6LFKBJ$qO?Cluz6l+JHj_O2<`fzX6O
z_Et1BAuVryhO2w$(%!LYJLYaYqSGZ09B4Fq>{Qks4NJ%(C`D16)vZVU1B3*~;Yv&n
zgY@6haoQ5a$^!zISn2y@Rt7&Hgy~mW0)J(2(2y$3H4$??iMd$eR(%Mf0b*l0T1*{k
zSF;6#vZGwk)Ibpd)}NNxjjKhiFqW+H^jy@UtgJkB>f*+dff?;$3Z3+a3z8!=Y?)p=
zZ7N@}jxRoR)nZ*>2$?#~_xd_tef?zsv#9Y$eu3()yl{htRssreC@E@B%d60QdrvQ0
z*1LCTVQgkv@665ny0?pO6O-%ohQSf>;F!_Dy5)wDlY1Lh3?C61GAGmlm7)_?{t{N6
zjPmViZhLxSyi?>H!C7i=N|px&`@%R6E$7>$exi6gMHOs;?7@y`-8%oi4X{{X!lQ%>
zLMUa@esv?yv-0c~bAs{WhBoEt1u<=62M%nvbU>fN!S1lbv%B`-jS1#KgK{OuoZ*wV
z@Vq`mFK#$=HO#bFubVpUUJspC7v8yKQfeFfl3goDj~0Z&!puxyd%E-%zY&r}1f}ML
z^P0nHrG0HJt&6PSH!F++Ck)IuEw>FvWhKRuMEJ5YN1-_-tskqLgz_NS>-k|-eGI`1
zjK)pteOuPwWivTwmV-Q#V4*ICV7({QKr6p6;*EJ2o$|XH?k_;KQ5m1rQD8Glu<>nL
zFSeEIC*1phP6_If0O{!wkS^+NhKX2XK-C1$50!zI!ZCYc^H#|uB%RR^W)Wa<1%ACF
zQ1DL>m+h$+^N>Y);qd(Vb$jZeU$2uA?<-V<^--B^G-jod3>Gu3OGHdOtx|+;xy0+|
zPXVF@Rg?qc)2ZIfG%-2gn?zqCizZLG{P5B9lP8mf7l#d#ZvXtf^wS7o=K77fS2jHH
zuUF4+xRSeZeW#a}{Tsci!oOJlPk=#dHPONmQ4l9W<#K6M<7cWryZTHd4A5-?&XhVL
z_`J8?KD=_p)&o^T?d=oua)-A$T#rbT&pzXa_|883@W;=-aV8{mp~WQqcGoApg$WJV
z=vT1r5D*$|FcHNNe>X?jg-?4L%7QS+Gck~z50m9*r3QluCFjC)(vP&)BY!KkYix4o
zSRWiAG^zzU76*f0tUF8-V-|?PV6!<P7g72TgC7;P*)_t@W-4vNuV%(1XpfZ)fkPuS
ze`h0k$KMH3A^A}o{B=EPbK)J9232>1f^KiecR~;e*1QQh+!>v0w<pE$pEYm-Z_J7b
z&yMtQf@sc+wq)5G8kAMOtNId=UTEPM9%_f_!Y+D@c8W-h5mHV>m@7{aIy9OV%l>!K
ziJ6Yvh&ZK$64`uS`i|EHsfFMm=@ap}&71snlNxxzqDhI>C)pdm#l)}}3B9lzq1aw@
zF);`n3V_JM0keBL5g!n+2}V*Soj!HZY6}td5!Oq`q*G)zzeZY=Uf^;Sq?0AS+0q(}
z>Xhz^$rzOyLc)VW)k?TpIOkP|duZiT<$@q~&2KQHcFd+&e`rz7JWN<qHBnUgD*U1N
zd@F}OBr{W;ACsBVL%KV)pV4JfV)Em1dfM|_>+}<ip}45d#wB7Rpoj$LfLyK;b=sg%
zr^X7)P$UBByg?|{0~2BsEKsrh$p<)cKQM9}2F$%KdidrhF9{jP2dkyyeyBFL`)Az)
z8&B+gUlYuioftN>q@?$(MG5XG1+q;C>V|peyUJpSE;BPN4U&MIj|}i=be~yIQ|ooK
zq?65n4jEp>oxqeVoW0P*_yZ#RaGhXAh%f87q~hdfpT16wDxV4=((I4El`j20{D4$D
zFFyAC=7)~Lrm~)zQ@%Y5b4n7}%C|_Nx`vsPkeZj}jtQp)XuwCDaS3TLnZfEHxVvb~
zcXG363iq8-$f$|6$bomw@rKwTn4ABCvyk*{kMBJ&<Z?||*cY!b%MZ2tym!YLAKR&T
zKx~iP{_o7G+)y}RTl?OFhe*!(<7<|-Z5!Lc_26MY;NSeCcv_o?)>&htid{W=uF1l$
z+?4EW?BQKVwzrrVg35JDjA9f_2Q6b1sSwZ<#Nn4vl^DgFy{6D8!QurSipzHmrcr|B
zWdQ+-4!Ai20~8S?$nih>XAIF;5EZG#j8vqT*)Ss=l$ZUrhz7}cbkVT6eSf?<czfTn
zvN>JnZqBWp){Wd5xpdf^10x@LB_U;gTuj~I!rECg4lQRfk-x#p`YKc{7Kj-Vu8kB_
z&^7~<Ep}5|xbx`TAY=aMRT9;2UH6jWDedQODVZ>}M}2A4+`d1AGausv!#YoyIOE_d
zaz`?aSY0*y;K&^>;|5m)MYe#>v!I8FU^UciHRn;BGhn1ZOrRy9!D-D=!8B5h%F4LD
zy!+N4MDzQgt=;>ynbQ9F@gqm_=M)d<eMoYmm&PQrh-}GhRhtkmJ%`_~NUx-2PAVy+
z$~4%^gV<eWzy^Uf*&J{TacYxSjosBZ*&h_!1FMuwV;sY{WQ5Dnb~zM=Ciw?A$<IV1
z#XIQ9BBH9KQM%c9_VUFi&t87=Vz%3zoz=0U4F&BVAoIyyv`|<nEtAHtMX}sM(w?}b
zGw9xURl3TXJ7i~d=#Z7w5dc!XWf5>7l!cn%;s!gzyiO-aY*cgMBE5=Y<-fRrx(lTt
zf?sn8&|fO+PgPb<nf%WuE*%;<62U`Hc|Fr>kBi)jIhE6*ROUHj*Bs(2d-Uks*=Ot9
zr(Zu%wqe*N9;YK)Lrl&%3IYvrgG|-ZIojkSV*MNt3PK}NWQP!Si9j^<H+3LCUVX>w
z88Pz1b9bP)eDVF!XRaKcP`A2nK;@b>OKkhsj$axj#?Bb9aIbXpmtUoSt$q9IlWz^^
z)U9gcz=3^-Q;Y#j)5I^)zBSM7NYC(QrE)Q97^c;b5-8P=V<x0#7Z&rCApQ!7#AF7)
zckeGEupzA~z*4JHpu?~Auc^Hgcwt(lqjPGqJ<gh)tx+4@o4Or)tEK<%2U4Wd8O@~E
z)Zox5!J4*hoqZBbQLZn}1h@lX7~6}}y@S(L3%~w`ZyRlpzblzPg-YNV?&x@@BQf2o
zHl^sjSt%Y<mN(Mm;nZHP8f8IQQW?D(>^cVGAXVyR4T#F)xR!q-gWt_4EzQU*E0eyM
zu)6+`B_XW7-R!Eqxm9K1d*^oR!J86Hg9f!~cE<c^uNy&yaYLv<_~zbigTWB)F7qbl
zM{U?3%iwuw`8XI+vIvz}l%Bdpf>peLvWm2!tlvaUWAmu~j#B#6w@Hmt{Ap3Dc%OVM
zaW~2HVm$_U79FDR@FvMZZr`O+6z%~}drpHAxq~U@3x3RJR!SHGVUs)w;cNYR;45ro
zs=m0^N-!xOs?yQuTT-h_V)+@dfxbezgEDn#iU$H!fgE<9CetFA6v-F`Cud*#w(&h0
z1P7;e_mm_@K^&acu5~9LnYZ)!Bd}f2^b6A+!~^BX-fFFWMNrWA34bo(yI<R}XWrwV
zK7R%QUyTh4Q*pujVRP_;H{N8^1x2Z>$W5>syjD;mS!Mtg0=1Xx=TYw&m0|ue9$mwF
zHQqdVvj2F>YzpVP%gT2!X49)Z|H2Do&N}U^-Q!qLdW>^^YJwb;K6jXQowSOcAOQLn
z+t&<`(WZ+EQW*e{T#WXA0fP610`zxWhyg@KzxZN@{*)ID+S;pA+ZmlGFY@*|bqWBf
zdoQhE{3t1HuG7Kz(d7Lz;W%F<lW9#dI8p?c0Nu2mJ25mlBr(iv)p8nh7&RM*B-8vV
zq!p=S*|mq2%Wu46Hw5R4GiI_MO)~OFQZaWCY{=9C$xOCPdjOS6Bu+jEVO0Ek<98z5
zONj6t;Hw(?APB6-+Q;h`?>tt|*YJtHk8Mq%RQ!C&f-KGT2(McE%5KC`efHdm*Nyy7
z3>%%A*?>M1!82Xm8KH(0+6yh&m}rf+ITDTDL^WFf);jXN4um>qdC_t2ewSCk8Ym}X
zoUqA+3YcZ@S5x=}<B;@T`JG`cP*+tt@!YVkJ+}^*J!6aD8B>DW{Hx899(ez@bh&{j
zYn7b21$CLJifq?F*Vtm+RM`8^IS6}vzow-FiK-iyXlRd%WEh_cxb|FUcX~`&kuAJH
zaqO8?!J*kyFLxDrUCADoD>%g)tgFozBNZVTE|@%8U!5|4{9VL+5-KJu<G^UOq!tI+
zQgWt&Uo1X~avhu}X_BN>c3!KI%I;e<j`+cjSLZ{f-t&<<h;LZe;-JX~Cx;9vZrf+}
zB1c*L{p-iM@7Pf{Y~s9Vx9g{-9l+uHY_jmpqp<TWaU0A9aR{_1aJ!6Yw&bV;hlVp`
zskCZ(r(mBA_Q*bH&KZckI7UT3WDZ7p%TSmxP&LE)A_4<M7)L9B-6@<ud+$@4C^*B_
zJFR3v`?6Le3oEL-&fQk~(>FVJ4xY1iqRII30o!ZulUvN@pw~N`^CBbqmX-F*bFUx0
z{P^1P@}izOh3h=%m>?zWTLWZ9%A@E3ZAb%yYUPg2G21M1ppYfP1Gye@ydfRMy8<m`
z^aPm`f|;BB)^nO(06xXY1{S0+EQR&LW`<xPe2hhqPpI|GQ5acS8Ph9g<tmo>cyU8s
zH%f6~HhQu$woSMsAy!H;r7Z~y+rFJ2!IpIJ&{altr%t>3&EaSGN~4kg)OTfk6<rCU
z3XkJR@`0L#?u0x`a*UW`M>*(#qsZY(kfB=QX~P+nGob-GavcIDcn6*d{86&$jUGU=
zluGgMzNpy1pjdKe%~~ayvq$&Ds=SO0693=Mi#wFI9$mEm<>+Y7iH@_jUfwf&pS%1a
zK7GKrl9HTd{nJL<4(#Xq%9bMEv!g~kogH>pA!z|QMt0j57u?fZ_3Sx!==hcS__e$k
z`(J{nACUHZ#L8aB@wEXK#+x%Eatz)aO|3OD%}#@TNv%E7YggAsfZsG*I+fF-*N~R|
z4shPc<Pv^&_M0&z$~l!ov^xC(?$n1nEPqILSzL*0Y|R6+=N~%!<KZWsxUwU^Pg=I4
zFmCt=vQ;cTHs#pqXCz0sZGM;mj@)Y5bt%kjSPvV~gU7BLLYL{Zvu9I}>Ibj;)_y}>
z^*eE|`l}j1V-npq8>|uW`a}(9jiy0sG#VkmP}F>0{&1kb<yH{mr``Lc{=mT<+pFfR
z_gvrKaYe_jxntT^jOsdf$JC!}uYMp-ySI1W8g@O3)_9j3NlcmTh-Me3{kqXB6_0~h
z4eA#J<$}uXaK8vTFRUE|U_pfQn*n65q)=<86_n~|y%6p@2!8W3pWwSegA*uYS;lw?
zlFm_UcQ>p_9l-~ksd;6BD_&!a5s0lIGt*T};yqR!3VLuZ9*!(JM=n(jFg&v}F-oFX
zn}h&EOS8$P+1jMz|1S>+H_xq`s8$gb3{VfOpQM6aN(fesUwVG)B#j`5f+lFjmjCM$
z{3>Z^WMWiQViY+n4Yj1iM5md_5#JoLH99UPCO%4<BAEa0&)_=Gq?!_TMgv_52`LDx
z^8_2b!NEk2Mp8u0`mF+!Svn3apKk_nK@N^lQ2w1M=+;Q;)$DKK5cxw2A~U7+4I}*D
zK~Os>xtKAMMGo*Pn$v|GLFD_|TgsCygU<pilKwskR45l}<&ZG9Th-o`nLRLf>C#y&
zB+bRIq9JKyz~CyKeyP!bM7@71v1u*<@fdFKaOh$g!1xGNkW*bNn?-|Sn8OkZPgD2+
zPM+OYCD0wj_HSTm@)(Hqh;(O>YHqi#z|}gdqDTR&yxh`0AuDGPb7z+N0n{26o5Gp_
zyjNROqth=BLv9^64n-EqRnM~+Jp=Lu1x}+uzK))o#*k8JvS+63jWM%;xVdqQdB>2F
zAww3mDJbg9?-tUe`qp_fW=f|?Uay`5$|Pzq@DI;I^rAz}0ted~Cwgqk_=;B4QigA$
zM@=Dm<F>EL?2(cT8q~ME#iYD;_0CY^un^tg!Cmf~oNwGkc5=UAZRmc6>TDrsuNtAJ
zdRYYLiC`(C&@clPG9iFwg7~P9CMTz);OlB!fx{V|9Fm*6c(N)pDJdy25q~vI4AzaH
ztx|FQZ>^#NITlM!h}WTiN4WJOhdd{^4?S$9?0#dmfVdfj{N7x=n74FqZHO?$ASAD>
z4Cj$Bscl<PHCg0`3;`zn#&0IQ#AleRJ|s*RLP>sz&Kp7xC_PUOEyODP3>zoKJPO5z
z*oZhotg*Ok(IQO1Z&n3OQK^RvAzI%Jj86w9+sOAAnDuvnPu&Bra}ejD=~--STtfvh
zWsx;-iY8Pflgj%t_?u=+bQ<jXWLGKKHge?Iwr!iI-48WfHPomD6`*L5im9oeH{7ka
z#t0!|5KR+f6X!B-74>&RxG2ce{Dp^g+~Ty@Ohd`Ct|2K=rKMA+b??|3PQLDR^WKbi
zZaCyf(Fxl21(lVf6YvXXV*!HNFryPLr%+0XIS^pX=to3q-e=SPExiRBVs`$$tJije
zX<sC2Rn>##>^qg%WAXaEJrLx>t5y9d5Yql2S5#Png;Y!XRW3)E%S=Z5Zoq!zir2@7
zOVnlfU$TwQ21L}jZ@{7IIFBh@r}ygQJ-9Ehsh}VbFhQ*z5|iPGup}5V+L<ixuB}rA
z2`W{vIA_^+3A4yHm1dkM=HwLeDbm5v<ml+s5K`^KdBB)4MfinGL$yw|<^h(zi=X*}
z>}Oix63#gM|0LCEsB_vgMDP+^6i_Dt3z#%%`+C)BsRMbYc^HljgV&}AcQNcm_8P|{
zp^?632Fwi`x6%K5M(Tj4?upmP6Y6ZZZOm?j!gz_sLr<MuMm(M`JMZ(EU;kb<e)SnQ
zPP{fOD>EZw#DqS5@bG;@sA1glaA=~Z458Rmtg;b{Jke*|*uHce@tUVkZ_kK~jLa--
z{dc&ir$88@DDqKbt!Rw$Q0p)qMMl2A)7h=Y1qtnwlR9>a?wOpOH>zmHiv0Y<M2r{Y
z9$b=G7KP?{mg>mxDOIgT<;3?+mk`RvY4P7j*>rZqK}V@<K~^;f%RZ;`Fu0k>gANdX
zE9j8Y#VIMdx$9=6_DxEQZx!Qqrz97r^1FX2?30o^GPA1IXdJE&&d!ePkWySlBd=?@
zuf!7Z8i&dr?l2Y2`a}plsF6ny@i$f0<Qx^WUqB=i5lb4{2-itNqk!)AdybJkr>O-N
z<4g-22e|E3i#RVDLMq_z=5Y%02}aUP6Zi&6c$NR^G-*fLotDNP!x-bZJ7O2{B47zS
zuY!LPJRWbd&}<qv59`u6viBI-dm2r#uiX*;2~aRfix&;&1R$n}_wp!7O2ljU!}C(j
zX;Ml`PfIoQJqho%!Fxl+Yy4)l0TUX|p}wG3g-u2ceM)`Jd1hDgYqcM&_+V~5P_dVE
z_9mSOFYH8la{2=Lx~OCTDeZ${HliSpTwDIZjQaZ7c%#SHUvq@S;k&hJNHVx1O~{Vq
zU?Yk1;=f9zYZ$c@qZUJPVGqF$hDBpUIJEg<NhA&8waK_ftMHH>r8?CdDtO@M3cUV4
z`x(VQ8yiWS)RU}jT*GVlH5~Wn8aixaG+*4fh7AiN6wii@fE%}zG<-Fgj#(k~Bkwov
z;x!z`_;VATMe4`v*(aFg&rKk}=W*4SiHR5mVmO!;x|6_x$}wv-u!BOHoTm{A@*+ss
zkk^LH7-AbDRK50E!?D+10}SWMb+U}#&S0P~$xFiv^x-OU{q@%|={+)wJi&hn&=+xB
z!<iPJET*4epo3&4ujOw7h_DN4N(lt{Mo_^IK^pjNJ-BenLNaqA(MW$zyzdR_VGno%
zwo2;FHWJ4|;>9~eGjXEyXVW{MKn?&R@l>h@z|2vRPxW;085&dIScsYM+G6jbMc&1D
zt(5%27xUHfDshGGJ3#WwBs`Re1MH!C1{5vqLWqDnhUz?ckczHKIy1T>Qa;A_(C(Wy
zYn!S@U0L2~lvef3^mS`%d-oa86@yH|skc(C0D!<J89Z!&-#iQl!5b-Ui&In4s`pw^
zT1sI-YHBgguw0x#ZbNmUUJ;N}y_$A@;y_mD{PY9^1`zzcO+aLbWBByx!|7LESy>*w
z#0j2(gC~0{t0s}W(!AW#(%igKx_)UIsQ^zfQ)4cCJZ81WY@$L3#&!m}VyS@u^paHc
z>=_>)8XaO!O||zL*0)cWX{j!kMi>>MDeuy5fg3~G#MAsPFqcRwA)$3^xZn*A*GGEv
z>_8aMa)gj<+IPw3aXEaP-&I}V>X(&NVg)m(u5|WDOLRx2rKwJPR@m*~*21EROYm=a
zG2I$BPGuFlps?LAA^>A4hyXnm5CQh};HbA&NRidAFO_dBp-Z05&*9639q^+etUx7l
zI<<#`yh=BeS+%HEtx3kMXi5$s*V_$s4Cq~t)B<F;#ar{zO8Gg+T0_f=;$rmSvzak$
zH=&-Nzywh+03GVOl3=J^qE<QUJXzpLE=VqjD2UKRXp;91xOB<?N2vFIhmWu}ExE{3
zdC&}5CdwV64GM{}Xpoo$cB%oOpmarfevJaBLgfZTskJaY`E!#JJ6FUyB0pOD(5|&N
zA{{Zq%B&Ux`tpW`SjfeS(&)Z<Ddd#&Bw7HKr)2kbbf_3@w;NI-BO>g{2Bh6FftS09
zbqSmv6xu5=$px5;iword8bQN*cq)cpLoSJLaEUl{gVq%n5*8D#;UI3Z#~HhA7GM9C
z2U^tcBjqg5=}yaSmE5Ciw>iTz`le<eK?Ycp<0)9guZfHrU^c}>M>!qQ6>WNqHe0Jg
z4USk_h9#{}PM2x`0vV9c#Lh)>Hg^ay1X)Er8k8w;D2D)%1zW|UI|}jya0?~8Lu0vo
zaudXTjTjUZG<MaK7dDONL(sNEtF8feM+J?OaI_dg3{Rkn%I$g~G7J^wkAmhYyq{O|
zOPP4J9Y*`Ps;6WR2_k~%w#gMJaH&|h6ZurSNWM}z_TKFRnElUd=#8QDp65_*Mm9^x
z?oRnF@E-bJx4pu<`$)I{w^#Yid-zTNZ?Dpc-)r$Ia{;NqeX&OW0`m~fl_zY+!(^|@
z!5$xt{pco4llOzVi@*eAn+x+82~O+i5j<HdOl!C^0^8w#9QcFQ8EVEe*yBid_rKsY
zvR9-!VVYDoQksoZC;<bU(zu6~eQ$h^F+ffnCRBiU$_!9T86XFu&+fWh^u-8fLhvP2
zG@KMF#9^~%6I)#!22&(vh`zGKyh1w2$2U>|2kZqkW*AS-qv8XT9t2W+ZemT1_pEe~
z*p45UZebaLub}I(A`(#%g-Ixy73W%?_14tTH>6v~kK>K&(g^Z-<2_75bLrGD+yGb=
z1ThLYrT4PC&YGB?Xw{I<rCXRwy6!#O8gt+Oy2uFv73PTALxaScUsomPtE{SgQhS`v
z`%cY73I<lZO3LJ2jsL**?coakd;y<SfW5xYUy@~vhST^Yg)HKy@t5(;n`B$VW#yBp
z?34YCx7a5(vY+3@?}tdR4+6k#Jo5<INH*a*Xb=?Cj?@Fvoni;x#4d>8JfZ@XBLT~S
zB?zY5on$Vew>prz3DS@EJuPBGMC=K61A8yurDM{MWG)^Ln;@;Gj|1CGWX|7V8)n$)
zC1GTa^uvVvpQb}IY?c`yLuEh{=AD4}0cih?KcctPQxMD;YN{Y`L+EBg11!-9)qyBO
z6V<{z<PQ((J!QV|f`mZ)#-Ek9P?_$0z$?lNR>K6onmtY7DaNx?xP!=Z0=tKt8l*up
zJdYX+rbJZbjL-=A<_L|GpCa{G*Z%s8?bnd=r><v^C<BSgxQ@w!p%RQ$lr*Xo;7#l+
z;+DrQ{PdW3?KeEK1&@61*W={tK;w+^G*izWyMagWjPwmSW~3ru^FUq*=dxf<T*(^B
zUL))3k4}4UrFiY;P0|Z5T)_+NRo7&;PkBB#fAIfLwolqOvHi>uqx@_?RdvnJ_Pt9L
zwoe*)052&bck}una!XATw=_sKlRS!xuhDFgP?Wo|QMv=@%n;!;{4Ut6@JZu-j57xE
zn1<ioh%)7P21_R{)hZmWM;b*5dE;h0b5)(pS*fVNTRFt8($={Y`<SSJ9$~UJ+alS&
zcv4|uc6LyVCBo6#S~a~lB)S<%NpZ2FI4W2*pliDU8U$ixi#xfu)X{${*ctyuup2&e
z=5YGu7wdLT95iSm{i0%BUMc;;=)JL&hni#~m4<i($PIFOIs}D0e4Tk?$q!rJTJam6
zgf1iNGtw>mWMf*=|LAcr4^UD^Z11dmueQEkt(VSIO$j^s3U(<UlR<xxXx&=Au?n9Y
zYnmQjY&9cbdCb-eUnpdUQm=GM(WBVhytEB3-DrA=Ds@fr9GVg5(dloD`eBKy`nMH+
znEeN<9>yih2g{B#n|mMs^P~7G38P1@N%EaUv?FO;iy3A?^bQ3PM=vqReK<*~BgkSn
z4PKJdrp5fu)B7j4ZWmNgP%K{ST3q!=N?CMyYcV%Ftr!d5Djw!0t0OS7%Xg3=Q}ZXo
zeJI)9;+aI{nNq1A_gv#HpjQX!HdWagn?IQ)T>!@-joqXY^!_}GXAI|vsM0V>#~@@K
zbn=XSq`SC`Qpuvp3#IM%y`UC|hTV7i0;5G%r}ZK@fOJ<XfwnYx5nc$#9(=3b2I^=y
z4`RxJ`ciaeq!*lfv9z7MgYETBkf;#_sw#I<U5rp%!+EaRjzg&hL;PeYJ~X!JBtOy1
z`o3<g6R*vb+q!p3nY03nJSs(@sm5v?%wp-WKL_KJURdP$#*_HuA?ZZJb$rrO3g^zT
zXSPd^H5_7}#44Zcz$cI46TUHulNxb5`JK}9zGP6GTI|38_zZEJ=b6RXzmx)46QQpt
z*3yE40YrUzm$Q3PPIz+EfWackcbs}FG;EDl^S~^$=xaQIHJ?$&Vac;Hx0TTXnq!k4
zR62C(*zkc-C2?)C21?uCyc!x>w?r4R!Gs<sjr*h*xG`7)RqxaYc4cHY@DisMmn5ea
z7fUZd$t#exJLv}c9=X^{5jb!?-ZSAvc1;5{LuUXjcs8ZDFeR<HP^wI8Ta=nwQY<}J
zn4VUMZ;RWe$p2!qawU;_oo;CG=h7F9l<fsctHCFsRH%Zv3at=14{fFgN`~W1hATf{
zmLB2hSwc=uW@b+5AZb(^T}n(!N@_~`oNhxg_(M`T_bUd~aB~__YZRZflBRK;=_mYN
z>A&ogSEL?XJ_Uf%gg?QSrM=QnLIGf`6M_wuhniU@SUJ<|rM>+12~rTA&6NK2!V7rs
zAJWsLFW#djRGmR1SWP+|m?%}iVLG5)ZU8<&&tu2b{13wbwR-cQ38Qkd^IP}I&(F>t
z<sFpS)o$-5JzYDrxNX~F`ZaiFJbr;*d?S^TNCxt1Y001S@yShGn<)B8@Y{{*#_s^k
z9ceu=;}dEL(9*akj|SHVj%cuE8RryB05P|)1l0Kr0hBIDJ4hInAt+t?^IeR36^&5a
zV^pRw`&nnC-V=#6%9-m*PR(Cv%mJ)3P-Cw1b56g)j8oDyhH-y3uIAOjAJQ|D1~nSV
zqjY&(dvHk*HffOL!Y8<6nwj_{5uaQo50m!%!#Kx%(y@jgfapBA$w_<#vzRD?8x8<6
zv_u-n%}JB!Fyu4xC_f0pfc-YWq9cvvMv^_karP3`hS=?(CO&B_e{!|2e5BB`0ol0H
z)W)r3i#n?1;Dp)_xA@9y`IG9XKkL-1v6g14vPh;X(jJIVW9hc?&nR4|lN5?(NvoOo
zPfgJT@kkzCtq8-o-q5Oqe3$hSw!d!3^HL~e!Y>%k9g!X(L-8iXIemm+v4m;WxGeI0
zQ8K6HQf##60rj)Xf1|%SjaE!<pPQT=JX$xU8*;!by^Fd`(~S<wNy&9fkK_+<#&@jB
z#jhdl<DCOhcpQ?zqmTr8aT)=Yebvuni>YWbTKyjIA>18e&>AffqJ{)<A&g&9F;I}j
z4(P2kRzo&~%gX=gf&x3r3RPF<=i?vyXz|(zr_+$_bheEu?~9ToAz5*8?PAKy=_!HC
zKdMGe3wqe<=K)C!<~^iFBo{c;E9@GN!6&!aC$pp*3~8>4ry=H@mJxzI)6Dx6ZYZ6@
z$UW7W7`fbcggtXYaubo^e1fE+^hnx^XKGYGVlG$(1+NO^08%}|IjHpp*aUwtsR1RJ
zz+V@yAx<uf<E1osSKd<&lnP|fl+}yX8b)koeU9pK^h-(;PBaV<PWWytUrth%FQ+nz
z6vG`;UN)TL)G(4a(OP)y1biLydT)BYQVf}hUfdJ0AswYK?lRud@J|EFUZ+<TV7n3X
z$coh3!aVS$g-3glSQ)OObupC-OIINzD+yMLfeS_-*~XP8Tfce@sSJ%VFf&(7ySQOP
zszM#1X=$TJ_IJ4B#cRdO)#{?6DGQCJO~tEKs^a1aD`?dod45eb*bJ=`gB&C)jBzkA
zg>oKSbf`BmBifUc;Y|V@FcQ%K85T}S=_50<fmf42dz%7_jJC)HZhk7It<0`=!V1?j
zEwRkbV57FVwy@28p>Q+x{-V^hHsEGO(r=R%McTt7+7^TIM8Z^8_;vuJqgdls9|T6{
z(a6fQ=opunl!qd}f~b$oOY-RRJPN&|AV(k&gQEH0gDU*(BBZNBhsJhGP3;f~fQMB&
zdu61%Q7(VPUw$f{o;1;9Hk)&DY926~%%-d?!cUrn4+1{Hp&tYGRsjuyaUXSv9U;MR
z0)muamk|RBp%!Ni#V<mW?>vSG%JNgEq*Ic+zJAJ-`ueH3&%>l(t{(4G;{gIQsFOyP
zJ3)O4B3#z|sd!Ebe&f`sH-L0A#jD(U^>85F8R>+2G~PdoTR23W1+D|RHRONfR)qlM
z4e338Tp!sHHla^1FLi`v;?_{r$E2Qsw<AH$;953-b6HS$%Yxb-z!Syl8A!o2fvA81
z9-1|Mk9J(}s7~dT>XQ&a(qN`mO{!hHwzk`VK7EcCrlu4_04W5h*}kv2x3E+l2P-HE
zrgl(RL2=tqfESa=1~_b2lNEGj&lM|rtz5zW_I=%J#fsi5R`guCyw6Iy6TaKrdPdSu
zOD7sPvQNInCsYW;-k=v3FFox0FB#dm8G9Q-O^><|eGn0Nl{%Q!K#{d(l3zfL9uczL
zMS2+3V<Lmj<xz``@4qm?zyz|A8bcm^^uEm|8tU6`I;=p?<q*2jy~mG-=Q5LeE<L^b
zOaOrQX_Xi+!}kmKE_TGgMY)ZL%F(KVc%6ahb*$bM#%6|Lc}w73k!`~jeZBi)w}p-}
zY;)|N*tfs$m!f&Dq3%P6+(TXSiq?Y;T$Z9qM~v!1#gDceOr189zD<rJAr0m-#ah4+
z(|@I@y%Qpy9NytKzb8ZAQLAN1UXHSN`PEqny_<S^JUx@j?C?6H_i~gwk^T&GJbn;@
zRQ9qzGRn#_5Vroa@~;#<v1iYT_9!u!I;o@V^rtBQPf^|7nY6G_rrZB7wx$|*eNbHo
z9sv72kBAZfR-0V~FfnNIhSX#}*9BkVwG%{pqOq~zrlb|@5MeZe15U1P9BH^IUK8wU
zH%>q7f`&Rj1AQ|h@|vKcpyzx-fncwbW=P-R_l&wj!%4}fpOcc|YWEfVT7qBxp;T4(
z2_N7l4L8-T#cSKQgK3%?!^j=%dourXBT8BW5r1Z~F!340OZ?Bs4i0d8ga@|};*=yl
zg$u~yqD*;x2L9~oo;S8^dB4k`+S&a1mEAwuvgN~WRnx^wt50QSWoAt(UwJw!Gc$8y
zxgSnt$yjcP-~mxkSZA9AXPg+}N=k6Wi<*X;bz}pv;`atDS$ZCYEuJ4PUTa>m?+MAx
z_rr4Fx4l4Auo#L=I+9IIjG+0R5Pm*&s=;uR(K5cVjd+fGMg2NNqeK`*bYc1!m!MK}
z5$x>p=!-Clu#jNpFDhse=A_97zRCL3D;2!GZ|mNJ1`gZ>=X$T?#Ox7;Lxxn$@0io7
zRcT-GT6tD>MaORabrJ1RBCaGRYUId;t<Bo>%=Gj@VCGKoJolOU4USgDglLDj601$6
zGor7GeB;f|Cg+XpxT1xwAT9yRHJ?d4`TpfmJ(FG8!`n<+u&SnJDhk+@6;}kSP7WSy
ziD(xUxqeaI_9e6IJ$qJk!eq?8p?Lx{Efm|t8Pp!V0l`xsomg$4ibo@V>`_$ivg<1<
zG@YXGJ${bzE##?HL<G<c0Gj&p4ChSnMK>XQAcGD}(cx=XZ>+0byk=?ze)SzbOgz7N
z_M)vD=g-^LrDn{SG2RhFAYC`6<4oRFU&C&MofphdN?=8yj<6Po0h^1gAsO@Dt>7d3
z<_{ZQQC3>g8!CQ9cFvT^Bv<;Vyx*X1Bn2bp0@T+5Y9tnHj-a*q7^v)cn@EaAM&2g%
zIC1jIEpw8)xDxHHWBZOB**BsrE+MsCJilrB!abJowqc=DhYs<W%q5ZG*bEC`zOA{)
z(PGGUw*f_G?C4R#nzML-&4_wpB0$r|AO}PVdTNm!V5^2NH@~-yuc+W-s$881_Ae_h
zA0VDvH*4{()KpU9(^lo?b*bsmvuxn_@q@>)&AP_Di-|2%5f=3URt;*-huP$RgW#}V
zjsa~34XS8c(hl3j|0bQ!$(i7hULZ;3<-@v3pF&1>2wZj|?uCnUy2HfSaDg+Sl|l#$
zw4-FrUkr-LH8kugKyL_$w`+=qlOC$zqx$9*bqk9bSU7NCMNv_HkBZ{9`JFL8SDuwc
zqlx_>jOZlYAUQpI4(<*ioitLReV_VOY^~{nXlRB&76qH<R?g43uYxyqY8BQxD#_@w
z$P;*qiwt4ywZSz5BxKk()`(AWdo^f(N-tY*P)L|XCFng=ieVTL7(ULjOJtPTYtD-3
z)TyefV(HTOxR8io@eQr6XAhFyWq#C-F4AY&SsE3_4g<750(n8e&#MuxCC3%9&=H|U
zI8^3yLzW{OfCuwgTlpH@25AGLugtD6GE1V?S{Fw81S3(`pWZ?Y8Zj(PPkn!M`{l?l
z0iMzT*Iz`l>+h43$EwGOIt{N53i1p&alCr0Mkn%uE(jdHfruwHR^(cRoJ2<9(GW9|
zf%QjWtiOctkh?6<6^=V-G1ONDKNu@rEj#Wg)>4<orDObdpI5cpw{C~87H=NKn<DI+
zG%`a+-z4aR#<I{MjzN3yzlT(+r=%_@Dl%-Hl#Tb$-d4=Rj0ksh8-g%`mO3o_bF#7n
za755>S{hJG|0du6dQABDvENiY47OjQF+z{Kl01-bOI6l#AWr3xfe#pnYGO3n&`ADy
zW52L-{|)iXO;Rguym_xThM6K}lKITVrajZ7*i&Ehl+`PD<NvNm?eSENbOf1GHH@=1
z#hcNmYIe_DjsL?_@DpJ-RUK5j;rM!!DvflHMEu6jKhmFhQF05zs5mI7`6~8=zdpAb
zwt4yn5)lRTWJ3Fi&OiuF@cSs>_A~7*V@I#xCrO6CO@;rxB>EoAJMWW9-ye8CS^9%i
zis6XViDBc>HWld<B82#2KyHh8l<ZR*WeK4v01l$cALGY9g8!R{#KDh%nbV;BQf?8&
zncTr)$b%F^L!hE5*Tqjjp^QN!6$0&UB`L+lDXDFXYq~zN>PAXYQF2;wvG`SC8a3>t
z6~<G=G~WLc;0?!)nE;=^N6?qtBY+c)ZOsJ#(w-djh=@cg`7Z%bfMqh!y!d6SjvZU&
zbm~N;j@daKI^<-dxm_b#Cx`_=v}F8Vh9D(%@Ry~mC0z)38Ijw4G+x2{GucCF+){ju
zhp_SJnHB;L<lpQ(@V*}Gp>*yhJC-jw^em>2sW6uESmS9_`qRR&fNpNpY@|Zg?I;q0
z;gjf;tIT);Gj?TzwdKB*XN2>Hb!lrJ3bUw7FjTVUYwkgO46r5vJsNK{{=zR*XYxtH
zbo#2`MuiD9yc2j5EfR8#PQg0a`L|UKYEID#h)H|H01Xl_ntbii!btWo!ibIr*h;y2
z=&bbCIfZ)Pvybw(MCl%n=XhwnocITOBb4f3pmKaI5ou@$qZKgnQ7dd-J}hF^L?<im
z2H8B14?f8o8Vo{|v?I)nFn)`%m#WX*)4g^I*E70C*}7)Sz_H$eY8(^=)`_WV7_cQx
z!2isCP6P0Q+|3W0L!}T_Qk)gwWqH;D%d=Lxk;wE*6_970m`k&*UGem9YVhMF=}l=f
zBEUMLz0X8xgY?pE5-R=qpD(0uh^Z?-&_*_)70DoSK$-@9<zZ>U4$>N3NNl7CeMtU5
zr;^LOYR3+F39tpx{Y`HI`4IaVZR@e$HZ17}>>iCM4OS6!jwCv|Z)jGAU30qp`vp5;
zp7_Jl(xf1RT2zH<CGT0@@Qk?7*47o<Hs;<k)oyt*l&GbXq0hYhv&zkW&SCpgj7|C&
zlhL379nC|h-goG2C?<nrM!6TIF@Zwgu@8QuQ?c-H!%coG>U&H&bckQQYZqU8@E~Sj
zeF|yxEi5*4Ik+|Aub6?+egtl65b#k;<YB2B8FjfB5|Q!8#5Tu#cGd2?<3vdYRZL}|
z0_QPM7C@yv=qZ>+Q3VJETqzWV(R$_KiVy<I>Xf5?DuOq`hzM~CKQ@$-x1_<s5Z@kB
zCynG^?Za>5M-18HyXkuZvjB})b73_yljsI1?L`1SZAMQM^?y=5qIv{QQ3s_CZfkOI
zgjXLNOTtk?pSl)+Mhu5Ax18%jL$Xx)F4{JjbFx^xIGT&@bXf(IL8S^oTV7T?UHo}1
z%<iv~RwPQhSBKpFZ0S|$Kia+8x8Hl?!=u^{-uTzQbfGVkl7`<%+CvXX@BZqOUU->|
z6k31u^z$Fzc>c+c0k9nl*v+;HXNhfE4VrNh+eEQFOm7eM5(G9`G_)xU+w@!r8x&B+
zHvuGAHUt>TfoYy1{RyBN`PVGa9ltts?jy?{%SY!9OJ7R2Eo3FJ{>}&a{&@C+u()CI
zg=gvazvH>NfMX=)J<g)8zor}6_$3Hos`}rcaOnixiSsm$XFaodf`HWKZtQHo)&B-j
zXN@R154TZyEDVjVmoqAb(a}m?d{1ozF@u0ZG(s7v#%e+PbI>Alqf9PQzW*DcJ9}ud
z@(?H*C70PDglteAT8a|Rf3Sz9Di4*(4@Fs<M>-1HX=e|~w6m;(Om;yykILg<g*Qb5
zBd-hCIBr6@t4v_CqM8US$RUGWlpFXZxg(G->_{@gVuP-PC^l)~;=NG;g&kS*0M?LD
zP6me^1MPP;CKhrDpDi>z8nq9-prEOy6_K9$_KzD2-^>%EW1>&E+q*MLvh<FisPv@R
zK4W6V9xu%CK3;4{Iyz<Jf%P^L`|({;vVHZSszHw&dqnznw7{=0Yvvu_y=U{eQ|ZtA
z^XJp2o(I%hQOhnD32s&{l|ykGtD#mK9pjCT7LDOvBg!AUnrc#0+CZf^vz+q+M(=M8
z22g2VK^g|0@6Q*vq73oY4?jBd&ZdnoKPlaNp?X^xNm_F9nI8@xn>}mI!V=7@cD#1$
z;=a1KlEs+!k3RcTg3EW0@A1&)2OqI4Gd@0f%G6yCH*8DK0IsWWmNy|+MpK(mq@cBl
z9O_9b`Tla{aF`+TlX#d#Oo)IpQAn5*m)D@tmWC`3(xlv;duhRA+2YX!D%E3xuxR&o
zL}8~6{QmI!{NQV!O5HyGg$$~XZ69w>5BsOI@2k%aJ`dwO3R8R|_6M_eaA_RssVAx<
z5iy7gorH^3@-@-&gQ^RxkFp6TB^#TS6h&G<hSjK|>K$NWb^^Y~N7C)LUz<Jqtw$!F
z?bxZ^h5>`>5K2DxgRiBpKHvNFhDR=3I2TE@AM7Ri-aVF&ShOo8V@+~GcXz?CZj1jo
z^PTk5hAW3=U7FnE-L?BKVsqGSK);7f=xAm&ZR>#28La;yEqJ43sk5`AP%`_4zjj7b
zCZ(*}SnpGP$!{-xvS{Imx_2+R_jJlGTAo)oW5?>mw&4j~;&<-cu(;!fK1r1aBM)pE
zx;jEM&mXjUXQXpkjI~$S@<BZRAkPmT+;gbaw!mcrkiDes0&SrZgIzQlQ4a{_t%zWY
z8Ww)Jm^H1(1380X4@?@Msi5qX9n-?5Y!B5Meqd~7pW2sS1+!I4@%)OPrS}&e+PuG2
zth7Dlft(IqEv{$JzeBzyT5-iHs5H^9)h)9}tXW*LA_)*MdVt#*3Ef0%)fj_A)WKTV
zFU!ixOsr*#oVzA#tqghmX=B2G=?mu{s5hC884P0khif1G2d<3yu}3bg@}1+)&pMKm
zSeZMv`h$PoI|Dv43Iwbi2&3ara+5OJFtZoshtv^&UGRm89q_%$1z!XwZxWm)-WAXD
zef}dgK=AnKC+WZ6?7E=xjZ$4Y&+j8A_ilg2h8AbE<jg*4fwUM!UdF5^F(gWYgu-7U
zWr#Qb0_$a@4R?ms$ZS#4OhyBlAAq`m){srp<{XAH>9D4_dgzyK<$rIuThvYrUSKlN
zk-&M(q5+asoEvp~X$4r5U=63<ZcsIfU=Ueweu{#p7zAZKoK^MG7>^z%=DNw<W82xX
z^scaYckV^<`YY1L4Nw6Mq;NG#9WBzRUHQ*~cmJ|eLNHw;bYI~=*he!}35iK>G@@pK
zUWJ>-;<%NP*e(KGq2@1m`l-W``c!%HMn`AYd|Q$|+1f2@+LF%XseeeHNc)99UZ@_T
z4PBu(FMaM_N1=1W({yb(%I(;tcw8P+yrDKSP8%Ad_J+sk(3Kt(21~<lDsND_*KBN3
z60w`<G$Yrjo4Rb$%(eB|t#x)?N_<)L!0K>y#-^IyQ{qHgL)Eu=`R=FILw!r_-(RCz
z5UQ&hF=k9@sSgnWsAj^k&JAHy927WKgM`J0A{YQX95QqZvPSBq3Fk=P)vJxhf9Q2r
zuAnl>-V>zzzIL7r*YM)Y((s!Ya}aJ_AKbbe4qf{6sH!7ms?&m#)lO%4j>m+1<qb!|
z4V-GYe5@i?iyP?g3ZJjSJ@i{R^O}f+|5A>0Wc45Z>5Ip<%%1-AqtaS_=MO(VGCpE*
zjID$7_=gYdJ+r2*Rob3BE46pm(1cfZZG9mpWn<O6M-w!vm1|<_XLu&4xAWxTE#v1!
zJ2%YeydfMy0Ij@JE=EE&>jzegOohf@#3MK)+NH!4VPe&=kn>@+QX!Te6179g!Tl`U
zf>tJ=i3{@S<U{Tx;%DOGck*%#uJ8m`mxP%!rFlsCUhmu6rHfiU-x#`XEkCh=7It|E
z_|P9zA{4v^lc6T8Jw()oAq=Qi4EKskiAO&^&~8MWm1+;*)d~lsq90h_Lw7&@ia?k6
zu=;S3ND>a5I=^Ytfn@Z95WfDMn58dnL09;!w4LuozURAF&c68~dKi}WQ;uvcs5!0q
zZxo`{k>Rwle5{8u9eH+UYipvD0oAHl9RL=&q~XWJX7;0$GW*L38#6k$nOwH(<wXx~
zemH<szWWaPW2WWA*EwU}xxH<vpHT8L1;cK`wFBQ%NRT?5_ATH-n|KM8ds+8fr&57Y
z>7AA=OTE1NV^A(Lv5@Px2M%g@XU&1`eXA~9coYK35BEsu@?I}5{I~Sw`nR5#{&Jre
zUpnyy7TvY+Tj4UMG|LmRMhP@EPGMebLL?Vce&8>GfV1WI&tD~-5FU`0mbz`N;!=wH
zgm2l*dvL4=`ju-#7DVVkN0|5~YM?;c+=eJMEpUo$Z0?wcW?ihrLJNz&VpDES<%w|g
zhU167_GN0JE-EC-TADC>%!<{EHgtDC-rjx7{`t2gV(37%W|`iw<B;^l!`uIH<si{a
zpYi7rsSz1;a;2a`#&)O;)nbbCnl!a2)MqCKudS(yHuGwO#1LZw)Cm(LL7qAkn4m?g
zOsb4VS(N~CA>!<|^oz%H?STi*J-24frEjHwOMhN_YW<Y<?P(=#Es6PIKOti#NxmIt
z{>9H;eMI{1r~gX-(xRMp&mS(FzB*tacHAo2MVjR8;u759jtH+KjF{s^qsu_M_fazI
z$8=f_2&9joSY!a5HG>?P1Dz4c0{k&AU38YESfe9y?d{WsO=z>77@w3D`Qi%G4GwE`
zXmRr3DLHRT$8iNp$eJEKf^?g8hT*eOK3MIm^1a=qSfyF1)z?fU@A_c==XQc%j#uR=
zmmX4Sc!-yT>uQa9kDB%UKpX(wHo9q0=VjWAzh&hH<<gD(Iq4Vahoe_7JaqBOQ3N^t
zitV`y#59qgCBuy;#i#CddGZGR9{=~f<i?z{8~>w*Z4Qz!xIvQ9=!ya6yTZM$CS(Me
z0XLu#`%IK-Iw^TpMt1TU+ThguB0L{-`JHwnP7duhck+xG^)qTG&g(k#<cN0fUKzV1
zPt4mD(fIii620eu^u^*c+aG@%jQs1zA3uIzF^N5}NBU~X7gF`ek=4NCH>s|oTBX=|
zsG>Cx)G_1&Pr{n)Ja~*DJbR4lEAX2RlOKw2(pCHvmg+r}!ZI}rVeM4SifmT1<dK+i
zBx^opq&s_vxG<EW9?4tA9$F%g#N%J8i={^^4`E*~N$bU(&{a|25hAKNL<lybgQtb(
z2`!?))YT&BrPx|V+>!~ieZb^|51|(U*$97q4C(IsJk%_T$Bv1xRP(mCe7pG7()yW1
z2gN2*?JI>LdW0@AgrDv!_eJ6E(T<E3s5WM3^pK5}o?99x?Zk+lNPhAXARFJO*|3^T
zEtMM7yeWU}laDSPeet1LXRrPK+_FuVFW2py;F&RVwe8-w{Dx<~dUDUgSCdpR9~^z|
z`%Rly?L1*wYB@4v%9O2JeXAaS98l>2)$@>SvQV=q#T|iGNQu$e-i+w5Xf8h28&7D>
zJx2IgGeNp5z;PMdph7fXLaT+*h+Gpo_%NlzWX4{BE@~h(@sJ@YKj59u+(=JvrPUbH
zqcRd^dDEBA-G46lJL#kP%@?l)$F;U)I(uj8r0?fzrg=N|e93m>*-Ao+OG=2aRHIrw
zxlC&8w|xZ+VWuErd-LE`>4<bh6%xEeZwZo)O3Q^Iuw~dsdv?AIN_z`p;$GEha193-
zXSg?1sEx9dAf#;gO%ga=DkRbptgPz;zy-)uZc~IsVkGBSr&fKiLC^<>ywq#K*r>vU
zoG_aqyK|}Zq1>+37MYxAiy|9$&eevlQVAXA`%e3Q2DUy5%fxa3kSwg_01P#dW>X6V
z1B{v;@HzEOc(~~>J;3AxUf<m4fEIS;YGXAhcnkqIl9*728ppu;Jux9rp*8n6I8Ztp
zplTFV@LDuDpv?_PYue`E|J33@X>DMZTO9yFvOtB}GI58t?6bziB-?C8r<a2^u1QV~
z)++U%smuew5DS&9;76MR7Gov{FE^PF0{cWH%h``Sx%^Is`=mPLq&ve;hCB*wYTdr!
ziT3$(L6xR{QoVkC^(Rwh3bgt0$9+CZn5KR{X3XbP&(JvS+tPM%Gq^}8s;)ZH4Jk&^
zlBKSVkMhQ&I8F(g6?rV$+MxXAMh7%5hh6akIbJ|kL<`g$Jm?5Iq<VWGf~z$^5&Tiu
zAw)Wvs`A%S-#n(M%j^|etx9@mx;DmgqN=L0+z@HZ$SjOqyH~4w>Bls!gMK=wuQkQI
zb3yI^=?W^J59*c{_VKBFPrgdJw8Y*u^GT97cg+DoGs~j;^h#@Q{+X|Hqq=51DZMs#
z{oWwW3#$&G!ZWP&oT?iT%K#%BveHSY7j`C2WA$o;=E`|E4T{>7e{)V|3Dg*AKRUJ|
zt3~AJHFDC&WB^Gf4s_sn`}YBF|Ni^i|Gr5yq$YwmzxfrV!Qc4lQ|VQ^w3qzx>6w3g
ze*1~5FJX3yrf6=$W=Bz2IxSjoP#BuglLZ(WftpktgvQLbm>aI27rsC<z^@7U^7&o|
z9((M-{)<lmC7(klxeuT(#Y;Eu-jF_zmfG>%Uw`K6o9|zy%>mKn`=q!{T@CX!1Q&g*
zH#FL-4^>+|>O@vLRk5hcp}dOXo<ObW^u*-bz)Ub|dbU)aF)12@usJ1p^<n8<>0M&I
zH*|4YRi-HJ(5QP($Xr_W!zZ`C`Qd42ymT_HJgK;IR4eo|X$_t|r>i+eADI(th%%Ux
zES*Ouge92sq>u01k#1&WE}oq^6mk97sqMmU@kPXNpe}_zQf>0kYJG?tQshV)R2^Vp
zFx?MjfTh7hEe)4Hc<hmP=BiXX)#{pSFCSidFwoZE{Or|dNm!Tmg?Wak5L1G=|G1KZ
zcOKok)-OoQ4wYlzdRD4QSVBA&mDhq&lc*Q(Cy2CilB_mU!B%Msf!JG$H1MwSw|$pL
z;=Fm9p!K5II$!!iwR@-J9zWim7a8iZWM=v*uxQ$<j`m1`U(OwB(4q353R(*yPiZp_
z76->trHs&3<jSa4I@ji3zPf#9*KS&S2<XLsON6z@j`dpKKuah5f3$sfd{jmE{?5I3
zcaz;DTazuRn<WWpge0U;0-^U7kR~F6B3V!&6lqcfR3voiNC_cEL_|asL<LkVycEUW
z3yKBBSA9_-JN%wA_ihUEzMt<uzd*`vZf4HRoH=vmoada=1A_cM&@BQt3DM3PiEt1M
zHh17YD*KpJ{af9B7I)wWxgY;TS}sQfm)3oP77|hO<RkrAa1OSMF#!x4qf5bEvz#&s
z!C^>A97Ik5GDq2qihMW*{;~CqK14~97OdXn<e^hncP#Y<+ul-A(y_HI(VmggId1Ce
z(vCjqHT5m8GcyTE+MapvCT2c(3sau>yvK;%dgClx#3K*g^yk5myl(gJJ%>zGjI$yU
z+n_7JFc)K2CxS@3B^pPLAu`MujzSFB)j}sZCDak0dhf=*ML@0i8WK@ZJF(N`PJMbC
zjlAz*cHWxq30@f@>DsRwK4e9U#huSR%-XT3UAit{X*F5Hv-#eMY);FeX?)^Dwz{ye
zw5;dM@!ZQF*~-tZhBTecZSuYPzhO4Q)sKaR8%<G`NNc!LC-UCWw5i&WN{>DbseIDt
zYqPW>*h8UBtz0~6qN3+u@(Y$0iQL<goxP90a4wlWBc+vdTmR*(_iN32BtCxs{`Rv=
z_Al7;>eq#jj0zU=oP&HVCggc;GmOK!x6&1qCPq0^<IOgwCpkF-wbpY`y`x;o6B0c>
z;MBH0){y`p<Paeb4^xdWv|cJy3g%ASj5W_gV+|S4LqSg_S<n76H0QQ9#orA0^IMCd
zaLXMNRyJ$>M8)piwRhfk=c?MtlP6Zz@?*TZ`yVYmMcg*Wm+1PwZusy3KED21{-rK;
z*Or$bkl(MfuUr4@O8Nb(EBF|`#%053YPd(#Gi#-5UFtL2+|CT2&z%~NoZ5{B<Awzb
z<I&^;?G}tg{KFN$@rWG%_Yp~!p6O+|`5z3t^nJvCD}DAR-_`YtR?ZymneK7N{D;Z^
zy%1V(BroBMU6B|P`CD_qvGL$oo8k&6vEb8KN#yDV&w_jvW<m8s;m{Ptl0&+cwvjM4
z`N2^yk9qH!?(E+DVOfLRx$z@stlBgD`BAmf?AC3V;lsC>6q_*1YFWQ|>9OKs>ESEm
zsB1`>#gH-y(BPw`IK)|1#33Ila=arunOkHhqwYaKqugX_`s}6@5I0C)>x*{=_CHfy
zU2=2gP*-lkO*c)RGpibfprk2C^Aw@}OY%=}*j{<%-Q!1=t5q|v{T;ljJP!s<0ovMQ
zOhRU~a!*vi6XQ^e_`y|SLyZ9;UxbU0M5`mjly;jYVZ^n9)J}UeOgAbQR?LjQqj%xA
z1OEJe_xf884ymoZ<&|;guJS|t`7R%$@JI0KsG<@Vjv?P0`_2@%4#Kk<JlL)szlb_j
z8~Mg)AD~|sfztRMGnA_<LEcJlZk{FCR-kv=Tgc7rvR!sJ4-YhV7Y7nh%`QJPhv>`6
z!DJC89QvCUaG`2N!cjmwN5z8+1xStIgI1raSv=uysrL&x9gD~32a0n0#*M0siyO56
z))`fY)(zU&)#5R2Mx~CnZ7<ezoLQXN&ep7D1Z&o9QTyC`I+Ts-vZ6XKFDvWQN88<v
zLP872Pu^Hq=qZdZ8lT%|&*=C0>4JjvbO6xycIlj*)w!S*p)PvB9kL4?m<_XmI|DX+
zqb~`{mr3W140yqUa5#h<?If%8$;~i^BK4eAFC;*5s^fx|VlYBAsF(1HRPqD=<M=yI
zJ#yFC8U6a1Ox0%dV{2Y!9gn}h1mWP@AHCw+QNRy*_zRD}nwy^7yH%jJu+X02cISG^
zmtE8CesF${FXw>~^LIXeB=y_hKx})g$U>~h4T*()qmg$+C6)-gF|o?^#2VO3Po7(S
zuw-Rk)xZ`xHtPn9WzK|0nSSC^!)FhhGybl}n=Q=$*}ZSc{FP~uiLDYl&hY!4E!^%_
zaf9x9Yg$=Fnlo-l#{qZDnw0tI9;kQ-kx}+xT9b5sUCYu~tCY}8(K!s>NJk>`=_s=_
z<`y>q)tfHDA5<YlbOT?Zv4my>Z*rwF3h0HC{ZZ7mTXsxVOn$5O{t*ukEL%D}sY`A?
z-pK0Ju8>`>>nFX+x8};n0u_BsriWu9rf=CgH8T2Pld0#ladmBTH%JFmI^|PB3ix!X
zr7;#M&Zi{kBdBx{RMPl_q(Fk2(g627>@STv)p7*KAl>xTuc{GQ&?Y<CL!DctTYWZb
zYRrIftqSh!ACqde`m8x!Te79W6!ur0UphRi$QZWNXzVfS*6v2*(lBGsvB8f1N_GN7
z0f?adVj#q2CMjCp)PM_xwUIR*=+2}DeiSBry$bxu3n>-YPGCzppQs||z3Qe@IaR8K
z&;Bet3ME}WDah}Xl$SQVfBt*Dj=vrqUiRL?%Pf;03O@JQ2hSb&`U5u`229AuY-fD5
zyE4fWe}P{@3WU?Y{>G25|MKbmUw*jjrSD0TC%ZO)R*AU#LyWp~UWXyzMFFZ*$_Y!v
z)*nPdjKa!F=VViAr5jKywvk;L_A~zv@(}xy9!_v)CKP7%DsoTB*>l3HbbNZ!r%cCx
z`*HieXLgQ#rlll3?FNLUlpSNo!^{zj?ba|}$Lod;<>&uG5&4JDy!gtg$wQOc#(qdZ
zNkkdzl-ZEGqUez;til@O2*iYyGgK+HLzN{voVXlAg%w7J&>p9gl$1@$fU5MZ6lJ;5
zIDdX!Ejz{Y6<v0=({J(Qd&|qoOunHG)+3#cZ-&1j2L~K(96*`7V~{s3;L(-qorLER
z3au!6qzQK9oow16WiBQYvEjw$3kJ_>*;1A(_4*kzW>vFNesl-lygYgCJUJ^p!<uAq
z=eS0XzEZ&7uB?0i`S+lHUB>F{0dwbrwcX)K2EP)S3OlWX)&@0tblHuTN3gc$O#Q!K
zUSXS25+2&p_|7`4SES39?ko0Pe`k%hxAb*)fBy16uB!T(QUAQEDq+(tHgMQ>t`m2~
zBnUllSiBr?#FuBrL^^x{hgl>s57~9KYa3KZ=#LP|bU(m}NEIjG%MfmBT-RKxSD$7X
zJ`MRBdz;eV_%Fk<TU`9<v%0@N8@;Ku5<b1W)%x4Z#&~$?wrw>lS8hq&#dY>*ri@$N
z^Y`6M`Gdvq&%XnEeOgko`e<gfhp`k7yL$5EzIWezj$bYrq?#iI!qGqoM_6n|0MI!}
z{}~)WeFRvi9&4m*hXn^0J^0E-!b0N2hPOo;knG$LF4D47W;#_7!Ucmg5ub2Ws5c)Y
zSOW)aezY|6Z~i6AzINixT`zg1#Na1U#}1rh;otnue3dI#R&L!|d3_(oNPu7o#*OJi
zczM%4fc?Q)4Ce#{9kOx>LE;~M?x~~p;OA0u^wB+Ue*72Gp}l*JT1NZ)&u{+VUt-ut
zu&-3)(>5_oaz+l;U&OFq7Q-aTmW*S8T-KCxDqOCRV*;{v!Xld-)Vz>DQ%z{0f+b4W
zsC{?B-f)uL%*^FG%LcZe)9dxWF6`~Lre9G;3VRq^e;BLH$zPDx47ETnB9#8kL_Y=%
ziuCVbr~9x0?FQKtXV){AD=Gpv)+llMz~DqPD<r#CyA|pQYAjIIMN<1iRh(divK{$|
zP4)P~45oN5yZzJ0kbx+wZ3JIY##cs^m=x5r+7uj;-7h|2Kntnn$~gIW>s5ntXGaHz
zNi{LE@-tVDsVfCZH9SM1!VDfVD>@9(c8lA<sOl%-iZ$z;n*Z`Tdg^Jh)x3?8Sm}1j
z9_M9-kE@&>*EPUi{xT=Kc!vIcp6~A6JiS#mJB?~qebTctC{Lulw8fRru|z&B3H*Vu
z9nK{4w)F6|Z?5D5dn+ZH7!aH@1cDP(7GSB?g_g=08F1P}f@_D$jKV&bRz%vJ3N|zd
zhqYKccCqr*r~!Rz%g?h!e(KLb8@hDq^XhG^2YZCCbQct_$Zf@nn1MN2uauO^^lUy1
zfqO^!bkIiZu@^|JR4BxtE&KzyB}X8~0hVM1E|^DZ=+Y2v7{jw*E5Zf;&JU^VCm%45
z!`}lO2jo^K-C5X0VY-hD0k=XA3EY<YP`PfNhTDn=Jw=LP3?HFyD;S3kHfsQ(Gp2Y1
z;~NNDSa0qC@8F6+W-`^4N5?KfA4uki*|BR0gl+6;euw-GAKmYfE^q(D>we9;xp`JX
z$Hc8qtk~A){zAQkl)%1ZAOD;`i>fwzqas$BupUhMGU$&FPSVJ(rm@M8AQ;;;mZgr(
z2w#ann}KL;0##QpooO+$w#z*AyG%7y{Bx)2gfxM*t*}VhJO0E}{sIEv*RU>kJbi2X
z{*Mg#iGS^uW(5~nS?ni69~;^uuLWBQXvVE<M{35y{zU%szt>;lmr^r9YAMvzZv>DM
z773N~#<<ZCzz)j<94UtKUjTMZQQgALfT9qakRCi;msaWq`b?(_PcjFRqzcm4!YjgA
zKy|&)wN10fgo^ku_{^;m)Qb9*DJ&|q+wiVxr1C4(Kdr0UvW4Fj{IaBb&iFp5t&lx0
z$(7p5ou4U>XVwoc{`HYm6}-IczWMWmqx4cRh^k0Oy5}?xGpqsP*PV~#oiP$TwWnWx
zl~f}L9wXVD>~J3-{ukaEhdDqPQitRS*D1h%Dnj`Mfpl>Sagn&oQQ{SiEM&4&O|FU*
z98+5>ZLMY2_kQ{NL(VU*t=har+8!JYp|e#Q6Wo6K=!x$_6oMDhA^C=b0Mc=+sCsC;
z0q+tBq%rF@RO&X`*sChT4y_*a`iHd(HVj(RP36*NiF^NrDl?x>o9jymv8GZbwjFT5
zf;ES!tmzEbSW{&JeJ8=ch#H{1$!gVyJjlH+_!kc)<2E+Om<T5SgdPe%io{4_1IMGK
z3c@d9U`P173XswOBmtsrGDsCb)XJlgf(fE2&wCo08wMqixipQoeC0QuznSONO5fG;
zcUcx-x?C@zvnKFyb;Xnnv>Tz?H}%m0Jpx};<0f49+Eqp6D^(4I`VTvJL#^2(a#V2B
zA7B2)um1Y>@tyl>Hoi~x&A=ybef;x=jmsCWRHvZ<qprS|s|f^4+Zsez_&I$)5D^6;
z;986_M~s#b9uppj2&*vK0!E>o3M-Y@dI|$|z@I4Cm<}wTjdCSG<+02eGg$6>bo13e
zH%dE$S9|hv?6t?(Yd9o_T;aSeCGB9ZDS=b`1n;B~aX=t(ArhfDUV*FWcM#ztUwWLL
zC53tH7ITa#)@=j0I@X667)&)zPW48FxmJ%R%?n01IdO(kMhNI*ew&=8n62jE=U+(+
zg1b*iX1q|g(OZ)FRB*Sn;H%*0^p<oyDmp57kMyIoFSr6ff}2OtH*$Z*NUP|Vlo_%e
z<jdDMn$lr4aV7bXr&*WgGMl|=N+2y<=(lpc%7o%oB6U!akjBEJMH<aNjkBn^N^6;%
z+OB7x{UfUO9e-xqnqAMVdGMw!eQz3lV){oHm(E|ao&S0@@cxK-*}2OX&Rfd1Et)xL
zR&L>}F6|FLG5<iC68FrK(_gkF4#n0(gbcP`T&cxiim@v=u5ryEtwR8?w0Z)VD3}b?
zxoV_u9H~|GiX}Q)3O=d*6qNOw>Y8;OSQ6JPK^X|m;#2kKs{{lWy@^dDb{00xHFeX(
zVrPj>qw!s1tUmc{!FNzXP$kqY2i&UBEj$Ep7l#^g)D4BEQeAsPG5KG`qDsN_fPUJ>
z&<!)1s>B4p$Met_34V{AF+6mNG@$D7`;f9=AY}oso8aNG2tt;K5kk!hV~W{rGens@
z(ECt3M%6ggx>}Bq>lW<W<a}UXv1t~YSqisCu;l%G(D0WZDj1fRlioR{&-9WYHb~H!
z&^#_SD^dFX>ertfcDk24Z1-<eBzR&0`PWw=%bE(l&n$Jtn3GWB#U%q|E1U68LUe>A
zM2c!RgXfdHpHP9L5ybTm2tMK+Rh|tY@$==vEja*ryw5V3GkZ%G)Tt~upnh)A;;{?g
z*S?Wmd*Qpswr}6ghX4Ho>kr-Hxl4cZ$B^oH#Sb5x{i<$-Jo&4$AN+t>i^D8$!7Lec
zZ6s`c2-kD^{dg^es}YJ$xTFv0Mhj9QTe0V1L?)>!KJ#sQ*VSDlS&u@ZWUHc;Bn(<2
zkmUlj<iPo3(MJU&8^oyt@<WxRR8>M)Fo4+?vtDmiFM`NkP&@d!yDt5!wtB<BUBhdo
zThcO4BEcb79-5MpDLtlcF~dh8I?YBSLNl<&T08|gktskUL?*r)KKlEcTFLR4<bVT<
z4gmU8$7|e(b}YCb*w79}92tJym}y~zJD`5t)NsDd!2f;;ZPrTmro*SkF$Gi<n%t}n
zCrTupD4PBlb=`>~j$y2_kV5s#jYD{>)b+}RtNi!B-#_uh;iq=s3=aPK&D&r9A^jGt
zsajjP9^6I};34!Q<Jcfbq0Q)mhf1L!69p(Yp=gjrLp{4fvvU3ErF>a?wN>qVqOYfS
zP+tcrqy=m)`r9Bn6N-%jU<zy~gk-hI4yw#ff(^-e)iW}5L}HGvKOk%W63xH+Dm9Pw
zYuq%`b%0P>sXqXwOeu{HLm?WkEiBCGRRZ4d3c7+c73(c?RiUmEH&v+I;tt}1=SUdA
zJ9O{AW77M~W(_WuW_tO*Kf2>kR{Oj5O~6Iu9t1(XJ>``F4`ydF%fHwEhgmYct26wP
zo{s|_<QTsvgVcd*-y2Whl(EA_0Ch9c5r_=0FnY*EZj%Excw|DXOyi{wEgaNN-g2TL
zNhkYkDRe=C4FX^7M`~He1a>FT-aa;#Kf=!-IAu#1e@%W3PV?Yr-|)*pOvz?w_5=Ae
z{ycw_!@b7Z1jo!{c~CEt5c~ZGzr?>qYD5V}d7X^MVKN}&l07maS_(u*Gbh4(;NKE~
zMObs9jT}GNWi&yk9e|Tr1u5kF8iYx(_Qn2z)B|sPoG>JB?T%|dvC7)_9(|&Ai!}I_
zp?owu({Y4DNjkCq#QVX1l6T3xMM&~N(IN6|+$0UU&O&v$7pqsQ|4SGHVeN{_3M84L
zWM{k*aK@KAQ|p~lxNBpo7~y)<|H4>Fpg^F+VYPvA9sePURYSV!<d9#A_1rsU{<8Ff
zE{f7_-_(=8@ZcvGuMHXA>y-sl?hnqA+0*NmJic?y#I5?j);Lq`&Nk@<Z<NFS_v87W
z_&2OSEBcKM7~ZR!J36^;e{ylsOTV7lzVFN!Y#GQY`E6Xs1sohR=?HUMsiG+W33MU<
z@AX1eR0<18W=KU<MAxvF);~37%=Br;R`543j~zRFIKRx|ZXbKkBt`eY)Uh*TEYru|
zw_BddzwFz$b7wx7zdCS0KMK+XCDL!8M5ODb>Hw&GB&^S*rQ<A)_OV{oQXf7{(GjxO
z&Mzs+g75}a(PAN0(NuxzF{mIZ9B2?-ja0>g0^0s`u!CNLRoHJW=_GAlzbt5ydhi{^
z1^g1*GLDtKeX(vSza8mR@lyJ6!U_HiGKT4H#gcy}mb^PDii9lGU&fbcD2h&04RTtg
z$Z);E0?I88hajGgHLN&f0k#Lg>}vT+d?n=&Olk9f@d>Nr{<qmdWsAZNp5s1-TW}#>
zNLKbMUVR}xt-)W}6>eZ;zRgCsR2m?~bPtS4YNG#{HT$L*I+$PRe<4XBw7&nL{?X+y
zyKkHO`_EduWbWdLvmdAk^qgJXcj%KNpM0Tw^gS~_erwd@edlJj7%`~dO&bUH>M<az
z`Mt$0S1h`9j#F>Df83gF6#7l)9!-oz=PJcXZwdn!nY6l6Y8pH`J3=-lQk-kHM#M$1
zPxsI_4nIlV`|ezaM8=y8{1D8;#EVAtui#?zE9RXpM*Xk=uxvPtjP26`#E6q&Si*+<
zTda<R)mjBggpTKt0;qsWMUc%QuBzAZpoBJ2e1Kg*Z0xFPJ}<i<WoXBkWJhdRwAGtx
zOY}-F%G3CP&weaONz&_=$dbjD`0{b~mNsrOYf<=~&0{gi27OcnA`YUWqt(%iWAsLL
zwnj!avTQXo$D1TmoS8LycdZniW#;FH^YiAcXbE-NZ}IkskMH4?c9LbQ;4W`)lC;u$
zS3%tYl>iz(R2KwTAa|0<B!!tx75Y%r0~C&sh}O11O|@jIt`35Oc^TVVr(>`4)|l+;
z(fZoFs)3+JT-^zYq7@|<dIokA?I?M0@N%_WM&;MAh@_JW`={71WkN?q%ME5>knF*V
z<$z>LwrE1W9s>VsTb?elXp{ir>~b}KU5>#g5dLU23SgA?#5&)Mb(VF5QQxY$evYPW
z0`{jWn<!sntk5*h3aK9UhdM=QTTeSrGbLj-G#hWd-qCO}SgYM%^RHR_PxJ#z;NSe@
zaBM&NQq7a%tD6_Hw^;fQf3p;JJ90;U@WbEy6S=1D{M#?SaIWsW97o?lGGaY3aAM67
zf;DR(yH<#`!W|xo0uY-b)Jzh0H&Qbdsjiw9Ydz$V4U@Z6o<{NsQ&@$Tzd%dZshJRd
zLUjI5HB<g#=g^e{U*1_g>h1wc2JU3*^D?&|VF6w}b!<u&`&#8G{m~GeNSK7ZY}8Rg
zNs_Iann~L^q*Eae#0Ioe4H8j;PkfS`#BdEG&`iCSiER<mGDAcDZ(64Q<dsjV(IneY
zy|MA=wHcsDKAmzm8rSR=(R!!>Ld(P)z-}Q(4cWs~EmN~CrDzA1j}75(uuoY`_2J{y
z{5Pf>69|mCrUSR}^?SB$d$RJjkt4^cC#4=mXEZev)(IU{OvQ?NqydXXsoxW{&jjoQ
z92}Y&(gO|t`Xf@gz3S@r>ZTpimcd3`|HQU!dnGepAUXx)8U4M4PBnGY0SAzS;<QNJ
zREI_?j;4C4-PDf@s}WuO!YkGM_t2O^9jHTM!c;i|F0y}WoMxeM);pKPK~jH?Xugq9
zm=>@~WbrNSk~6K{s%OG@A9f&O|08WD<`(yz+2;?0_Wk}%zlVyZC&WLqv2w#6muGgW
z2O$o@fAg>WIL86%HYDIQ3n`j0fk@zD;|LU~DViZ>rja&MGz*)-gelY}T^i1F4Xd9D
zJr4sn#WLgDpa0GO`1%|Vn)y|>=jpW@s&=kl{}kq6<U2nw#?SwKnSacXdNzk$Irz?*
z7muC!5ab|zgggcl?hsaFn-UcV1fJOehoRXSFoP6OK)Z^f8}mt<RN)UK0!hP!yF_>}
zk>GkyQcwTv2VObArdQwFdPL45_ToEZCzg-?kToyv9c5iLZS^*Y+;zQ&{vl5tI^d>T
zASQ%<fs#9^I_MW<B-DK-jyWmb#@KG{m=h0CJb?C4IkX{)2#}??&{Je4Oheh#7=((Y
z>heqDy$Kc%oV*UJ)tO+Ts=)x*D9r*ErQD+J53xf8?n?#yXx4ixO(%s=LTx~fVMt>&
z?+}dq<XB{f{hnOk_J?M#n!K}m@#1RMkMCF7)s8v!)Vo)cdh`6H=5SO+n#O#W53db=
zqU?X*z<~#N<!!g|xA<D#o-Z)dAwg;%4O;$540@XGUt-X3&M-CG1x7<B#{+^<ak^R!
z*aN5ngCJ~O%=OMYiezdWL!~(hVb+JnE%p1B|H+)c^{MR9xoBePnuC$-0PhtBX02%5
zv)5WTi@gN+Y_n#~XC}t&d!%yxvp)Z{7G%@!hW;JmBtwh_UM~Wvszb9ky}ou5gRqN5
z`ArO>{MrDqC<vNo+9)WAY7;*wm<=k5z7EV5vgw;()3>KP1L=l}SVWhbE9@*_Z@fZu
za|mhNa>z&ysYZshf9Npss>^qdyL0>>Ec($yFD&D&Z=lbxA9&S>5jWi=x%j=+kF0+3
z#@dY#Lk1@ZC38M31=yIe#y~7?fqG_fAZH9E^2$N2mz?^jQ6c+OfkgDBXa*cV_U4gl
z=G^h@^D9767isk6apUg1^AGIG09(fcTUW1njD5!amB?d7;d8Jd$Q*1Or-Ky<$!d&>
z2{Wp<xTy@ZUI#{|>A_8pu6m?q3-+ZPTuu13!LlE1+ta|P6Q6vtdiwO)I~zFj?YDzf
zQvQzZ#IGuIBIy9_Na&Q<k<(bb%A8Rl=2Ra-QUKy$p`Bve{;57>gLW$NwcsJ4wU7#{
zgVsVSEW^X3!X|h%6;?ecH62dV3p7&<jS+f*P+f3}gpL)P6vnrbUck3DIvRES5}LxX
zXm|_vV~XCeIwB&B7H^p1f_=xO`F%sT5+8C^<=c^8l%nnN9sl$3mLD%=_VxFV=hwE}
zy8X+HR&M&fWoxV2{5{`R51H5EJ@%rMj_osw$MYAYb}Lx%>*~)y&YWjEc(33myyGqw
zH8c3GN{)UM7|2EB*dijrUDhzg34PD0UXv({K($)=B@y)xdMM=I?!r|G5VJJ)$0N^H
z#MXL;&DrhGjoOoR?=%)x#dp`FPE2E)+4M_i_-Q2McyQeNlfLFpayh?F*Z)6bvBlsA
zQchqVh;zY0;2#E06muW~+9B%KAZ|$AVZss#dpTy8tY@TrY9jA?XB4Wnea8H?Yy_`i
z)^~sT3+||&*6rB5MVY#(vT_qYaq3tjSCmS^Fz_&u0Fyl!IAByjgh~PecAJs_0)!9e
zp9IvO>_ET#z+Ba=7>dhvYKzLs!EZ^A2p#jV<rpsO_v`$a0k72+u*wx)V?-d{XbdyM
za2Qr0Ba%3T^F!@l+D{=g0&F-Gw&jCaCluGy$W>~%9C&>i?yGApd|z!XD~o4yS?q)t
zZf`wg`z;^vpWM>S;9@JYeK2(Qh;DgVtemw7!YCS?!&<TN&C-{J9H&30W)Sy78ZLp5
z7i1>71Br+=K?P7mr~8#awBOHgl~Jz;*z1Bw?Ft9-3Y)>$reY?5VHCI!Rpk4Vo28NA
zpqeGQS=6W97j`afb$i=Jl7Dg=l(rxGKL6XozlId*^~vwPX0zfvLi{KCr)Q^M{RC`8
z-m-RJBQt(N)Vvi1kPI=#=&&%vy)nH$Oh_RtoIo!4{IU_VmWC^Sz5{`lYPC+6zTFFT
zD{2>B(>*J-KiK|0;L{boHR8T4((>mJym9Ve5boXJD%RCq+T7nUfxq$r`i+46Bcq7c
zuRSI*!W3@M!`K@}w>#1Vg*#02OJ)VFYnc@R1tdB)MzB3qY{R|{qu1TOg_TY08)*kr
z!)6{xDkrO)&VOVvGk67Cx9FXe9?2QqVo#x8*i;SQVZ06ql2)Y&206hfIpaNH_DFk_
z*%~mLBcsH?!^0zmH;guou(sg`fhK7*2O0+<uWiFz7`~&qSaeNyfJO54V4dpA2iwmT
z8IhV!iL^C1hOC0p9W*u3rJ40p1I0l<8&g9h=0V4acY;QP9LDS_f%Yh{3zjB~z+Pm+
zrhP>^WK#lR6Ko)`e$HI_*_g1kcWkab&VK{*blYF$?iY#lMVPp<IgMuRJ)Q}!0r-Y{
z-%082r|Da!iXCLt5$1pF`53psDhDF1R+D0~SdjQYaZ)-iRhOhAi%27d(rzz;aWuy6
zASnnIGDvcRe<nRY_yZrKZ0BV^{+WN&^X?0^Cr^4mWyYu|qZDS3U=}uj-PsirHo6Dj
z#1Ak%E6xwDlqy>DbNmk^)+=+R#>S>Q*<R2W3$aL*OTuA3MNC?(-sTQO*=%MH;CaA-
zLs1NIG**?UBgcmiA;O{_nUKgto(S?%NtVO-%xCpb+9ac1ay?~VyJ+*Gwf3jd5AEg0
z<tO;@y@%wP{If8t!C(yw?tb>;6uKv*eEjTX24R3%Y{jpsd}kz|ffq^4ib@lawLAv?
zLpLJzlVoOb;-+N<L=o0eI8m=-JlIuj`68O7Ve<T#P;GU^ywVqS2*w`AT<^a4*vXTz
z$1+~s#A5(17|b8W<PQAtFaA_;J2OOB!lf{Wx#=__x@$mB0XnFXM$trXkq_`PN2WJ6
zi|~5Hliy-miG1kY6rFBMlFc4D;PL46NWqQ`OOvaqEh<l{`$m|BNr3_26C6O8OThs&
z#XzIk8fG6V)QkKpbxzakC)&S!GG8sXZde43EooveH%#|C@8<KghLr%#x%_7NYr{!h
zUz8~+DNQXK*l$pIzm9FnyZ6Y;59H<PI?4nv(b>xpGNwaW$IOtUgYIIqpWw%8E!Y>>
zdu$->0tE4^VuOt;URd>VHO`0*SiEYDETq5DQhrc+AK{EPsFi&3rCye{si|!(-TMsg
z7d^C1@tvvt7Nk#b4=!{JC@vnAxP9;LEs^=j$@x*!=BiF>_DH?g`e#ON>vs>SMN?&b
zbnn!)7pXX%+mFe}cG~UE^_2^k(=Qgyx{*u!>7}on(=SkKtpYnXQf{Zu)D5C(8mI(1
z4J_|%3UumSUfeo9ArK#*)yWa)WU9z%nbjhYmz5I862h5wcKtkI#;}k6$BYQTVaPoX
zh&5#bMfE>nY}e)m_pX1=vYb96vcMnHCB1pCl!eP5Sz=FjxSB_ezIE-|+ehDj|Gjti
zUe_BD0|%#|cI=`1=1jhAQsusCYl~QCc1&rvo}Hcey8*s|6Zo#4nK{u8NA&WAi&rX0
z{W);JO*cJUR@QY;YU)N;Jg|e`e#^gcE}C@n{AeZo!N8IY$T_EUE$!Zi=9Hq>#$f{-
z#r_pp%<Kwc8x@6c?^1<9c*pV}fk~WT7GN~My%M+P)HIPnwNWlJ{Zanazguq^yym5h
zn(FQG6Yg%irS*XWweo{sAo0s=ws_xD(!t=UnRke6X2>H+9m5JZ8|ei^vOq9VMWn96
z!Xg6RMp2beYpCNJc1fr;q)$5;z31I_kJLPpvEUxt8qd17s`>fvJwUJi>#fVukl^me
zAEGP+mtKLu%0@DRH+d_VgW!s%3~D%|<B_c|88~`(M09qugfwK7_XP}cg)X)MwoVpc
zeaJzEP95sCP2D3g6z%DtwAebMx_LwZ3Gmcs_$oG?brLBID_@<lBR&4sPMwCkqBkw}
zvhdf>vna*Oubp|H{}?rQhd*IVmo7u>i5n@eP$xEmZ3(3|ln!TS$KxY2^Gp6W#LT7(
zfAbIjNKeOG2`w=a)%5Fb7>OHkbQ!+vW*CWG+_w`N?%QG{+HIS#_6Uwu16b-wr+1nR
zFGec+hW}fQT;)G?w+-uV+qrt_v-a*|yzYL5g<T$8v(wsXq}Sc2Rjcj}%Psxv2asgs
zXDy=jKZqC4h>zc~WA`SH+l!RdeDuzp9!g{Fjf>l~8$4hK^F5D+@ZgT>B%FgS5G7Zb
zWP|FV6$}VPNo+zNbfwT~rcN~kE{P!~d4qqwz?PY!^oqeA&e|s3cT4#c^Cm-jv!py5
zzem66>WbLXX8w+`@|&Ya&zzZ;+p^$lC-jaqoysPtucG&8dpQwctN`d1z1N$t{@FWh
zNTj-kdS|QooCC}dX~*ufM!ei?#!X}IHm_4se6iUs4oh#)(X4x7Vo$%6S6+Vi-5D9J
z+Sh%J>!ldFaio;0WYP6fIxF=A3WkzNpyVE#NVX#wAXFMrv@BH-STz(#d{whk&||{H
zBsiLvnP%!gK`P5wq*rWRnvxV>-YO~3%2<(=n%1m5%}@~*RUT%vkT;m3Kv{HviTeZ1
zt@u<YSzn-XdbEm+El{&#MGMd@=@4SRQO~`8Db&f(Qg+V6`$g~+FXta#;NLR)=NFlk
zbHjqQ`jn)ERxW<`o^^cY0j5ORWxZ^T+?_OY_}IHUl>xQcnU%4fWqdk+j#u$<`c`EC
zl?M5r{KYcp8Zpd^i&L+Rj4oZS_G0T4chHR>%GhohVoI?KhVgM>7nNdd^aZ8<yqxmP
zyg;V0BB8K6fyRzY3C3>3*aKqh0zV!ayI?Op#)`o4e2kU0MuBP+j213Z#GPF?;QG~<
z`dy&?@#9ahPyX~l)!}D0?|8aOx_c#`fkJB-C-H<jPQerLn1!ju?OD>rD=e!$|L)3V
z{-Ipc{@k(WPq#n&!W*w&`HS6u-T1&V822cg`=hQMFto?D)CHlHT^g6*jt$t|0lOs-
zVV5g1(gMwN83?w9wO_0(WHy=n5eEeMrEY2w9G;@GuYetB_#p#^Y<H>eBevBl$@?6w
ze7;srBw~Gv4PvbwMa`NO+TrK#hpYPAj=aRgJjb{E+J8QE(qoQq|Ng-lhmTlXCW}}%
zwlpy*DKRmY-w(6lGkm%}!c8Ci%`1QNGk7W%4`y&?W~ms|=xh6wb4tI^pt57#f#}$P
z9IXpPn=8_MuzC6dmWV(&tVgQZ2nk^5zl!LlToB}drwthc+p+|snv9>-=y!G0!ZD9`
zq%HnJ=QkIB`NdJ__ZK?8{NmS-Fs|eR$C}lZ%NzyCcyH6DwU0Op1|%kWnC0_7m?bs=
zA0GbqFQ4-tFeb!h#<`E}e(V(tAtB!N`csd+?1`hQQaDh;c8BSK1naIFs_R_ZJSHa&
zQ8VdsPIyJ1o@G7SbPSZVDbLRf<d^g)D^KrHZcR@Pgs0=6!3trGPSZN!RspRH!Mt?l
z-2m^5vj;XgVdo{dMo0rwH!MuM(G7Y=L-A`032vMTT3LMCiE+4ItYPC=-oWMkT9r=k
z`UQ@bs9*1Sp>N+8@A;KQ@he|;oz}jn@A5LFOTCk?;pc9Djb)_wTHLPPgqGPk^T$pr
zo!+kP%+9=@SyXc?Y=&xX?K3k`j<pZ|ReR!AxT2AY_c!D#J>3!?XeNe5vhFeN<q2Mx
zoDSgMq)g+Cd8sZ}YR}wTw$OJzuvjezmrmv2)T7OC!tm$~=G6SZ=2T^q|2n7YCa<?V
zXt9r>sL#-xsu3jr*EyBf_1-b$d;SLt`@GkpF5U9SwpsJo3r`MQ-Ld1U0Z+bAv%2KA
zyl$QE@B29%EC2a^@HW==26H*QQDwYN+1V`R=U-Wi<kWd_-ggc?^Il$VZr(cw5541!
zo0sC}Z(q8|Kh8EpHJ!h~1&!tpCx@^n8j+P6CmaPGyehY6Bh~lyqx5g%eRy-}eF=9U
zoQ9+LIHU;LkF3bZ-9Tm>xk7Ril#XPj_mmKl06+*C(qLKAm{PvImVeI=v#qTCtu@12
z_g*^iPkxFe{$NdW@p0__7`B+@P{2!4vt<dfp@0{O0BxiBIQcG+=!O^EqUJVqv(e0@
zolk&*2o0Q4Yd|_*zi=?99{rvr|JHG4hxRRRE`0RO7q=lX1G;=Dnz>E~S$=%dY<J98
z&mB0cSAsvGJDj5Od*Yg(R2l>CV7P3GFf*ML>4>sgtVWxJszS&|NvaYvrpS7H`W-1n
zdhwYr%kLHOZ#S}-Vt#SYs#o~$Ma;B`UnyqFjx~qnz^u7^%bYoLV48V##+>PF%+$Hl
zQ2PzFRrpIN<Iq`u5~dG0&cji04PY?{Y7r@o>JUOuQLwR3h%)j$KCEw%o?2L#%BC2y
z)944iy?OJ()U-l;#cQ;=8*L8JzXUfra{VigfLSRAw1lBniJFQpbY7!zacfh>BpWiz
z(>u@8Gq+`#Z`^>yK?MaPQv1wTj(6#Ta)rrI)I9FFaC|gWUkg<pU90TW-6N`#rUc={
z1_71IF*ZeiSS7%Y;n>T~rhr-a7Q~{}-yJFMMd%L1E5}YNo?F`CzM|Ch4iA-foSdGW
zqa0I(fX2~qulV>G;}QJ`aipgsPg7T1;%?L3qr0uNqaV6WT2jDbk1qGv1DP#y%L`fr
zI<#wD-nm`i=3zIL-#RSNy;tAzfxQCb?h1?>cx&eZPnxmZJf@r}_@;nBcqJirg=Pmq
z(d0jtT~l+^fbgcT^#31zr&JA4id*HiHug8()xT`Kv|@l#)GD{wSQa*+e_7y4u*pmP
z2E5GAD>jrFCk!Yn|NDm~f2;qWe=E&x@~~1(wLS)o9m}7hAIfeY3tkZ4gRc}86cm=-
zK4vg|A2fDM@R<6>*g@KN{)GCQu~?}BKF&BEJ4#J#jyj+?%5kUD6_z$bF}$b<RQ?HA
z?SZ(2073oYtWuQ0U~+o{CU?0h3;{~yBF28hSA1alQwsDBxyX@1#h}wtTn@Zuc&*24
z<l1n-=d_L8Hm;`I^K8qU>0?;-FxI!rLB5@h=9``$Ruh~!X5{Rkp)+eejMYpXI}&G4
zzb^d5N;W$9)v%gw!2u&@PYo8bHpBS-D{OR!ZqE;cNIb&l8XU$%U8?-HaP@qpyaEPC
zGPZPF5!Qv!N_?*JvHlf2^l$Yck<1DY`AphF&}PVaQH;q@JqIx+Sf60JjWq{Qv<2u^
z9fG38rAD<NsSYs00;t|EY?F|Su-^T4WX+n|sw!rE|CcMFAexIIx5b&4Pkgtba_;>3
z=$QoDOZ7gB>w1RE;{V=r2xU<-b7u8|1^;kYJhS+~fyKe|4eknA_X0-UT(AIv5`l3;
zRd1;rNDCbq6G-z8Srcg76oMvldth>8*b{`aM(3}`@<`9I4paE?uWQ-E-v#-FOE2!*
z`&@0Uyq9P7WAF1lL4fejpFP9>l>P`-?_9fjH8@YhE#apaI3u7NGg(4?d&wk6Ib#XP
z8Res^UAUpbAaF&*YQ%Fyh8`+w3fVQZ;yGFfuG|F8`6NF!6;*#)D%I6W$<tF$e17Gl
zv76fLnz#1xtq-o)yMukyk2n7=xK{tcfpO#b&liw-^5hWq`-*u_pFjD;@z-(gz&tNk
z8>&=H7S%l;T@S~FpO9EUbrK$thOG?39>c=;Xi-oFhqLsXKC1B_hVG_K{;-A}SxHDs
z=x^hYNL9pB$(OMxk%Vtk<VaNXibN%i00NM-q5xzHq-t)!ZGrzp+%}=N4%UAAt@M5H
zD0$1It(&AV8+hR+Gzf)4&VZ>@G-wJZSeYKKia-P~Mj?ls+8~Nm5b!{2R?dL6-N`Rj
zA3ZAd0gUw3#k?<jW-&umdF;FqqV5bishti}z!6C%0KmXKfk>rXcq+tN2?VZCeN{{(
zu?;~Rgz}5Cg{@SB6R&+=Tq~UoemDYmm7XGMkxxZr;>C|ITn*l--?WM6Krwxnf5MN8
zyvhKkJ%JH5?HyP-wRd$;WC|p?bc5b;Ep`f2#VA5mR93#VzkRhdl=r>k5{vxkf`+Gf
z@9|@AQ>mRw{to|<U;CQBO<7TY<mZeDSe+DI%hFhX7&17-8>~K`*9*g&+$_N4(Xz=D
zGMG~lQsEC#^%Bgh8m5FF2#+aHs$?1=>onATTvl1WF=6wV;F$=!QNInz8qL8o-$<*1
zn@>w#yrpc@8|@L2_Y}M|<{cCXA+3z^n1k)5;}M=nU=+WX_6OHQdd%d@p?r>a1^Wf}
zVYw9G!U!wsA*%J^t_Y{q5N(RKAq2cahRGRJ8;vH-5#hD|>w2m|FlcXzs?9g(mfbAy
zv%KIR$lB?v$xp5VX}O^(z?RPjMeX=r5nI&`yFNBQE6_T>JTb{+2AI;5+FA~@4zGZY
zK>4JIjR39{#&0ZV{c36!?d#LtsTOTyk0)IWx=X|Jc(M4uM_j%0O04JBp=rJ1eQ_-;
z&C*;kf%isy^xxyJp8d#^(K~6-@W_ZeOs3?dq+ZS17GYFKR3!kzVpMTCg#la_bJELW
zqAB)WXUQ>FSi%TTL8B7TCSl4zblras71K)4HysN+7WD)3|MgD*@y>N_@6ChLy2tvw
zSy4W}D`xP{0U^9GJAMO5@w|=B)IPpJ!z0Xhgoo33{H#ThhCmkE{hV?HT#saArA~t*
zLbi!Kq!Rq;(r8Hp!{%wsuCjUqr#E74o8lWAJd1K!O%joY7}@FxZ=8q}jH`zC0KrMD
zYo)IBz}rR`Baj7H25O$TR`6_-t_7#kv4E&{+E9va*;wA54gj|IBNVir`iNl7A9)P?
zHrebPw+e==#aZ|OhUnGhlzOAWoK8=etS={jlB*mpB?_stYJd*m+k`0tT~MY3`Y!%y
zTexA9+iGijEXmQEjjZE~d=`7`G=C;M!jQ8Bez)Kf64MdxNU0n4s9PFkjfnurVMK5e
zrh7Fc_IZriiF`=0=CG(J2hl>1L|eH7QN5JnJW|8sh%}a9rzX?@PLU5a3_fZ<g?ZUl
zSNE8g`olB)XIA{i->LI@VB`bp>exOW7d+42LWnW$CD46z3PSfV1Ms7o5I$sd+fiCw
zmaRG~bRcJF^cXbdF%Z6m#u`vaglXeHf>dPRf8UUBcJ+_J_bCajvSsninTz?zP`=q1
zX{E?P3knE>^cQp?C!seiVMYX_!tL+0%6dCt+u>vu%Pn*O5Fse=Y3Tk27!p=p{tLC*
zmFju(s@Y(^2MhlJPhl6iQ^Rb`gjd0i{wQ>L4@NAqVb~+|vI*5{MA&^OX9K2HFth-v
z)C*~CgzN+bO*I`MakpOAD4i~bCpa73;UHFk*oAEvCwoLVD&eAb8M=d~G6b$_+8yyP
z4Nt|*YW!Pw9^6crS;4!ARsbiXaYQSNfI1896O$f-)EF5C%@vyjH6zqW+DsDd0#ixX
zB|3}6J|PVzU%!9zsh}6mS&Fek__DM-SOGR&Dos<>84XBnAt$yHjuJ?43?uYI0`eCk
zz|dqLLRzDPrtRAlX)j>w_26p4z=I7553d5O2?((giy_n$y(y%mU<}$W$Ayp10klkH
zhe-DsR`Pze!4{zW9chGKcU9LwIi`jD#DshotwzX!hzK3RxXC+=wbsmdYOAz?Li&#n
z^$6GnhT?wJ+@n%iSyxFUi<ur_JO)DJ5jY(kZ3;w3!jubNxe_aMADi%&)3Mc5|B!?e
zP9?ow|IsHj=s%c!rSLih=#P&tFgZ9>uUx6aV(jAkg%WgFQ-Tb`F)~30<+Ss%IEo~)
znF3y0xi`d78W}=Q4e33N4iA+JYUHwz?vt#lL~rizpav|A;9rvR^SaptjOiDTANz#o
z5#Ss*7xKoD6NvJ*WtV!|=42HZ;>rmwDpzFbl2cM*=<*_L+IcD{Bs23AY^C*XxsXwa
ztfFKgr7Wy=%4-30u(0eAl9UcU)Y;II!NS^Ym;Oc?k6o-M%Z_bpi?b%#V9#ORf5mn3
zPMrGkzNcTFQQ_{G7~3Z$KXY=+lEp1^m$7-bj~qGno`D1IakFaH5<uDK!}O~anV;h4
z5#)B-Xq?FUZUw3%m4Cr6@8EkU7>!Ypm6m9q+v}HpKJ~>%Z$80)=+c$hF={GPGD`7k
zqxQD7I&umEo}6+|Qov)ZfJG?Xks63Z&LCkTrl=&r31pXo!~MEp!Tl(P90F8nW=$>8
zTZ~Z~HQB|L#J-)P5+a(Fx?&T{vRjN!PrJ3{B_90c)0mF7q=*FDsz+-!+TzV!`mTE5
zfmNG2v}sq`r9(-96!*Zpy(Bp*;y#Bn8vmKKj)k!Vv+;gKIrH+%r)8<vxd-+iJ$m%s
z1q<$-yDvBQDKI#tuYD2=n}vv4dz?QICs!cXc8s+=COr_Nq1Wij4_o(*6s;Ru8kHx<
zKQPGa9nmMfdzvqySWZrkaq+kLMlwC#{?sk)`>nc3H9Zci8QL>H$&}F}soyAb<Q=AP
zpD(d{bA>HoC1i<A$#^(9F=UBM%>=olp>(0jV*|OyM&t^I5iP-gCHKY#N_l$GU2R=W
zlqmPBmznF2{wsQRZGCsg#}B-?E_Xs<Npf>zYVSshQ_nOj3%_s${F*r<DdFqAN8d{H
zfyQ)xPKkibpqL>`m|me8of2$`^#RY&xHXYUkvI@V(!4`_EE2hl*&`yJk+<dQI-w9H
z@L%L~?0Y!Dkx|(c9xx%?-8kBa^O^)2WW1W10#cF!@E|D*d~!NJwSL)N{x3v?PYt^H
z7-q)_0t-shVs3D)B3mUwe(*kGn~W?%1Xd9gFcj7!G#+U7^?o({WMiB7)Pu|%X$q5I
zBxSL?c{y-)U&wz2!%}?7$<30bzv>L!k9i;+1BpandIY$cis(sJb9lHR8t6z3wm`~-
zs#`FoUPeKGqwbW^JdKs{y|w%~){EyM%b{$KlJ$-#HUPN`Di-sZ?7_wI^56_ZR;n#4
zR(c4%hDJsCgl#6-VnGavolf4+zzFcGjjU;J`GN+F?<LlW#u#aaLK1FL$B6z9Vw^+g
z!&$8Ol6^jZGYnKWpQCQP&Wja)TbvT9rP0QySf}EN@K|t|K}h3FMw$%>h<_-q8j?`G
zYK6S!LW_NSb2&eV;!6M&M({nS*_XWAX_jK~m=!C6`f`u)5>~!mTnSSm{VsDeckmPG
zZRt%O=E?KG)yMt_wieZLy!?`UKpY#O%NdKRxDg(Y1q!uBmpBx!r%Tr8lIaQ<!lpsN
zM7h!f%SOCuaz!YTJNnd%>=wTN<rC&;5M{HReU{h$XR%PW``FW>l{7z~a+f6&uW~ex
zj*a)QTY^{kDs^)h=yqYD<uPJ&n6Wz|n`{sAwuucQ6ftZNp|jWwzN@>`T~ePKKx`B(
zG9D@yzoe&(@S^E31IlxtE=3foq%+*pu>xugm}r_*3M_u8ZGGEib=9<C_^D7l7=^_J
zT@()mqHB=Apd*NOfs^ePL%@Q3JAkN4D3H>ysfnpHRY-LeU`wibnejuuO{qE6IQ@Xg
zZE$@K0xioy74)y^7>MZ3Y7AJNvJ(azWHoCTiQr-Cj&}VG`ctMad$MsHnh0{cJ{S#y
z6X-gTQ$a?5$P5{-L)xQq3X#yqpiH93fJ1tuDpoNN{SEq)dM#mlo1|BGMebgA=#}dS
zi0(qMbvNn`!i^S+0Hy!4J9cdzyRAu>-4tnFaKV)8$45&CA*5!EK$&K%p2`)#wq{cG
zHc@UFmNnI|fQh6STKKP`kt;&Y5}}TX)lrU!;BcsAJ1J`fgelsk>kEPpd%+A1qcYIo
z!*GuJk$EJo)RhqzQ;tmV%wjPor3I4Y3i4@a$Emo@kaL{*2%1y~%}4Pk>11d>lv)+_
z4M{b~S3~~OQenK(84bg(R#{ox$BW+`K5z*Kc;jQB!{g^X<Z!Ntc6RDyk7xJ5f7^n!
zI}mo^&9nS+j5O~j{!`CRv&VK}0hYb=zMR1+{=Vs@rBI0`@&Lbg;m^zk6qca;g7PYk
zRE=^LX9*DXadCojqo7<nSxI>o7co#Cqf!o?O^1?3O(-YWxIJ2h(;1algDsS&HuqjK
zxci_(lRo8F!ej4U=5#z1<?Y(l8OM};Z+%+J7SEbmWoI8eakyFTw1PsW|7r0(*?m*o
zy))ald*c^gccEa}wwebp>o{6zmf;tjD(w5O$v>!0fJ}I_+?o?09oq*3!b8)<Lnq|8
zhKD@bL%4x7$sZ=t6N!X3r^O!~m1n34Z&HvZE|l;Fds2T{L`?spJ|xwNmYF9MF%6D;
z3Fgv15Ee<eoJBJ!CKg~@cM@{Mz#QbZl)F{mf(n{eP3+MzDpsJu(4*cTAU4R%p!5lz
z`GYlUoZpRKXj4<8Se<tE8F+G&63<_Qa!VFd%JFvb<8N75a3p?H<#0QtL?OWv<h>w2
z4)++RF&2?V@O9t<feaWrXSujPV8;n#N65-S=P;o)npmT7uR(w_d+-z9<K&NIKGm)e
zCtoGN_Ec8M$NTsf7rqbOAr9;baxWGxg3r}Y$E2jn=fuo?rKGAe7tb2JHxj%z6wZ<=
z|E@kH!?i=vJoOJ@BxH?-cLBl*BN2J`<*+cozA+NnSstp;t6EBEi-}!LCy1J~Q!}M0
zy|nwUNSc=&-_f__iH5u6RlhoytIe28ZT2V%T=W?uV?lKyY!}xrovmT^$XEiAtX?i5
z{2Nal4jd5~{(i%p)yIhEkiD6%T<<-Og2@yu4riDCRhll!V}!V-uZZ7iCM=Dns|M5c
znwYNtXwwCL7Y~JnoL%DR67o-^a4}c{$Q%Xp<mi~N3Od2)-U8Twc5os43|+w*C(Xg^
z$=Q1vA6$o^cf7`4YnnXg3g9Z3CmdWNZd!B}ZV!aB7#N+ALPs7gLQDvuKu3w{&cK@d
zqd)nJy~{Q<KDVG!Y+*4Xh8nuRh@t*aogiZuF+n-%*!6#?V^3*1LHc*a1mTxr78j`x
zB{p^$;#a+dAnzxF5Jd(z5(E&4BBV@uL<j;21##;Ifk;y#;?9t!M5Im#7cEN}ZpJof
zB1W_%l0u4>P*LZiKo8229ZfYZ<}1$@QI6CW3UQ2415eY?l!_h1cug>vpoTS$n+FAz
zAiyw0gibytUPGKAOC?bayP6;<O%-1jgw%z^mm1_s(Q@6jhgzvrCnCl*MD-Bd^v6-6
zMTTHY^jwA@&9l@K+bUj*-_xk*_Y8>^SsQIsaVSw-kBJn2Mx&xXqft%L!f8znqf&Fi
zQCsq9tu4x}N%+cSNZtAw!V*I4QcbU4w8sX6Zh9;x6bnc&Op(G(w01^)OgBnvEd$Yj
z^^}Q3AELEODrGo2s4aTvaauYG^lgDrp96n+Ny>PQR5n_na<SnR2Fj>FJBJ{d;wXod
zDPW{cGK$QkbZ?DpE^u5f3GSAM@L5Mc;=du&+sIzzn0V@`ebSL|sboX*;2WPFc=wmK
z`3tjiw=7w<0<ezHxlbNXc@3mNp|#a_LjA{7`K%b%BsN4{TO<jt&vHn5j!xeO5B;h>
zq}!$PI+nIRToPP@mT11!mdcUdTAgoqC}AQ^q}mqEx7t=Yy(8wx+IYSNLfdd2?1bcM
zf)nm!x8N~ZLhf01mzYYlCg9IB-)a>#Y=eEGHTAIubZkA|TPq2xa|N7sss%$*OV;X&
z3#%aHhh9b0iLa>aMJkeBXj8iDVckdVJov#`{!5H}zAi4BMV$PUh5rM>Ew}s+BBs9o
zar2M-BEUI~G21ty22LGSBO-xM)HDKYBf^ppYM_QRB&qB?k{^hoLj0#YomI;pdfJ6#
zTeq8@TeGR!4TxzY81~eS8@I1sy7S0BOqx2kSSe+@Hn$_iN-3x&(1@4o=T_OFKBjw4
z%&q!Zz4YinIk3dKf2%!queR>-&PJ`3g6T)lO2Miv_AHj4b_P9E-<C*$C%Eww(bgp0
zF_jx*!H%Jvn`&GxxKYIA8g!E&aBzCXVOJm5q@&sn@uJ#Jx$d||lQ)#%Q(&tpFNxru
zn^l@ncZX;~(KNLwdPuZoyfxI8v=u32Z&e>dTMvdfQBZ|kyIQocv{m;lmYP~a%47Cg
z=rLmd1!A_o5F;$t{iIO_eXBt#iHi(TCSTJYTd(aBdQ1$HBngt=Q8G@%gaNWA15|)}
zqp|V55&Xk&%&L|kHvKT%`o~l|(55X{H--FS66GVQZv(b?(S~-dB_3?l#^AkDYd%3s
zYl2%Wza4W#d;cLZs&7<s*-SAiMaDVPFe(gQZ=g{rvi4XDjicx>byR3A9Yv%7T)<<v
z{@}cMonbmcs@ei=i4*V;zzBG#xAxH8+CxU2PCSJ9@uE7~Bbc8|iU5s^4rIoar!uls
zWFogEGVqa#BEk!xSivAsA6|eLH*ow4pF8>6y_(S^%G=0j(zjLm(naY5JsFmwxS|e;
zY5bQkt7c^RhyCQ=Ws6Ggt#(G;Z#H-9k~y-3Jp)rqgde6BIvy~x8Z5{^iAMQl_;{`(
zy0I1I21Mhgqz1FLXt1e7xFg7>@@ey|74;PNP4uoufloztMW0fQE6(Ol{AZ(JTsc^>
zSkODqZ0-qq(|@t1x|Qb1`~b}{IC>N2I1yJ8hslOQzX31yv?V4ntil4U36V>#qI@!q
z;bIC)SQ9&(u#CY@6|z`)*$aF!Tf!$dwMv!at$Wz6Q;lp_()vZxyhe7Z1&e~^QoYei
zC5@8!fHXf$D`AOJz->=VjC97EDk4SIVo*k>EGUCb2xVHD*rc#&;P(topPw~ne*QU(
zQZXjQYPDhl-$6?GuUOj4Z-%=fHM3PdJ3JrWJYksf#<Eeo&3xXC^#KZ2wOSnpRg|%k
ztW?78YE%dtMJ6h8el^(gLYs~@FLYVG?@Z9~xKb)CI|{!lQBFv0`~IROCZa-LXbsy}
zYpuZocU^0$2Td+p&wnBNt;qhgl#c}}WtZgEjgroQHq$fVav&VwJWPy0KoB}LFJ@GJ
zdPaU;dPXa0N_t*idU}37Msz2P6b~w&>ufq?$wvewi$X<-fExHs;=|`dG^A<=Q8B2|
z(u2V-9c)bb9nIUj-Tt1L`!-ZbOExUh8y+zlKmPztW?%bR??;n9SjC)FdD&bM=JLuc
zK_6fV<yzD5sEX$6jVw)|8WihV1am=>60P??@!c1h<9jUG=I`M1MkPB24vOyH#_=$-
ztY@v6Mf&ljokn9Y<M2^~euXSeeNfshM@H<5asT}rY#30F<%8fNBgU6lYBhwR7_%`7
zus)c{amyu>5-w+i!XW0Rcy6EU@P!!1#HPK%rXE0q%8*5@!-KH18znPJaw3o$+5{l;
zm2yT}WJWwX!iPfMdV)~qmc}_)M3_DhWetQyg+;;GqbACuoS~vq^3;n22wKG_Tt~^|
z82SVWHoxSTc4OB}<&~^9c#v1!|0Z+A6B6m&N`AIdBj7unQ_!dlRN*jNSFGzmV1X9#
zB}$;A#G)%mYMrKw(a<KX>to629-6OSgb6{WPnM9VPt{J+)MyNt7s%QLUzJ|9RBApr
zAeI=oK+Tc}wHA@GF){4QTc1nk<b4}kZR*o|)QgiBA8V_0KQ?>gQ!gLoS0+yAwXt`f
zQAZ}-yTPZl-p_`eTD&YUV#ZFMJ+;OWd{0{JX8P|3KXEuaZ)!>LBz)|6aDA28x^``L
z?v#?^vG|ZWnha&P^&I}hV(zSdXyq1+xII>tWP_UU7LdirC|OEK3?wAz^l74U9}?9F
zgQ3vGGxPIkoC2nxK{Sm(YpMb_4ayjeM~#i8A8N*rXQMVg+p^{MxrGI<KJmuki4$hu
zzJJeP_z(B6lS|p|hbOfemasH-Si5<TR`%`FXT;Kh-8*;2*$1VId{DTHbp<=922@I6
z6{c=3W)rKA4X%+!B>BMM2+gdgqK1_+D*~_Ht6RU~wO5b7vPRKez4{aXs`AAbpL-5%
zwgaD8(Pji-T)2V6cqBO>Njl0O4$f+tfveG=uj>VHN&mj7Q?<U{uiLQl)mM)nf8^pt
zcDRxqzIydX{-x-Uze8X|9R1R-=+jJQV6b&qn8;L){u;&-vT)S%aCD87A7bBnu0>;o
z*S?o7f?GvC?PgJyfUNVzqXbEO3^HVhst*k|MZ1<z5v5`p-JI%Isy>RD7*)l5u~GdW
z?B1?;Li-VSRn8btwrb_vih}8-`F)oUI&|jlyGPyfmOIfuC)P8tbMN8HhYaa^i_1Gd
zF>d=q;}^y%NmB>kw-GbE9ImC?F<KdW86puI)}&y`>a97nYA6FIESu^ksi_)})xLdJ
zc83lm8hBbsix%zLXSFDSO#b28MRpF2S#-A2aLQ)|?MxkC%UoB(sL-I(P?^;?BRjFk
zHDpNjPG@A)B6Ils`O=bL#VfCXx3C6H(k&+8wStBtk>SN5$xJaB!?7;J1P!^$)cl9W
zG$c8;6}j{fFg4vfJWzGI1AOI2*wpk1y(FaPng)&VMe+lZehX_BvO2&lqP@oD5wD@|
ztNe}fI3Do#K=HacT???3s7@;QeY7r2SuOtsK5@~^X)&xwn69lTysugW4@K!UDHb*J
zH~tZ8{_o#d8vo#z=iYti#Y6AB6UL&yy}&H|CqzMCs(p6zj;9W8s@e+{nxd;#b}5nA
z0f?Q5pkh^2rBnmdK}!)y!eBs0F9wQp*Tj`G#&tL)ndN}XGt;tWCntUQ>@y$7CF~!t
zarmz+oqzGeq({p-b)47hiGQ7atm~XkV1Pc?eo$&KKw^bhs7Nsk$YfJYz$BHMP@>n0
zln&*JHaIl|4AK-Ad%E^fyvy~&RBpL?sfS_@p1Z+lUGn+fb#YlY9<vbgMk`23Mz-$)
zB$jdJMFevEMx7-+#uG0iZ$NrHj7d4CasaNN^l<`f0o(zJccDZg-R%vfybe|T8ZQL^
z<RsMfhBa>$DQ%A~KK?Pu_RU3G`t=(9^5ln(6)T-iFZ&jk;_uFHJ9OyL?T<eZoI9h&
z7W_b3<eoll+H|HrKMdkLcUrrm>G$3{ou7x9o`3%EM=w8n=FAJn&py6z`BrQ)5|uxK
zeN$i}fa@&DkmU$uW$7Z34MUe2Vi?uxOi&TkjUW&aAvcJS+DKU>PAT!V@hBwU+rQ2j
zKWI=?)b^;Txp&<)H!7+sGIH?X@w52r3$|>Vd;jL`?qfUe*p;4oZ<)VmYI5hKArmGH
zN$Q-87ya)|Pu(`I>aB-ojUPK>#+~D4faOL@I%N!|KaxU#B4uMayoa*Naio2!i|rR`
zQuJtqPF-M*+Cw|G9g=jvAX@VC%SYb%@E|pV`}P<p3!)j5PA+ed2jU>s737Qa7T<Kz
zi0}AC(MT=-%FU8R8<#kxsUcxdhS}576zZ_WbWAoAh%BUC35`Zv{nV^r^#Fa=ql)Dp
zc<tTi=gyrnW#V0I5?`t4c5K}6lBDp5ZoBQ~o6$ZnY7!+%qioOc#_FjYxh2AhvOy6p
zLX1Og64!$ItbCyy&(L_u#vwa!)`}S1gyr5Y=@nB>>}74LhIJa~pZU|44dch(%?eug
zbt*9nCOlXTU8<(TAbwHGWu5!=??3dP-5XuDfXij402B}a5Fp)3guMr>fg~8@8v_B2
z(i)_Mx@Wt0JvVJydbjxHho&Xo+-_JEKU}?K+_*6t7TxuLTe0<PkI>|cJ$tg6I$b5}
zJa};5eh_n7o>YiE_<pcxE5WOzL)ygJ)7=Bdp1SMBqBYpXg@N24d0%^N$IO{CXH=bb
zfAo<wE?Bi;!`ijd?ZKKazCd#$bt9A(@*Yesq*o-M8-N9ybmeL+4H_&e2*q%~a_Co&
zHUCH{;?YN+d?<KHetv%6zL(w`Q9X0!)S9X)rC|MS`_2fJXoP;EXf+8K7-$C6GGcMl
ze1YgRQ=={@P8F*MS$v~@SfgXD@ezl-%phRzL&0C==NI(t^YeRkmotisGtyfZXK3Gv
zqA8E56g_=fvbSxX-nMOedK*5!7(ca6Z{7xDA9pQVDONtv`9Yz>Wsj$7?BNbj=g^fq
z?D#6;iNL$aT7d(y5rwLfM#fZaN;J^XI7xY8{gH>cPV%f@cVIQw$<J2~8Z>?MgbAO1
zcCIQg?VdGNQ>IK>2D-8<N8R&8TFcFW7syQ;g)MZF&NkgJah4&>Qom2U9xh({@cT*P
z^+>@4xlmik(<AJ@7D_e{rE}VC0b<AcGhM@|t1`C%o9)-Ez(Pu~PQCB%(xz}+*ICO~
ztu8@S=@4lt|9N@UukQGy`#i33!*3g1!n#&=<9i&{b5<Y1q>=T_0NIm?%6i@iPgr<-
zT!JytkSs?)w-3ZX3Z;bjk>X<N#br@Jy{fKdd!h5t7>y`v4PpkZo}GN=je&h{U)a9m
zlqp5`bt)dPewcV;QAx)s6@@c9l=NTguB_-$o?bY(OH#*_k`iyi+-6C5XM9HC;BHAB
z@J?LfoU~-<IzK_U6@tzb!Xz1!JOMud#8zFBxxy+WB^AIR#%s`fv}~U0O{0<Hn81E@
z0~VDG%NX9W<!!lBrybm~dGC~|d1Lc(d!_d7SkbZ1n(p0Jx?AQ4{7D%ZQ-7IN{m#i<
zbN@XhBg2z$XI}FXd_attq)pNXxU19M&x5;d7_NS(Q&6r<A_0cN%P0u}*-f{;G@lVD
z7R_8>V)5&lXGItOUWYN?jb*^1P>!WdvM#85=_R<*ll2L1TYMzaNnXagThRku`T$lo
z7_G7t6=jhuW@zPRNd#1i&Y&F7g-@;gCevjv^sj(=w)su0id{zL<8UO*Y{3WMF0t`-
z3-vkqqlq6+65Wo)E}xAdEfF2Mal3|&h5B$-Hwp&@bfO<xeFyG#;!xB?ha9@#gfdzB
zXJ1&juuIpQZrZr$?h#$PcI!6m?%urz47i=TyLEK?LD5pg$N}SLvJ?6FdAY%_S{Ju%
zgRcGPdOx~W?_BOuON=BZBw8Ynb_L0l8}&}nNE!wI<C3-VuDd`*vu5`NGBejdaL+xx
zd-Wf1hf0mKi4B>=+T1!iy}fgivoveW)Ja8!CG92=IapTAfgA=x8g5lIe27tPrW<CU
z;Z`;K-=|N1eRTZoOV(8`3(z=^y!iC{lU6QzU@`U=O=>0@H0zuQ#Wfhi5r@@eMD>dm
zJsWP=^N8;H3qd!uI3G;<kf8cKK=NOq79`nVR4A0TVNQ_RQ2S@=fyya=p@s8oyR->^
z{lVlQoiXjDCDKX#Zk)HS(kMr4jN20)X`~XY^^Md^W|vW1)wL~L;4h$h)$Hj0vlpK4
zFu7e;?#O~!k1o46r8IU6OKkIiwB+ow&wcCi-05^w-M@H!RMh?ozRE{vL>l&wg6QZ{
zlWa2U!=&;s(Oq7?*cf10GGCDqYxY7me$gVnfd)+|xS)=5&#H~+I2w_45zopjAd9~j
zD}cYDr)hN8zLXwhqwtit1?kK}>k&_qf$F+j(D;;&$r<h}d;5}w_e&2(M3sk!-+VJ*
z`__jyYD81QBRl3P!lszyu!#D_%Fol-U!Wt@$OqcephO9CMSX>Y;jE<g2Me-Nig9d=
zOmwj3sLnBk<vRUQ{9&#A6tpj@B2bWbh!coXnviHrMVc7cBwBf5#)Ej?2bpIv#@kU8
z#qDk&DUYs-8dVLpUQDT0?GZ`0h(a6;w%IS9FhwAwJ<@di;6eo{RwBaQAM>F;0>ny!
z+%QjSVq)`HVEA<GhlHM4*38)8$5K*6jz8(90-mK2V*oKOOpe)LM<V5V@<E8Urov91
z+KN;a)ov>~U&DHs-BEh^zGZyB$s460uN*CPl%+*tsy~H&i9YMBEfP{vQn>5?+S3io
zP0hYfVtS*;#=1XppNtG99y{MJx=KoEmV(~cZ!|pggP%FhU)mXRCU!={rINM<G+vc~
zurBpG1IJtAI{@2T^VYe?AA9Sa$0j~-|3rLBOFr87+*cny{p>fBA6>Zc(XERXZdN;x
z&S2K)D&i`QOwBSRIrND2(e|ETDzyvsxca|cK-j|7&kX3_rfp=zeP(liD7Gf^e6zWA
zoBsU|uN-#Il)=O9x?5VZZsvfg{@9z^#1<#G^5Qyn>eMkIFFLL`zWAp2#K{9^ZJs==
zPmhtqd-ocliaiOAexdVI8UnLJu3z28Vjn=920?#mS>=ugMh(8{rn0gTG|Mw*PF{sn
z7jwFI@7zgilUz`w=etWI9ns<O3iO%~&xcr7#P|vei_7IF^j708m~P&Zp+n<ZI`3IG
zGP+Gl>G)o~di0n`olUu8@EtbET$KIuJGm{9P@=kByEYU$LFY1ppKvZ?90o`Yx(BJN
z3GKjva8@XJw(mce+JBBGS4^H9oQ%Jk3JLiM{z}!tb$XG7q5iLEfxyw~<%xbUu<h&C
zEgFW8g^x;0wr^wa@PfdE2?2JJx8Ai2?OCNw3hi`t=i1_B_y42pO8}!PlKx-6H%DfY
zOlC5f-1j7zT;znD1cq=UXMlhZ0wMw#0U?5ba*J{ZsE7y%iU_E9F5-=fC?2dQUhD0r
zth$HS{`XrC$jkp%-S54bNnqt8gbXkBs;jH3tE;Q4t2~i3UlKVfbnKyZpJz+sc^HvW
zQ;Wuhu@F36_~Nat*O@K24;^9My?zUFGUBsk&2_KbaU-6Z<OuVv#Ep(G5b)~EPn5Gd
zK6dB2qkYM;w?mR0?t=LE{Me44G)YW1y#*UHS4#Dx5MQcn%FebVv{@FkYYeI_rLktX
z&Ltvbphv2Ob6$9EJ;9prz2x*2a_WTou~RR(WN+WP{1JI|m2G`jwy#)PRb5)zd$_!7
zbXobu7mb|kh_9_pN*SG-y=Z!q(^}%o&mY+r)XW6KhiKF!`<;n#u9R%6g&bifeYiL+
zob#Tb$JlCkj1|NF^sqtm=dU7anx<Vc{m$y@+zG{%HCOCgQe9PARySPUFz0gCI=Z~9
zWypvYA}29re0Byaa7L8mfto%VZ>E77DpZd1QoEDN31j&6B~rVUu5VuwkdGRI1TK+A
zFdRV4H+%J#c{O8`l@%+Ltd_XOrY8T8A%o=&x2;-xe_>(&j!(gpS*^oL2DR|5FkH=0
zKl{+GaIWJjM1;GSsi7pTHq#dGlVUVZh^2>w@Vt)nAX~h`A>$5m#|)nf76De*zKSg|
zHI2-^xJOmpl>>&)%{FDv960d`&a(W;B^CAU1Nu%(GUZ(Sj>b7v?cL9;GEjNT)%}MI
zPEMJSlZ8Bny;=w9jBL)z$j6@`GygLPHlH@W8_X|pj^aLo-4t!H1}tDH5}b&6g*`S2
z8<C3%iKR?G6$olsSRrgn?bu{_)haowrGED68?PNYWYFOLO=IK@;3sa6A1W^+=FTF1
zP8$No>Vv5@P4z;ZqB?ZgaMJlmh;HZiqyKO~;~U2{`G*cQ29ymw`vHw8Z&-6~kg3%R
zBN_*nUWPv=1v@__5npy^n;r9v1gR9a4|x4+%y%Q2mHZ53*Xr@BN6k$mN(Ooht7i0G
zv1M!ff;HE$hTgp!Ey~KlLp<(@sVTRuUw!cA%@vmp#2<8eDBATK?K<N;&^U_XNmQKn
zHYaa50S%X;-{^MeX$+P%h)l0u34$1Q91W+8EiS5_)ezqBM}vpNdZr{Ngf+}<OZE*K
zE+E^|=S{Vy#5t|TDC=`rI8j6&LrhGV@FJNS4@b7Jx)m!L8Y(MS&8xVmAUm^nc1`V|
zffYSRjT$f@(Vvr1JWAfs)KoLjVRAMU4{3^ynG$8s#Epnc^YU_X?NP0cXlUL_c?0``
z(}N9+)e(~uZ<f+Dnd2*2&>{>ympO;G|FfcD1sPfOX|*+j29;He8r8p|XkcD?$=I?L
z%NzRitXwT`h>C8Fv}I-HctJsKPGnSTOmtII^&p2SrlH5sF(is?n@oBo3fpTqcykj|
zec4JNHM<Q#U8&J+skT5W9~<~gijZ-i#zuJg#8RUKX$`7mND0?JScJaf`ekrq(@WK@
zWfeJtN~TSP-oZT4w9sA3%R<$(4(m9ZklY&QYHckmE7#SLx@{Y1oXECG|1muWBb%Q{
zXvY!yDov-TWSW8$O+w==GuJfwpvUoz6*Q*<!PR-WdH9o?2ma5*vu4ab93lA~IL=g{
zMD3ESSyYupd<^(}M=De|ZV!Kh$$fnH=RfRylPuA~j<YIUx?eK7e+XR4F0ju_0R-+;
zgl$JABt)S4q|74P7*``yx)qEg{Q*LOS6eF*gf<~#IFDq^`0&jttXt!2dyk6CXz6qD
z#jASuEboVZD*V)!ri$|Fnwshb?dn6Ue#qc)ebv`k-$4VL1`;uBhddg@WWpGaO?Cv_
z$!%6C;I_88Q4d*DX*?n(IB3DPb+SBUJ1q7#Wcm^cqiOQj4n+6UC-t5*X%5>F<!G_l
zMvY>X!!M$y<(%f8l~*oQpIf(1Q)?^HzHX|*NX7CL8;~>!3Q=d6(~3T?usX4ct9I>M
zyXyA4R}7snamdgK6XXqdtX#M6&K2wLVxLTJZk|59dEzwmFcDMdpJ;)XwAVtk;eFEj
z2KEMf7G@R1S&o&CDlEyUO>UYtX>_#To8Mz>`Lf&g%Nt@n(_*5jg=oi&Sm&LqZrF`x
z`X~>`)RAb(`GoH5=6RRUf>45*tGmyE)oXUHo-lOi1m%IXciy#T;<V|_^gdMGN;o5h
zo7)8G(ut%430fu%H@AhlzKZ(1`T*>-YpJVi?*ubvGEfH^Xu(IFJd?{2krq%K5p9ly
zfJ16?XgsCsz?hUFawXIyGDC<RvRL~`gvI(ahgPdGez8ii{Yo;-4l&)n)>eIDv|Zl9
z)|jVbD}~butJ5AG8SPY}l(>Kr)h0H%6ni9OTI6Bu#nS*)d!R72tvOqh**kOe=$4jM
zYu4oE#H2;b2cqp$r?QB^s+|1+wX_sD2jLC|uLfaqV>$98h#R#_W6kz9GrA{66+up<
zbad^4CJiH(y)36qYM3->Wpx#VRNmEG*>mBQ*qFaLeE3*DtM2%e55<$Xl)Ue}-ev^O
zbaSnG`>=}P!^ip6lXA}Rl9FWs`N>sPRW*ZGu9P#z^_tiQw9{Y~Z3ER_2{*xGZ7Eqe
zd3QJx69S2#I_Qhxr%*Ka#i)l8Z}dX9W$A)%?8O(a?4?h4p$6(l$E8n^H?%LneZLcf
zhm7mXs?`?;4r&_2Dmp%GDzB)iuCCz&whOEJa}YUr)vb|8nS&%of`wuS=MA;v*__*7
z*|;Ra#>|N4SaKaH7IjNPq1#oM#M*()hC#U=!k0_iB5RTzSt6uNXImy85^Y~#Ott^!
z#oV1gG`l3JI60*>uD<uYDJ^q)_x6;fBo!v~ENaXxo8a?}mp3FOPIMtzebti22@4lA
zH!iJ4V)&Tmr1*5C3C2X2hKaBc>e_=93h^|Vky%PUGK8D+At-IJQd_LPJ_$zy`4++*
zfFQINHyvmygdCoGzF4_w;r#3S`bUktWohn!%yhrEv1!`qw6w-Cy&L-aF*o9_-ny*C
zKQYmiFm2eZbuo_lF4v$s|M2O9>iYB<GX{>Ge}XnIxXw>v?XE;iATcSBC<vkq`)-(`
zROm!(o6tUe#00f^UbdKX+DF}7KOxmrU#BRm6uB+H_E)bSb}ftAF!!AqWAC5n$#dae
z_ri`1I5p|~57z1F7!j|O?RR_QWS1#cijB4eG7$1W#VeqmD6yzW)Zq5IwM#}?JPRfD
z4zuNazUyxMsnwMdhg+wqvBmK{M<z5b-*ob7XQtB{V@-(mx~iJen{iS6$eX#zifOtv
zqNe(ev$$UMV{VcxUuv@S8vJKknL8V$|HyNo@!<mYqvk!SrYJ`siXUWfeQd1BIDvB=
z)K=x$YuNj=9MhuQF_%_o97)XVY-A6x`Lb1BC`o7U#gmrKa(NJ&3HLLu=<+A_&PKTx
ze}YT2XYU0GH+Ft&IgD(OdDx<q`co2oI4jFakC9@F0<l&eDwmaP99UH#T8@s+crG1r
zP!KXFJ+vandcw+i<k7Sg!9lX~*bB&}vFxV(eRoee{$WR{`JtVIcMNNq^8A&zyk1-Q
zG#eln$k#7faCg!tALF#^@w@gtx=kK*&9GtWucw<Idc3@9!GJ!C7R_8MUvu-Wy^_*-
z4Ce*okmw@`2UfKxdy$o#nNwIED2!~kIRm&%lN4`@GNtEK2Xc@KSZYV$ADuhu>E^iF
zSGcST!x(D{*~wzyJuGC)a;~Ic{%Orw!wTUgEi9Zqt;sv4B(JxpxR~iV!cKhg`$w1U
zs?l?VnHFEZIypH$zOJtAI{ft1)SiuAYyM})G$UcyNOs0Z7$%~`|7~=w%AYNI6dxto
zOx}E{-Iwf5E3&tHs{>wZds<l_O%EcVU61G?H0F6b$FrF0DK*K(h!ZBEPsM5{UwO{n
z-B$bXk{7;Z())p()X$FH2X5GS=)m&r51gZW)t6q%+~2FLV(eJ?>fhrYVvT=#<K^3K
zTlT=GIQPIUEctPZjFBtHxMgCj&_5e`XUfga_ZDWCqy<V?d#=4b+Z)Ih$Hn{vgilYh
z!2Zj)3FkH~qc8}et+X9U^f`MZ_et%MG_L8VpYDG6;lsD*^~qvwT?b0(utiLo@G>%Y
z;O6d|H{T5>kKFkjA_9Bis459rE6V-p89nm@bx5~uLv{nDtvo8;mSj#TK~=DvoE{`~
zSjI%CF@?i|dYUJugm@F3tl(BA6}_P>@)k&4(4aJ|THUhL4BkfhflZ6pz&GZxmZSZb
zERr9%_L%w<$|!w$)1-hUYk%9awp;cuTr_7BaurqIIlFClTJ50)_ua?FEq|u0N233V
z;me=tomgJJ;3D+_dHA6n$FA>qQl56(ZI9jD@uW%GH)YDAse!=T?}$E{KH+^VLA*!`
zI)?7$$0ymM%sIJ58I)i<m%7M1h<Qb-laCFz%k??M-Au-u3ieL#ln33pw)FD}Q=T3*
za5g&AKJLWD7e6y`;AP5*{fif0a~FD1ckjG=4-@_MIeF#tL4RFVR_%PEf5_c;Ked_Y
zK6J??AH4yU@Q7Mq8pmnYRDzf{QMULbQ)+USrXDnvU};Yc<^zOE)5t&Xtl>AJHM-BG
z5=Ng>#F+owX#>^$T_uhEbp9NIa_7^SGf!jDB5mjMCy9>bQP0fT1!;i-YrEIdo*k;=
zE?}Bqis%E8FzB4*%j?|f3CnN7FnDij%_wrQYr2vBo5lS8Ub=Jm=Q#^3$X4IE3#3xm
z6V*J<_It$i=3|hOkr&9Ywx<X(FNEV_G^}D)&paoItoE)q4;78bD^9CPyL=A2x+{U|
z_3|~(ei`Fj6=mD75u4x~oQH1)c?f<&C{%BMPFkT?$&5%g*?K6JC}%>MVy#4eFl%OI
zT%a<tJrmcg`S~+n_{hNm!##n-h3{sn6EJUceerxI2lE6%<h%MpFeSv^BImNX<3?Q}
zCl8u)@oX08$Qjvx)v&g?m&`i0<+(#m+eQo>bVco@voBw~`}Wr!Zhergp0Xx-#()8F
zYm)j5ny_7caz$~Ekt6#~NG`v1?uz>gE0+~}hYlP#D5LPUtG68J3GV-`^Y8K&b17G@
zCH}M!?xUaC0iQRo4U&>pVk{b1)BkuRgu7VmQFx#+UoWZ?&N(9T;KDJLSKsi+Bl{`L
zxNqO|8aLb3ZCKh}t{XSWS8V#dm-^18j{OryI&82<w7?0F@0CjYsY1^AQl6cWnwFfM
zMJqyDYCvDkYq8{M<cqzfu6e>%b2>8TQ4}lBP4F$KBRKKw6DSh&i4xykgyaclpV?HY
z^rMVL2T`gMHzX0{L;)3vNx6aOq<E9bE@kjA9Mr6aJ46#0z7+Gl3wMD!B_nsX#UtDp
zq)5Wtq4MfkyDCiknS(hlKio2C*v-w)K5MFfWYP0~JM;672M(;?_}~FGeeBpR%0sw{
zl3dpF>LTB3ug#x6UH$PJ^^E%Z#?M~4|BaV+-gY&Wjhd!rnGjQo%h^RV5p8jnJa2*p
zv9e@lIvvpg)Z8M6B{zzQ%p6LnFT&&~RK_Z@=abx;1d$MH7<Aa6%2ltc|M~EhIM?N4
zRlm}s->nb#tK4)<J^k%Xf4*#=GcEeX8=g?J{`vZ!n7t*dU)HG2xtj)O48Czp#i-oN
z-nswdpKrM1j@cVlAj#y6SJv*_22<73`FG1huz2#MX2i?*q+#;oIQg~OPRiTye<a#1
zLv6Lo>HZJ4SHq!T2B2RQH4z_)1TYSBjM;{8R^)g^N;WM(nrHe#8W>T)MmY4z)S=TM
zG7l;}!w=na&ms0J{kw^cn8QjpZBpNvqdtmY*3L7X|CW<Y5^iBFAVTDgozHe8NRA`S
zWn<D)Y&_@$EsB(lCFgyJgPwghg>FBv2vcNO@>wJs3`st#+t2(q4B09FWmPe~e`bW~
z(X&g>y^65E%vDGImt_Mt*uFF6fK_xv2WC0!c2{z;*@DDq5@kS?kZD8<MWYC8@Cvqy
zFzgW-K&Bxb;d7saI0?z3u}6T~ym@!AulLQH_vVSEOVqTb2vqAc7ngSi()ZkoFTU7#
z>#e=3cI<!<#)1OM5P%R6x?G@00Y$N-Cz#_RBFyoYbVndPvK={9kWz)4=hPhkB6^@<
z&2$q7W2Ofk(I$|Fkc5)1XF|)yns%R=!R$xb%DMBNz3brPbLX-ZPqwtE|NPhY>d&p%
z0nKH*H*KkSe)GfczW(^;=PR~s8t}@sU!z7z{Qs;y3E4Y{n_}2V;QHPGE^~iYa7~e9
zuGA?>A8B{arUB?a4m5}Zy{??nfLu)Kr2+L)x07KDOt?)5>3y9I<v`3A6$F}w+DCt;
zG!hd1(r0_!gm7s9zhQdg%zU^X9CAIP^exQ_ZeU0b!d%2J&*Ey>Z=8S;8Ufh?cPf(%
z0(z?3*@qlxq(%T>==z)+KXfV&s<&Fc=LC!rK$duL0YJF=CiT?1LQGl5fktc1Jt8pW
zgfyp@jL(yrI8cyt0P3M(ssU4AxuCz}G@2j{)Lb^w3FtHpLhl~r&5g$|!4&xe4*Z7v
z@EM<!e1!F?mZT>;UwW)ru0o*lQ=KZGfW(>3>A1>Si|s_7jPc{|PRCC$RBkvk7d>;J
zE4W7i0uZZ5zgJ2HZYAPOUn${;oQ{y%Cp*<Anpv8xjT2`%t`O2a5xh7_P%b|M1faYC
zcNlfbvj9YqetC$@q+xtrzC{2b=br$A=uZL(*F#IhKoeIX(Or6vv_NhTw>84$w8rOW
z1@f)9-WQ0EYK!j~h}SoB`syKUXr$v5Yc5=q!PDDZv18K%^sK#v&c@EdbbV31Z{<F=
zAM0;k(kJ^(y>6d%)8QirSk96eqqp^&)_i>N(?|FJvY`F)5!dZeA9h6Exnc3*k)tB)
zZ|rSpx%Y-^A4v2ite)Gu&!uBWKL7mhGqasd6I(8M2z|j!FsJaoWJ{%3qti2aKP>U7
zSum;d0;xt{ibMLM)p68{&UEXHu^a7GsfeAA*pQl2y7Z#<k;Nf<(ETg6KXBlN4flu9
z|4?x6xka6cE$4CCduo)AfuO`72)-UwD6<U8bBY2vOdEpKO6o#<Z7A`7NWCaxT`8Pr
z`uUe421ktBxq5Q^8)o`o=56JsBO7zZmz1Scr!+O~-?wV#efu|Td@!s}NG;Cdzhe@s
z7&neJ?tH@GzRnRnYj#KJx|M(W^7sR9{uy#URecP3J4msJGz@Plzry(qJ?2Fw0-mM-
z>bOb06<eev@PKb!A$88Ew)zOG;;c?6FAS7B({kt{jk7x7)Z`FJJYZyr-I3<2Hij>k
z9~x2kbXRMajy^oXY}ZUhi^VjK2J>zqksYUA`E2Ei)+O&B_1`|Aw03Rfk}GdppIaZF
zGbnq<j?Jt3ZyuS~yjOjQ<Z|XrlFP^Lym9jS1e1H&g!Ma;vaU_@3?Dptf-G;9<%=)A
zXtF19xi=C0>!I%A*^^`76RP!RJFO8)bzFIJTEJJBoLpUq{#Hk|RmTOYBijqTfkNF-
z!vNEft>`ICAz|+t{R|rRp&n3u)*07_;6GxYhV)TgttU*ru6usvk59JVr#?#kyWs}v
zAB)#=C7&a;@-26kVt{c|&wLUyFHcV9itJ5O2m3cv&Kt@zXFr9jIZF2SkR_#A>7g+8
zl)BSUk<wb|;GfK&K{UjT={IF4Q4)=W=%6OcS8u2LIC37pk7KpH$s!TR#yYpE4e}kB
zHic4}-<25=$c)L60x>yl6xI)SH+QO0?iHLK_3BkET*cuNfkL^mE&9Pmg2i(0@}0S^
zTz7NxlUsU?D6B}U${0U>`*ny~^VcL-B=#)0NNw1A!{J<udHxm3=Kaq(oNFTOSIj@V
z;HIbCZ1AX&cKhm>7!3AJ5a#cpW@DrrY>E?IPLmn6BI3QtmUg5Yi?_AKX9Q<4ZY*kt
z)jnffL5gCiQ<xn>>9{IQ(+tg7R#bmrzp3($%b$4S?q$oC+`eDERo9ej9g*yE_)I?L
z{>pv({&b@}68!p1<k`UPx7?3gHGx!bn-jdsFsGuLY-&Wno!aK1Xm!K*Cds3!oLzXx
z-R)!}dJuG{B>>UZ0MPyKl{*?HtZIDdi_hO|VwYmy(nG!V=-<_&zm&EV_w8Fgwz$6j
z3N`D_4NvCgr><>Zy|9uk+*GNqPJVLlLmx&)<&GNZj$4tE1SV3T&U)>nj6!1&!rCQ{
zLyM#kVI09wov?iiyR*I}i^5`3nrh~4S$*T+!9#}lo0{Ye<z=Jgoc@J{_pe=b+pNix
zFS(>;P|2`XSn+hq7h`${J3YGW1wT9vJCW<vIE-Zafpmhl{WtUo8+Fb0ed{U*dn*%5
zQbtdk+%KozTV6U@-f;V}jrYWPnjO(|CN|HEbx%kpjnE(uk)3FV0`#y8%2rC_i<2xF
z*jZ-S+Tf7L&7dZc?~>MANHJ1l8S2c?V4CwyY%1w;u{iZYP(ghB6*ychEZVm|uQ4sP
zA#>CWm($l&+%RJ9xa_*b2%Ee&y)->Nr93_%UmlX%Ki${XxbdFY*g5g>b1%-TM>I%d
zMPuJcySpgy&X`!IGa<o-!*nobqrB4m4R)E7_ANQu5fzgZpO_G9b6XIt4^E-FtJ?^)
z5tIiRhFuzN?cra{#)Rqwan~U@TnM^pxqio<>ys+u<9Z}Ko_?z<H?D7LZQ6mXje`Pv
zRu9EJmJt)1<&8V9z3xDCWM)IskfHUibVpxTesaIT)gxcJ@!ER>GsaG7nK5DPbPQxL
zAOrdV@feB~moX_MLqD~JbC7e^IP#)(G2|qvn;tz~Hm*l{-oT^*{YQ<eC>u1WrZ&A#
zR!-5#lDVrZd-iEqE^mmAX^o1^&B@EVG{>8j85!N;j2SbuM{lReF|eko2}B`EknK0W
zixXJfKw|EA)Ngkupt4m$L|cLoG0ICo?pTT#)ZN6Iq<Lt6IJ2c?>GZVX<gDlnS6SJb
zH9+`uV8ry9_Q*>t=Cbmk0d){2`%!i)YsL{4o%FinB3%xI3`C;TP)u8-LyO@i=P33x
zTtU)^klR<=U5TAlMo25G&?>uCYhyxy?N(<5CQqLU?XQKJ$QCo%&p7$T;h8x3MGTZ|
zj<w<J*K7-zr8cuRhg^s_!CFRzBCs-r1vrME{o<f%c=+M(*>50(xIw`B;^>e95^&)r
zDmGw_YO|WmEYgm6Z>@KvyhweK@}gcrw^FYZefGlVHFLs*H4`QTLrQ*W{_w-*U*ubG
zdc}{h(3zR?4eUCwQG|GhMrU&Oi9tJMb7rpb&1>?r9ZB}=v<mr#$&=U$bz?z+$uv0{
z5txz-RF45Fo+cMnV4%(-EunWQ_!bw{5)5B}3#aP-sZ((R&XzPctLrHSLC508x*8K{
zby$>`SQMDHw~0s)F3;#Jb(p&pc&95puBj6y5HkD=bayqcZpPocn&F#X$F{L+HD>mZ
za{P%9=zJfFokpZ5wt=<TQElnjZRy(3i6|P_P`U|4iz|1Af}aL&6ChWZ;gDK*WfC)c
zFngT6xH#z^?U?X|y5W~K;nAAx{#9k!xka&a*|)_-GD}K!$0>t!?w_62SXn=cF}X*_
zGg02$#>9B{(7`k$YzJEpf^jtYIK^z@SpF%9Az$$S+o0se^=3OJPf`}2y}6*kY;Ltt
zppTdRnKb|z3Pky%W1^x1m?lxywkWN;q<4ebp%*+Na5}_Uu5zGMcT{>zkFt5ICd^`g
zwpuSXTWWe*mBO?C&wK@4teh!tXGcsgoiE_tU1^=UlD)~~?Q)6Q8{zoWD;{xFiijgm
zUS?_<2uVeVPXSix)U-gVAP5JYWD(Nr36d2&y*S_54D1~FSgt?2AfZQ0WrY!V6dsT?
zm+f%GOpc^5ps)xe<cJLkPkI_5L5vRXwK$0)e}WtlV~$LV%Sud)iS)Kb#swl{3=KmJ
zqc1_THsc`_UFW@S;JB1{3X<Z{5eSkBiJE{e7$U+V+RqU)0lmOF?=}LZki6azAL&XC
z#Jea~D&E=_AK4bK%P_GpY+!Xq7w#(<CtY!tsH~#2w1hN7OKE{pD=BIUY_iy=T1}%y
z=}}ULwXms|t|HdZKssTzWI{E0oKexq5UAufH|jmO+aO=MWbtv-#I@V7Ay|vFF)0=K
z(44uU!CI9it_){JY#+8`-8$wA57#<8YLvy&LRUv1f4k%WSO2&(VRbtqL&D#Y`G&gh
z5@Fx4DKJ363mY@n{?&$y60*Ez<=^edA%h7>VI)VRJT?dN=9P7P%0@Um7DtXpeFuA2
z9utM`Mk1mqiEbJtxSdfZvIID{HOtme5m@Z$8n#ayy$9pN`i-@zCv4+eSWQ$@p9Yv`
zdYsth1BVP9@KgVW-qaRWmOo*#x=@%g12$8f)1H(Vn`~m%hyb&;F)1KI^SH%CSt6L&
z09Hfy^Ft1+2l;NvQ>Wl=5lmKAwQSkSrE8WgUvW)iRdv5L4fQo_|93Gv+n3z#`u*3K
zT?-cPj{O^Jc1{^Mcyf%ohh6HJJY?V$u(y$Y#qNXc))TJwq!d?rmLoC;na}OMxDqMg
zD{1q^wfQt@6V`p`9t7<hhMZwS;&?!u!uW!w^ale+Wh9m*m6a9s9$da)QsqEzaZ+h&
zxi6<-NcEhlv6<1ixpuD`HXQqE<lrmQoH6NXnFVP%!>b3jxZLBSk-RC(m*yQ=HF&bw
z6kAwejTjh-E3=(XLgU{G6C{Plc364X87_VXV>@(Xpxb6C(o=z|E~(BQWlN`fDx=b)
zQeukAma=U&^GuVuyiC4-`pgJ?G?kTijGsOee6oX2v(3}tK1Yt=B*ZHwyWNhAgf>S8
zDO!iM&7sdp!|Dm@wO-lTTusng78-z-07ku+TArL3pXABSHJMF%Fq#)JE@`9KSGLH3
z5thONM`%!*%#s6xN5Xh8!@S?aXGSI*Uhy$@yTzH7X0dr<&1Rb|7WRHD(InC^kqMz`
zFfmtkOG2|If|1*_iDb@6lO{}9`Hxi-CagjTo4I!2KdR*o3$M(AT|t%w0@*Gf>$jVS
z4+m?+#CZ;aj8MF!_;|ZL0Yzb?h&Bl&>NKv9*IN%VqpMYDHO$`(gNBO@o4j^sP4yMO
zH#9U~G<<AB!<l*2)wd)1|C;)i?7-y2NsUumE}q^vDRFWjb8_7>s+*>V=V{kY#4;*c
zrFqlEDnsb#MT?iLtgo-HTLmL`(IR${`quCf7Y$>*)Mu8^dPn%iLk*-L_%;UDccpl~
zFdJ7Y$P5d^%5`4Qz-EIMEm~PuJEArt(~<1*rB<f5j>jdxtCu1*{mVm!T;6=?aFewq
zI(p}djdaT;5<000gGiB_HYllpcKMa`8m_YhFR?_vMiFsVn`}n*{w1WzpugG^3u6%y
zr)~kJWLRbY3rsc|28&{15jG^ew3*s)d}Gsw0n3G0F?w;AKg;qYv&3I<r0^Y!lXumz
zRe>6H1uf#q>??UGkl|p<pX7{iSflNcsP1izCo|6)*+!*gHJn`k8%sI#V>J!}$zo%b
z(E33gAV&`zCCkt~qQQT;?e^T<D4!=OwUTDN&1KWt&q}OF!W_2_wnsq9ljZU98c;&V
zm5BegTa&Y56r^}Uz4d@80@*z@j)~nRg<{hF67e>I1Rg6v`UobvwHg;Bgvan>OO)j=
z8YK<+iv|pAoHlV~M3iaNxPttIgv`G3__*vCjh?2ljTQYTy0e`Rvv^OeD+h|_Z%{nH
zfT(0CAA1s4EWd9q;kG%7w9=-`Fyj!)MINv4MVjx;z@;pY!iE0Hy6Kf=zTw{1*>f(-
zzXy3NUwL%=%EN41BErpMM+_P^pzchdPW>fn>Gb(G!OrbtdRjUTttXP6;2x5sFxlip
z)Hz*Lhz~fq{u5hm)YkQd*tH^0hloB5sA>t5T}j#5N%&Sj(mt4;{<h-V1^gMF->rY(
z?H)(FpIk`03QCEFwuKwz#=?onBbbW+qc!)xdb7tXzO5Lbw-#)cb?#N2($voN@TMmD
zoplY>mhz~g*xbbQNF}39L04&Ew(7$yobzG{GCn6*p^EuJC2sVDenwD`b(*_2C#T5a
z_9VteMaIV3BV%KtB2yw+N-xwGi;c9?BUfUKBheKTlW2OiFfT7IE-f<39f25zhy<6@
zW3xFUBV#O<2oo~jSv<~|I9o(aq}^q+c^okbcDp;u9__@=N&VP#ishM)LRI2Quf>^>
z6cb3Ypp-e4%q3GsK?)pki3Bo?J|Xl0y}(~AA4K&FQBhIZ@o{z8Swph38{$)v{N9|4
za&r2o6bwvEN;O~OEO5J%Q{v)E;^I;YQsX@3ah}wwyxh@A*j7lU<BHj0hi`M^amu&0
zNcxQ@QqZ6K<c-pwvG27=jSo>WA!d3({?uZV@VxUy>0`Xn$jmql!XML%@@JMv`i*qA
z^eN%$gzD_<RO?VQ`2^bVNsS%fkq1>;q-r>S08VuXe*Xmj{i2Q+`0pFlk9nJm?#J&t
zr*x>mSS%sJQvK!33~+2P6^petfGWC+h@G))rrU_xxVv(D<$BC!bugT<kF#N>7e71p
z*|Ha2Kq}cr)y$rQ634|QDc&Egn34Z4(rzWiVbWg4iI=aJ*^{7DQuL|X`0A^y`s4eT
z-FV}&`&Bdlacm^3e)U!LHE<(dHJM{6Z6?$Z9YTG{C}p?vG33HE!4(Yoq{BEmMx3OY
zlxz4QL4N@${au6XfdsHmb?!AFk77(pE&l_YIRpv)O{rodA6K&Vyq-XJPy}HDXn+Rv
z9?-$DoT=wy2GCLUgsGHMCor9s>jC6AqU1|K;s_bwLJnf((=yK804L`mzpG9f;p=pU
z;<J6E<Ad@uI?IW3hT;R9hA*4^;~G-{*Q$;-J!GAUPUNCJpR`o&MV*lrv0u<*I+5*(
zbgy%oS%soi1K`Jl)6~(*R*N04QNA|3#@1@D!O3pCcBt!X;H$Y0=WCwEvX41mgW0=5
z5@q^v29KM;{7Zq8_zFsR&RpVydcxd?^HpFvEpG!5_>~yWhiTwzD6-Qsa^7;jaz2P5
zCw!gGP<-H*hA*xQKJY&TAK)~6g0De*>UClGUexh<IKB;B)Tp!Sbz%5k)bV*aeRt__
zN7XT5_)f7sq9203Jv!Vpbxat(Q*4HS6ZAc%!(k+l-25#JppQnv_JmBy%_(oM3)?Xx
zO*l_)Zn+X*;#}<sxhK$3KI$wa!8Q^Y3vBNg*q%19MFHFO`UDi%78%%{Hn61v+XFfn
z`l=k^V=HJo#n3p$41qx;yGCCHI){!<UMIZ-I0%YC8yA%Ip~&Q)Wu!nPWVsxf&<=o`
zs;*Z)3!WeXu7ShJy^zK`bOJ*1k64pMSGnZh&qaBs^uOAK$>$7YIfy9W+~yNzDqj1{
z{G6bbzjjEx#&7^n6Go}w43&FEhR!o$>^44O^0f&wi%%F-ThT@dq+`Y+^n!voc<6<^
zOPaxEfe$P(jxnDWih%6brXMNCG|pydg3o6+3rrb&enUlaX-tRoP>yNDXAqD?`Io`b
z9(v+@;wY5kzc@{Wf+pE6FhxP{>Dj6ef^e$kk|zx#AlrxX6c$G`dC*Os5}q(&a-!}8
zfCQ$~GHFnZ4JGprQBqKjp~#>dDN+J(DdBK}GUUG&_>f1x43v>j8>I1Y5~9uWqfQ&L
zr~iq~=3pL-bst>}w?Z`rsk2B+FDF*89J4mA=)jE_)nG3HGMj_+um?eos+&TvSmht}
zK2oOnus&`IK}B#B4Te6_k`sjMd`Dd`H*ua7aqj=jTmmjF9PSCg)dY_{<)5WrIGkJ%
z9ft4k5T0@?O<j)9b|+?8i{$j%6d7fGbX7pHCKwwz#X__9UwlaKmVO0B4HAtX=Zqr;
z(>Uzoiwdf<LyQ)o@Ek3lEDo|3CLz{#pyNS3uzG&QC;-TT#h4F*CLyS)3LuUNBY&0X
zZ8z@e62g%I4*Bzmd+so<@Z~cEAJn&o&x83C<TBQFr#2cKAK)~6G3GEhNHAq02YpEC
z4MX9yTp`+x3UBvT^#q$73{H|ybKZeII7>p?<@oq41wN>W`O-p|9y(sc>%badPj;?H
zypB~L9GbbEDjN97au|dl`iWlb9Lbi@i@YJc2<M#kB6`3^(pd2+kA*L^2f?0#At98Z
z2`BqG*aO=~dJimJdoU&p-zg>x9+XWae7f@P{2z6U9B<&W*iK=}fFA;z4n>lLD(hsP
z@VF&uk$k(5ByW6}Bw5CBV}u8F0f;O>NK!6R&>IE=Vd7egW5PE5l)#jo*#(pNIyA>I
z0q6mNDJK+@dICkYXv_ts)5;D2f%bg9QWz@=w3Y=C`3ADn$_fEj2t64hYv`ld&nYY8
zGKAZBg0jT$K0+XgG9Hr#qlg3-eI$Kq^btmppHn6<omRk9qAWdZEXmkJMpU9qAUiEj
z5pZ4gDU6~Je728}!;|An?$T45EkS&cAq`(bm!86i3B`9x#$reGfx98H0s6*-;XB1<
z3b=%DI9|~qg8G5kiAClaB?g=$>!biWWRkAP$)Fr<ISQ~b0!*f0I30`^X(6p8ut^5C
zy&N0#n@N!yfN!Fq-vq*g2EzRuVGvTFG;ne=OHlZPL17v&8ue2ILNc=ig-;k15}09T
zaSFMv7TBIPuu*l8dExyfMJ=#BZD1p?pqT|NUBKrSbQagrUM_dC2d1Z?rRiD;pIbc4
z5vqI^ct<u?=q86SaS7&_Ae@r~rns({xCC=d0J=k93fnFL(-Dpdb|%!<F1A@<N)KN-
z<fl2NaRNwsn`2^bRLgmUxS*{Z!iW@@PRknrgbf1hve4OwxeywnDW7I{aX6L~z9NvV
za)fJU;NzP4u%?*_Zvr-Sz{@qWOcoXAA1CAhHNb5uPzx{h{QsqniDsae)6k4i=(ITU
zHB{HjrV#our!@LA!|B3G6-vMDBc1*(E1DlyKfdOi<r_S3wuy6=(FT(XBA7M^KyJ=i
z7+A!9>3={ov<w01TE-9U@ii5UBg2!rB4+{!v$)txoHe#Ug8=8|T0tN?&F(!X9H-10
z(DB(GmNP*aS#1?MX*8gmHVaw%9G&eE_At=tV8$E~*giC{{mH<F%Cf;3C$L>(U^{GJ
zBd{Pg>Z{H*3E9htYet_jd^PCvlbw699vgh*!^b<Xa}qD|&f`VFQHoci&S8Tb$~68a
z_B<v#Z?a080vCyaiooR6r)3e{bg@hT`OVruT_&BPfl7qoahWy+d=ObXUk(JO(=zh2
z(m*+suqjXk3B|P;1KDZzf`CisaChi?Mj!URA^0GYi2}~v1s{oI5FbQR!-ql!5Rf1~
z>{UbYonqOc_zWYU2&TdpA^1*7Ck33q_oz<aA@xPm`@Fvhm<F%^DpR}8$7Ghn8y1pD
zvUHRBqVg3FT%Mpo4$vTdV6ra51bIkZABOX1`Iu<CC<G<PxIPTy&paR-ye<h>H;2&Y
z5E^0jye9CGs(h-`*q`5oB`}0Sz`+ouu}k0t8gPfOw!P1nK;CEDGx9NQ@_12KidQM)
z9md4|iZ6k@!vLcW)8xs69_Kof_m;3(?|>u-Y>#qm!o+t29~VFFOQX!bUs)OfDG(mv
z2n8gzKOvieSjh7?R+_gpoY#ApRz@uaJzl7ZssmfHKXaXer5QuFN85NZ0y?Y##X_FH
z;o~bXotBqqyn`tmVo*6SX(>T14|)f((+ry&;$2)gTs-`jEqnp2rADPjdA^uwUf3D>
zOiQHfwtN9Zc3T2scLEt^8Ub;2jnVIlX_0*Vk1;J`Kc5E^l@vk@FE!UDXK3S@trJB9
z#i=q=0Wd*T8zZxy#*@IrPE4nZ>k^I)_UvzhE(4i?i%d(73qbHSP!A1Mgh@SNMfFRa
zF8Q=_3_##1c{@UQp9m9_k^$?;PRl=>6D}E2v5Qky#|L~D+bJkZ*1L&D0i<l@N_3J2
z<P?-8WBaG`USJ}QaZK3FKd*7jKt&uAxQJtf3t8`>6Nz62DgufDRZ}=s*t9S*KV}Q6
zoUkl(i4cXjh+lC1aUfD#;FnQ93z)KiX$D`^dUK$4(oX^tZ6I|_08-}jC9Q>MlGk0u
z@x)+-*L#-*nV-S=F7TX|@ss$D)gzSefD65f0h#|qg9~wj6J5~ZA^4!fwe4A#4J+V6
z@j-`c_@ct`1vkpWsGq>sEZXg2`dj#dbupNR-;-Q--hc&*2EbUcf^to6BO!~o^JaCq
zo=u8?z{C&`m>7cFrT5V)fzcQkV7#QHg%&pM@RwKOu!J})8+9Oo3pTR6lx7_B^O4%s
z`B&CT!|BAurF3c$r>@XX@)L*yPoZE81cAi5UCD7t35gLN6uI!&+Y!TS(c-}o@5$o<
zyTn!UDiU57VpDtddiYVgaPQ+6@c%kc{b2vi13$nO`!}}Yiv9Jtb3ak7-LUwvjsxu1
ziOW{~1<k|I;>{=F1ljGjx5s+|@rf}`)Iz3HR^ITNh$eWQM<U`VmC|TgdH5VvYtga+
zczZn>`_M+M;l@#p?|$6>@WT(AZC72(Tdk?ubmm%6u^jC^f^}ez`A={a;*dEr%Z|Dj
zKD#~HXA1ai?a8h{veJ%fr#$=}=cxSh0M5vAtMyzdK1!r#gdAzt%Jo7cI5A_-4Je*J
zV970CetX-IwTrjhbnof!PkzAIo*jSr@VgHtZOYu5l)PruwGTS3j$OZU=B1nWoQ+X_
z`sR}-x2<`o!0bJF&qJT3VBlIhzcr1u$VfInhaZ<gMTH&&!7km#MKSCg2=7h8R0%l-
z0-R02g`NTdE*_dc)_N_Z$IAudq+Yd@d`kKh79!>|MC>F-1`*2-@t6us59pX|PjO7N
z0VPK#M@3Q%TqeI|w2lj4L>Pe?@=9P`u|0lHY@P35g}x>P+vEQQTST%!+Y1J^;x4o)
zKU&Ct&8L#>1p`|@y`u(g5q<;Pvj(>EuGp^OWiAD_XANwF!m!bZawUopkbFpmoTFLa
zG_u%pWk4B;Jr`CD!ANdH^C9Mn75M2zX(t~-G1PdmC#)!Lw#&tOgZxFo+p`A!_Zak(
z!*PbLf5fQoHMnuVL4S#k&ftbMi0xhjTh@QW_JDz{s2jEj@`ZsLP__3N*l>9<Op26i
ztaLOdc>AD%?HnUT!X~gCGO&>&IaDSgMgKOiJ!D|32&0XUlqN-B_)a!Ge5CS>k)oQv
z9DQ)4__>G}sh!e?;UiUVj1<)Y<{LBqB6&(f4v8>}wR4>=X9rUO7kaL9T0hsx?sBe!
zwfG31?flS5KFN=;una`&epXC9apFX?9Vb%E3LtU@V78})df_-GGI#~1J<@w(=}!VC
z-QeYzxWOwh?a_AHase>y(hT0CFd|y5q&GMwC<OhGj*iugF#;~r<$R`dTmU1gNN>=w
zn!cCq{E^cY#D--MbkU+2immf3^u}i)*d9M8Htyq(=6XZW_JV;euPbfITyF^4UNEp#
zh0sRWlp|bk2yD+9*buWF)>F`STIav*Sp!>r7&ej(t~Y><PyZ)0X(SoJuAL^caJm?$
zom{B6uyDNrYWa&eQN%b4p@H5gfY1oNVVp7Y7qKT`Z*l1nr!pr|Rh*xAn04|YJ#gT#
zrz|8r{}R$eaUNu8kVjrO_#T2Ie<3&c1g6va`3^Q!p$6Ytz|9Xi-#M+H@5G0l@8E#{
zg!vE`H10Em;ch~s@PnmuzrEqDp@VX&P^CEy(dCwN!U-QFt%?HQN$!Kh6iC8E)%{4q
zpGiH1bp`&N<Q_;3hzlgxAuy3Va!j_T!n~PbzR?@GJaSx+?uj6bq?^2%x^#EL_V~H6
zWn!+34#D>Lf5FD3ThR7`fvrOCCMkH)Pg)fPZ7;|$TRCk67ET+NZh`Gt16y@>Y$V+R
z+p`931Qx_bBg&;4*hom(okF_#$U;bSF|tBP4JR`fQa;37x`Cfwl)mGmBZj)$i@ZVp
zB1XzmM;m2!3B7;=mIyB0a;Z+f#*6!Cqs*oYAOa@cSd6U&$0f!*3{xX}{Esm;GVIIF
zjR|rnXp&DV(dWYiITSQO4riSY6ZEx)X%Bl^V4|g`MN`Ez()ZCc(lG7eX$8=`8uU)r
z*O+UTI!hk|(`lqq<Z}&M2+ZBExptokc7cZMw6<xI%h6&8+#$@#5N8qQ<S~wqC3bZ_
zod|Un0gk*o*d(TO!G}(~&$SeH?|>cTEP?`ZV>ii{6AY2??9klho*e)YG62QH?$xyv
z+)n1VxkSv@2AekB0LsKVAA-sB3YUll8W8p|1caI`=f%{BlobLK^w{|@HA-KL4tkT3
zk)-ow!vo04BB9`9f%ccqhm3@RlLer<|ALI<LLl4276@d;=%c=lgIlIoxLgQid!%ng
zA4}0k-EoC+G`~$}2O6f+@=KycnyDe<eG|s}6)qP7*=e1!{P1z)ZVK+W!sZ?Gu~GU$
zQ0D6Drr?e%zDEWSY+&L(73S8*F$OJ8;j0bD1j(rql*MxiGtM&khMT)}#D@E{k|dC&
zm}Kc5ZH@@CXlW40PRdp1Ba6gKU^=OL!NSNQKMeO73QT*XuLY(wER{Ozg%g0zAq1v9
z5`{#egZYqVo%OV*`oNNaTsCcBmBpI-B7tzlb%REBSCA<%M*aY#0$6AT@?%`K5E@zx
zy5i~k!UX_TUI-@tm*>R<Zfia3sbQj{$|>PA1%dj70JZ8seA8p5-HeyS$@Zyqj5AWE
z^ePsOOI?B9m5vLb#2`@T2iP)yXx<BR)hnIgxW3?LbKDly;lL}3CFuhAf%Fyd@nt;}
z@U?D$pGlu-fChQz#`xa3G2Yh=<LA<w8b(iO(>Sf_LgV|=8|MH-Zh~)>p<Kr13K_ee
zi(v^A*hY<e;UHG)l+KmF1X(>lki}X7JY=5t1)|ORV1;9{So^NM0HDeX!Q{WYJEl%}
z&P_FD8d0BwmYBu%DV7Bg9xofR(fQAAK<~m10#IxS5YBAOlLRJqP?HT(gVaL<8I9zt
z-2gw3AXpsGKuCbkb_4uOdgsD0zIRTH(i*h@kzu4Qt`H-+k9Q*(dsbarbOo7m`yYZ-
z01Nf92xts#(G^eMy%zvfc_Enm&z~0)DFV^6o*Jfn&}3)}K~oT@UkH${EjoV!*RM2_
zL=;M^g+w6QgCxQdln88ax&Xa9RY*h#5R`yrm%v0v!_YimXfqKKp~KNYpXvtqf%K)M
zNkk~%E8PG;lRnV^{{Z8A=f-$XH;kW4uWJ}%LYqF=4e)&)v`+&c3MlQM>}p)b_#$u3
zRSy6k_~(RKakr)~Hgo}+qKaUNP@v8qx&T#hOw?c&P#x4XM(6ik!1}6~=v*Mfz`A0q
zJSR3O3fKxl$oH$q&xP$T0L!+JD2ZP7G_a+EwnaK^UBUW=fnB95z02VL9%d$)E0Vt9
zlJY4|4>;ExG8nIMZ5F_WXke!~*t-&hjF@W=0rSAwP$$3`6bs26-(e8v40Mn?+}Q34
z_yNlTJ_0ll5?~zw=Lw9mon!pWIFJj&I0}G^H9%lT)9*3Np6(cvyJ7sC_0<5adS9q%
zoCJ1h`hC`LE<mwYg>K`!OIShxf|)~`XkE8;1)1{OAA(fyrbNJ%q1(FR>8nx?{{X1+
zLNNK$yJPD7JGQ4z^I^o+l;c9ESfSwH$i{iiQ=LC(dxOq@c7dWLirgUKP#<@GXKe&7
zpH$9v2-)BwME6NT5t3T^OE=gLNILo5lTfq-`$jj|&$!3$!tlO#Uc8;1-<TYHIxYvb
z7*zx;Lfo?v$*1WOG#(Bz1^VU>Kq`QRguD`H3_a2nPv1iq091J)nEbHv&eI%e5Ye-q
z8m2PPWatk;QxK?M2#~HlI={qXG}uhqqn>X3KtkR{Fa=nE>N&dZ=zJR=mkS^{lMnm{
z(&v((%YdVi><;+exdHcg!}z|0j`E(m^_FQ0FGd1TiI3rG><6uwnNVItUtua^`!wCw
z6=(`KgZ}`if@31q)&tc6U7dEt)mO8W{{XD=!m#=Im4@>)N<$@j+0(#Q1KRkeF35}^
zSidkZec(y$SsG}bTK_8D0&dZ+<vM;02+i5$H}6X8=r<$>*1_T(etU-OjgR?nFwk9o
z^MUkF{+oBZ{pK^;;R9Ruciz+9d9>R*pG$w??;P&-oA>Fw12P~sk1lYhjfBrSrgIvX
z0l7@yVj4g_G$4z$C6mO2gXj)6u{|I>v=<>f*wc|LmFk-a;1NKCM{HPHzBWMgs~N%+
zBs^p<5*}K8fG0&aVu42h5guVwwsaaGIz3Kqd=MUC2aHi01s<1fq5#i94n%kaP)jFP
zIBJZ5bXSE~RDelazsBq#5bk#73lH!J5a7{3TBaBv8a<jaBzl%>{TeEo^6IJ%AVRAU
zJp=?k+c-4@qEjQL5aAKhJcevxBDqMPXrM;`5gq~5!ukb)UeG4?B-J1EP)K>?p+J*4
z`J8leu<EOGS3vkFE({Rf3JtKk&!S7?@L60aC_EPz3hMvz4?t<UL++(KE4&yXSi^l8
zoYo*Hd>LIp^*surmHY?=&^#KFPk1yS#W~V$J^<mKjV{34vk?j$=HUQvh=&8Xxrc+m
zxxc%+r=!~o+|v>Eg3$o2FRyibfqOi{UI_PmbbEn&KEhrIYvI0bFK`b?*bCvFkZvz<
zPsn*+2;WCzRCD){4#`oWA83x8cRvkK?58gj6#Hrel$M+G@2`Qk@816dF!tFOjv4#y
zKLRG9g^C0j*ms8kpMU=iVC=uU0qZi}`7;J(k$ErQhhIy$ZJ#2wAjx5?;Igsdg;4zq
zz*lO(q^R<2*pG8ys7M-;SbZ-G;P+I2=)RoGI6PzoE>layYXdon?5S=q@cnt%3q}L<
z!Ykcg;QREj7yh6HzF!Y}A*_Xay0yUf?O`v3Zp%9lc6)*E-_QGkv=}cKR-5D#RvUq{
z{(_}p)>{`~ZoOS7Ft_3i;O>T17u?*MyKr!B)m=C^x9<K3Tr=M!pOssAVc_A`9;ZDB
z&aJ&};6bYo;GtF@X?9qB{DnKf^@Jm=FhWK`>mQzImZYAHEv7}5pJ66<dzG7op|9qh
z`_;}bRljwRW;fFMK{_9HBfToaZzUxm!aSte8lzbf_0RG0K<#C?3h^>GEyG?8X*m4l
zce}OBt<SKR{|_y512ydB^S1mbS`M|9eKu~xhP~_!@~bhd&xgCc%+1^jdRbV)6cHpW
zVR@(YH?R$so^hlO%Zi)JbR|FoIw7YBATpPA+fx`!WTTO7;S)ABGi<9c%bIKpx~sxL
zIS94FEe^8ZgmKc6saqUftZqRLk~MI0EY`f&IK@?6i7{&+(Cq*Tk`f9SkKJl4zhLeq
z855yY)PES>#(^jYvfQ8_*~lk&^cH|ZV-q<LKiuP(Y+p<F2qw81ero1tSD;VM354Y%
zR>vek?ztVs*#9%#Ex%z&kYXgqV<x2H0-H)v1Q>akd`OcLl3GS~rT6F^S>dljYTj1U
z-3^|4UsZ8_)u5i^5N^t#tmV$m4TR=#Bri7G+RT)AMN5aJCx53*b)(0R+n<`~Nq5(!
zx2XQfEnC-@r8(Vw^UHwc|3XY@T?jF8y*V)r4V;)pWMi3bKEm@p*%cJjKz2W=6t&+#
zj)<)FipW~lXx_eP(RT9;OY`W_%@)(~_EoFeNA~YO5?OyLfn>R550E4wu||sDfjC`e
zYKvf*4kRc;9yFw1MZ_-Q)UbIuZWh9`tdP&j@-|QF(4noKw&XkJ&e^N>EU2q1D5$Sz
z6Y^_neTDV)=69;_XX@N}>Mb=z`E_;qg|#(B1-0}Of_yE`HGZ?WBv>IBdYTE?&Czt!
zEwa#E9S5dV+Z<Q}GLZDpp66My+v|!#pLrYwc*s#e%=4foVPqillrcHOKxjVP8-^_e
zwDU<EFIAg&!P4<bus`6x`MM9s7fstlA;%o3Mgv;Qfj;RD^gQMkf~&aAv_@bWC@{hN
z(J^%g`lK5WQWyAx*ZTR4pmPS94K>}Z%;Yn|O__wmq;SUa)K8V?oEm17*JQKOgA&Q^
znswkF%#jeW%wv~pxZD4axZPcFN6fnHoVY7Ziy*MqLSWORG=EHNOritAA8l`ob|kh@
z-aaIW)>4UuO#*k9iOwpM_Rg8JH%SxMMKMJsN?BQt9%X$dm>-`yZ{AcSPpVd*ua3-5
z%g-+;=vOvmG8V~ykOP40eC_~{Uy(Y%O-PJ8=l}p10g=uZKqqvd5HCUJA^@dWNJtkj
z5~xw?mB1wKC8g@f=(xV~F+g4v0y&x=J)8@YAE0p6E!-1%>ivSc1RWvJiIa>yI(1fG
z2s%3Q;En^{FuEpZa|JIV{9e&x1&tg1m~1WpMRNr&fKKQ@p#g<B$dHS<I2TE;(u9VJ
zCmREdGY6*zGDy<t2}!+vdh&_%bQds)*D#3gte|*B#ZZRLaM9IsN>bW3B;O^`l`XBU
z_4UP7{)))DQr4e~Zo%?#4GmTK#Z|uEadljD&xzaR4!9s$+O+6`JHhJ?$9)Hv-0r9=
zO;?3VZgN_jrfiubu8ZV`samB=gFzL`CHQFT#6FPQ(o&^Iq4{x=T1c;YN!;WiW&H{Y
z@*%#F7<KL`;)1)J_%FXAn*?KXgT5jShy+&vozQ{2NNDqnroX~{P7vJAtAR;~V~LK8
z%TG9@#X1^3Zw*ez$Kz3M#ntVx+^xKnRGl?9jwC})gD~nYrLG`TqPv1<#FO1Z#6y+C
zhY9&A&`Ba5@B;=CeF5S#2r3IBD27M%P>^`N#w;y9i0*Ccp<Wz_3%&q4VFVEcFHUu$
z0rMa((e-2<(u#nCD3IkcgJ~K^y90gF9q1R(blAKXbEAUC=i+Q&2IoPt0zWcg;yL_|
zD?6Yns8($XvN$8*q6HdV(#qAMNHZl<4_&*Fy38GF|FFxjU>EvoYmcnEXYiK7y7~gF
z(WcWig$1=Wg@rZQ>~i(iZ2f;|(FyzEU}%dLqz{yw&Y0*x44GKxXwhA%gtgdCRzN|0
z-HgHatot;-7FL32v9PALAlRb#AFQW0O$X(VVInA!{ZXoDk5<Sy!36)9=JY{!Ikb}4
z^9rx0M0Ny^0Dy_0?|I4l$q$TlV2T-o_Y;0^0i-{-2(Kt1;a*X)Btnq{{j7hpNL=><
z34ro=&Nhs6Ia)G+Xcwsi0V4+r#TWwI`3=qi`_P6AVaMBq?9AaOfl2%%@H<_6y2E{P
zPPh)p$vDD?lL(xM;UwZ~vQlVP;5WUs-)zNiEH+>O1E#{7<{{a5gZh-iFzq0{l9Z!u
zqc9$)OvmNVApu>+14^-$6yb5GRmT1S`}>4ue+zw0!a??T7v(136QZR}cZX_GqzC*|
zoh{{9KHzOJCBXRDE659*Gen&oG4GeHfXM~SCxCHC$$qEVW;NMaWRxP?EsnMb3)!=j
z?NOooZN6%%yO3b@xpJ;AzyJR7Lx<?!>($xT{_D%{yO;iR?|tR#e|=W8%pL|-J5L2D
zn<Fe%W{WV{jZ}b&D+~C5HOrO5nl_Yw^ilZ+^*_M%%$o8KKPX@G>n5Zk9HY_Cu~;Ky
zvtqKb2#dW9glTkT5sm~au&DnLSWpywwsql}@((@)mVp?So7nI2Vfh-_f?1AnktVU<
zmH)`s2(BRSGv^A5zI!GqyV>un;nD}x?+|bSBC~+ZL8xqrNjfW;@LLTC=~B-D6oC{v
z5d?(B@q>V5ixoBo{{H|9dr6jboN1Fc&nmUDWB7?hy+c)+I;VpuE7_N3Q^3qtQC4a+
zo$P!QbJhh4&6L5k>Fh&FllqUvi@#sI7_<hIf3rD|Mn#Hxj0y!Rbbk+$qIlhG&YbO=
z%!k!RBxYpNJOIu=58(VwS6yKMPV7u&lcbM0gJenTJ+0esESk6NG{g9Y;UW;dQL=gG
zFWj;XO+ANRfi`(JZ_<ivyJp<ZRV)O`YX&o5q;I*$Et?mqGq!KKir(VH%G7|o_YdEU
zyK2sMb--0u+!FF8s7Fc-qTWioR}g{uFUn$=wHBGWc<!z00MQ$@KYG-)LB&i-!FjJJ
z8Mqs2zY^cSZ`wZR=}os>p*M#^FD8{qf0h4Y-icMj=SLdS2(vvh64@^UCNp)|BGY*A
zx*R+sGv#E?^(y9GW~EZe_2jZc!}HbOSxNrxd{(0V{#W_&^zCtMmpU_UJ8p6q$URbj
zzgLmvxL6M%cE`pzomNM5w9RS{L|9|-6^SApPTp26D!O9j(wcKsA`dkGA2sYo!__{c
zb!!5VaB6qHdWu=<>Ou&qt78`R)L&T@=s0$aXsS|A>YqW_ek9D_t=xoO+aI-n$6|_v
zY;D=T+1t0zp1pM|+p%@_tlQ`##w5`BH*+1L!Fc@*DG60_Vq+8215#8}qMHPRNF^4T
zLokJY&JB5PdbzxR|MJp-13NyW5BTo*MEelmSXMG%KuK96Yb+~kq;KN`#A0;k-)*ht
zM>r8FSTHK3zS2cfFMsyXjPgML+@e53Ms8bm2Cl>=29o7=#S^fhRCEmfCI0e1kYG)U
zdHo!bYu75S#_|OGikDTo&-1(7^E{XT{_M_ek34<H&imH3O`bY$&Xm@`p&ON*H}S_u
zckeia$J6H0V`bmbUE3ac_V%6kT^pD@ZO-LWrUp!d9(e1;yAQwd+#^fZZN6sdx=m-x
z%=^!ry#KA2_8orf*uz(^-L!1+y3Nb!|9^V>`A3#sxA~eS*Kfv1u2DW=tuVTD1;T|$
zQy{Ig7dD%Bsr}gVm?E2%Pvo^6FgTkDID9rIFKk|~F1vF4I-q@?zp2oh${y{_NE-D>
ztJP*U)0)IvgM{)?M*?nbrd2AN$FFNUNZ-xt13D@~r}hKQEz+xUsWKlmG8~VYWd(W#
z@<$6~u9u<aquk@5`aUbVSAFYMHkwUT;e!Z!1uIF{SD1W|m8owZWIbL*E|_NZ5R~=9
zoj)k~AUhAdA!V(woAFbT2H<%)lvAvfD&<Qkz~pkrJ4_K?sV&VLNVBy^qy{2%QQ>8R
zn1Y<b*inl-(8w<Au~N=#t)M`NNV5iK=|$yz#=LUb!IQIQH?%5NtHnBg@@3<jO8WIH
zDem8wZBte`^U{}84R~(Xtmh{7y0l^?TY`MWqc@M9cxCkOC;b5GUtCOj2`&+(3H4{m
z(x3{i#v&$G5c9$%=wd+a&6>>b$vz2oue4eGRGY+4T%o{71Ca%gLzHRq0n5j-)wT$$
zS~28dvit@!TmFG*6oWM@3bu2!)JB%<d@)U+H$%EccE`iHrKP!fWo5HgS;iG*WfT`@
zWEP)YD!<iHjs{AVh4LZG%V^*_Y5-5JP^QWoEg-_SL3=V3L>%NqY}THPz*~DQZvzHn
z!{6!$m<Kt`t;SnZwYPR^Po^lp$TwSxVANg77W22Jn7)v2HuuMqw~Qwv@#H-`*{wa<
zA^*-!S(EW(0qe!z3O;G4C*b-#`3?CvbW0q>JQ^wCT>*tfv_-RaF;Q@>9&9nn<AziX
z`C-*6Q+C_nCD*UHX!x)N!1C6W1Nv`UtM+0qPMo-OJdJ?*yL>=iC`RDy%Xl)d)4`6*
zSK$e^g8a$sP6x^d5)Afi{K@6&Z}JxYWVQCB6flS6X@CKvIm{J+*(lGz6EK=T8H%<J
z^0&Zf{$vE++A9YD14i>F{Q&bIhXJFtw|>*!0;BnpDV;aVH?tFh(c%em5#Nj;C(dXM
z<~zX56O86hcBtFfDfx(CbeAV!G=I`Z{aj9GIkMICJK7@t(34*Dgf@%Dla>65O?zTi
zf5cmE<h$PA`7?(Zinsh622<wjcnsl8z>G#tr8vp$w^^Mg1yxb_#;KB*NTRw5Vk!qK
zzRaYe4Gohfq0CEtfAvSDP~G3N^2&uOukX^_z!O>%+GaTk<iRPaHza+7hWK7UGy&lN
z{+X)?$Jr0iDZHiZ;^e_yt-mFYW;ud9r%AH5Y2<MQh}ZRUcIPE8ton>jUB_?o2Hp-f
zEu1lF>gVhz+Of)aYftRz*K7@Y0zE+93{J~JY_o4LA3=Kc9{yAo7f4MCu+&t^lNj(I
zzavT(Kn<p$GKIcwBB=x~tCi)-)61iZd={u$kid(uqpCT6%KhH|m8JYP=GKdb)V242
z;OU#U$(8CAY@xb|-OE-)vVv3pk2T~MEzipMVgHWT<Jotc)b}>2Z*KxCuj+ivlxS%{
zPV-8sk5ujVdef3(>TAl%9lfg~dM3pNGO}~6MJ5YNvbD3G0dp}o^WK2do-%yk+xaGK
z`mIQ{QC*2La|tMz=R>tZUj0+#g|~XC5S`WQMkkz7bu|O=Nb|ywJ05@u*rX{{MaiY{
zMOT(PGhOLbiR#^1!wRNs7&ZL1**(VRCoJ%K^5ZHOj2J$SRes+?y)-$QMc(u<`@$Y;
zQ(r>iI@aV!vozcw%Qx;rBCP`sPsEuu4u`K`dv;D#)I|$XI^__<&Oy49Rj^%!x1L=&
z_7=agpiX^-ZDs7tPw}}f(_|TLQt;wCQymtn5}2m(R0Y+Rl#rmHOdu?oc%>+y*l1wT
zbs85GPQdz!9%f1|XRxfh<cf<$Q7%oWwDcn$S9}FA#N=(>*Q)-eKEkeM38S}MRMlr;
z|991YZ(p(1l(}kjPH|y*YGzLBN^_K@X5El-Up8CE`m+h_zO>BM$%*Pc>W?q0U-VWI
zpS@&`#kn>z;^E!u^(-wDl&4~y-G-&tB^CIQ8q108P)ro^qA--Ahzvx)C=)V;;!vff
zs71#eHCjd#U5-4J^2C4NyLYermyWk(OULj3X7TFZS^RG0yB(_YHk{K*nAOS;;7`7U
zvX)U9se#DMjJ61GX29z8`do<tm$_YLz5t6NHbHPjr5R!HWMxq@6s=lXm!vQrNHPCH
zk<cvVhqKG(&OL!YA3s>Xyl<VawW|F}maqPWzNcLxzp^f8_tN}L>o+ey`cquS+PK7>
zyDs0nev@tKp)xG82RmcohKPb-<Cw%Bmy>R7&q_8Uyt`d8PcuhHC)jCWaaGbL@l9}p
z7-1&c)2K!j^1&EIp}*v+UCM~vZ|!ee)^^MOg^T8F+P~jaedp}9-D$Ol7TkB=59Z&0
z|F=B+(2ir*cRVRiyY05eZti%}B%wO!qN#zv+wXuTFN_1Edc!9xbU=aM!#A#ONs2&O
z1V_A0Mm`xDC@Nf!YB)Tn%*zln+HN!Yc2&}hsf1etYR`+A<D;@PF0bj^GfDV9{AW4U
z?Qtq5W%~;quiM>rGpxO=&70MKZrarG|IEA2JmxFR%APt*`Pc6=P4nGF$vr02ocTAl
z=tn!hi?|Df*%9ntB#o7Z`zuSU#?;o09MLeWzrEN$I8f|wOUd>IvNPM#6SCV9iYo)f
zk?r=VfZfjI$bc-jGhM=PWC>?BW(iFcS^~1XuB-}PzSQf2<;qjyXytWz;l*l97q3=_
z3!4{TFn<n}ln`lif@&{8)Zv+NFRS_XTlLp}T;6)`y?gF3HN=hReeI&#Z{Pp@_ca6K
zy)Jguh->=~te9Ribd0|>XVL7(whq3g@4(VYy@pI2I3Z`*r4O2S{qWo=RX*KuWXFyz
zTh7RlF?VieZ*Tm)N_~5yI%4WHi)Dw`w>T{sGv=a<DBrw`=iHo?vm_<4wkE$iEvjHy
z^U51Bj$oYSYB0_x^+pYV-hN+ANuNMTNm+SApj>V*D2r&f=SDlSvs~#BQd~+visR*1
z^t#H>phBAzflU|Mb!>-m@=BAJbCu^4N`Pbt#+qyYpx<i!tAFy%9X$MAHtp!Y_TEx3
zG)t}9y8NCSHz)p4cN5to7hl|Qhk4g?$8LK+(-bp)kdoQ)>n*FVTn$FRt8V@hjL5=4
zFO|Jb@#O`4C@U4n&Xzo$$ViJbRY_!Wdm>-mAm9nS+!I8+$Vnoeg*ix~4LcuYg^W*d
zy^@e)KcMglK$BpV`rVBuBdp9M+idTyJ!!QlvSN*RakKibeJ@!em?B45Uxu{5{(DdJ
z>yY^)MZ;23hV(EEKl4CdeQs`Dk!dufKRJ7_&o{_><{Kqv(<Yi9P#$o3EAQguA{y>(
z)C`q8EG9W%iHd29VgW}K*Bm6(yr>%k_p5kON{ctk1^*l*Tv!lDiSZ?~mesFbv_M^?
zvKtmGT3uhJ{-&5aR`%_!u(PLUu29Tp&zPhYGdsSJt-br4T?_tAQ$IBA;M<RM%)m;2
zMruM*TYN$w%^Bb3w%DECfYaJ;F9_HnJBo>D`QQ!OT5}zS35PWp4mZ>l;-x-yYoXGG
zhoXX3SSfPlZ{!v8?KkPg)MxK1H>r=Yi}tTyzyH8;DyhElkow``!y%Q_ng9ADN3QQk
zyKVXXyq-FlepoPlSP;skQh#cO(-p{$aJJ>6MqH8As(4ZZ9&@`=5>TRPJ>aV*=>@+3
zrG*ny9d)+&6sLk)RZ>X4F02Q<Hd6vV2xG$J8@;FX1GQl399dSBdDm95l#_!t3>wsH
zcEj=)ee7o#WHOWG2sI+-;T!s1-Dhw`kB*K_&b)-gs`O1iv6$TarRk}!9om#w8lPAa
zzv+o5ygu}x5JTPpu|@SJf2;#C6-Yn|6)DOrx4Sh-t$>VHf^e)9R4^3gEE%-b*f)bV
zCX}%2=+>?Gnj+#O*!JUU6`QZ##y<W;o#S*wnB+S)%U5*V=*W(edv)BrxnsIKE;+@~
z0V|YB5GZrdc!HGgPn8vBig)8k(Q1x}jd3}hk^`lzBH<4cinW4ojk9>_G&pf-U}5{g
znd`wf)ZJrsKjN?YsM23O{8;@@_{*-EId|Rb_-6Ze>`;%+oU{IQe5-|U0~D)wM0{mg
zg}rDp@*|CccXf!rw5&Qd(5JdCP_49&8y1)}u5D6l+oS=3NhyViO1de_;-j*|SyCV?
zB`T1@O(E3CBoh$!1pmX$3e-h5N|xrrHtH$+EV31UF{d%&eB3pqUKL9RiWU?0`Z@Fo
zp)FPuSyQ<}mu2(Hf!O*BM*s<o^1rp07FV=X7WL~VKZU{vW#4^Lb#Yn6!a==nxcI6E
z2Q+RQKY8BDF&8bZt(usZ+uHjv^*@WNH?o;;_rGg-%HTQ0%){L3Qq*O=WMscfT8F6P
zp0B!R!*#nK-reuY<c+OWz2I~xs^}HXo@4BL9GteO|2p=PdU{%6UErd!zP$qzrp~M{
zn#!W@zwfsxad$QkpZ}<3$V@B`L(9_DmtfcZNsXJgVd9t>JDd8>QA_0;9=~Plbz4vR
ztJDH$mol|U37Ega!e1oiz`l&n@U(ejlvI|EQq%>!6t%X5Vp$;POl68pX20k?_!mp(
z&7iOsSgI&iGNbkUa%Jl9D=(XU<@_nrsw&rQdiynH=E^aRCuU4%@&3w;+{(iI3fZfk
zW;Y&VzLCp!t)Ew+{&xJdI(Pjue=SLR^yUq$c5}zoZ1jIjUyObG(v|O4jcc9&qaY8v
zl`RlYG71u)5_9~X#H2WnDU!JZk+wi23P$PDNorh_c!tKQ0HG2VeSJyt>YDo~+xWx(
zs=szh&pxvE#8bDOP>-8tpV?uW4VT&P?|q?uuU5!2AG!aIyVWzoWPw^7*I8<cwv0yW
z*<f3>KQkjGCx9q762Q2kK%plwE-o@LGcq=S$r2HX{S&RI70AWME2?u#ge<)3JelN5
zY*AoL_>?RZru1TgVzAfU*o`O^+(dWDwR7FCzQ`;n06f<<X3MO`!7GQAu*+KBSYR@l
z)JNv6nf~Abwl?3SnEEd-f9I=0b_w#z4`HjE&pl_(?Y%m;*xK>8j%^JM^06<}ZwpPW
z@#-7u0kv0FHd~MWM1iLR_>@n<LRsriPK`*2%W}ynP9-tgV$bp<+Eefq>4}Jh7oPf1
zihocQkKEGwU&sdYcoSeXq5fVLPA;I8NP}YGWLdr}H(xF*v2dD-->BU-d)3odsk!aX
ztekaA?d!ij_TXbEtG2PH`q@?-4_U^(Gu~uZrfz<8vpSD$rEh$c>pM=U#~ziP>1DC%
zXUrRexH6=w{LT~uU0;pGDWxo}GC83tF1d=O;mc9z4HPQv4ivcLYJsmxM0YJLZTh0c
zDYVp{H#-M%&6Pe?<IB>;SUCMmqy*79XoD=}tB$V*Px}9~y$5&`$JRH#v%8YqEy<EC
zcgu3`-57%{YUnleX229J5I~`Z&_eIM_rwq&v=Bm1C<!DXfrKO^q$i}2TvG2%E?{f?
z{bp9OWgzeS{h$BySzc+S-JLmeX6DT4vuVqe9i6)kxjg9ydOIcl@i&^UEvE_MteDu>
zdJSLQv24KMrw<ZKU|`bNqNj67H?b^Zc&E`%X6MhamtMGFADJ;KvwhsCn6}xIhQ!*I
zq$QqtJ*j2%sDgG8n3O#+zTz;xA{gUh4~+^ARf2<*fMCfPDTOK6rO++(sS6jA7O-;Z
z%(lWLMyJ?zr|uk+*zUAgW6+9blTnTvx$*Ile`3BR-5%L%S!KJX^O|&6m`7JX`}*qx
zn`dgyoH3GlB$t$sZSi}y$7HOEw^k1mGZQ+>ixTK-f84=tuS7s<YdKew4Qi2Zk2V_&
zfgvVSaG>5{@$m@^Py)41KR>4wrATg8QZ)tCp<7*E3&D`!#WwXcu!Aia(6+}z5Y5f(
zo;`oT-&IGBRQ+8=2(4}1)vqjG8yvWPy*RLDDH34bFQnJmvBdT2h~9qwpa*apfCJi5
zEEt`TmvpGm+@6^k$3}uyu%#(B$=Rr^Ob7`KY*Jp*yohw@+_G0#Uq5}D?gI@>>B4DS
zm}f+|MT2~G+gP^nb1JXCo6UScaPB{$o+)5T56=8E{A2R6UPwwdC%RK?n)8Zuo>T05
z>pnGwo-J?RBtNUf-_kNOvozS!Dyv2Fyu6)<-`+&x-tY2!-;(xAyDh64a^wCpE9X{N
zyXIEpb&Dg<CnqQ57Iyt1IXNjOy4$<K!6Cu%BO}JN&2O5PmX?}|qeqYKk$uaD%<D1a
z#H@qw$0aU{jhr;3mojSl<;v+xB0H2xQlrL_ueQVDAw`8{Iis}l*n)zl1wFJrIZq_m
zlFYW&7<|P*XatCX#MWUrNBZcricYm-ax)kcQp?@apJ%<7zIC0ZL#1!&5RJHT<9#Z9
zzHwts0tO6>?JSKrWXx21c#IaCvuhoZ0se}`5a7VBkc!bmt5p^Z0y>y(E=d$J)dXfC
zlPVZffrT3HY?$LLM09=EV#=s-S1Y%M(rEI%e&)h!(gJ!iIuR6-R-3m>ZdFlIOJ<B6
zw`kh%rH_wTx-@Y>$<itN;^er|{pc_N)*XOl0<cJ-l|9YhCrBe}*$57njo{!7dIh_)
zYb!)aG5CsMVFF}eA;hBs0~Kd_mI&r`7glmjU17ii6&4rb0A<1EdS)DKr76zGFeJ@?
z!{1(J!(fN)xoiGaCi>OyV$#5kgXRp{IEb95a~5q{gkvGidjC`ncK4Hn6p*$nnuYKX
zYlp1*#rDL4+)yDQE?jEaw5VC*5_@oAR<fcAE>wC12m5FFJN-K=e5I+=aB$WPd`hta
zJc@h8HmlMZ=W^Z5E>NoSvS4)B@Ays_-3U|n<aU3+D&`r|_<eNVxDK`@a~F;t=Okm-
zTzO)CLPv|vQkoQ37N!eI2@jh7WV4B-ojPsqcl;w`n;B8$8EclVG%_`<LupQWPWilk
zt~;ip?8L^s$?AacD6(zUxVdXq&7OK-!;@EIQj@H4$^It4=bdp0v$NA*x~4bFVh(*N
ztT@h)+PgB#P|{{hhn_>0JyrBXkJ9FBCtXkg4N{MT8?f39p?(COk$xJms7CzG<~QgM
z1QJ!fg!NT0V2WbZMMr_H<LAi+@$^mlpDNOUG^rxxq-_=b&rRv;7&@G8ICqll6r~W7
zK|hFa{Y}T7JV%C+jqx?{m@0M*A|KQo%Gf8nMTA{fGHNXtJ6OgA-!O%Z8#nvJt;hOz
zxSYW`_Cm(BySu|?#@G%Q-O}=j$@n94zx}!9ue0PCI^+2xFYn(&5|_NYL|l34+*{Y)
zT|z(81iPx|&YJlQ+TR83Ou}lB4FNa85*?kGC?rP)SrwySg~=yKa%M8sGKT_{=S8q&
z#MlBno3DWRm|)=MjBL$NX&p{NjbXMVF&R`ElMnh(oUkQC$hVrGA;vW?{^t#+!DbAK
z3UXe(<+s~!<`QR6Ot8_acP^hp0{$Q$FKtP>U-~bZY(M?12=Qmvu_C(X#}lxF({NG?
zX-K3Z`KB@b<h9@ECZ_E@TbnKYj0Qx5xy#0UOfe=U`)Z`5WW^FmqGVCl`S{Bq3Zj&)
zNTL%fWQ7=`h`dRlMyj#`qC5W6@s)2Jt0{zi25kvr?O|JMGrGY)Y=t_rq+&WbnNb-=
zlWk<?Yp;#$Idbgw#ZRo<xo_*po^#f&cxk~at5?rn;&^WL_3N6=$B#>=-U!*S?5X1k
zvhm{L0~cez{y@A=9Ah_(SwYB#XP)lyG=_vgPwB2}7ok-;W_i#MMT4QhP3!urOlfAY
z8bY8QU#oq7{oQQcb<Mx;_19M2y{vl=`$X-OuaXMgay%M9A16!&wx{-vHb`^GZRIZH
zB6zkEALR&-v_wS2rz-IVC@-`|CIkrqioope_+zpU)6{W2JvY4@xwIl;|Mj{h2pYyP
z?ia_dd33^j(lePyUb<}E*Zbyd{9@P07418WUfZSS-WvJsb=7aqTK?V1qVcwpm~J_f
zR&?kX+s>4eJ<wD&_bBn(y6|QC*VxPR2M&0DdjJ0YG+T%(d&h!vM2HW6B0TD~nFITT
z`i~9^1)73tZ;SKz9^{EaoZS?Ot&{zuw4s`KB~;_U{?VZxmW^9$iq)OS%_dRj*2t-}
zs<4omVBHN0Iy!A^<>cinqGBwabK5;Wu4HIsm%C#UlaiuS$(}pp@~uq^Mh>Q*y-q9o
zrY0qhZ<;Z6$~QyA^fTiNOH0d+Gj$_0o}1mc&W7Qkz#f;D92p~9Y_@RGnPl;C=H@85
zz7Kg4=wE007YsWFEBObvfPYewGAYDo^To5r&t5wJ(#g$J1`nV4^su2%-97uc*gLEw
zN|vO(*Ik257EudEzfycj4!H2!k7sbawqotNmCIJGu34<vTq7lo$TyE~FWq4pR51IN
zk<F{`ld`#U(X3}{ztYaooZ&-=i7U{>ho>u6Tet-;xNd--bh4r2#yIpyoJq!5)u=`U
z{?3GE7!>$Bcs8av)k57@CrwGnk4HO_mq;mIFVT+3fEo&&*ev=pUb7&Gkmx;U4_sb6
zd&RKPbLLyUZ)6YlAv1A*{S&j#OQ*N2oA@q0O-{~g-&etq=^)8GJ|Gx`KGSXqGleL!
zUyuZKTOh*cO$K=Bh$imJz(_r3@fks2b|8=fNFkuQ2AhNzzB87>CYgrM{6_w6#%TGo
z(vM_1aqKlQ=(;3}>#3gn?o!B?G@cz|!H^*!vx7ip;TZ^0A8ptBSQH<FGsYMU+Nu|f
zT)@lA10{lh%t@+>D-2i=_QE1#VS!+S$`MkXc@XJ;=nykT!`S@f!9%2<>)wHb^oLKs
zq~9JqxMm`;zXc2qr(5Wyx9Ek*YqrfK`LFy%!s!qHeuZA0wGEi)QTv5FMQ#J_W;7H;
za91LdCOTSU3|9h-jsT4k;GqH#H~E;fLUqZQ5k6}Kz>=RQ=sd(-o>KEVX|lHWtV^xi
zjQniHuaK=$zq?6tK5e$4SFbgtqLD6d(sbHWX&a}L7JpLGh<^7TNiA#Iw2XcXC&9b5
zcYI4VSCLLB&mKK-!kW|av}wC{_ZD&-Pqb)ZwFD?ui$ky~f?FbB-IAWi#4iRIQ!cBT
zHg)Y$DKr=mRm-LV4OXP?9}U2@2LE-}yiXp!&%L8MZc?u?PRCPqefhZjK=CS1<i3+@
zhSYi<x{dgi4@*c$iVC;1OpVV74D>gJhPKF#FocAKwQtmZL3#P)($Xo-24Cpidwr4B
zH!m*kvDmmQ_?KENMV9a+U0nOrlpg76-I6og#ar#Rl5u%?J!0d-n#RYsvDxh5=0-6w
zrD2w6AD_ssS(yV<!;=T)<_=1+H3~7A6Jny<BqWrZBRZz1LBCY&7cs6==hw%SjmpaI
znh@J4A|l%yj~xOu;fV=zM_bCQ)@G5BDLxsa8#kWXsANP+@t8&>Q<}F}Z%R%`7}_Mg
zLsV3pNpDCoSu#UHqO?+|(KiPGHqOsm(xuDc-gAE&GI(W@+5AMCw!0pC%%Ru!Y0`B0
zV{PW-#0@ViTimMEGlfkn)6?1~Hg%+>l^LzpVNIIMYu;jde%jPltybEbjfe^gZj_nv
zM4`FJnVsD<A||G?UGCE@S}bVNq$0{Ts33ntdU~0^v1j`ZUvBENr$dK%MOmGrW31V>
z_>M8wX#)o$9xbVVc6Ps{q#}RosAkPpwP`cIsO_$fot70Am4nz7*8Zj0s@aN3;s<Zo
z0{Da3jG^IqQQ5H>iN3*DFN5P9!QhqsoW26|^Rk~3AcIF^^c%DSf9izEM}|%KH6~ki
zAy^|D+CcbNXs}|sjX%jJ22kt)G?rNAw59)Ty;JJ9qGpeHpxKz>rYT*DN?Z3Y?OCyL
zRDNYaK}!3Kf)4HNou6DR{Yi-Hs`!a3`Qk-ab42moAMOuhYlI~;J*_-CZD8j?qr;<y
znnTjk(hFmg#<Z;*14`5e8d_}iA^0MAEm+bjlH}tnD!zVB9~cx_8=&{%bcl&(m}+fA
zD=i@JJhzw(SW1>x!~2=-46Xeb9xh4D=>&1FH^t}i3AYfr*ma6KrQFeei0jF|8|5so
zJGAV6TraQv#WzfS9-bTQ`33y0DKJ#9awY&0^}ajWPa52JieH~Cx99aN1Ap@|*4!lD
z>504?DV|@SCAa0zx5D+^4dC3zuP>A%`E~aEj}4yBbYCC9uaCm@@A-8&&Tu&Ya9{7o
zuV>>rGchJHHyVEZiu-z)yZ&FaFEyzDRepV`3=a$7VQlR$+Fvx=@%$q9^Y`4>A9Fu{
zM|-Qm^Go>kb#kHWB%TL+y0ixH{p7wronN1Y>lteK1{J;<_w||l`m?Bix26j9uj-**
z2i}4Ib<$mTKT^$zy83nKrwg?dLufr*um!0KLkJcICgA&MWFG=~SFG?MiVt&GzRF|D
zIMYhtp^eoFF4|h5y6=_F^a3gG{Eoa=G``Z2bdX7hj!3g0tgrnKJn9CbOq1Oo@lx0|
zURL<p$o;%EFcM%=!S$T%#AEIGV*zs2o1IBHz0mnebzhY6BjCawr6>b|ZVWD2BlyBK
z8E_%$fr;EDkhsA{!}A<!bGV-WDDQozt^{%8xsLRhOpkSB4$ch#@<9X;3R5(EapcP)
z>=dw+6o(naMD?+kJHDbBSl7Te<tjI(x&WeJA<G`F)dU5?z!%`7Q~Z5=gQ18MqzX3o
zIKn_g^zcFPaDv5kSmUtD7v8MCUWdE<E1ij*o+mwCsY9U~bT{C6nn9>D${ym&<R2(w
z0)mNO0Ncx^z5&T~E#RmXzeize^Us}AJ4Sl%&6+q*rP6n5r3}wP7x{0wzuH#_Tl3Kg
zTFIAtU^3Jc6L=Sgg~0p#N2xXaoxG#*8Rt`T@{rUTpE8JvspjN^rTD<gDQdh+Aq0-e
z$#9V-^4~S5iJlg)Vx%?_tvSugA@9&TQX9;I_1MsewKquzXM2p^Psoq>6opPufykQc
z+(Xl5H$#;h5#$h}O%ZWQgwAP7QcP}6$1Uj)n7~wNK-JkA8OsXYhn^YnLYOcMF&3PV
zQ5uLqt2v7@pDb(Fe@D-Y7wFscmpyNi<Zt`TiHUx)=gyDD58iN78VM2iv$vAcCX{B;
zyYve>!FBD%%h=p$`Q!AiV<f%&{!`0HIl#|{8sIKyw^r&1unFQ%(>2%znoEFw2=;@&
zog#7{SvNOo1t)4Hm3!s&duvY9blupytF$-pU_MQkPvb#<XflklM)LL3_$Wwc2*(+R
zMlAr|O(i7;CTLg-2@@Wy1Q{hyS5FnIT(jlIHD|?ct`*V}n%+rzQhL1a=9=GYK19j4
zMWeh{+z7E0ex%;<61SxTqH+FwtO<8()1@TV3i#_V(l(Az(nb6V->2|aO+zdD!WQf!
zz$p?VUrQv3=oG@3U--sz&m${%>q0=3FWwkWFYL#@!Xc#7B=OfNu2GsuRNhT^SKC<n
z1RT5#l752Sl<6C(!0Mp{SP}%;Y=(<=Fy<0iM6APXQARsC2j;QOc^TcfZo<vhaZXX~
zd8y^&=SJ;*_vY3~7ut7wb@ZP1Zf+lcep&OK1D}|)K<T~njpjQBj+wJ?WY3-C)}qBX
z4m|tg!bOV~-Z-%9_F~tZIqN4qv3kzzXP#L#dEDB$KpUcj<kivv=AwKY(EyBmV5T$r
z1J#Y$`oml)rRH(zK+VT<_|1xZLhcNvTz?`gSmy{9csv+y1hgpNY0>R4Fx2t7>?`9!
z#W&l`%+6^vw@0g1NBRyp(z0duxlQu&=1A9b^YS-4XdZcY@mtNC+3n4mzqOd=l54{^
z73Alm!exj<*^j`8NN5`T;OQh89Fm{Hyr>z78ZL=?{8m&6I!vcxO`LY<rQ~Lbw%EJ~
zM|ZCcucH6>(9eH~zweUg<iF}Ryh6YIAdHg_$c?!SX+w}*K#WBZVjM=e3&VDV0DLa_
zB-W`JO<FeX+(tqzS2DPJj`YZCX3x%Q(Na9+KA{!vlX1<nGF!ID%5LWQ6o2xZffgvj
zQPNHRl7oQe20(5NKnxMrtneQ3s!;Me|1zg#%N(ymy5Az3MH6JVs5#jpn*|tTw?OgN
zh2Q1<(s`KN^PxtIwk0{3`6$4i6RqUuIPxn(B?T^bp}ye(j&LBDX;#>3#FXK{wK_=A
zl}ufxW(xpQ$V9FXj{xz|6?wmI&5WXXopQRwwr(pe(5#zTILY38Xk62F;sW(bc4zB@
zSETc+pDikikMG@kWmQH-X6BGCbl4jFVzu__wPFu`$*SzkraQ*%S}b27u;H5n;rbAy
zGs;kA%R0P>pMw~Ma<oB>F>z}~nZeE)0*(>>`xx8oAa5_Lx=+g2(F`$S`?4JfCON*5
z+;V*i%>qf93sLaRx%5-!CvsbGpuWa9)1iYR?Ro@UX+#I~{k~d<pReM_$0Wm4B4bJ2
zhrE_g9yWn+ICz<{bI}<p_-}g(^Yv4FjZPinra==`pMS=zqcAWfW@bG{f%52@DyhF~
zhWHGhl9U{6Ouku9x6AYms?4h^^lHOGMM2Ub#D}<}(Rg2?Q1<c^D$aF1E%oPxibrXu
zjigXZhOMKqF4H`9(rX&YrCj-J)WC2c8w_FClP%0o2@6%ic)P)mgQ5Z4_yp!#Qj`Ei
zsucqT?-(SA2HX1~{n2#cf`z19AS>ytgBJ{9t&14mzCea3H{YN8?uT=it)9DP4MWXp
z^lWo^7DOFiA;xah`iQcOHh>Rt2pW%tLX~3j*)}*KI1H<$BQ%+&wkJ!;GHlZRJ&km|
zC}xul)Zt=Qy-MMj{FwM>9hF1hF}T47fXWqGD_0@dAo>_NfKWrx=GrV>*FFo~L(p-(
z$)We-*%R0la8npBQfxMeCyY_S;X&rK=%j*nMf3K#Hv5G2$u)+?M;E7L+uz!8w*rBZ
zzOHAnf!=<#NIyi<I#_@!FH$98UX;GjAle!hsonqIpS+9I?ZhZNMst1dz`UnMC`H>5
zpX4xV6{E%(5aS3ClmPAw%H%x&?xooxd0-htun7jeF@(Q^S->xvE<jmZ@dWvvd@r7G
zwWWdI(r<44>+UbVZrZ$l!@9MrX|C7BNOm(h0XJ)fj3Z;=Z?%Z-r^_^U`WAhYehCFj
z3SN065Bigz#8Axz@e*KuAizU&;eLwdrWkq{NT2RnBW38?;3ffjM1wf}uxpL)%YV05
zFKN!>c@4V+uEH#39F|&$q1Dqhd3dz;C-$iOI-7Pj6gFCFaTo>Pzs8<t^`mJ1JX_RI
zxVR2K=2cJU&x@hFYIdDHpD$(9VB<LUyo^PUfu=c+=XJOaH5*$M0l{H$t!p%c(Orle
zes+^vCS_ot7}pwk4hmvTVW4tUu)EBhMJm)>aE&^Q8!sKMo{k$m_;T0B;W1blrWizk
z8bwtjX$>!mLFHdxApis7c%>?EykfwI2gKT+NN>#rX$~;VYG(!GP`iM4!-t1mHx45Y
z!+EsiUnp3;kF^(v)P!ACyTsisGticcD9@JzU`FMv`WaG7*C=tFYZR{je)#I)no<mZ
z6sft09`f9ZUWB9Qd0C{Xhp*yV9&bB?lHbap)bNI}-nOcpE{;7clbS>1>BHhYUN)Uu
zQz}oW8vt%d&?fd$2LZzZ1_J2~K<?|^L*?f>K-g^zkaILmCJYeZ>;5&4U!V(U__+=c
z-lZIAHmS7ckW5@RXqq?=7|}FC(Gq$Ok-*{%;P@hN#~aE=3a}#1K*uqp;NtH!rGSN@
z1mn+hCqpoMSv41{DK3+b)xoJkLe8^}L!l~47)A`t1I~~yj+MGq*NW-nBiFRUx;FRE
z9p>fB6Ie@0Z$79!kZ`nM;Iokpq|A{n-PdzS*!1N6jXNb^L<J>`e2lB^(I(HqJmLe0
z->AX?aKQ#Ms0%STs;ShS&OPjU3Sj6Dlc%Li)l2KT#xqKxotD)80U(EoYm5h!zuN<W
zK#RNkaX(vQ>t-99b<)4^1iTRGyu*AL@=@*kvLLC03y(;^IwGeTNFfX?IBj!Oo#z;J
zJtfYksp<gMG?OQwAMT&S@L}Uqr66u70bnv4KmeA{rFDc)D0L7?moSapW1|jAwu<6*
z_9Ev9O(h?p#=2S0XN#l`r-o3fbb^m8464I)u4@`vsE#W36iCa`!@Qp`ws@uP`O8p)
zI@y6?U{mLC%~{uI%}vk}kx%5hhH-kso?u|I+xdtGn3|jF?8BgE({BPQ;b6KeQIYAc
z#sF7a_OM!2HRVu}rx{As>Z+Hjxa6aRk5;t@@jTE{M`}0?b5k4XQcWqNI6%LfK)c)J
z#wDjs9G7f9aI(iI1c3CK5Uj^}C8Vw*@d<{=!%}zGQ<zG1wJ{LuYQ(%{Qwk9Pycamh
zU}J{A+(c9*q<rQwa>j=!0~)>S88x0l;MArL06dR~2KKV5Q;3aO(3ZnM)FlQ!JKWR`
zi;K+3xMy-3z+$Pbaig0s+!YcI7^6}kI4aT^EuJQIL-XK1*c-HmV_)+-pLQHZ@H~Pz
zM)Lw6a;%XC%?tN?h-2i>suS5YAm9aY3?@z8HH_F#tCKv}8b0S)i`jGHNA=glk6dY<
zYvK)7X8kqI3w77v?CbhV(^C5!UsPBers~)j3mKVZ1!AViVxbh_%`Jq-5aQe!zAL@3
zt<oSkJB<)V31fvPg~`G+VJ4hy76?m(709{00jY*|2+y%}aRxICQtm_Z|M5KR|Hu8r
z>)AxFbN0LRh+`xv8c7<BaHWkT#q6KHHNtgor0f1jY4=EWau2__?-}{v4-Y>y!d*&D
zU-wD%68FO>y8cfSKZO6iR>A+ys~?a4HkkjtHjw|FSHE3QAJ8pRi*bLYGlvYJ(<>^}
zWAI=)eehu2vWg1fao*K0X#d}I^$Wsb;U(dOa7H*Mye7N>lia()2g1kLWaTU2TWI|L
zCHyA*8#_@}3$;WdI^vH=EN0$_B(YF~CX;lM4gG8}tdHdg@Oq52C!GZ$1YL!QqlXSQ
zl>T4;&W5db9qhaJ5N6*!hwg!UJ<plF?(y8qKL6={@(<;(A?zvB`!mE{7ORJq`A?s0
z$QR-mF_OL5--wab30~i-|NVb^g%rCBsOdLCDr3`vzRCY_^47?Ay~_Nbu2nDfy0Jm!
zBUl+;|070>^vsh6vqc^I=hYAO-92;u*DLDmX)vQ2%&P{oOD)Ya#~REu^%9$JsQG+F
zMg9BW!I-I-rI?cJNqh(`IAOn`eNJdAbVL^V9`F|(APg3U2@YY5FkYA_OckahY0^9-
zn_4EU64qf;zHP!TVYjePI4Ha*yeym&UJ))}^R&0H*VuJzYySyCpuZ8mN1Cf&gg=D8
zuw|?Zc|bM9mjn_6^b+B4L$;Dcl1eh+Sz8F-+NPu#X+_$Sj-)FV7w!Va+`t|<3Yiz_
zKO8(PjfJLpA0hZs>~(}a@H}%|_P(yc^?a}2G&oPpH>Zn*`Bt2U;i}I2@Vb>1^S@mW
zd7%2l2fh<`c^)u5;F;ZEF>tJ?pSh58I6U`1@ZD2SvAcZDjZxlz$|!|@WuJ=I->6Zz
z5C0$W|55BJ?yLKa_E2spihA8;9yN;WXSa+ZcFz+Z;VQqO?h&=5NB+)>7iXaYR*lqC
zt*EX_RuVn0mJSf>%WZHz3g9SUvxZa<+dyK&JO8(`aqaa-zZ$~-E9e)4>6iG|zT>&7
zP8&W?JU{Wzq5S=VdqTQbw}G#@zk7<;WqO`J?>S+MTSW!?=9%;;ihhL$Ss|<d_OSXO
ze+bOeZdjemVc+0cO7u>Nn+}*U&tToH*?fOEJ3Klr=?HFPd6bZc2VQ@oRuTE_szH*m
zY<Nm;UeiUYtocz2myY1<NQau+sAdj<6+~j5g-DkM-$!VZn0^WZcsH6WEu}f+J=9Wv
z7xUEfLj{tku)4U;PJMvY!5$)W=v$;%eY698Q*DZ_pL~Efg;{vGGorgG+T-`y$p@+*
z$8GS<)Upt05s95xEGqLgV89To<dov?o#ibCV#r`^xm?0-I|f0Ir)y$19%9gz-ybes
zrEA5T50r+Y>MJE(v@L7Cd_-ZQyZx*%17U^9C9V`Q8Z{wdnrsJXFt7s40kTe!^-dAS
zR*q&BN|uPlSCZ|tv;%EQUh4o$?N+*#REk$!`QqEi`H?S{yDqp`Vwt72KWcl!J&LK^
zP#nv&<IA${NboLG6>T9N|1oQvfOGgD!8`}AsHJ2R9B(_ad`a{rdW?>EnvA=5k2vY_
zd-v!{@f|QGXJ{*W1FzQD{x_Z8p)Zgg!~_D{1KB?H!f>Il+)wVrt7dkkQt-*$!5@zT
zUpxo=@D}jFFM%l%ybTe_UN!=RfYli*ywAPw*LmIJ{rf+i|I__-zw1I98b-Xz_lCh6
zPN~Wq8*2`Uj(*<#`AtYnj2VZ~{hh{}Vq#1<F5<@!b4-lb)P3U8y03`iA1K4M#T?6?
zi7sXrOwk03)=~G(w2k}Zmb;j}?(b41uLh3|<@ErFyBrc!deC!;yy^ML=DEpr$a6-1
ziwX(l6}zT+ej6Meq5>y&^*mWu7;WVFi9~wt|1Z0r9fLi;V3Hga7Rfg0K1PGzOTMt$
zsI%Y1Mp|J30yhNNMr)6sq?Blno*<&w{3NZ#p4_KuX$__x+&ARcIEjKBhRh*>0-Fzf
z+QP_;Sp<p@qI$;jL{a3Pc*RvzxoPCcP3&M(P`vu&^5swB0C8A_`Jc{<OF%3(+;swr
z9Z~6yz$jiUH|e@<*Nh0FV3>{EmLu+G2Aihas>B`6!o1Cg@M-oKmsYWQD>G73#<gm>
ztw)a?ty+#xP01Mi_~W-`_1M<3)wq<Dj1gU1w>qtiI@`K+*RHKwpB<%~Zq>Rg2ls8y
zEuQCR-Fp1-!5Jy3<6E}c(ZlPBGp$;8>C(E@8O-)^WWP9E+R3LJh-bY6vWIx84x)Ta
zhw+F>)zO-a8nJe@1INfV!$-7jSBWy#4p&yM9XWh$hY^pp8$P^U+hKx+tP_T4M`?=c
zW^_}8@<v8xCM(v=Omm~s97jQ^QV`5Maf1;G#oZQI*aQ4<4W9IyqL7#%gct=4%p;*f
zauWN8>#>ISnrb#q^g7odWdXC-@j&Gy?MR6}2b=$0x(!C|fe@B-q_UqxuYL11{Q$q@
zfBiMdbdAlo+4AyiwtVtZPJ*qVz?P8X`m<~H=HVkYXLm~+*S76A5HAfGib$p{w3^m{
zauPC}$X{SFA*A5TufP%#`t~rj5Km$GKa3eSZcK~Ttp)i3JmeyIggMw6=`dTZz8TpG
zN=mjPCB@x-7VB8wdLwJSB(m23-?w-xf<^DqXVJc)u-yBQ0j@9)Q2#><(XP#CP9>4i
z)?sMSwq^g+AZ%KP`S1?%>@gzU%U%$guY`vNCdMm%iKIlyBF5;jSbbDTj6oZ!O-+|m
zblSu;4GB$zCrPLzgkc);br#M6*|1%fFpqyYl41tIhN*h}VsW*y04xL};~o4WrV)}$
z;vM1}<`%+|@eY0x^9gAu@or`bE0VN);uT3Bc3e>SeA)9EjdZ{Lsx8jkUADVuVaMJb
z7Zl+vqgeOrFZi*ltO`Gp{^Hkr_IxMe{rPWy(KX7%V?_%(^zN{T-J4mg{q<L!y8!&S
zuozF_$6v&Es(v8khdsN$C*(E=&Zok7IZHl_7?OC_y@>A%Mzo2b=p|p6#>@`iXimbo
zhXwa*X6!>@eTW*5X+V3x0*81x_mkg$8ngP~^yvpzjsE)U-s!!cda5@LGOp*w;62Xi
z2M<nn?$&SYSzAk*P3zNV8an_>neeszoZKBNxD6gCCT)yj^wn#Tw-*sxLV!bn(Vx$6
z=A6OInVvit#X2M;46zjhwE)LE#y}j&>dNkEt369vYQZ4X#>O9<?uO=T24AG5R?{1!
z=J0E^NfkxY5B98s2kCL(avcSp!U``ngE_$BYYg@c)&~UW1&5w<DLkH5)h+@njCAsF
zWcc>t+{}`@z@HbczAVB8=i-HoX)Wge>(%kaLz8{lv~&I1u8mLf&|>E+KQCx8Ekkp(
zU{vWO`qis@UWkfoxvQ*w`?6gv<Dw2$y+W*$OGoE}><tvA03aK3&2(mtbETm|aAC8k
zU;%!m&EV_-mk;K9!2#l{1)>i?zVQ$C0st_tQ8xMjisuXKJ|1h%eriDN`E$%`z~c;!
zN5zwwaF(4@P+-qbPa9iW(l0Tg*yL+!l$g-3q;zb0TE4wtB>k+f*y^XpQwyRjmgY%~
z`z0ingoZUrNbFyd)ZAi;Do9In6cr7fQaHA0lX)FF9IWg+HzPegCOo29e0;Nr@R;=U
zjJbU)4|dq}FJ))@*JqY5@6xn)R8&M(V$#6u?14#%SrJiDy_<GfUS2*nH?J4gTeXu|
zf<22pm?XyP<oNJFpQI2+67M4BPR6tBc>H)UFYA~sb-*xRY^;1{a;(w7q)uheoIJ49
z$7lbtW&3@679To2tE^K}|HkdJPA!ax*|&1mNim`*a^{&cGb4*4#N*Gbem*8*;i)Xx
z59>N79QgzhvZp|Q4bK#|X0ycz(f)AFU`TaGud{BDex7vp_WTypGkt;A`M1wZ9={^R
zH)WZ|cHr2X^y8^b#})!jQ%UNZM-Po_*<w5@xeET^5MR*!UXqMNFO;)bNMB^p`<?tj
zgT;5mYpy(30q#65bd;LPyWkFlq}0&{Q-q?2XQYG8Ab5{(ULqe|$_4;DMp)M;8@z%?
z!pKiaZx?2nE&2X_896<cjBeL%a?kMm2zl4Kbfrt<!Hx1;L>2drDRQl!y{dJ7=P|y1
z7@x<5K>1twFVtxja_o`3)|faeR+3<SY%D>}by0)OE;J67NRWe(&55WAPGW=l4VngD
zLlDwReiHB30pdDdciLNQCwHx?x#EF@Oqfplc)p06hR<M9U5+3~Er2;>F%dHC@xBP^
z3JBI~HL)>9gCs{qhnPeX5gux`L<oT(^emZ(J9wXmRr1hEGotp)#b%v>9kxP^!H{Us
zytfm7BZy`M|D@GKL#sdSv9SkvmAwUhyoBgK!5MAN-ah?p3H^=iTS8u40+{Ok1VS0X
zGln>f0l}e;V674iR{<|S0q)(_z*7K98_e4<Oyvii16*%bm9?X;C$rnWlK2R}fOj>g
zTQ7`R8PeC<0DuAn=0sXkBGWBdW?c;Gj?pSHiH;b+fmAPb{t6(y7|`A>3o!6-;sW}i
zk`P8S02hc2CoYVDFdFh8m^BV*qN^w_Icd(YE)!Cc(?7Vf;M0MXZTD47UKkq{=jb$g
zT~=1gqu^gt(mNx)vURDmtYl5+Eq4YCu4vz8?WD#}q~#B9)OkjE`O^Lk8deA&Buhw2
zGFX*>@Hj`fRteVxWOFYJH3dt#>aqS{yYdi?pOnn<b8$AUzDYKlS#2Am8=xQ$HjK(2
z5Z(FJD^`4R?8)=}dOo(H``{%nzBqpJn{V#e*?m`+4nr<KqE*LlU0#1eFQ=TCwfoiP
zkBuoVc*?nS?viDzCvD6rm}F<3P4#0X63ZjPJwurDn-UWe5FTWRjCMpu285uqcuyg`
z5>YNJ67eAq6PUsfn#kA>#(P*3S;hyPKGX>3bDK9GDOlgT&&5IFK58Vtc39A~Z0sW-
zf0y*yB)$G*&5Rj;jb61$yfW|o9z7Q~=z&xWt#EUkBfxA9jtX}~X_YA18Jxr&6x~^H
zco(omy}{68EHQc^fsH6;A(cF%iedgih-;b+d}GQDVxsg`RGYYH(bwh3&0Em;rL)JE
z4cONHVZg<fZClanZ~Z8VWcONEu2#Ea>Egphr42BR<Ql+qL~yplm>L`$ms;pZ6_nIK
zXI!`=POHReRMi3p{-GHvsl&!rxALk9V3731tVhJ7knGL<Kj7a}{PpPp2b;<zMdi!;
zlsWRcwOZL>+4b%NO8@%!A|ZQMPgwlij#*D{e7H^0hKqN*cANWYyPoai6UXOeD--9^
zi<^;!<p9xM+qQlG<gJ(YHRu{d4%<O;f<go(B)}OI><H2-L9)A9JdoA9L*Rmd5O_h#
zhgkCf#B$9z@!eJQ{o*5yN$kUb>HG$*t#J*c8_5iDDV)dZ2eYa$0g{a|IcbiZoB&Ia
z!=hCz7|ID=lN4+X3oGHvmN)fLXQ^kBLasu1mDwaC-;O$M@ryTG`XJcU^d2FLr}ul}
z`$GqQd}6@N#YDa~y=vRsr>l0%9=vREr7~y9!;K-QemOn<lbnL*hHicTz3oGvE6Dj|
z{FytecFddd!gI40Y!k0888&j!vdZC$8;qqyB!tSeN1C%8akg;G1Y4BDCMdQ*XK<>U
z;B!5dIujlqP0TF}0eoCY%x7OX?a7Z5)N!U>d9Zn!+n>Ba@BizRb7z)(<!q1XB^8}s
zaFBQs^5U-PlXmT#?R@s(*2({douDWE`^KgF{Rhy?^t+t=QLUSk=fsTN?;KmaY5(>H
z-N(d+EO@NOMssR}6%6YaMpQH!6|HfG*&JbkZlc7ZR5?X@1Wod+W!?^O#a_;E4>qi(
zN&OlpwR1be-G(FFDmcVF+$K`L=v7BP=oh!t;|}L>k3+Yy)R9%3&C((98GQet$JD^d
zRHMkUub=4j4N!c!D9A@8YfuR024M$xb%+utxfY9)h|y))E7~PJQcYdK0sr><Ec^v|
z;lv{NvLmmc9pN8(DKG#*`v^19itwlQ72NCxcz7hHRO1zqE{5A_3L#T61|Jd^4#NlM
z@K?p&$T#y>&lktI*5HH2!YAczcN@aN@Wk8Ast0j^Z)mt286`R+W0XjD3sh%THF7vv
zb#?^RQiTPkHc^`-cBtrP>zb9+#GH{au%f56U0R|&GA)gqR+|{=m=_TdYHn0AYBoMY
z8#k``nKzc>QcmT#3}TX<-K3X!M2$|b*Xn{5o#@oop;BG2I4+r+24f)vo8*b|jS@%G
z&-aqWKe*_RzrAwg(22c!rNuz&T-TqP&ELKEF8#0gA6M0L>sGG@kvmJ*%g0b{oRA8^
zHY_02s)UBhh6q71L^upSPB~TKp?6F<jA04dg4GA2nmf3d=lS4?_7G;QPCJkmci_Iw
zCI;>}N)DX4w|#MD%Oo)9f43UadUx+Wk-1?dN!@OIH~sl_%YLBiFTt#E`NGC)S#qSk
zjK+`+&StLT4#m%JvECqecy{)aixKG1haQ$@YKkGiw7|9yI`JO)xi(4&Iwq!S1>qEZ
z!?WqgU$twbFfGzw;Rp4;`2yRVghZH#aH`hoz7GxmP;-<8QpkOA9qzUCSGfxYn+3Ui
z%)v&{pLwF{z+O82Lmff|Vi5)IOU?vGmRXtr^Xl4!6O1%<(Z!i`;qc_iQ>u{Qvvlv6
zg9kU$Ux`udv~%aFRj#v|J1%AL;P<Xm6CH{=0fYP*kk8m!qb@K+@-?toV{(W>1p)<G
zg-8*=qAYlQJZGn;HkL#VZZ)!fq3fgI5Lw>4SJs6Dh?eWFO=7?~`XR{>SB8XZU1gfh
zu7UpHf#P^q7uO-$1l8_AQ*~%6^!j#_pByM@{gFZ#11yMDtgWk9W$e*V7K+W<s8%UW
z8BUwXXdgNBF-;^-tz#`Dcc@8or>30Tphh~Cx6X>zy^PlRqnZ#wtdM*~ANZPMn+9gT
zPzN*i;W3uLJ)gA?ZbIN*7-^6rYIIUF7dCmSIVo*oZON8D*qBnC#KA|o(pf|>K3J}n
zm&+v*NKKC_SIVsUk2uivnG_0V=KZYPe5u*e?3y#Q4W`1t+S?ka7l0NPux&=tMx-b4
z4HC2#9(-@83y*f|f;H+23vB_n4QruNNigs+!5ovtQ}jRdMP&F&+4g3my?gE7EZIQJ
z-@ba&<+6~q#7=sX?b9AVaew$nV`gu7okWnpn>Xnxs50--Gkj#M*E)f_OpJ_>#PDD#
zCN)-c>IB84bC_Zn?hwo285vmQidBbh7P!KgR(Og)hF0^ty7Rt5?!a&{X*Jg30lCes
zWl??l=ybAwXe3SUM#KEf0mxkN?3d(ZL`0BQ9~Mboe}6AsA8J{k51KnyT2`{8dtR%i
z)t||&!`kJgFC9_?n^cXZF}8cKmr6g~-|{ZA)wwsqggwvzhDq;(cpOOy3PO4fk4li`
zLu6z`&Dn_<29nIwEFmoPT`Y6mJiSUBv*?WL)1I=%U-vx~Z)=g3h$SYtKl~69iis0l
zOOQ|uR0~~&?N&Tp#RBibSY92BEtX6MUFFV`!1x5z#$toHF&?v&_gW$|Yk@sL+LTaP
z@}2Y9V|({@{m*Q8+w`K#X!Ru`{q@eA|29n|l4bJ1S2UY{TQq}?q%Y93bi@WyhTBY}
z?3HVD%DJ~dnvkMf-i)nJwK5B9B}fP+_)GwFnII*hmMDkLkSdV`!4j)jBxfBiI3eLG
zIxFUtTj5lH7QzV%QoQhJ6?ccSuEoYJ{ZElxzW`Aq8vRMrT_necbzZQ~Hwkm6I;Q$>
z)}|(87MSVjOY{>ze^HhK{piOmnQ45Rq=>GGESYIki{!*sanj>U7EPU+m)omD^(@&E
z-zLS@Cb9YlG{6G=?*{B&naP#}OQhn}0G-pHAZnP;G7Le`LQfOWg%74+ZO{bdbYNo=
zO^`?@dgZ`}8lC7P`s(hi|4@rF;;Y*np(y=E`LCC4QPwomt^FUcxC!F#`#tCYHDpDH
zWm_bnrY0mS(v%e;wyt!J8Jm_?-n!;5@e6ZKgfT1H#f0_t=#9p*4H}GOOdfNTUPfA1
zvrh1X{#xe@_W+NP!IfSJb#0*Q@-&0dIxmJ9$wBWu)nuAEYDxc*Qzs1BVX`3TRqs#q
z2Qe=8mzO3b#N-B(zneW(mOHX!(i6_UmD5Y;`$^4Xl3K@#cVM$RYHOX9keywaP|l_|
zn2!6H-Z~bg#bd+adF@u4GpUquG2CU+aCWb_-lc$sFWKO7;>kUD60sx=p7b<{O|JSU
z_f(P7w6!eI{!3^!@KS*}(+Hhvfn1E(pCC)PV)1tx<Jc;vLlJC+XYnr@W`Q#zB^Hmu
z%;y0kEGwfenQ=Mlk|$Q)p|>55i<2gu+Y+;A(b=Erk3Yr7Z@jo>M6+fV68HCZLWYi}
zt_>%ziR%_FpdVNNM88=2!OO=!w>MKE(Y6L8@!&bq?BV{gMuSDR*#vDe5_&nK%nH_Z
zH?f6e&UnYLlB;gOV30PNJ$YTBm}B}Ba2$-$$Iv1y5m~%e?C=vsWX>B`K67QthqvrI
zmZs?X_kC=7MwjM0pXl(ERqFmbZ6T(T`BNwEw2&~@9qdO^{X@?KrzUQQd~7ly6CJTf
zclRB;WSIEWif#LV^`~lo6_;zMz!Uw&h70CsKO{JEnu8QGaSDj*@ubq@(bze;Fb&s}
zWIlnD)wuxoG-$*C>5bTQLu5!y*z}bvr-#LaL>kg#2d=cSRn@lAsMW64YHsWlg`GDv
zIMt3H{q}v++oQ*W<wh^cU4T0*elX7@+D!o#V@yI?S^`_8bWS0m4i=0f&^|_MS&wo{
zK6+77^-W$QJB(|3y~RJV+bu*BhyMZF2fg!AAEzXj+4t|<ezIe0Nt)a}w?*^(+_DmM
z^BowJZ1nqkf6|Z0*)iRN!u@lfpK#&bPftJjLT*4rVBgX7T6u1+y?J&4=Q_a6|IU|f
z2-Ap|)o28y%q5^CzQ~KDjz4t-Ggbh0R(^=TyRMQ|*o<HT?aj6XTS_vPk{sqt{*LQg
z(oPJ4CvK#GSXb=sr}wYG3hA$NApfNr^ap{%t0&m<=e<wLz_eDj!qCj9!oo=t3Zv7~
zqM=rIeQOTw9vs-OuNdz7e#QoAPfAR5a&mNZDn>z+xLN#6^BhDS*qpU2hp8frV}N5>
z0|Voog_@8O`t6)|WtoUXmOq(AKNdGjzOEAiA$q+rKx|j@UzBI3tEF$TPLx36jfp@i
z&xD|4ADwSnSiYd7<vY^+l{8;xSd0=Txo0Ov7iR_0CXiA-!a})D8s8qwb*>tD;`uJ4
zs?ikFMEt9APi{f)wSBwwJ~DC6z7@}1d5zF(6(@(3ciYl;_WH%UZl0}qM;o9GiT00u
zB0sTXs=Z`1UES;PKHa+K&nPJnr%!UsC~bRU*X~bKvlb-9PaQRIY-y+S&mH<nB!-l*
z(#A&9oTzZL%u1KYBS7CG*b3+qqzzQl5t|SQYI10U6t^gY$<6pQ;EuNlDFjsx5GzR?
z$kM!i`+M}<IsA~DA$(=R>#aLYEJ|#a(yY-ax@5qB{)1HJFv~K(P1i0)^UNru9;0jI
zi)4)Mb0keQGa9Qk1xnDbD=gOm8yp;u5=$@ysflS|>!_P;#h0YV+^Gv!O?i5Jn=TzX
zjF&HpM-+N$!V}|WD=o|H<rsRRd{L-H;ViqY9(^iH?)@HF??4XolvyW|(J6DDsw)v2
zQ%2BJ6UU63jXf)CTa>dRg)z0a5x;+w=MP8bqF{4SsKY17p(BD10_0f#vtU-n%Y>=Q
z*5pDCx76U<m~O*{bz61q+A8;_Wux|q?%kizZoIZ?)io)=`y1-)OJ-q5BDGE=gCIJe
zpkT9BfVcw`v8IH03g?5Vt}6bmZ&BmMMI%?P9O?cfv!2nE78R9ho)K3K8@5WcH~5M%
z(N8=;zT~yR6+u9T1nk&`^o^`Hm_}1IQ<_yX8u{}1&p&^@V%oF{@xbTLKmYkg?YxSL
zd0LdxNm_|5v>41mF9+&a87P43yHxX?r+|TzH?5mi-nMPIv{KwSdE!R-8BP20^7f!P
zkh=P^ji(`HgSQSaAj~i*B$zYTK{`i}TQ1?8syZ+|yfq6v!J>@Aq?P8Ek1Fb7YneG{
zuq$HkUh#*$FVnuU*4bv${6*q27g%@K5^>`F-FJUMg?ngU=`Q50I8<l~!)^^cFM`0>
z`4F8W#4WL~g|1<Rj}R|ST5)xg;YFn>?Xm|ALjJ+sSTLIG9ewcN3EI~jw$u>3U;&dg
zPp+<)HC>B7d>=rhQmbYTS{={SYk|>9V4x6TP$D8iLd{AjGM1y=SjU3hl!g&vH!-d!
zpn!+XP@sXyX`s+%u&q!dN>ir1J)&KYy~_HthmR~Ji(PcDnr2iI=~L%ErC(8Nqq1rF
z**h1kSfLZkYc8?$qx5=;>rMIQ@oRqqxO8fjzeC2_ETPnH3r-D6F(d`0LUa%e*dYWt
zEft%V^97g)UO=*~A{dY$A$3&5-B}(`O`$BOxXK_Pr7bM-ER`(>TM$o9JJG*w`!!>>
z-umo%H!{n0p}ah%9Z5;+n*Y=iB)7%ZLX+SB6S_TXLE}l;X-C&?*_khzTvfe06TNP_
z!LVYfIF_fn&3Anh_0vn&=smP#c<oPeDaNObaW+VP=412?l>MwGli+7i{3O0dkDFNl
z=sX!B7U(#pzb|I-%<de2I)c4$z{$8(nT&LApe}4381^5Epw-!DhT6Mt>vxwN4(OKt
z{*@0840*m+%aLz{eg4|zn_!u3S)?#Edr^|@1$up{q}{Y-#?q9Gd4(($a}te~u3{Co
z!MYcr3#$VV=~Eei;2^Mxkb4w(0A%?cSk~qL4Z^PX=rt1aEA2^EtUEg_zjxK3-^ud<
zy%S&i^4n+oZ0cH4@e+;x_R6JiMGb?nC^2QGE$&r%0}$@pFlT36;>`3UP^GT5KS=8^
zP}!DmP>TcxgeaDvfB+!~3^F=j73=^Slwh1&t>d&10mUU;j8L~2EEblJZqzEdeMUuZ
zSEab_a1{+B-)l5-aI72=5w*}{>^&=Zwsfre^DmEzW^s_E#1@yU1qfE8Z0HCisUU=e
z2Ly%$K|=ydqs{?v_;wDUTFix@;go$C1oBHg2u~wsu!?4rt11XIhQrWr*4Ww7%<Ai3
z-VmpVX>J%Kh6b7CJPHNbNWh$pu*NG^AEzNOAWShvJsKgH4?M+#S1K$OBBlp5fjjmf
zhVB0MAaefr!wWs<CLY-1jiQ>t>rJP;kW{^p$neCI7^-9^P^E&2tsDX^(INhN3-A?h
zRs7=}ZjQ`?B<mh7hPz(C8K?oZQvn58c?i%4QAm8~-71<)Zm4Ly2~ZoLvS#kwY#?*E
z*hEEU^&1>kA{>G2<S*w#a|{<hAC2OJtz*G~dc-F;!BgcfM&FKz{V>_q(NS{#68a*N
zdSL$8Yi~<I@?%0Gl*OT;`slboKbzzughYUpdrJbG!SLz_?jfjpRD|g~QyW|kYwfy$
z2ivu6{Y*Q@n872?FMoA^x3!%*wisJ7#4&2})~#18Mfo!`GP-qb-Y+tLi*xRgjKb+@
z2_4$BX=_d2K64%OZHC^(=MVQ#NkfLeD7{rNSrolVZwewoAt45BQWP{jJ`mk8hnRgq
z&86*DoI_-+S3BSg5w21gdkbMXp1H&hM`-t1sF-w!O!W!!m32YBWbz>~<@83^&We2Y
zzTyq?$2Zy_Q5FNCk*Pn2swm5xo{*RlDt&N&I8w#`IhW;&7gNQd`o^KABC~6&=M1gs
z3puq05>BCDhb*6Kk4p1H3P*pXv96V((+P<XS0j9igl0-M=ZlclglD3`I=~W~FlmST
z@woFKd-j4fLr#3)Csh!0OO9;Yh(cz7HzBCL?v!j@d+5kMlJImzm$l6*dS0A->Xq1j
zIV4{h8auh9dxsqrJN8w{h1(ocRwc=K2gOEHcK!F6$|qfKJhk_~<DH`{dzZ{P6q;;#
zW>k~1q1`*3J2%E?(WQq@nVgdTMB~C&&%1{2ME=#meTOVQG;4UgaZs<012l)`4UgA%
z@6~@W>sRco^cmI?Gvv;6wruO8;Be-Y<CT;E9a1hqWy`c(*w);Whn0(boS)Jliv`mA
zdt?&9TCetEKDO}buJ2QA_P^*W&0V`zoI&UA&<6X-R#E|#Bs|dRQu^i{<b=9=`xgCy
z7;7FwuWAA`Og(4$<rVq_v~xp(a&2Eh+!;q-p}XkF4WxjWNfh?5W!lWY>8tQT9U7ct
zjm<HrovS^L&Shr4CPEIDpd!T_9<S5IhKFaMla0D0Ay0{oRl62lS`NDoNWFW{v`6+W
z(>gJ&0COJZ!_|8W5bw_1x%$|#-6Ua3rMokiZB3C|eyDtXpZ@vXoUa>;t=<$*ZhiLI
zty^C_=9)2Yo2Ls8SdznLkKtW7sN3K!^t-$NrXNon_oQ?2yRW?Z{x`cW-c)<7TW|Cl
zw4k-Ob&W9_%`hloFStm-M-vKRS8KplYE144tm`h8-&xg$GD5+2W8m|UsadeHc=wPd
zyr543n_;Yn$X~`(!?Bn4(%-9}@ahh~AU3IBP5N09Z`_c^*X*b7)Az+@b=U{Pj~%Cw
zDHnsO2(G$Ox*R3Ns?$Zs`8lJtPL6$NxR9YFdL|ZM<A8hSa_~shn^pdV?<l739>hC<
z`4;lY6dFplt~?5)XFNU9jr5n_nl@p=+NvFL?&gsbH)c!auXmmKLhX2`JOa~Y<qk`-
zVd6~pbotNfXOAuyJJqm#(0UCUFlgSP75(G&9yCJ-mH;#xApRqxxZbGf^+@WXCE(!e
z=p1&Dz}R6*v4<#JJ#phC?PWi`MivA7$hwzZznt<AGxt!3@^nRHd169&lsujjFiyMN
zgPNmN(->$4Yt8&1V*H$u;1-gV*ig_b6|I7;PA|g-GgE8*14?y#hak3JH$!M0CQTkp
zCQKjX!Q@3EOQDAE4$|hk<-*OKA30*roudm9x~7Tt8Ue&+9w#pxgM8WG7z`G$gAvAq
z#V;-{P$x-&257Y+kghj4z{kmT_l&Y)tg?Lib=yQRjIty|`DTn;jNN*2Lh`|Wag{#D
ztVq`W_VT@}wEEVm?`h-D5zN|ajT^7xW3t|79Q}MMkiXeASlr<nya8)LC5~#cO2uzY
zjHPQRDW#Vp%iW6uLp94An#+)#>E}$-!bB%40imJ6)(FL_bF!3P^*lD1B8F^E;B9eQ
zoi>y(D-&BK60F!w&`UjMZh(98^2`^^^zRFVj3Qr?D>aK(9z~R3X8w%fY6mQR`IxMU
zGrV_@wgdimjXAWUV$ze{2a|1c=D5DxJL|+{^OOnhkxXZ1Rc49Fybl<OpfMctF>q1M
zgwsz#P(*}2AP$nKzg~3uGa0l_%wc<mv27P2;WXeii;L?BMi@glx`XLIJ?peIvao+%
zQ9|?R#uf2xp7l@;KFakzY><CH=(ww@o_x?4L&)-=fSz5dR4T#;JTQ*|-`(}T?C(uQ
zXbd0j*+OGvI*&`&I>QQ-q=2w6eSD-6uXE~ipowG2Tk9La2#I^#doz8-#cra(9B&_7
zow;F%HA?bO6U>2I+1)d;tWCo017ljqMVm*gJj#~mI*NY!tSnjd-yWoX<uC4-x9zv7
z&QUZbD0sfVU)%Q2pBm5)3-ZCRI%<x&F_F!UZq@yF><~M%xnbxEA`X*IA=IqvHAj&w
z@B~k@hix9Dz8H5}sR>LxB6CfUp9S?{vnbjgNCJIBgOP|Jz!ZoLB(eDpOvF%HGl8C4
z>D@bhaU&`i5%iTwY$W#l`61J-ymj8Z>dJ>Lx2Q4&+$+-}NU(ar1wBBolYD|iKS}Zf
zuk9y*6<`cDv&k?nK-CnwE3Y@-roh{x?+;$)Tlwhx`PH4gt+%KO<_WLX83ZDsd7=)j
z1IGcPz%%i34mUBGAOYn=hH0_MP*OGY;=}FxtRH!=pR30s8^}x>o(9IkVoZ?wH&Czh
zbvKV2#L+zOdg~iT?hPaZ2k!E2+Vl#dRA4g$FUvI2gZ#U$Z91-=G;7hmASnW_$2y(f
zVt~n4?`ff@4_PZY(Rf5lV@HthMpXZf?wtH^b59KtO#{gb=+gy{XtIQ;K2MW%7*eTr
zi#AB73la^I$)5<iK%>?fBshHoJspcU3f8wEX7vDhq2TUtvZ}IX2D*5<Hy)<+C))>z
zQvrmt0WP>13d)Mj5Qrk|!6J4TM-+}KWit%8QH?!QKz+E{r2B?_8^m&PZ?<H0b<B0m
z+6aLNy+%IQ`~rhis6D`4MxAF4x3IaNCyiEDtrl-&Nv&N;IW;Wvs}Zed?n8l?LI$Gq
zQ^3+9A)Qk|9D@n~TX>j7iz#jp&kqx>)qHmU{=K(vi*`(vsZ-}w*DxSr0L1&48*In>
zAej}#O7egK1$~`gkXp(fY*n~$A;vy-C9Lj*DJ6h2(t*{MxH$m^3LcRu`-L){jf{M8
z^&B?V5(8U6y!`99HQCKpYjrjMrSH;JWD;qPkn&LtIp`2^#+EHeTE7|>`;x5>GtH;z
zfAM-n1xY>vl4F3yj&qU$+F&U(9PT*+i#CC@iTxz%m$~%(e74OXY&|@lhVOj@glPq^
z5XIKeP|0l?>-IUl7c_Wy4AFmd%@sOqh@SrW{`%d4uF8NHPl;>I&n;bW#6slnmb~}N
zo$E`!q4yRaJy3O;{Jd`4PQU~g3GLfJlbRV6{;C0KN`N-Os3c_iN&+HL*e(T#Kk;A-
zwqXSP0IE7y32p|1(5nkIg<*RaPjo4m_d07UoP|Y7-=izZ6k=a|t9R1VJ)T^!a}JDA
z%jxCcNFa6na+}^E25HJ;eM*XRJB23|SjYwh?e`(udiCnof7{%3R}E&f8CuA}8{lc-
zi^*F`4^-D;gTvU68NE99Y}dTeY_x`1MB4+yCa734n2IGJ8LhDz72h<i)hcKsxkb(F
zjb$vt?iMjCDN9)E<-^TTUFT2PpgG;XrGJpf--hgH8b7#+^3?LNq4c-6cJ15y?2Z$s
z#U&;7f?Qj^DKXtb5^h(M)PjQSl4Vn;o-}_=YanBsyZ+5fhd&`7hL31v?~xkYh;3Vf
zj_`Y|t|L<HVZkv<a4?J=zG>KTnr#X$CDd&{R*to|B%iUtL@V3eT_J}d!=ZW}pP=#d
z153s0b*|}>Lf^f|hx268>^jM4(VUdrsuK($UPO3Hht0gckakmlBCC+1q#xOGY5V54
zJVX8Kwhsx24+xBE&*(OyXVh^9_n`!%Me&7g!szQv3&1c7U<N}b?}IOO>j708r`jKI
z0p-G=R_iSbvRzkIow_Mh?Die~6E@D(A7>^1fLJeq{_CfWU#4e%Cce!2W#{oTuI}o|
zX$y({g;_c$j_NlL*3Q4^C$lRmX7i5u^vsF(SO<N2`uO_*8`;hq`0#~*a){VbS(YAj
z;p4k^phJooC1DEn2YmP<#h&!v4So1(=FNknBn%e~UHBv+hNjAo16hn0v9V$7F9(Sx
z?DB|BgH8TU>@gIiV@c<AL7b?otQa^1#!spY0yAuw-BL7nnw8vg9miITIGLVemg%N1
zPPqK#{ZEE&ZoGTux_#RhtT;r!m_MJKaIMpPd~En|`pb{BmcHGS{CmaB7r%S^g^O>1
zl>lYd<buXW05o`;1&2o};XV#AJRGWh1&gis#!HOW!@9t=-puiZsmq{^Q&Ho!iwSwX
zf7d>Ke%t;1uWW8k7JpCa?cZNHa`^b(y_dw8{+%KVBO;r|FWM)5_w8G6(`wf(@%Z-D
zi1S69B~pel$Aehx-3sCr8{`a*iBm$tVgON$zcVaZ3DY?ZZd)|lNE-tTljb3i>X9W_
z>)`_2WMfI?=%AprI{z0pwdDwV{cEJ8{^RC%mrrhAu<QsDX?@(STX<1)Q2XdbTck-0
zYro#E73eJ_*BX5N@(UL)ZG?UCGx*=Iy>Zz_Fw6tTYEy{S8XoWC#GWwN<wozz^gwKd
z=G-1692Id%g$>0S){Boqpm;j@>ak{>0-Gfi<@PI_xuf^Y)CbXc<jMz~`UM28GwQcK
z{qfo<;<pdrvi1v_s+}jVhm%bn##~f#kTWbPMTv|Rll+~r*-9+r0AD3sk4O^FsKZpP
z!zUa_8wy?=(tpIO_;K5-$I4oSHBZdV?OQNs^@s`W{{g#4u8@Cs?h+6*+h|xfho+w&
z^bbe|38g=236Lyt{aS`Sk}dW+eTYFa%2A4Jbii#0zRaRSRu@?&v_o-PjuDX<Mv{~3
z)_-u08Xc2UxLS=TOb|7v+PFSwvy@(^%g8ijYDytP*3BVt!|DE_DFwH%y<^B%caW&}
z!X&zV(ju~wv?K$_CPpGZp~w5by_AUh5KSIs%)otYuEPjqG${nAb1>I8)y?&E$c|bk
z+u}KrZShP*QR8P-u+6hZo$5^FVuBYB8L<{ZP-h`6NSx|ky1-O5*xFg%<XR|B84i`^
z;ioSAM1-4;joFy^yJxOFuxHN77ckrDWpP1eB?<YZmgIKtzT9<n-Hbz@z478(EH&yt
z+C;Yx2n~k1G86iQXk;|j=}ZwRN`&OJ8sa3qDPA$@9VWqHax)0PCl?IaEORfI#oVl|
zgQN{e8{n9@efF60Qd%okRgNArk6eDI&tlhfQbxxVO|d_K?g6fFhGeKNfp6MG8aew!
zUWX2=RxWRP>`2Y)+en^1<U!O|L+$Ctwg>wv*0n}pJs2~R?cWw{)jDI1QK8siz$YqM
ziGs=@*bthjg!(%Tb(m-S$1<V)5pC1_Fa02<h;w>O8$X-8{(9w1*LL#HJ<>@k9(|}w
z=Prv^F1Me1w&t(If9f92Bg-M0m#|2{s%9pl0xw47vGYMBb3GMip7h|At)wu41$Hq9
zNgMctJnX9~=!j%@)sO(<w`=Z-7ZYAcAQ2zFM@0IsE97^vLs|0WwbRyZS@HhwKVH~N
z?`62&17D8RhOoF;>g)6mCioR~f_+u(K^UW;vud3luOxSJZpJ1Ov5@ZHc5z^*-os<}
zq@LNe_SF~GAn<*=J#^{d4ug9-cI`d1X#Al(Iu5lJV)^Z^Il{=MJxq!rk&2ZB8KR(!
z77Tuhp<y%Cy#}!aGEbx8BJBO-tq4NRa8zWrekOE?U%3YMd1Ym%vP30kXsay)XRYho
zCUIJC^2gqH-XV{zA8?t3jcd^(Ekm(4-M*yq(vX~$gGe>itf!{{RRH}_`WiTZvd118
zsJB=MBi}kHf?$VsmgS%00W=(>g(HKlIM#<D!X{N7aJIRe;#*f*H@8)0^=rPe_w-dS
zenh^m+OdQFNWv$-PFl`v-YF@?QBt&V+EeuUP4X>`o=bnk`UinaW_vJ75Gum$0q{ID
z5V+F2BMX>nkMRUhPxy+eDw;cVlEZ|qp`ug;#i;A<8M4d|`*6yJ0J1Jfv-JK197qWS
zeUUvOrdhl^7VFpdwMEj~@^xNMq#aQk#9)Anq2%!`#||9tFfms5U`>%?<pS4MX%HQ`
zi#~mf$U#P!IhdE_70s6W!{jS9h^lc}QXh*=ZUwJOAU6V<v<kE+i>ca!6C)*aT3TEj
z{28zdvX}me@rlr&d7P(ICxPN(uD4)5wcf4u_Qi!uZ$eJ@tnB!v;iV&Do6tAw{ApjS
zcft+vV@|lmzP^$q`}vWC6Ldn~*Jw;&@G5`5p530U_pJ5!;C4%Z5AKn;c5&7gNphF_
z3+cJn&=d>QYDZv6eV{2&ZkjPdy!3&OY)YNpug>HH9c;eGnHB0}co2M@(IFM`Ls-}0
zw#+Ylk*8hq_5Hqzx#HrY>WX_qCyQ7WeLi}Y?kU?%WBdab`uX%5yIA}pCOINJ86LLG
z7dI>;-0h2NNr{R|ijd^$Mc1~W4L#t;fjr5OrjQ9FI4C(OQLh9gD~Umg2x^H@gfK^a
zL)f~+;&%SQcLTPZ2hF8O!cG_^lEqGAPFI#azHP{<n-_l{NjlJ*cRtzD<;l{HDV?(W
zOj$mc+@l9SfYJ9nwWee&NwRKTzG`_f+4|P`b??U6W?4cf^qVlfCmr_ntMB{)pvwSs
zfcyo3#&*g6@qX5TIQR<31t@-TesRWBNin86uxp#K&MSh0UFUS-G3GMpxH}B9LN#<l
zscQ=PIj$_Bq}_mlP{h3Y;ji@aAHxpxEpNA?_X{6<{cdN{oZj1hY47Cn-q~{F;Gote
z?K*X*GYlUczx-or*3(JxTbHa_Ur6TdoI7rv$&AUxrn4F{q=yP069A!6z6P)^*viCL
z_LbpQ?Vj2k)gZG>5zbhCN#*z-5IT%v(uaHZ-nv~)zyJO8k%K1@Qu6DF5j9=tMa|}0
zUtN8NQt?~Yv8}6Cu0Z8UOzPn3NG5fF6Y-OSRDnapPFHTBLqJT4%Kp`{BHl8G8Z~1y
zKP+=3iBss2N6Q>sV|mN9PWPIt;*mnfBM_rv1-lT+qA2@98mmK$J4Xpa43ov!cB<e)
z|5wC3Gh)QqN1`RQ0a_r8F|@G6Xbpt1dc1J<hfM*H!?40cvnSL>HEBMKm{f7%KOyGc
zd@`Rb{T~p+T;EcqH$X0t{tJHR#1EU1F_!?|N6gTG&S7hes-lMPxhw?*lBF-Zw$W7G
z`0BTfxiQj*_lHyF47&$KrGQ-dL+|J3=O_93_z*3uGUesWRKe0MxJv@<G3=?5{nAaa
zRK-IA``A^GKQdbsYXn|U5mf5~G)IM0@FgJ$LBY)JD>_t(#&TWf?!y*F7J0_(q~24j
z&LiDp=Eu6N?jTDx4c*tPZL9emXKmWDW_;h7>qZP|HNQpIUI&Kndu@#J^wPVQjGVbi
zwsp_UnzwPo+{*t$+<U-9b!GA6@4okDh8bXB7+_#%14u7Yr58J3uh<n7bw-*aid~Ey
z#ol6UQIeoZG)9vclNi%YF^TEDZ8kA&lg;j$jWUn__ulsg2F2a|eg41y=dU3?rrdk(
zx#ymH`msjGH}y$<?&yjWNpAiZx4ifxYC7MPBKhxeao-9UM3+u(>;%ju%ouV6%#}`4
z!>xdEpXS?g!_y{a?0fs*g+Zei-#fpm-}2&qBk!4V`epm5rUkIIM0$Fy^>BY_@8)%z
zjxDaLw?sB3#h$-^>ZN#9;!{mmq#tm>z6P9KfTR-)^$S{cV2IwGqRpq5&F40>r9(M%
zjYo$bATw5oS2SslH+BN+cQ~smyDTX?#y(&AhJ@}}zv9S~>qlO_I;wPFYM;JY0e)d?
zeLbJMMC$jg-g5Bn<xLMtJO3?xA%>0V+ox<K`m=OwMc~v-<Yx8&mmDYG$wMJ#0xlP{
z!N!|K-9SwIzZI^b8Iw|SB8p<`>p%KvNArq%POX{t#v9}Mk0?mb&y!G9tjWvs>{;RQ
zEo8%{!({)`yV}~T9MW&<jPk(+L&lbYTC;($*Fa=ZG?UwGMBF21@w8cPLzWAPp`!$q
z2xUu%GlVb$Iq7(VBlCwe4an_NRruBi+qSQ|XY=x;p-~fZ8V5i3w|`&x;#cWXfH|bu
z<corN1BtieRLl0$fk8{-V%lH%ka$Q(q>Iu9X*9ceh6`_l!ft`;HUfi0=p_9A3{~TQ
zhDsX#KY<m?Z{l-QCjl0OH%}i693?=PRgQJ1;yUA2E_=sB=UWg(Gh;zv|IDsPON}l~
zoL*TvFn4fvrf)p3ni$-;a@+hhTTk$t`~$0uhU53HZyeXJXtdg`(!*_yy<y+855M#q
z?wA=J{Z%uVSw9q(ko4kEjVeU2>5$7J=U)VPc=^TI{GfhCxOjYV%^`0xJ>d-~6{;+p
z#jJE%x>O@{Q+>gm5X{O_Ru!v>aCu_Q>4{q>)}5L7x17_9pZlJ0@7wN9!7b!Cc;Dvc
zllQII`_MDbG+(&T{0x~lb0(BviKLAg!!Nzzdy4csbLHiI`<6fS8D)(f{rLj`+Y|WH
z3vl3Qc(i-vX7E(frzxHIkAX%xqyik_CqC9XrhIETW`E`x)z3E$(|I7XV=zrCXaqS8
zTuyPAA=+$9jMmsA;=(L2>8U&^K6uV^hNr)O7#$zdA@V6PFxF2+ENUa|j)xeR#8r9c
zy6k^WbGF)J;-rHzG=o~L%dNXw8x~e?fekS0$Xx5ekerkAPn=M2@eDuo<o-+R9q0KO
z`}RGy!*L$XjHgarINfG@`>G7Ts)WIBft@HY&_Bdr3(?q3FbjFYO`}EeKETc(cft)Z
zg@r=P+ZIW;P~!r#VkPqT6YtwP3Fz87aoW)_t&NS#?gf0gZMAKWl0i>51G;9u<oNL?
zTPQ>)D=I#|LZN~4_JX(rv_)$=7zD&$lNpHI^YZXi+vT`Uh)L+GNHbCq-5^(^pe@0i
zvzo}!^-I^UW2rlsFLL`dWb*LG$=@WOt2AlHab4t)s-s2$2)cLTF?L7N^y>8DVBfHC
z1UGqj#@R5PMrD>a&pgA-rcQGr07<{j3(tjqqhwPkyW!w;g~Sgw=}h{L6m%1392>E9
z1Q6oTlhOA*v2bDhpx~DC3&SSok3TSbc4g%;pyYuEfEbb6zqV#wpy)lKP`XTfOG~9m
zeCpV-!-oMu2^~MGd{k!;a@re_grU833BfjFg0;5^GxEIA$7b}m8r61BwaruUJvl={
z5)yFfLz(VM1E(T9bKSvt=z8TCotLAZAOE}5f~f1HkT^tLuiSvBYqDTV^O_A09L?-A
zVro`SPL|Msi0k1x-BN>L$0oj>1zgvjII#Dwmi_HpL~h84(vs1&^Kke43|qrwuy|T&
z0nN%IgWbG5+|?2O=)Uf6jo@vto-&Im(*lwB!GMT?_7~H~Co4v_HZzt5{}a6$jZSL>
z7@IG-YTeYYq+r94)x%oyy>|`WU$<amYQ);=zrL967myeims+}SQ_a}J!&m;YY)lgo
zoAh_>8!>O!&Lu<co4EF)1sC2IKFgk(-6t<UF2@Qad%^K^5@MJhW^q%or&@~=i4eoQ
zIvr>9#KQK4G(6na%m^0c^vb{x1Mk>-(w4g$q*j62$?B+!@dsGA+JF99`YSO6kQS2n
zHHja*U#gMbkRFk$XiT1#c+;4?_IBxMKtR*T0#rZX6hv?lXLX#~6MasLJ?-ic=JPUj
z`n;U+X-<=27D_ax`}?rS)o%VSzVMrNqWvO$T9`0G`tj)-kG1!YjgxM?-Q2oo&)&8Z
z0VMePZzMT1gl{D3mS*Yd(djQ&{VH8;{_^3=mp?my=0osJNT>W?R1Yz0k*~krE)YK-
z8<by--lmZgXTcfh(V$vP*MU^RX=&>VDzZi$q9>B&)*T^@XzB#f_4TU7YV|?2>h+`T
z|JdggU-?%>AIybRZxNcC-rhACOsSn#YY4M<oDE`ax7o&{ffVH1&e<N9_BLZS79l2<
zV8erPjiJbd)>j=JX;O3EdQTe-Ye&evVi1*c{SmxLMIlC$lmh(Zz*L5GQFbzdU_rYe
zO@7d)(yy032{c*9Nio8ZeoYtG?I>%I{_@R%$H(Q=_19h8a3bKB7Y_ZcB798bpjEy0
zuJaCCTUuDZsNlrnx4+zX@6yqWlE$TLC!Jcf@g52&RLT+@A_dSmw-8^INv$WrLAGEw
zyFSvUhsZ=XK?W4*6zr6+<0G31;n}6f2W`_jJ)nRRpr2AeBO!nNlo(`)$;Z+p0Jv9%
zwHs)zF!M_pd<w7>Olh`AFBJ+V&N>Cp32LyFLJ1KHK*G9Ah0On}KuWX!S1<|O%ADYa
zZC7!IVy#MNM*^BsOhYz1qSo~c$0hz6@?lU?TaKkDV>-3RV}j035WqkcQ(WfIpdb^#
zNlp)m+5<bpl8G$rkRS_HYu5z#ct{i#+i(k4ruRPYhvT9i@wX$_{>+HAMEfVj4hUPh
z_K`Es{Yj6EbYt5#>5B9h$Fq}5G;S?k+8wL-f`9xj{q;Ron+58hcnLeezz{Vw6V{!<
zAfFvY>z6O`uCwab0~lzyiF1T|`^1@~UVafi$zgp17c@0CE<Hxi5-#qK-jsHa9H`Q)
z^l)!kLq;AyetzrCuU*)M4-NW|c?6=)o$4&LcJz2~Z($ML*~5)>bQ{2jC~xQ-SYyY)
z;0SD0cO3W@ZqS_*v}a;qc<sd}K@TR%_1&rW0MK?7E9l1c(R+}3v7wt$-9zv}d8&=y
zHAxSM!=;Viql3BShw{Ut2h6+}KsJ(o?~&4sefy-=pKeIcM8|JPOU7hi@xp!xA6=7S
z1(-~^w&`Rvh5-d5z+lkmuuFdDt3Q{%w@>;;$d>+c@Y!c}WzEVMFkoE(@&9tq8#$Xc
zeRBHV&w@f0#q>g)T%}aN@9WsaY0z0*^XD?WV(a)39YFojkQUW}a8$36Lg9c=4QYs$
ziPzEU?V2XqGa7k&kay@FVSa+2Yy6{*;ryfgwY6)d@oQ;g*WLUJgcc)YZTAElEr*DY
zqgC;vp{GOn7x)hyahUPA@F~e)EpgHR3*VyAYc#)43%c-x<PGsyL&KWb{m){qWjRI8
z<rB-=?KFRn-zs>poIO-Q?D#A6*y%Wky-*Jko<Xz8=r4LkX>18mR?h^QI%mMqggsMM
zXQ`~le1l9+%S5TTF5@MRF03ioK}{Fw6YQzeYRF&Mdcil=($c!l7BwciHGWJ&X+dMb
z`0)W*p(zQ&r2fWU2EMc;K4+K|dg)$a6wj|-P_@iIf~<8MG4u|vPUsuZ-cnbub6@MF
zSEUI;Wo1fyZXY0}dtYFlTaI!!ml!JwK~ApG-4tvH_JI`)`7fM$27=SUYMA^9)-GG4
z;Pys#EMn4W<_CB>m4RX4G^OKOGNh}b{z0~0deafAH)++VKJy9xrYS@%s#I;Xtjc~V
zpCpQn{z)cN<<Oh|gyH+1$P~{oTbb}XNaB9fpV<c9p@R4WtEJJ~gif5y@vi1k<q6ex
zyk$)(fvPczGN3@?QgcU+Sb!S9pCWntx+ws(BF$!LCJOJ|rU4+*3#CD++c$*T0%#e3
zUgPO&^AzkFvrXfSTw+n<RHW!~Ln^6xikBC4YL7XliKphi+#o$A?IXL$fT}ao3rFl8
z-!6SfLVhZLpj-&J$MJevGHFH-(sXifbbNDU7(V+wYP`G_od84t7GWn4p}<1V20|VI
z3o0@I7MI{ICFYD$mNV{15qp>ho5c?zDTB9;{Yd%=8G<9Wl@83Q?R(<fGka6#^&wX`
zZ<eYP<A}%g8zdt-VX-Cjn^Tuw3!}9%W=KaE0H}=%>zi+&#TJO0)7uzra~Ew!cdJnW
zf%?AT_NHR7(-46Oe^B)uz!4VhUllqyCc_*RSX6ZP9RMqA+;qg-XPLWZ#PCMa1AL(3
z`%#^0hw5h(b1K8h)@a`lF5rl}KTdkVjhH!}OUMB3Y7t^G8KfPC5ZP1?L6jCZEAbAr
z#M>+oo#R-PNqA>OAycf<r~-b6P!q+1i0brC-Kz6}TpK)kh+4H@R5kCOLiS(yWNpLt
z)6&0QzVYpzV-G+4+(Vm=Y-;8YmKAs<8UvDiSMB2GKDu}5xoFY*!tV3m@&_I5o0qLx
z#m|;f*DbNm1^O3C52~8LW}>(>I84HN>FnqnAEvgV7#|m@3Ji<0g}K`Ud(%zvWwHQ0
z4Af-~=!smP!<pR*`P?UqF&mZ&!z$mQ+O%sCd<}W0d|J!?qQ;nH%YDQDeB-rUt%HtC
zzT&v?F<Mo_%F)`iw{7?H!`J2T2bW0SY->9e5;&|^F5zB(oSeFg-|qM-GEVy8FCEgW
z<HzqN$5uZ2*Vndul@J9(=_+Zjup1kIGy=$CT9hT!YI#b=UUtTQWr-1pXMrk0SAtzP
zaxz4Qeae62c$-+HuTGqZDe0BrpI{j=@l(Nv-?(4$-siaR*4ti&t?nLc*YbmaJa~Kg
z$6;%vVOJ>G<?HFe>ZKVx;bYa<0*IY45z0M!r=$Hd69mKkSbupn`ai*~i@%5~l?x|i
z^8EsWlLE(%{_VHpr%yk6Pjq28zjVtM{%5V*r1F=yv~Lj_w!FFHIEp^7LQ&#Yun-eR
z!yJPBctRbHu~D|zSd~v0HNmO^VA-(KRwCFd20}s(0D&ffhB@@qF!>%8(4DiV(>uZ7
zycB5DA9f*&Tib@ex8@`1U#E6&*yMO;(Uk#hj*E9c+pqttE4FSvdAFO}vrjy>Wyr+e
zE;e8E7JD7o^uRkqa%*mUzGWi+kID5LY|GYcZrQN>ZhFwcY4(YM4CKt>Fb|a8R@-Bu
zZM@3QCnknLtzl5R+hu>W3^g_N;bx;MkODY`IP1RyF6?U^*fPHLl}!s~)jfHrWP5(A
zG<NXL-ihnWX3eQtrgq=EXz|qCy!*Dy*{D<bRZm)RGA*^NeSSd!AKPc(gtAdXS5FyJ
zUM{0r<qK5%z|al%0B4M`8I5WWv&}<mS6f)PX(xhlCMZICbw)K(P)$w~E{z&dp3}+E
z4V#GO2Ns^YNxJff^wX)`zq(yKe__`(5-R=k+k3YGxBTx6p;EQ<911^8`};G%@$fAh
zSL{dYHGdLHGB#S5-zB3~^ag5g2hp8@D61k)gAM}`wo%T&A{4uU*cF|ao=&FBs{8oD
zm&6Y>{9gWM(}IgYS<|MrbNimLFPeRqnl}M!&4*B8?2o@luP{6gpeXzLq2s?yEFH}X
zZR4Wbic=X$PlpHET=OOqi9pDmD%6!YX@V3AU3YG9CuM?}(4Z`Z5~&<&NOz&f70qpr
zws?78IQQ6k5M)~?6-I1mAe*H{^$Qv4ZJ8(*DzfN4$fCEvf)ZzdrHkZlg{70&dV&Qc
zmfte{@D)m8tu;#-P1S?OTBm08?IbLsmwr~Lsh~jc!*&taUV4L~kh%<eWKfs|ZG4dP
zB!&<nEUZUC0C^nXxu7m|-=j8UIVkB?X@J&5Q1!k^dW#*t)xWKkUP9#85i+px4cowp
z56!wRy+HgOV|NxvFOzSC@1>Gva{lJu3kt|`G9IB{_oVjOm>h?;)89&8Ngsztke&Mh
zAcx%QtxP<iVMmE9?8qmK=0&Le<**|;=7{P(iep8-A0Q+nK|r7c-{~)tGi{t^oLeKm
z5);Ll2`i;veziU}BY))G<*iSPxsNP*_6I`Vn|pT}E{FS;?R)rWOY_4-Tt!wlInGM|
zkp3B)v@$B<!ZVvID~aK|c2YnC!rt1q^wit$J^uWQKsEJGcO}Ufbl(0H_MXy6XoEx5
z?a38B;?U%q=fuj}6DxqXrR$~j*L%pS;KAgaSry(8@&0on3EfmAu+Yl@!X^@Pgdf|>
z<AoF1t{D{MCF$8!q_5-YZut{zfhyGRWLHpdvA4gD?TyNeBrX*zBm&zzGdHsBxPv6!
zFGbasa<V5$n(W?4e%jc+`i_EhAP~HS5l8?P-;lJx3o5;zmbpZ5xb)1dPFXpNe4+H)
zqaA(8%{LOojB(vWXnv8@vXU%tc-$&N(<a5v?mL(kQB5X4o!Lg`7Cm)356?iGOPUbn
zd-V8FBO0Yi#cZuaJj=Fh;uN$p62xr@UUHStw$8etj*nTPQ2y5~Wb2ljYvl5vE)_!s
zi{mR=Boq|q&CL5g*br*oNBb&@5D%k<Cg*n=_!V?8aO4};)x2Mp%U9)kcQ@}7)lw3=
zl#J?b-{-j;uvmY_OX9d*#Q}!UaJ_pkI;YMz#?2O^wNt0Rpol-LpbpL3>2zQ-s~M{x
z+bPR46CV|_s}hAXiS6-Sb($Qvlxh05=_B&(dNN?WV-PAcEt3l~?R})PFjIXlE6h|3
ztn|m_Pm?AENcjv*3L*tn2GgB^>Aa?7FcIPUKY>}7$iJTG@EG2|$)$S1u+l+wIWy;?
zdci%fo}TtF$ys%Ml@z)%F=_blqH=TUo|=^>;?tKWMwSj7I4CTB-_ou3p%X*LLlEN!
zFewuERe-@35a8uc+^k;2MyvDqGxZ(kiHRfB4$y=6jw1}hG7x=$5+8o~09EbV9A*{o
zj0@j*Qr7bMtqwahjC|nc8<yzz7Bg2&Lljmbwlo;HLWsE5tmeG@ky>F#VODA!$8I8(
zSJ4u2vSeME8tZB1gg-3>iU$|AOXGrRJy7aohw`eF1)V|S_P(FihI*1uZTw|+LCuxQ
zpZ_TSx(U@muRQz9UjtZvP&qlWcE}Sqev@94UQ0>7Cp+%T&u7)FMp&>?CiGY2!hG}*
z_7|Cf;vrzpjN-VkRv3M~O`<MHw4nzP4F^W9EUX{M%8|uU97qZ`-Dg_W9<-(ip}?Ng
zR6zr+x@;8WF;hrvOY53ySSZ^1So;hu-ByZ(;<shnL`wQlK7!gMW;DSr@s*>$e^JuB
zKBGgWvi<xqYLP%^A8P!H1C$<slI3V=<wCGJ8ip#{WtfB>j!V>8TuAh24<U!-LPF&5
ze$lpn|INJ^2Wqo$4dYPjoTmXP&{`j)B%-)1wP3(_K^I0#<1$+XqX@)2Ye*75$5Hzu
zAMb4xlv=rtYy2bpkB)kuKn?#q8iE~j570Zdxj-s+9Hh1?j8BJWFs1`Us=~yPLv4Ud
z#ov$+v(H&NzTiJrwL%$*fxu-7LP06_FwvxPi}1AtM_Bd2HWbZZATs1rc>;B$U@WKQ
zKw!%6+6P$F4aj+QF%g+8!AYJwv;m&k>&xs-+ZW{5rfaqTNE~K~7#y3P-bdBiK6mut
zL2)y)GJ^_C>2ZrDO>Yd3h?&+$*mL9iAWKk)B``D?w2r!@;sItT%LT0q)RZjt1||)7
z2VJa-O<HphA|r@5f|zMOy_=mN@jza<a_lG@cX2}^7SGiO=?r^`eEJT`@pIJL`uNUH
zofwAJI;s=zqY5z~+y#izRP9K+MVU721PT^tCIG@%XqG;L+GL7QM|kk|V6_n?17&Q|
zEvI)3AfwSivV5l0uT)MQ6J!y#k-<~fm7h1K8oTsj|H6lw5M2NF=0%TfSb6f%gKOGa
zjvsyS(A>wypOk(H7&&otIhjp{y+j^vxgafhO8N<j;FrlO(y)KE5gqY+jXc#jP8!`V
zoskX#?#7NE)hI6qxK{&e!lm&`RBs63z_IQu4e^x?m#}fB0sTwb+CVRXC<r(NOQUVX
zgNqHEQS^6nH+i|KJ$b9QCoL<8l`&>aQy;^X^he6xAgib_RAA*AGIwo7#ae0qno53{
zv|p7_hd=d>FHv6gQ9gX;%$b<Kkl!R+7vExD(M-f6cqf`Xw3*Rq8qsXA8qF^A5S9Ss
z-&I_b(IhSZ(n*>cmp~6RO@cb5;qydGWxx4%NgGt7hb0e;jPElmzjSVx7(Ksa)jdbo
z=gs#iFD)&fP*Pe>R*-`H{C;Y2PHNVUmbAeoe#QyGL7Ay3eGWCPYfb!P!i<XY@`{R<
zf%pRyZbzzNp`tSQ>Mbgp+2U^Z5AlIN&_}Cf1tSsaK$U8WD3GPR%dB*U9MwV3zLH<A
zoUiSzb5_pX-MX;B8Okv4fE>zzsN!>N2cBEUmpG2@+jnj!U&4w`&>)7ZG>&~Nj!Pmo
zi&YLnlqEGOgDv1_bn#TmP8IfL;MY2C@M_1~{73w<edIUl-Ql^>801+DLaPR%01@%9
z5yELbnd`UvFwCmfCmlB#mcR@Fg6Wyxq-!1Dl4hyxk(b)q9_K@e>h&vMf^9v{58b+T
z=V3tk4AO=cV1jVSKHh5YVCXx3?z9$0fb;SMN|-1}JxX9cN}yk-Q5TiIsj-)`%V!=y
zb!ZQNE%|XY`9bIJ&Z<L8C4u2?YX1mN3H@Q)3t3TUUvc=&3#QWagv~RBOE+c<*K)@P
z=a+}H2Lm857%~e0(N400o|QgUoHFn{QC9G8%5K4yv_AM0b&dKYgog)5d#gnrZRB_l
z4;sZy0}QAH3!teI)&-;MlWWvAT@P+DqV<vHxz<2_L3+dJfeXV2^^hMYk2;GedwX^k
zQRemTBnl-|W_JZ`i{^fX`lvyXHxW25mryQAR!S(F2PTLkky8FA#J~?AU&SEuAd^<G
z3k~=7Oi!?-ryF(tYQc;YomeV?>U!Idn?n;bouL!dG(>|xX*3*-hl_GKb3DuAh1?*o
zCLOy1Wn8X{NpSMQqoe695sq^GA0$MF4WAh%mc6v@>@~N_*{0uLUio%9x-|tqlv|j7
z^kj5Sf=8&Eqha|0AAW57q2}3bxsEe#%|1rWvXckyAs%n7euwaTH<nK*-+y%N>aRy4
zUiHtXcHH}5`?a>?hfZPp#^5lH!wPBPm;$b#IKn&8mK|>kv3RSq1@CO{Y>Qxtp<#6z
zd!9BOiKlddIF`6DS>Xz_0c17$nBmfw87G}=B}?w_sKiOi*|hXZq|7B;rC~m9Dmz7C
zq4-xl?(@rQ-_9$0VaeU6FFi}t^OlU<Ghp(B=N8_zyI0|B>#UDV7&543(Bab}|6co=
z*EesnO=@iA-*<fAb9`arM)KbG(#_>H3l`nGVec^y?>&36^X3jKnKY?<YDUh&r1+;E
z9_ryXdV1-^6RT9{9fKn~tK%b~SoC4{V`Q;O=NV}X3qm-rmbhC`Xx5Gt4&t=ZQ(g^i
zl6viFnYAbyd`}(Wa*SD4R21%Y@F71TM>?Iaee_6JELooVv75%zQ_9>lrFeLuREApD
zZVzPiMb6SYLFVj-H<N%tnE^jaA9xy68gDo0*CF%5(@z~x>4d+BXO9DTMi5>kw#5R{
zgBlhdC768GqS;_DdqkmDot=YPrhrEa2gn5}=q(AmC%}wWiYdcA4@XC5#Z_k!<zWx~
zls111`b-kdJC{FqB#OM?>+p-+HD}=F0Yl4AN#pr=vaxaD@qhy@t4(R<KS;84^ZQZ0
zQ9i4Oj*LrMn4Q5d*?QzSz>EW!F91x`M5I!NUkE72)2a>$5dvat0dTHbI!^?S0_}L9
zoCKt@Gw#=!3@S%OJ7J{}P@od=X!)tRUrP=*{eXc%`b|dPmPSkP%?k|V(}w|U4g=F?
zY<31w{g|JZJR~4$SW?}(%YUQrKKxW%64?(xX_E=XrVQt036qd!NCq(zkjJCLQGYJ0
zxL1VQ9+FJs*W!h|7%$ZN;Ih@W!fdNYq0QuBMI97V=h22(;xyIYF5ul}jZtJl*ETgM
z2H7P93MciE{-saPTyXm76{8LhG#aUW=HibCQDpX+sHo^{!>ji#+k5JG^TyNCo?(lV
zQfdo_jVh50;rT&%Db>>}=f=e(R~OYYW6e!c2xCqA=(#8Q#m&eO;~LMr@zE2{y|lmm
zYJ7B9L`+CzJoqyH@K3-y!9py|F*ebF8h#KP!qt8WI=dfpNU#Jxdh@ZZpn)DZx?TDN
zqbX!o(V%U`d1N3uFN+~9E-5~G*cjVf&tR`suMmAE8XCq-7+g13AK<}vs5JS>8EN`a
z`pR+B>qQZ_X}a1iuXl2;$7s{cp?FDf3<Fn+1b_&OfZrh<`;%2178#FXq3IzhXjdxO
z{6l7V&`hh4$dJq|ojsGm3wG=M26J@M;-R=#AUL=-aY>h567p(<JHBJ2vPD;Sm&zV{
zzPP-)p;d@<c6@PmfRSFi?G+=7@en$$L-xIag~_EKkj#eSeYRkKgCB1T@$<)Dg621}
zogNDUbCuVEV}o>LhJWe`lGzXK*$9^d`pd?k1|BJE9bP$OWb4QoRYShDSVAI6sKsoy
z@WH-|Crn;y;yH=<FC8~-dBAtQi@g42EQ*fIH~z(#heLcnu7Gnm3MuFbn^_!6Jo(7@
znAB8@PfU<4DMn*QN~8&e#57q>za?e<Fn>|eJSY7MU?aG`WFnvhqEud@Zsj`#p$g8R
zgv?C!*cmeptf<*?c=34aa@$TsquRF0(WrBd1hZ(=pGpVz0ec`H)y-_#v9oS*V?*14
z=hw<nsgG~(7L_XfJ}Nb{Xk`DH^0LGUSXMZz01*`GV+#e}Ow`*1b7G<?0E@z!Vx4QE
zwRLiUY<7>`X*teFQ9l>>g@1R#Pa|98K-CjxZUegh`0*#UDFLg9d-=l!P_Uw40Gh~U
zgVZBKgChKG;6}k}d!mpM$5>I4+LoSV^+>k`d02y}>5u+#vLO~xdpje#9r=jSVQMKV
zCv>Wy!VZ0;U)fW$WbQM_XzYr%J#i)`GCIrPcx}KMndJ=b#&VKsig=IX$Di8VxhThL
z6^DyrXXMO`iw=uqtVX_P<!HQK5CZ)K(OnPW(?k<$J;H6YGL~YVk}a7ktb>-O2JkUa
zCXH+~(`e*&W-)jZT|NBCC*s9(79W+09~)umyEu8?+GnN)kB*N`E;lZov^CauWKyB7
z&oEM+J|^PJ9KG$uDQP3`TYK@1gVS?ripv_}dppj@$AZbs>Nq64Dh|by8ER;Bu}S0R
z<s*7SQ|8R>cJC;gcP|@{<ZCVgPDcDN`PxM7eE$oO&y43^nkbF?Pms>c6B{ybKKH-D
z%X3W~r_dl^G?-%&M9~Os0v{<_)F!hoUW87d_V%@)MF3Q(0N)wDo@ggS$%Mw?0CL7k
zP-BQKLB(1#r$d&;Lg+P%_NP=9Wv!W&@)`=lVQC@5%d-l~&1dzoCUP)(dd|Fi;!bBc
zo*c5e&(KL@2A4@c|Cl{1>HVW8!^0(eX#dff6XF*Q4a@N3?+yy8ns(%rC2UE?nt^Yw
zMJE9t!<;M6j@^*vScRIutVW9_9Ar-`w4~DzY9qQtq{1Sn^#~10P4x&uOE5dS<k*6k
zq(fy+#U6m=FiFDM{XhwA@02akY!-?wBr?~kEtKdX3Grh-M9z57Z!OQ|WIwlI&Drvi
z16l^}JA=ZCUtZquVt(Iu?mBqt!NZ3xoEOeFY~~&BdmlsTmhaGvJJg0h*@gDh#3vt|
z@Qw6mQ|;nK%~#LAeC6#|Pku}eZC!m58LZPf4q#0ap)F){{kT$YKyhqDR7z3rVm{d|
zAu=p19oEmmp0=O>)!@Ne$VWNa{x&XQMuIF=)6Jr_DOfo^$k*O)y6hLz*7?j#C<k=U
zV&pxOHG5_2WUo++ysNmeRdOISHZfdLCwwLjh%PXRIWMie{5k)g$Ydx8d~<ibn<e&r
zd)u&e*<&V5C>bVw{Y&Qb1UGUpt}^%NL-|C1@ItQ$$sSVVP%S*}<M@DVoSi-|cz9~f
zN}`hGEXah*?2U^e!`EeO8~Dm{6tw=_+v_ZUASC3Ci}w4LeROH~s#M1+o%`|Ttw$K1
zuCcwReL_-j!>1Mpr3S~_A~RIBWFN1vj0`U>*xl~tA7k_Kr*tfDK0^%U(YSI{D0R>i
zE;ty0=;i}minL2*Eo{7k0$%8G<=-KD=dVBPy^;mokg5D0-$$CaJV0``KB9NbbU*E|
zE6WbJWxdi@KhmWxT3EA^Z`j&;$g%pueGi^vi)5a8R_ca^njtaY7#3xNx{UG}fm{Nr
z<2w~8T%_`XWLu%L*o`JS0{bk7?y;f{G-j~t-pN2Ky_WZj`hBoX?&#qe;1Q_x(H=g3
z;o#Ae#QYoU@bQKG>&bxmvuDp&x_S_@iF|V5+<RA^y@7ZP*5X6BUw+}ax7e{f3aBdq
zb1pZ4ODPWN6_eJtUkab<79Nz8XLI9{-0d)0*`j9XQIHW^W2QulycZ?FnK2it0^V^U
z-8oH9<SOo%R2*Ftc*n(o`IJwX;$%K<<R0*)!{>{L$;pOh^r<rUi|u*Mmat8IcE}vb
zXgEvx)F&6LN1D1=6X90Cp7Sj%RKBq0=nX18io9yQ)OMm2s-s#xlgQ-C0)A-y4z*C0
z%Y<)R*R9{OvGvTE)-#XHJAC+P+w=(^{OC*GlM?)Y{s3Z0KdD8yh*H%wZv-tgeB8oO
zty=3IXVaoKni;+3t!x&0!P9xD>IpkOor!ufS;-tZj;SlElTa<1en6<-yJqW{?X9Hd
z!Pj;!ZnPzg()qfD8>1Z+M{CwMF1lZ8IsarwX`M7gOy9d<(LH7%cEOx$3l|CeO0`Bf
zWuIC;6v_cD`}Qjq??E$3X`v4}LY7G#l=HHvWg4MJV;}u!gm1v8Okwaek$bmvu6e8F
ziA|2{@-V_bMIRJLK<JR!Wc5Ydn@-?7HF6lSEX08JsgbX9NO}#)j7_l<$l^Mkq*u%2
zv{G}gkx7<RV~8O&ENxt5{7B36O_+AxQcFl!s7A9_qfScB>h=2l005ba@c$eF0JJ0!
zbW^<_jU6{fsck_~Q5=dUaTccv4LmE7A2ett!QPgFK%<Hv;nE8wQ$Ci&kIAeIu&^Y*
z5bu;wYYRld1%1*7LtqV{f+`;i*wpI1qUObi)2Q^i8KNl_{ABRNcL5$XyyO&z2Zj5(
z8#sM<s8vp|j!x0oVp38VpozBv%6wDIXm&fmJ)rMD121DWEX60xJ2_Ows%>RY3z3n0
zk5)^O{MJLU-4;Yp^qCWUK{rNhxKS_K^g7OM2GMD31|5*i_8Xkrd<FI*Y`Ef}V!hjB
z`$W2duTQEUR92f%yC!B<-_mBER$-PoEG+mvQk&f?H=-RnA)I<Y&{~F|s(2cpWx(j3
zocj#8r)|D)0|!RgxIilx=0q4%RGd>%T*+>+ZnH9kDSPX*f(wsqJ97&xQIj%{9C>u#
zq@hD5OdT=Yv~LeT!UZ^KfsfD0lP4dUvUEk$s?}?jEa~XzsFXtaRfv04^8=X619orW
z8^G?%p$!az*+hh~i9ijSBz2i`WM>C0yWHK>O{6EDIKF)O(z~Hxq#q9W<P+4=ef-$5
zGuw#Z7=o-k;3gc#m{yE$0&hXR164?fL9Ns2J!}TO&DUUXLpu^m_HY-vOov)Fn5&bP
zl<umXP6=wwU__7N{r-I1`6u`7Yvny!_wNT3hYA-TaQt%xU@6*64oI^{j@&Fo0hH!P
zx5h;sI|hiTW;qr#PBR=)HX=%AkMLI8lcGIPBrMd!&lc~2Kq_<&(oj*A-s?DtPL4pi
z9@EmXHT1a?Bk-4WM~y7&2`dr{ixQFx3#6eZPV|`AC=}!;_s%a!PAF=B@a?O7qvIUS
zZfv=a<~F*x1sL3a1Ke_ECg6@RCO{4`#>998%Fza)G^tPR#3NOQoq#h}RVUn0U3^5Q
zvQCwlUKv!5^D_u50CR7^-Y#{^!R%Us4+WWm?&Few>DVMEXUgC^&V%FXvHyd_RO~(?
zMg$V3w##Y&t#;TIiAAp!YE4l5Cp}c_0*^yH*dR)0^PYGjWt=h0&+L~My=^TcKWy+P
zpOA!F<Uy{}YF|1eeNU;79}XLvpJW!N(r$^uDr#XueVlOdX`qqj?Ijn7np8IAhME&Y
zY|)8UF52d=2^2vbR;7+MD1cejSU@s%JVt;+KrsX=(ykG{Ut{Nam8pQCQTVa6uIxqW
z-Y3b+r^1V3;l55Y_l=)WlevW$o|HCy7Cba*qJ7!<f`o*E+~kA;DSYZ-a?DXDWRp#0
zWm?^Kcm1TL(&O;!OppT1LDgf+YhF&u%T10iM0>N2Kd=m1TP_kI7AA!8((c@7_^7e-
zhDcx0h$se}Dg}6OHVU<D?3d##vbvylYAAv@=t=3`Bg0ltjLh*1^@(sx8Wi!fwCPD=
z*phCY5H&O~)i=o0Yhd^(DT&`9?K!<hr`@Vi4H?3F@NJG8q-^mNPmgU{ZCRPr2sE2J
z-W3yZ?x~y^TO8o##al$q6TM&UvB};-pwUWMqI};1!OUua3pWyubeAGB^0kYzMo$w}
zv~ln?Di;)g_zamUJ^Jj+?tbo~x3~A(k4bGCgGZ%Jw67R9*xG-l*5oPj0e)m`VSHRs
zVSGXXxz6jPW4^JzLFOPb&2i(K(D0fu<Lb(mK4yqEsiGs#0=bFth3J{s5hj%*R-J>j
z5203myqB9O7&xmzXQykR!oRF~BVnN%$gDXrgR|E&`~)X#UPh0102>+o?5jF|1`|d<
zqQGJf^CcCI8<Ls~^^T!XAR`2`yP_|g_tJ`<oPs(5Ax|7K2oyL#p|TErD=hyNeceFx
z@_N?=eWR)p8*W3NE6{;v3bca2(PQ4b6@k(@DO^|z1V$lc&ZrKE3PYnH_@)r3O+2m6
zs9#w=5AW>NNz)&&*9wt#N3GD%g}n#I&m9|@W6pB-caP~kfSl??w3q%pif9Fsj?bD`
z=yaP^s`PpMF$LX$fdOQe;|AqTNV_Qpgl2m8`I*gLxCgv&{khx3uEG(_&C(4jT2EW?
z`5A>`>Cv2r8bZ@d7N0P$e&yzgQvKt^k9T)d3tG3k`AzNTwr|s@x2RPE3f~iuGOLM2
zG_;veZ%>pkk}p$TWIfp6K{W*EbsE9b8X#Ep0ajl<>Uz`rhx+Sqeq{(?AAwk{L~c7x
zBz&3f;QWPq#98X`BL~jV>1GTZIbJ<W+_SLuh)#8J{^rf|hYcT7;@DX-X4vrgo43%?
zWwXfB{BYHa;L2FJ-eeYh5q#onGjdiV>o5p*%(Q&U@#MWwSTak?k(2z8qJv9teq<kW
zieIQ9J-$y?UjL>hK4enCq)7|O(_WsVJT<ukNbb-f;|ru$(cP*wBYi=Gbbk3<0KoAF
z$Ugx<0vAw>ylItBY*2WF8|^K^=4Z|=YFn1Y+W%_hC;3e}Uw6o>p`kfN!-i@N+9s`!
zTQ7v$hW5)GImAt`!F*2&Vq92cq^_@fN#VfJ0uN2|0bYo)gvGe^H<V-#9L*D`nuOm&
zE~+l!DFilv;9_HlS>x;Jos|)u924)s@k(6^1;TW4N29&cB2o59bTjmmUhCIOpZCoR
z>=PE4U<?b-@0VrH4>!l@!y|Hfe3joLBsktKEjRjldBw*Lp5$vpv8%Ytx4yve+QK)9
z?bukFq!{8S1nI3ofi^Bkj=W%P_Nd?@U-ZsuF}KJrWW3cDoZ{}K_0=c(kDiv6K4?7h
zNJ2*NEz6f3EiMwo@uGVEgd;QiRhN-G$Au}d1h7&EYAR{dcJc_F_Yx7s#(Q|%IEW>@
z-o~@*2yBz;kIZp^@CCW}3LZK`GT|@~MB;nw+!NcS9BBYQ<NEB`bLOC{tnKj5oozyc
zWR*^%=<+B!AtI|ga03S6Do1CA2tkKb2<UQQG@l7FC2cI;RZN*Fu28608e$BMYC%vH
zy|rE1yQ<Z4x`sxqqy9bVmDW~L)XlXAvs9Dp-GkBPM??>CQe~H4&*_7tp`po;GP3|3
zb<v{^MH;--nNhY7vyhp|S>U&h#huMT0#eLKzzWNKVDKsNS<aKkgbAl@?T#R~?YJ_y
z-)GyqCu5Z&7i!bTMa3^KmV4748nkK9ka1^LvsSde0aF*vtar)KT9g=9Gq<W9y=g~3
z{8Vf*T@GzXy9UdFnxKitazdDaz|T+M0z#>@VMHr;FRquX<%nWhRv45pm`))Xf+q$4
zHk(o6>X(cAJhtKLJI9-vwk>b%_h@Z*L(#PIiBr0C3x0TIe&KC4B4*hV^#GA7*GRJW
zLcBC;Y#?<*V@LcJMYSw$FdK%8v`JH$Skyx%&5BV@22O;iS4t57@!9MH>0+xCw(S%v
zM2srB#1{eRxkyZEw_o0~ZP{brz53wuvOib&5jjF??L5}T0sdX#E%tjgQ?~HCDjB~g
zfM5e@#*$}9FBE08Cujl$TdW)0KLlypj3l6UK*V5GwBcl9QCOYHL$VnHkyElvuLy7~
z$w=rpE+w>{I`!1W%qa!Q$vG)C^U3=xy(mUWHxe3Ha#8;mztkJndb=$?JdouXt(Oyz
z!1gH6bP==|b_|E0RA0g7OYFUHj<M&_0oG_e3f_CM9?pQ0T~f?JC39=4*W+|`r8=P)
zRHyD?#IfVI-IDn9N>X8AQc`hoWNWKx_O1C(*YcB-3Ja1G3vaZ8xv(@WhEfyGJ$5;W
zvkSf^o9L@X9|fD1*aMkl0n|~=O=dJ*pg0i+5D|i(PBu7mubjx?OO73LW?m^6Y2O0R
zC@c1<UJR@xQE#M2aB!l#Mw2Mm64iD?fX!eCk45oM?4C-t#=%2M_YOc%EtUonDVuo5
zjbydmo$!UL7q?0YJ?td$`gz!j{xSXM<)3(vUm|bit=s8$ji?Mhn|!>UZ}aQ~Tm;~#
z4rdOxnd4Qqcw+bUK&?bSZ4^jOulHd@N8P##*~y6OwxRzSa`ob4rtygn?5AD*l5U|t
zlt%oyaPK5lt*E(j#B+1|W?><I8n(EQpx=iiz@0(c@uT=DJ0U3O8y0S{h4=CZakF{S
zhEb@ANbIN~C&YHfZ?Ihk3F0`*u}qnFJSw!KgtJ(T_$h0;DNXOb|K#3Q)R&b|ASN4)
zT3N%*u0%YU9ByQy#U-r}qt^nrHe5kt(ML2BCh5?)*mzs0Aza_fUG1A3i{$NClpsyB
z2{b6*NOdvL1kek)svEd+#7Sqof+B6f(<lcvpjfO6;Ht3+!;{x<kn*S2*k^A#_?I<v
z?#b_$y}W30^~TDLn?GMoKB6n=zzWg>Jd9p@_wv)Sibf8K&DcJF%f6Uii^I$%CBsKX
z_gT4U+v?7x=z#c+ndD9Gkm_#`Ms;U31Z@;q?t5f3OY~&T*?kVKnu<S7)22-$Z=#Li
z!GlCsYnT4mzn69*?KS{GnIkrUKm%Y=usV_!yyXuy(E(OXn>tPPw_54?!GqEbTRqY2
z-A{l_={x>)Vir4KmoXLVL=B8|I+Z)RYS4bW@);7SAqbWhYW7UKc5N2ga=cFeKkFKJ
zZ%M~5{C&b4l%ib7agHa!DoXea{yx<yIw0qVp3ELLb%ULDu~<NNgRv|Z)+BWKHKIw)
z<^%WMy>rL$4P(cR88dqHNIv7!tAG9Bv(G>MP7vBo96EIL=>7M>W5h{MYObm`u^EDJ
z?I4o?vtSA}r{)4e0&Srow$K1uDAs_0X1V?-C>68PP+=bw!|OIHXx9i~NVt09{PT~W
zI`zW6Gb*M}n>uAed%607z5nj5xq8^~2kIgFz`Ns+q~C?DufF!o)0duo^+oc^pHtMW
z|9)BXHkLiE<9p#IQVLv_tzyeovIv-)ie(6(xElbFvjylgZ~o|)fB*E&*V2`{5A5By
zXZOxPvH<yFjYzQDA#IoTN-I^x(yK@t`$GC0CB|b(8c74@5k5<vM;g6GyM$q$a0B@g
z@;vGV>VS85qC&rFH(;KjoyE%&SUjmfla+2D#W^GUrq<L=9>kaM&nIVuElTNIj3z5I
z9Zg0q?Y)I$$6{2af!UviI}>+r*blvJ26vmG3$?NvfZ*;?1}6$W#mZ9&m3<TD@0i-Y
zR6(Tp=uL-E6q0CcitV3C`gUTEa657PJ)^pSIU&T-k{NCUx#{jIyQgdJfFi`w_**tv
zFRUb7c&7a~QWW(}Y3~I@C@UmMyTqLENyhD=8wcI^7<hu-!|!Ai3Rey&lyGyg=AEF>
z2&l-u0q$-=s!%ndwM`oAB-}<6I+Zmsdf8_IWvl=W)FP+sj_3)1pjMm0`JIjr@{$tg
zCMD(#>61P+zF+pDG0U1^xtf)bkW0uezGQSkMST2_*w{(gnFGVat?}{Av&$AFCzphV
z<wUt)oYu~;a45$G$FNQtW(#%K2l@J`wE_6csfdjxQ@}v#f_lo+aAzP^pHVPDYup~-
z)P(O=@b4&d)RBV9F%!oW+R{dqwocs9wqoHg<O9_|oLh0jvX(?n+E6}ZLUPRX!tA|w
zHJ+P$6)2m4{rLmbO+)le2sO}z=seB7TF&HcGl9&bp>N2in_-QnTgynhBi?{Izi_|1
zVw02iR1ddWg2Og8&U(0CUHP}$UwbzpCbnT@)tcxS3;){SDO-w)R*uM?ogQDCyJ+|L
z@-Yqbf4*nLuAD-9-k@0ti4$^mVUOo^{EW&Tlnbp^_IMtj&TqvY$I&2ci@S$SbT<m-
zm<4t-j)a_>f!oX2$@l+LHBV|AnU|M1HEQg%n%c1=XI7RJ#gB^1%&sk1vc9xr;)D~;
zMN3dnKQL%W@u0zr`uESvHwDaz2y2`%WKNLiH*e(posqX}a|)tsBhg1K7TSNZhb=5L
zLhEKsjxZ)C8zay!>XyBhtJmV7(Jm<6cl^J>@4Vog6ma8Gzx1lUw$=AEOr0=$L&cC7
zTUP#{^&_^OL3-`B>-P;`=Ryh<HDSSH##D}K8ZoJ?zd2-nRQSq8vzkoqOKW!Dje-DZ
zX8*nL9cY54P?;>@z%dtNa(6e!h_)C{JB<?tWl)Z<Xj!c4_<sYK)pZqt@S2e$j*dBc
z<nral`De~-t{A&-(1gj)HJtl++qRvTq(9$ne8pz(lfHk^&X&z<x7e3v=2n*txOiXF
z6S1QA6MJ9&rU*pQ8wdZSFa`{A9U}^!>y3j?E3$bY<_@VQYIHw@(Mhi(gx59Ld3Nvt
ztPc(TVqxg0t$;eJs2m4jk}){`WbIn1(RyL{!P?&ooB9d9Z@e*O2{9gad`}k4KRd$Z
za-yf%hx4Q13~0`a(!?IVT5qjRr}e(W2K(edOrf)O9%ts{rQNP+j(~Fq9cwn8lETTm
z7d9ee?A5OAx*0FsB&vC6OTUdgE|uX%>W4GiuB;ZlGqnU6#G)66Zk4p3EZZB_XpG9A
zFm*vqlqc-NWub>O&kIwJ968`vb(U1jK%tkb+y07dfMI*3(`3}v_juJe?ZfzssB!WF
zFkOe^*DRFd_-#^-UmcELv+6K>bEv-Jue14cUcsU*c!Ax^$L7UOAk$YV^Xj4q%3X~R
z7d1|^KFFXhC%im*%$(V?!v-fsCXpwk#{zwly|$jdyu8mse)a-m;P}CVMhjvTIlTNb
zY)FfDZVtZXtf2{Qad4o&%?ItYB0X$wkv@U=d)pynVNuKj?aEQR0mmdl7ucLza^rGF
zjxBZJ`t551rw!oyN&^COf=+(=YunH@UE6bGWJ927`t&K~qKfxlFa4V*yY4w~lBQ40
z!ZD(mZXqB^Uq2m;Mt**J<n;x4+VuvTUhF(W%vYM#4I+vyfkH&<r2|{DrVctVrRDLb
z&*pAOOXc@D{s^&@1b+kB^yl}NzOrs^QQqn1Ek{rW{;l28WM26G)vMAlY+os4xceFR
zY*7wMDP*|&!94?EMh+?V5=|D3S#WnZm>TQ`=P8ln%!#Z#(Nqj*^Rmw%)0;lK%2@pJ
z49kd!iF=6{QagOfhKClfKl{z$*vhK|W{e&(WZW>-in-o~eP`49?pd<@-mB*c_xAv4
z`lyor^^;47PrBty(XJ!#k%yv-aD*)Y`kz~<-X|c`Cm_Hl^bRMBW+hP0>AJB@$)c$-
zE>JUj1d=WkyIe-JbAuh;(WMFZZx@8fC1bapzI6D~qyPN6cuuDDV)>Gqs_D~fy0+P|
z%Fp+w=G^?VYxck3xJ*=JKyav3STlLdlBQvEX5diHz;6EvrWpon1gav1MA`xcFAoIC
z(~k2hyAWp+JY9C2?Kz=EBzRgUl7Z{=9N`9);df2g5`L9Bp8xP)c~i$+Z5h66;Dpq<
zMH9Cc^~n(n9-eyPtG1mDNO@>lzMs7EiFAXECHV(P;o60^jO^;zs3GIaK3O|@)W6?6
zbogZB!Iw{fGKPVL9u=nIVDC^4_As!}qpDV#-c+p9s6?B}DPpqZZ?H;8XMSp4b2j_#
zdTAm*X36PvzT{=H@WDlyPfE3)-EuhfAbO)4in@5}Jas*uNj9ugz=1yv!*_1WDargW
zx#&1AgmmqIq-u{87H`JEngRaz8x9r&mD9S}w4z;<#S~oq1O*`?eK-oP@Y^Zr>)c1O
zNb(Lxs<2&^C%xrpknSRL`D5+7frY*}9}lzhv4>$n;QHcxJdE=pcP<Mk)+faXUg1F~
z@wvdRW$cZ~K?pjhi6TzdwNi34B09^(m*!f#r|<9~8Tq@GF5Q)vIe7Ggn_Et7pD=v*
zl!>FtrdWpN=8PPkS6CvX^<5qrJ~g{y-P+2Wsg{UUMU5Latu84YGN@?cD3X^^R+^dB
zZ!m2+smSs49-_pS1-EOETeQtL(Uzt+TSQ+s{Ou9rR8@98Dz4>HndT<1$><a{aa@cn
z=qLsh>Fe*@opxc-vr{L}UGl-kjUP1HrcHWwQQo8>Wkbp)<&B(IHGaa(c`kdFaM#k2
zcf};PR4(1NW_?9V@5uEdm)<3n`BwE$EiFy$UnOa#<d;l}kDpXBU@R!8yyFMqPaGm=
z<2YY0Aw0$w9<KEZviW)1wMjN@m*@dK7Pm|fI{}8->rOjS-n?pR?e`Cz`fKgv70pt|
z+gGIaM~|#t(Ryg@^49dtl@%?`vuta~_W2*DWE`J)`0aNN&ODxx^6~r&zx@2_hC@fz
zEq?GgA2_>tbJg5UEsVkbtT5QSI~i;`W3cWrgEe|^G=<FUVQH{?$O@aYE2%3#61x0C
zaLIz-J4uTt_5CM~9#~|XwlcpyHaTiq?6L)7P{W|co%gP3dh$tC_M{O*$B)VzJFoqw
zC2*c^;F$+<2JKq1;@CTvu1Os|FjzD{0&4|>1)BwT^$7)k6?lzc6E&!9X%l4~gvq7g
zP?TC!IHCe|Dafv}Zs4*01~Jsi>x`+<6#O}HujcB%d-L!1o{(}2XYE&?k3eIYvz}46
z{y9aH`|lLK#n0HqSf!iN(*Z%`)ms?rKR^@o%ECp8zH^=?gF!HbPz41}if(Kb027x4
zejmAE7SKs^rMj`xe@MSbU(9`Q$gDm~#y<U;n0(a!<WEHX%E#Bv+`D4Yy+>Euj|q{|
z9BJynlDQeF=s}b_b;^yG-X}Wg<o)-(ajyC9lZR2r_d6j1HkLL}u7=Y;ra_B3D+d%(
z!X)69^apmB496RMh7f_qTlfM0N<r`)<zFn7o_E*T+<7~iTG(iNd1}+5UKIkFjpYr)
z@=Jc(vPCN1vPE@Z`_1*+w~I@+V-Q*j`y3)GSd~k6H!p!UWzwqctc@^}%`u2<aiq=}
z<wh~_=fa~*E4CxR2&J#h@djbOwyWy33RSPA&&20Rq<SIN<OQ3ssn|VG1J?>~<4|ZD
zK2-A?3_fFIR=SY|63C>ga(PZ(b*?QSJ3clyJ2pO7YRZj`&&!L6%U7+sE<F;Ln-d?O
zlN%S8n-`0JG2gS|DN?L%W%iX+n0$O;`%Omgr{t(qAH?5ya8aq&C?NGsDn(PH1Z81e
zCqy0Y@+?CEQy&z1zerbC;&YfdHZDI`8XubvfO50R2UEv|4@*cW_Df8hHhHq8BrdLB
zV0^sltL*sr?3}pxZ0Em&sumi3j6TW9)zwD)LAV|-y(B(D2C2t_CTSHygE_=z_S6|{
zCefxdah?hdBqXr<m_j!=TpgEDxS~Fv)?*$L`BV}~yZFd0IYv^AvO&GnH((N@ftRT9
zuY%x*q-IZJpiN_>ZtgTh>oPAl>b0bsvhIW}Vt#+!hYMO;Lt}HZ;(!uqTwH!mJdmWm
zAw5pYzWdH`IXi(OgKk<}4*mE42l}`KT=!Mqe>;8jQs|>ssuktV|6kI_^ZzS-eB-1G
z=f7R_G0&$b`mms51?Yq3w85p~uk{SHdU|t3U=j*}5Z9!&Zp1=m7&55G>@+i_57i^i
zY&0jGWKjb71SdG6lR(fZOjHq+U-kA6w(0zx^g-`VMjdxN#{C&_EYi`FOz8tBIZh@J
z)gzQTq=dNKZuEhJ@w<48nAAtXJPcqR9;{8B#$cr-uISYQ!lcuJb##lrh+Os9118;}
z`h~kyH0WYPxmI=Zx+Klt+-&cUKN$B%jH~Y&SKw@d%FEqKThVonOVUk|8YQ9w>DIVK
zJGi!UtNt-dHGb5Ha<|#KgY^x2)km*;&@t<`z^e>!pC=}b4&{b=QF+xA9%9vc=maBz
zn60`Q;bvPnMn~*BH8xYO%v3U#77Y7=5|9n$7V;krBatVKSsIz>JGpLTpK5JpTJPRo
zCgT8kO|#_{syj5|*pmFQnpAsiFN;M`eL>-&YXv|r0H6Wtf5L6RI>Yn=PYJd4GR2s!
zF~nVCrKVG5y)q*t-PU{O5DDpb1+g*^8C?vovWpF>E-H{bT|JMoy3`aW>jPvz05aze
zpmK{lc9mTU%GOdO0YP+cO}Fi>UbTDS@*TR_+VT+yrNQ2QV{hI(pH9ZMw%fpNqFx@D
zh7Bp$r<jjPH)$Xxxvcl|wsTXKZ`aLsD<3gxylR%X7Xx3vwxynqYrl1Ok(&`}?q%iu
zIV6>G-d2vf?l64U-WpwZ6vlK}f7EneO;YEk`YOBpV|Ti}U)j`|$|eW85b^(KoBQ`F
zkofR&EjG7q(eCvB<IU|DjLjXW)`Q1-LH$E{4%Bb)@WkB<S%x~UAfGxVQnd*!Ps(F+
zbK+uib4`!6eW4nf9UqsKg<qSmBP72g0%KYJ55`*F!&q@SY%Co6=Shfq8N2Gh#~_Gk
zNRucK6|2dTmSaXXFeN$=M^?HLCeO5*LF+%LzrS^f^cOlft}gNU8@u2>h>y+AqPG}j
zDF1gyj*H9A0-pr;{Rkt6srxDN6KZCoaGp){riX>n8>ARO48|Vgf>T!+Mxva(FT0NN
za-{LNC*tDruz=cOl-WXd$)T4q{kQWn?#C|2Ab5v#Y7aQ%JOTo30bP^bVImErQ&}vc
z^Tg-o#$uj1xK&o*YNH}rj`QEAYHB#**wta<Yt$)NnC>h`*lHkRLUZS9Zobwk_ED$&
znX7)8;~kfQ0e|&K?3xZ?Qyw}un+h@NYE;jMj|0wS*kQ421e_u=MiYa*lm7A{+povJ
zXgi0Uy0Lrrenv{X_&g`67hpyW=luk|OjK&-!IZC&m~?71s9p7W8yUc^!xh)15w*a|
zYXBfh{Y}>vP~`iII-55*3KNeg(ID*b4wxCaO8WDDGBPeFFD^bOUn-B!$%~K4$yFU7
zC62EsVjv$X2ujG7c_W|IwP57a5N3@<ZAz|pnsdR%7!Bo)F*rZ1t@qFWXzfS+&b56m
zKEHeSjT_GOzKHcw(VMQ9tyRV|U9W)ciopO9Y5yApZ1Kg~+NW^dq~{<X^;18MFNMIz
z=3~~_5D8=U3}F=K9b)xnT+S&u3-t26qrjnVI@ea+bs@OQ#V=o%zH(j%oszI1eGF7*
zxS|@8hK^YMbqv*4pv*8DG2T%I&5-_F`DN;D66iP5d5Y|A@`ZeIWiI+HWN!=A7T{r`
zVmB^I9hJPpf^Ft7y2)=c0gDBD-dO@?*HvW9mo5u+xes&dKV0|Wl2+BfZ@CVogCJ3m
z*{4{0q`FKYGiXYbLT6BQiD^nKYfe7vchZ#DS&sr+%FT(1&y!Z+s8b0%PxX0?^r@?K
z1t}b?RXz`yj7@t#;i*T=vKHxv^cKTBE*cmW94i@zj*ZJX$j(L-6XLV7mf|Q&UxH@B
zRWCry@P2~E$Wk>L!!X6O+wD!l^}Cu@?bff>kLufZlwS41hAmq*RE`)?sj$%R)ED6j
z2?pUAg3JMkYvS~1u7?|ZMlfzyrYus?i3*#UPBVdvr`1n|CZ}Km|H{eko#Gkn?H3d4
zKe28|j$`8o>pxiBdcSJYg6JqJBUNemF;r$s+mDj4zoP;d=_r-fB4A`Au&+ByORocd
zbjlMVjkf!jEnF<M6A>TEm)3Dp(cs{=4^72~8s!g3St>nwRdtmz(PDQuh#lZqyjrcp
z0%!~mrC?2DOr-KdUY!(?@>vS|nWVb<!YurG0aHCHy$iD{Op~1ZS$+msUy=DrN@^r3
zO$@*19=u07E=a#}gV`rM&e2am+jo9sP)iHmBq+<em%E!=jcZu{ID|ba;?jLVcS|K|
zU-1%T-i-?FgA(G+NufnWt6$i3#LKwK3zgU@AV;Mpu7cYSQ=#`00vZI&Kra&7xQx;W
z3nZ(!C;B<5i8SrUhtEpQfO<1NjC)@|yEe|oLgr{vc}i*wpf^MgJFv}tv!jD7!X<#D
z4}LXl7qli6Esf?wO%}>Eu=?h)R&g4wzl0BvjwGz*L+&}Y76@~k$n;{m76dv&I(Non
z8a~{=DylRpBRC3cc}{X{I^ttk?uo?^L=Sgluu(F*Mqw9E4;aBHoi*z-U24-~3{HHO
zYgf^OiknNmhXFG9X$J=-``OJfDtClpo-2qvqL>#v5E&tBEWnw3Ae<RVSyvMBVpbg^
ztq2N=4wO#o-H&W)Y#ctqO^5CKPB;sDkm>e`s1-;!%d9_~w3nbl2+p3@6WC(nZY4fY
z2eG2mbY?zQniaN9oEVg9%84GGc;u`VWgwfq4KE?#tW?~IE!qpq{qr0LF^hD3C5__!
zIu7Bw)jy_I@f>a)q^>gkj-9U2_K((mw6s+kg-*NYzQY%GiHTf|>L`|qJ@?`~Ankd`
zdqa%|h}rFw^-!<MG-BGcyu8Fd#cA%jy~V`16=Mqu`ot#oiOHv(tbP|0iI+SSjZIO8
z@;2D$t%Cq9TwAvcXF^-H(Jn(~RXuQD_hEC%JZTTc{#4k7YF<Zys1R5=ymZ(Roz+ug
z_O<EFR)q7TT!VbQ$j*~U+4BRNS2ysbPXmuuS04?u`b{e>o#sb8rcEeJNlNP7TS$r*
z-<@7tJDmnJNSAykm!$NKi;Im7iA9n4J1q=l74Nt(A>HV@u+Q#$psJ^Z5mcmjn5z`)
z!EZp0RMe)N%ito5#O5&}LwLATU?ph##lf&FA3VX^?mT#r5M$157bb6GM^4k>&HbtH
zMA{mIjcmeY@Ta6FzyG%Q7K<<qNG&an2@i=3iVCxtby241Xm@`fA9uaY80GF2g1<dG
z5^`jhwj7K}-OSzG+Zw3hnn-YB_LG&KMP-h3peJ3RZ#n%4j_ZL})4n!;)~}`S<)SS`
z@A$r#`i1F>f|i0;i<%3Ly_)%Ymmk65Rr}jK>0=T@f9CyGOXAR^13$IDft;6$y}9)a
zGcKoFz+~$wY4v8*<Vy7V#~}%JaU+2SPPrg|L}>3^_q5_ZiFtX`#KZ#M{Fpw8v3&{(
z#;yQa{0w^c>!NpMAX;s+lPqo-j?(*emm%+E^zJ%rbSJ&<?1|oe0${1XGrb#cneP^Q
zU+9&PETn+oQwqyn$o<(YcMy7PTwLFjlF5)P)L2*K|IxZs*w4>g)<tp|z4x#%ZWIKN
zUqF>Kf)36_7SCs;;e)^#yF6U5@9JD8VN>VNpGtqy(UurLl4u<_vBoxjLN!S*OiwE;
zOiM?3`i>8!m1HEh7k3!?bWz<9T$SBRl>I=h4;SJdyo-!HkB{B8*KtiDnGFib2t<(`
z7|G0j;B+U+bP*PZu0_T$x<HwnIBtm03?sb!Ck_9|&xA8@Y05KdOmh8|XKD^}zAm~v
zt02XeDW5^5Vs57Ltl@G{?@Aui4FcAK%CkEc&s|cUJ;{sQkIJ*&<#lhD@eM98_;kIF
zfz|ve`MZR09{f4wndjVjWqe$|Ui|CI>qs@^KT)1ls7L(0@(c}+|CjQt!87htiW1_+
z=>;0lOP{rzr(jZ^b(~h{r98Xi^(5sPaXUh;@{D^?7@|DuId5T-@{Eg0uqn@|0V_Zn
zVdEP(QCOxt`=C|SD&^UT&#YITeK9XCdG>if&P~{@Jp1Fj2XR{yQH%Fx3Dj^&p9vQs
zipn$3>BVT}S#Wt>ba_^BX(H`qL%*x$LdDt2vxc*aYn5j=E?&H@JiBvaRTkyhQ`o3#
zP@eTJuY0?UkD>ui7_bNrw|4pS*t-C&oAS(a{#s>B>|Lm~kMg?6nYGln3fPE>3)VtG
zX3uKQSKF*SYw&znd3M8R9#x*T`0ks^GtRB{n)2+9*Ka7#9$bXZS9$j2LUqo0^_)fL
zoY#vB&?#$#drqg@qI}-Kx#{*Q&pw=9=Y+wC&pf2O?#ub;9#@|IIB(r$<ryW#bswFu
zq@|>#T83F?+Upk7&2F&tud~<J*((~Xb+yTszSY&1(bhS08x~kbS1qWrFRGfAJf><+
zU6o~AsbzeH-C9vuT{XID&cf;n`}ivR0({AmmYkB7mxi*oX_;wh=~*c`><i;cogbIK
zZ(U%ifJ?VxR#i=feV(OmwxwZil?xbi>~#z4>B}?gYU(R$tyK$>dxUXrLqmOT@7|4#
zjmb66H6-IZy&IO)*Uhn4)X!bgdv;xI!-C#jUth4WzP{R8HOoTZNVZI@TWG1NSYlbY
zpb9_$F#58kq0TbXURBXhm1vn|T~J?Lu_Vz_Q9H|0Z@1#znfOQ*{;gPGsjsrvSQ{EJ
zT;&qBh-&N1s#-c0-dJF%vpXMV(-{(PUuwO*Zq~w?4T%<tV0;%Jv3E{jt+h1Hwa%RD
z0$C#_wbst8UN{T8(FuKBZS@jMtToP3RZ|IAx)y>F{u8w9<Fl-_b1e3%1r2uVOuF-3
z6JVyUvGN!OVy&2^p{j<GiQS4>XVo><R@YUyP73T*$f&Ba)8*7*ck%y)4fP8fEVHWU
zGAV}VR#n$`$0%s7c8T(Fx*^yO;AgJ2(h3YGmse3@98uq3omo+BSzujSHI%+!8B<eH
zT|K6%##-I=t3sAt?^V`S&ys)Z*ZCxWeQed@hOTcre`BAgzp#(f2l>+jWOC^Gg7SiM
zLYMd15X$dt6z6*sUOJ-kI~%xjK>9$xNx#9J;1Kx?k9Qh+ds(1qT5-qOxjJqEer9tG
zc&$I4>|8zje+6E#;;9ySeip7TSB<|GR9?1na}e&`fN#;?s_<_WzOxAbpM_73!M}6x
zttz}b4h6X^+;}L!c6_UXtHcOZ>^pO~g?Of~kH;$rpI2t0@Fg<{^B9yVsMV4NMKBG2
zX<^C~+{Ilp(D82_z3W{I#-uP-;HLp|Q~<szu7=Gz53kWR(|6`FSbM_89DJ(|kk)s8
zdM19a!S5BoiWT2m0BC#qX3uz}SZlzyb7^%Bu95vs#(1~xLo)V-&eI#8Ucz>RLQ;XJ
zx%j;|;HJAmcc6EVvoByU*8{^8##w;g`3<_06WN+93=>Q6`$CLEcZ*^|#+dWd^tC#?
zL#d<+^EcrCiTHgM`y3s=0`SmRC_d;s_4uTf!A8F&Ls_N#Ucq*w9%I<qnkg=1=qfQv
z*G^EVXX2gOPPpW6(7mM8Nk8fO3f)C{4HT09zN-|*IzYP+votX1>G~-J%k#>k(0OiM
z0bQ8|yGHRe6aViSXN|xHg_VAKCUCS6bIE7pcHC18RkPK{;`4F%7NyWi_W7PimtnXS
zvi}vgU8B=Iti?&SVC9sK=?S5$a-R8~Rv@pbC%E!3j*|xHO60ZBeWIs@?wZU4<h9Pi
zD~)XBb$Ff9&7EnFp5891qWk2ef;#ps=PL{GTRm`1xfsQ_b2sVOl!oakuf``_N4s^0
zWj<HS_QQ2_=LwNdhfF_|1}gC*({M6Zj`5wGaRla}c$|sVRbxiV-In70p`D+wfQwO1
zM0qOZSd<4)x|cbt>${Z0c5zGBcbwm=#QLfk7Q4pm*TZYBvya87ivgo^4A;4DeXnbL
z=Q~}aJ6~}fdjQt402q+DLr*hw|HQ2;?EbFv`(03Uf4>Ws?yq;@!U<#d_q!l=&d`Me
z=PS-RopZqIL$wy9KMx1}_V7phEncLB7DVX3YUq1zXmg;0uI&NCnI1YN)dzi0u*(;E
zq(3z90O*`%M0N$ktcECl&`LNL!J+OA;_J{I9+^OK&?XbWrIK*d^v3;{%5K68+=<8_
zK+($_+$MP_1y;Znaz$J*?&*HG#Rnj9Z4m6+CAcBWxFMjtVcc+T1UHf!h5L65nlOyR
z%~_6&qlxHKKAD@sP35L>)43U31wwX@b8ESEXo0YoyT+~Ow!$KP2wF@ljQGvmC)^rt
z7xz2&53U6o%tr17?hEek++m{T{>A;1yUrcs9_C)<Ug1vRbj;+ogDzhOtzG6`<KE)l
zfKm5N?g!jP?{aT*SGm)m?BBQ@+y~ry-1|78KXJcsn>ZWjXC6*OH8{jk(D8iG5|t3>
z*<J*^{|L%miZi+lRRfoE=ec{iRowr>*LA>0QRV-cc{B57wx!W~5djO*QLzOG9fCB4
zvu%<kSyDD+vq11XPtS6mdbZQEo#)y6*?T>^p1l{uUa=t{A&~sPzu%jgodxfoeD>E~
zZ@<^y{6YI87V0-@KWGo?5^smP_^?P+k7+yc2y<Ld=tX+5)`iP;C3>k|rt5k)9iOSk
zyRyCX-g+OsFOC%U$7cu!YTLASeULs_AEFP%cTtDwd*VA^Bk*m*z4X2Hee`|xQTl$`
zc73!y2G;}eJcf>|VEQC|fBgXcKzz#ZApKzd5dBc?Q|&YTFuh!#qEFSQ=@t5PeTF_$
zpQX>%=je0wdHQ_qcI^(mQeU7St}oOV;e_}STtz%WKT_+^c4(h#U+By9<@)dRqwqPq
zWAM4#<MgCnrB~}UdI}#>snzTBw7ycW*BkUky-9mW&*;tiD!oPfQo{uqy;aZYt8uY$
zt=^`u(~rmJ-A>T|pr5G!Q9nsPS^txMihingoqn2rI=*&&20o~Jrhb-ww*FWB9Q|DV
zJbW$b0{w6Lh5AMM-}Q_2OY}?i%k<0jf9O}>3w&4V|I)A0uhy^8uhp;9uh(zTZ`5zn
zZ`N<oZ`E(p|E=Gy-=W{B-=*KJ-=p8F->2WNKcGLTKcqjbKcYXXKc+vfKcW9ee^P%+
ze_DS=e^!4^e_nq<e^LLh{*wN({)+yp{+j-}{)Yah{+9l>{*L~x{+|B6{(=6XzFz-G
z-=Kf2f1-b?f2Mz~f1!V=f2Dt|f1`h^f2VKMzt?}zf7E}{f7UnYzv!FwE&5jdSACn_
zu5Z^n^d0(6y;JWpG($IV<Hj%z3va|p!!cYVVnp%CQ`|@xMMkkvVw4(XMmM9o(F0%2
z=w<Xa`WStUenx*|fHBY*WDGWj7(<OcjA6!}#&BbVG1Az}*xT60*w+|k>}QNN#u#I9
zCuh7d!I)@FGWItPFb*^(8wVK&8;2N&8iyI>#uQ_!G0mtjrW-SG$bXhG+n8g_HRc)f
zjY?yIak#P2SY#|VmKaNoBa9=BWyW&jcg9i1(Z(^xvBq&m(x@`3jT$3mtT1YgIwNhY
zH0q58qtR$GGDfqp3Sauj8m&goSZ%B^)*5ZbI^%fb_r?jvAB+=?KN=?)CmVk<PBBh3
zPBTt7{%o9K{KYuaILkQO_^WY_ajtQmalUbZ@i*f_<09kl#>K`Z#-+w(#^uI8j4O<P
z8dn<sGOjYNHm)(QHLf$RH*PR)G;T6(Hf}L)HEuKhjZZ+`fp3oAW!!DtgHNg4XWXy7
zt9@cTU_59%WISv<VmxX*W;|{@Vf+W*8-L1p+IYrz)_6|)K>JWzuYIh&r)@BvH(oGa
zH2!P6WV~#=V!Ud+X1s2^VZ3R)WxQ>?gD=3mXS{EGV0>t-H$E~p7#|y-7@r!S8J`<p
z7+)G+8DAUU7~dM-85@o7jUS93jh~F4jZMZc#%5!SvDNt1*k-gF+l>xmhq2S>G`fT)
zbYTb~OkoLINZ|-qL_}1?L|i09kth}=qEwWLZlb&BA$p2lqPOTH`ig#{zZf6}ia}zq
z7$Sy>J;X4vrx-3qh>>D1vA5Vq>?=lz{lsW7MvTQL*2jwpVxpKN_7?|;1I1)<kT_Tz
zA`TUYiE=STOcm2ag_tg8h?!!Rm@VdrxniD}FDk_XakyA07Kz1TiC8L*5J!q-V!8O8
zI7%EXjuFR-<3v(aiE2?JQeuUu6?GylR*HJjAR0xJ$cSdKO0<ZqXcalE(A^-`h_#|k
ztP{tJ--{E(AH<2`kK!b8viOrYMVu;56Q_$mi!-!;iob|6#aZHP@mFz<I9Hq}&KDPm
zzljUQMdI(`VsQz+L4TR{cX7G+hqyw!O#D+^DgGs{5?70B#I@o&alN=f+$e4mH;Y@u
zt>QNEZ*jZ0L)<Cu5_gMx#J%D^ald##JSZL#4~s{{qvA2~xOhVRM?5K>5>Ja~#Ixc#
z@w|9JyeR%FUJ@^hSH!F0HSxN5L%b>85^sxl#Jl1>@xJ&#d??n7kHiM?vG_!MDn1jR
zi!a2N0vEl+H{x6Io!BV87e9y}#ZTgAu}S<QHj6D{tN2xH6YXNV=ny-^PSGj4OwH6y
z!xZ=~k7e4XG#%45BWBc$nQ^?jQiM;^mYAhxnc2<kZuT&Hn!U{4W*@UJ-jMHa4loCr
zgUrF^5Ob)xhdIpL(;RM&Fh`nunS0}rvwh7`=6>dAbBsCG9A}Ql2QVg@lg$0i1Iz=>
z$>u@k!R8_6q2^&`xjDt0YECmN@b29VbEY}VoNdlA=bH1(`DP{FAV1t(Xf84rn@jLK
z(GhrLf0?=5{GE9e9{)SWJk~tUOqx|@wOM1P%oS#>S!brrm1e!!U^bdfX2xtbSK(4l
z)@(I%=4x||xfWl#TxT9{{@y&n{DXO-`A734^JMc+<|*c>=4s~X=AX?o%)gjtnrE43
z<D;qPnCF`3ndh4qn13@bG%qs$ZeDC&VqR)qW?pXo!@R=$r+KCMFY_w%YP^Mct$Ce!
zy?KLqqj{5gvw4eot9hIGZ}WEZ4)ad)F7s~l9`j!FKJ$L_0rNrgAv{(1i211bnEAN*
zg!vzQ*5oPkY4aKLS@SvbdGiJHMf1PrOXkbwE9R@_Yv${CyY)@;Eqom49rIoDJ@b9@
z1M@?3z4?*3!Ti|##QfC!%>3N^!u-<w%KX~=#{Aa&&fI8zZ~kEZX#QmWY;H1tF*loA
z%&q3H<~Fn4+-`Q5JItMCr`cs`mTnoAuuRLcY)e{><ysLdYQ?O$m9UDeVyna|waW1I
z<nC4vtEbh=>TUJ0`da<0{?-6%pf$)EYz?u7T6<W-tUaya)(C5)wU@OwK7P2bH40zI
z9c_)V##-a7@zw-uqBY6d-#WlL(3)%=WF2fBVjXH7W|do0tf}~9V}&){nqkefW?8eX
zIo4cjo;Ba9v=&&0TMMm4c#dO<wbVMoI?`HZEys7-kFt)oj<Jr#L4l-IWmQ`>R?1po
z)mn8{+FEJVTMbsD)nsL?W^0wzVr8vXD`%~?)>vz;Hfx=Ay!CtQ1nUphiTG~%N!H2M
zpR7}?Q?1ji)2%;SXIOu+&a}?5&bIz)onxJAooAhIU10sqy3o4F`nz?pb%}MUb(wX!
z^$+U`>z~$@*1xQ)tgEeStZS|7tm~~CtQ)PHtedS{tXr+ytbbd#TX$G@T6bA@TlZM^
zTK8G^TMt+dS`S$dTaQ?eT8~+eTTfX3v7WS^vYxh{v7WV_v!1tJuwJzOYrSN>Y`tQ=
zYQ1K?ZoOf>X}x8=ZM|c?YrSW^Z+&2WXsx$CvNl*BTc22;TAx{;TVGgTT3=aTTi@VY
zvfo)7t?#WLtRJnPte>q-)-Tp(Ym2qj`qkQIwOiY*4r_<C)9SRk@Sufm8@8}b+p=xE
zH{jT=9kHW!%#Pa$y9iJHm)NCtncdCqZuhWz+P&=Fb|1U1-OuiC53mQ?gY3cf5PPV-
zhds>R(;jY*ut(Z^*?Zgj*!$X}?EUP~_85DtJ<c9)Pp~K2lkENN1MCCs$@W3^!S*5c
zq4r^Rxjn_6YEQE(?CJIld!{|ho^8*u=i2k^`F5qfz&_kwXfLuC+e_@F_7V1x_A-09
z{X6?8`)K<Z`&j!pJ84(h)pm`YvRBx(cAcHJSK9S<gWYI1*%`apUWF&avUaPTvsc?|
z@YYY8z0N+~{=I#I{RjI*`;YcX_R032>{IMh?bGbj?LXUR*nhFl#LIqX+kdssvCp;7
zv(L9Lu>WRXXkTRi-M-kq#J<$N%)Z?Ihkb?pPy0&yU-nh@)%G>^wf1%P_4W<+jrL9U
z&Gs$!t@ds9zwO)YJM25{yX?E|d+dAd`|SJe2kZy!hwO*#N9;%K$Lz=LC+z>&Pufq}
zPutJf&)Uz~&)YB9FWUdLU$S4eU$I}cU$bAg->~1b-?HDf-?87d-?QJhKd?Wv*V`Z2
z8|;tmPwY?a&+O0bFYGVvuk5ewZ|raF@9d5C_x2C=kM>XY&-Nz!7kjh4#olWFYHzdK
z?d^7ly~EyVcj5@RCUt2@Ax&vXTT1CjS4L!1#$;S3WRWbEC9+hO$!@Z{>>+!~Ub46B
zBm2sJvcDW42g*TmupA<X%01*Txu+a1N63+KFS)neNA4>}$^GPLIYy4fHvD)wK~9vD
z<o@yid7zvu50VGVL*$|IFj+3A$f<IgtdP^?3^`NIlC$L;Iakh;^JS%6AP<)d<s!LQ
zE|E*+5%Ng6OfHwdlSj#;<uUSDd7MnjDp@USWJ<1(wX#m8<w{vE8)Tzwk{Q`7SIHKc
zm8~)-SIaeWt!$I)<ni+N@&x$@d7}KIJV~A`|0GY5r^?gh>GIF=4EYy%raViYE&nRd
zk>|?u<oWUf`8Ro?cBgh1p8fv2yjZ(eyH9&cUZUNt-J?A%FV#-g{-d3)-7GJYm&<?1
zE95`rmGWQmD(xA0wY)}Nt39ecCa;s%%Nyj4@+Nt+yhYwBZ<GI)x63=^o$@Yux4cK*
zEANx{%Ln9x@*(-Kd_+DfACr&EC**(RlkzF~w0uTBE1#3k%NOK}^1t#W`LcXPzA9gn
zugf>&oANFBwtPqXRlY0Vlkdw9<cD&-{77z)AIneVr}8uTx%@(YDZi3m%Wvej@;kXv
zelLHJKgyrv&vKLeMQ)Z`<W~8s+$P(#v*dQ!A$Q1~vQu_Bnxi|0BOKGQ9NUo&9*}n;
zPSlAxaVOyvImJ$iQ|grAwr6*zhtpHL*y*KRio;_+I=!7f+O^vGPG6^=cDd8v8K7OS
zo#PDD{-#~%3~~lLL!6<`9?mdlPiMF@!Wrr8<?QY3<Lv8<a`tmZJ7b)&&NyehGr^hY
zOmg;j4sZ^1COZc?2Rny2hdPHj<<1mmsx!^0aHcymoSDunXSOrPnd{7R<~x<n0_SjN
zp|i+Y>@0DXI!8E1I?J5p&hMO~oTHs%v<IAHo#ULOQ{_}UHBQP|;nX^HPTE=N)H@AM
zqtoPMoMva0)8b^ERww7IcGfs+oi=BkbG-9==LF{u&WX++os*oCoj*CJIHx+NIj1{+
zcFu7A;+*N6<(%#O)j7vG*E!EQ-?_l~n{%Oak@I)wV&@X)Qs*+~a_1k;70y4ME1iEi
zS2<TZ*ErWY*E!caH#j#sH#s*uw>Y;tw>kfIZg=i*?sV>Q?so2R?se{S?spz=9&{dZ
z9(Epa9(5jb9(SH_{^LC9Jmoy?JmWm;Jm);`yx_d({MUKOdD(fzdDVH%dEI%#dDD5z
zdE0r%dDnT*dEfcK`OsPKeB^9!K6XBFK6O5GK6k!wzI48FzIMKGzIDEHHag!sKR7=+
zKRG`;o19;q&CV8QtMjX~&1rYGI~~pr2Tv$EU9RTpuHg#TbS>9*rR%t^8*!s<%#FJV
zw+L@hl;9f?Wo|dOyW7L<i8p5O8DzJw+t2Oq4sZv$gWSRH5O=7%hda#O(;e=Pa7Vg(
zxqG|&xcj=J-2L3q?ihEhJI)>NPH-o>lidB?1Kb1M$?ie!!R{gMq3&UBxjV(3>P~Yj
z-0AKNccwebo$bzX=eqOU`EI4Vz&+eu=q_>>yGz`q?h)>h?lO0|`#bk2_h|PR_gMEh
zH|bWn)ozWOa#y&uZk?NUSGx6XgWKpfxf!?FUFEj8S)6lt!fkbP?rL|9yVh-U*SW{L
zzjse?|KOg8*GNxtPj>(0p5mVBp5~tJ{@Fdl{fm31dzO2)`&aiI_gwcp_k8yP_iyfn
z?nUn3-HY8z+)Lfd+{@j6xL3IUbgy*(<zD4p?Ox+v>t5$x@800v=-%Ys?B3$u>fYx5
z+r8br!@bkJ%e~vZ$Gz9R&%NJ$z<tnt$bHy-#C_C#%zfN_!u^l?r2CZnwEK+vtoxk%
zy!(RtqWfR>CHH0b757#5HTQM*4fjp=E%$Br9rs=LJ@<Y01NTFBz59{&u)D$i*!{%)
z)cwr;-2KA+(*4T)+Wkg0Rb`u#)v0)GF5S?OYD~2@q*k;>Xj{9kt+_7MWbqbpA~0^D
z-9lO3n8fCHlT0dXmsho<R;TPFBUzrQ%`~OzWm4hj)arCgb*^zmLuzfbI!{NY)?`|f
z)!6xMjZ_DuJ*_$kuk9LzrXieUtE}(>#MU<jY*(lNQ;Z@Nf$K;rAZ3LYjg-Q6h4L}Q
zC^{n_k!Wq6j?4%=h|~sTYzFqn8<Q%svDy$5otbwVt;^Hq%&KIISqEUxYE3uPr0g^!
zIm=5)+DpkSm6Ei|x>;VF(+WFjM4=&-%^I_28|jtN+4%sXEAw=0PAEpP`U0l5C6#Jw
zz&3ok+Mb)N&b6lO21c>DVS5cB#-6Kks)3O?7jZBf0POk7eUoxOKjb9V6k_c8%6*f{
z>850J2HWHrR3}l<R4Y<VwX)L7g^ZUAl`0o9jN+Abxu)7=ORljYnQM(_!koQO#i2#T
zVPPoPSWAep7pge4D6~kq$});B%4c0Po2Q+{)u|dZgQU~y5%yx`yp@r;n98)3%5;e;
z)0`^PC0=TBUTT)8)Z`dhOK|+5*2)o#FA1k5o(pqwiC6YHg`-F0V-{T#qL+o}wmfYw
zS7}_wD6%}LypeSQX*Fb;YO}J6ilaVdO{vRd>gANyOf%9Xt313IjW?TKD_a$|Dl^T{
z15?SaRZY;DmRx~T56LEL8hbF!b6BHrv?kTinrzLrG^J|X3Q`O$*;I|SsJd=V(yCz3
zrn6@=2*ze4sbwh-jk?v*Sx^cdD`$BTox}F)37QRvYpfyJSXGl$rgEMa)_gK2{S|L&
zNY%2YqVy&zNyVgEQZ-y!R%KnL1=B@>MrGQ_q^$+)eKSF0S&O6$XkC-x3;-4t*}9@s
zw$4vU1HPCYYi&+8BwLdW>~b-~R)UGeEh%I!={goJ;lOeP6HA)2X++4+yrpbm8N)V$
za=DkFbqb4$b#+nv{D7mWJS{=DCesZrBB*RT6zvu1)hUMxj)?BH4VhNNG2MhBz*!Jw
z&s@{i)D*48k(>G&<V&(4#xzosYDqT4nMpRRPGxXFDZyNjA~|h2Hv~Ctox(K=8*^tH
zb5|M-D~<WHjrl8$rj>TNYB))SW+{X^L(02Sp^QRH6v{CwT2hlnNoCVn)s%{Ig?u6~
z=USc!j1?Q0vS)cy#RjH0<g_}KH)U3)R4pnhFAT9LS;$Aq(VA4`BFTVs%Do=SNqSwB
zoZ%H_t-|&UmCjm)<|tIpNLG4HKcjHm<5e(mPpUWv6@nc(r~%58m5hvO%Z+L4jGA@!
z45bKa8Cf&eB-1VC5h!$fKBv@fViYMSjl^~$IF#g(vb=&tGMQo=t;{wgvvrEj<Y~9O
zrmBJcag#okDEDg`E51asfORW;dv4075)}nj5~%{#o#oqe(>|4$RbVBNE@0hC-=3TC
zsYGRgl|-h1br<^f+!mioEG)2+K<20h#L04(`1ahKPbHQVSV`mx*w~^_#}vzknZ;qI
zHN=?9GPQMP8-P7im9i@A_<T}nO1GtIt(xjwOM_9l#K`2V<*Z585#&nh4Xvn>D$=R&
z`?r)w6jc^h?xIW~AFE`QscK#<6JjEjfwz%NKo;kv%1v?JObO&N54S07HBbtyCWfs9
zot5y8#yoCKRZSXIthvrz)$CES+-p@+JzTA@ITyV`(c+qP5<|~qgAzuvSseUhH5pkK
zkkJ`RD`wGK6?+<zXlR^<206v^Zwd8?OO;BH6<%O;+7JDvobBP23cH6>p0hSy<x_H@
zXQ#!(%RJoXVXuRXBpaIRs4Gb~6*H-VWPw%1C5r9_{cknrPz{A*)sWnUp7grbEOo6e
zLw1oO7jcHZost5MY?T#Asv9!sq!WJLt4Lb4WKq^;p&c4h_6*LVNG)~P96_fg*_frS
zP1dPsTXp2X!Ms7aOe=rfG^!xGuxGI!v4+NUO-(~eb;u1>7%(KbD-F6DvjOT&HY#ru
zja2E;r+c9^QYdZ{LF(=kOa)Hu`Kl;0C_;4lva*8t;!I-->W<T?V&7bsW<s`j!L$?v
z6K$aYl#$~bSuAv0R;06>){=nobJ||W!6g*(6@i6(%G3)CBT5VNn8d{pXIJHtt-c=;
z0xECW>ctEup;3jIqcKoU4JSAW)@t%cu2$CN8V|QAY%fz$T36tUwT^-il+V<afR2Wm
zLs^LSqZO9<35!q*Otn_mrE20;$j_>DvVlhp_7n~@%GFF|dqmYBimE-6O=BzR5H)HZ
z)obZxwmp~4EN)CCp?Ij;)O$CHA3vvNU9y2jKV}V5WMg!KL>aBv5kh|2t=xp7D^NLo
zz0!~ksC6Dy>L&t+l&f>uEXGj~sgY7%ROD57zZ&$|g~xo0Qe@UOW@;R+C?L$01X=(h
zUX25p2-PyMC56?79IPSG2H@Zzbz=%dq9&8WDe{2jenS;COyl|a7Pw+I^mB-esjr91
z!H64E`IygfLki_AZ1xDTArFettTJorQb{!66|JyW5(wB!ND_f0*9<oAg3didP(=MH
z9Z1I5loC|DA`LxBC0AVsNj6oIP2mJKCKP$eicGGhwJszn4SUj%p=^q&PDL?M9-eqK
z4`38sTAe{V$GPof6Q9C|yB@oUD0?98?q?3C%b!Jb^QDx0U+CtV(aYAuQIyi?(XzQA
zmxat}OgAwRM`<JB)B+$*aOGE>GuSw5RuJ5z%?3~=xi;4V^!<&(z^VLHOFGk1M!5o&
zfYZ?}$vPA(>?b^#$HqMtdKZR1=VeIPxhG0D)uft}D5R!ZGKHIxHsn`<FtR$6u7(8)
zE!ULHHm7k3B1Qg}sR~+95zF8+Wlc~u$WO>}2*#^V<Ps9f*RZS`WLyGaVT6SocsJFV
zaB&Bj*+&UgME)Nmt{8!<D123;9HglwnTBTKs)3jlSEXvxO_ZHph9pu=H6gZ$&B?vW
zuQ-hJoRh6fah-}$-|RC*un?pcVYnPowAd<_<3&^=KgDMQjvi4FRoRJ*WzZI=EwK$A
zrV<qo24-x@AKS4JRl#Hx+!5zcl_sJ%ydpsYmj|Cjbq_bUz-2ECfq&B==8uiZZ4nj=
zYFf}YG~wC?_!5qy--VE*8$hEsCJH=HurOfJN@2&>M1i<0Z%egPc$eUe#JD1}2BuXB
z&dq==p**K18c0gnWub@*hK3zMNDhs4$iF}_ke$GjBBcWYzQorAfh11)Am9?L6#}*>
zw4^|Rloa&VB#EIs1M6|WI9bA4JuoYRZGX9v97etIKG6|1$0V|#Nb`=XTGBPOseq><
zPPUL@rh>-YEyz`_8v$FEuc(16!UfH2kAgDK+u-`lY>}$afe|%Ezfva<i4a@NuDI4G
z+bAhTYHUEGQJO|oB@|BsI>pi~HZYCzMAkR#;VX2m1VQjURX*&N>>?VfwdC`sIGakM
zBcV~Os%??AL5(Tlc=`>5BZ`ECTWg$aD(MU|jdMlyxgt{U*=7t}o6=+&t<PZnBuz8O
zs#45#8roXZ^-0*yu&9LYZ(-pJ<8#kJaji;25T8T}anHxJuTqbG{3x@7RFnqwKM<8P
zVLgc!vjhLi>N1UVQHeTpUzzksqUXxCa!9S2K-`nHH+fo^&1!IvYYsvwMGCN1+?ZO4
zsX7K>NUU;8Lk@Nu_}QJjQ)3ydU-%Kg5U&NgBuOqKYXg6K1l>nLtKG%#z<U3{I)_Pt
zha!nOgN|UgpwZ-8IUa0G5h%ebC6!`c*La;HRk|RsqIK!ob;*1Zx~YQ6w;uAUC?q7l
zSn>I8pcHj$mo`+y<)ti=8&qn{8vQz*m-pt>DxTvWM9t!Sw77a&Tn()Z`DC#s$Gnti
z^pb#e3>z78xmny6t<@}9OVFH|YE7D`Fv(asbV@Q^olQ12r(>jG0;Va~NNbU_bx}`4
zgj7p`WC2{%wKZV;hA}%$MoXG^mBb60Lho$4wlO&uW0Y20y+mzCx4x*Y5f{dKhD@fR
za{KauyU7dP#aHF97=UYk97nM%(`s=u43si+k#d^cGwCMLc2W(gbTU?<=4~u?DzH*c
z?boGcZ>D0Eyye!U7;nv(nMftgV3{nT8MWU5u*Bl9%qhrOi<i`;7mm3cB7tzM#gy$P
z1!T=hHa91+A4IF@#=M*{KW7}7#;y$A2W>JIq{YIzjJ1ezO)O64q!$aZpe`+@;<q51
zj*&lp42nDpKCf0aR0>kz<RStr<rM*@x_Q%B->FIrFNK&@ux@b)TfC<rJ-^I#Fc4%&
zswZhuW?1!{B(*VMH06x7X_-;!5g2qwxIkB=u{dNgDO!;(FKmI80D%rpAgUHG6U4&#
zi+-IK?)@mnJbzXCJVRz8?3hV+PBN|PScH<H$SB8G(IrciuQU)-k{+If`+&T-w<q?4
z&zrc2w{q$<dxTr>2OFD{K^c3EELI<4>_x3qvNkF(kesF(k@Omq#qKP2U@fA?X>k*c
zEUHVP`O`(x2*$4-=}r%*6+RW26BtM8^W@A7HjR{f^wJ)Q?VqOFG*k@v8><a5(M5H%
zN6H4#Y@T+f`Qf-VJ{9G{S6Shrw7nb-HDV<ZZJE|6Hv`3&c@;{j1|{oTAS-P4Vo_a2
zU=&fpO(X0|EJ`+sY_h3{Lg!UN<y-HN%|gF=hD-`n&u;QUckV3e;xTS-LsPD9v!<;C
zY0V%gDu`c4)GQb;O9RX%)46PCK0$ji3J;<=#JIC)ftCDnmZ-r|n>}qEnTv9`odUvK
zN?-<oX#{2gV5ynN<;)`xc;mS?=OkfJ(LkV)Koh*G1hIhZR<sbv0xSkAmJqiBU?v<{
zi!tSI!!{$qMc8m?lZ)!mCsemZW+q!|vgulQWiLy$<RDpu^9f244K^6z&n%dkv*1MF
z2kimC`BY0(4S_WI&IyDLA)aEN4q{(V?ot%{6vaM8u}2=8&14rt5deyPD_B8cr6~3k
zN2`@%k5w?xv|Z9Bv4Y33ugk~2O~sy0S9q}x)^OoZntVi4K!k!4PE!fjaOu?&6y$#m
zmoOD>8v!<LVAw>^ZdD~*PYe?0mvGK6;Tp~WXnR@@ZG)C%Y%NQ+!t*wQ(F*9l^a@<~
z2b~Jh%W~NU+}v+~&(XF#T^7jmcFO|uyv%{Us&p-?8w{B!R+7AxVr7ySSaY&SrB%;x
z0YfNGBy)NiL%cS71tWLXy1H~L_V<xupDOWW7!`SWP~w^8CFYWPWMK|K=9<!@$4@Hv
z@DvYE_3$(gS9o~3WIYLYtSM0`vHzQc2B0i!O}94iAgQ{on>VXVuj2<IXbe={R))Rn
zbh5cAg%bm6oC+Cr2kAmtqB&FFf<ZnHzN*{$V0K<Z``BJcSe-<xU>{3yk-veSA;^p3
zUaO>q$m+JZSIZTbpbPW)dYH%-uucW7&LK}6UZw*Pol%#<>=t|apld@k<Z7m+<UU;l
zxmtjs-m1E-2yViB0ve<SZ3$~6)T|Pyks&s|yntI*z|Fw}7=goheV8kq16`&T7X65n
z*6${Y%<&Empv>w6GCC(&g(+e^jw-dGI|=A`1)`V_k0Km!631Dn#Y@`n08T6@Ok{Hb
z8=sj>R@K*0$s-rzbp>2SHso(SRlqGSNI%A?`53rMkkDirP1eo%RFNn1v!KW`@p;4}
z<OAXn;^g8KYckoYa02=`WSpR7{(R_VFx@r7%V1?!nZ2lvRH2P66Cm<4lo8}-i0ui}
zAc(LW)_zMKS&&3it0T=FL8ap94M<cdk96iFRULHdeWC*AQ>aZibWnwf3f@8@iBD8u
z4OiLmh$2J`rH2}$3a|(f3iD1yqwm5aB53+v)Esp}4gsh$a;Rg$IRntaKpKj!ocpLG
zL3H(ABG4sxl;m?XsB^sChnB^>KQ;u<@;o0$ri3`;OP-6Noq5MCs@q~{W&xAHC?b^k
z33NFj*7Xjtk+St>pKZ}udDqc&hz_=xk<MUy87?c;_8cg0qprHG#FOP+mw0A*NwgwF
zhhpq{hp^zEcMJ>R1t&g02S-JaM+L{Qz!x0ELffP|801BqYF?h3k*|iZSsUgOG(5>$
zO;CRyVrO`&QdP%9Z2{}d^lN9GM_}CJH`xfZ1`jF`;(~C9@#Zk+)Fk0)U0s#clxqTP
zO|Gu1vdeil4F@|I<ABOyKAIJqq6%OU?R(o(+0dS*>{PVYDY0@B^_<YswM;AL_H5;1
z4x`vy6+h)_9?KH*Tl~2;2T{q=2p=b7dv0bCHrCc8+p_V1szeY8b<V^$bTVG>vT_M~
z;ba!$Fd?>RqM0d}vu7HKwil>C7ZwB>TdcOlI6Mq}IU>pzH|GaX5)_gzDQfg7FR@FN
z%Oez8&WKLpEFuqk@Xkk5>r!loq_BC@($-X)N;U|be=*Cksvjw@n1`B=;Z%z`h4?8`
zu-d{KCFV5n7%F4ys=^=UlVk>gnFMALm`z{~fw=_c5tt7Un;&*m35iv?gbWuDSV&+o
z0hS#>R1zSPRH*_P=ZQ85-g1iib%ShH5unW+jD@j-#cG9!6crJOM5t1bE!qZ(c$I^A
z+Tb!90c`Y+L}R6}#>sfDqkb7em<SakS)?sPlQtI396&56Coqx5AnN97@HX-oNYWG=
z*ztGJY|Q4#dODk{%2v0en_D9-c`}zLR|lk#OU0_x7=_o&Vl`oAMVM&}GfiQpIn3aZ
ztKg7Bx8R&WNEpk8nbt6~F2qRh+=GMtr!2i2R@7RD=9aEcwbtRyuiCnVe@s|4!UzV>
zp1zRHN+f9vfTJsMZ?!^kv8vFPL#!sutOzr;VWvLJG=v$vI)-Yb&P2wV!VDH7@+K`|
z2B*&hlLT~Eh>fidGi$@lx)6iC=J45wQm)Yjq8Oi-@wVg>m~w@VQj~h9U_zok1qWja
zZF4Iq5GB$DY$>1CDG<@=jsig<SHKqItU`gHjFX@g7b-C~O|zP+H=ketVWZ@Mii6cm
z(##N;v};{bc)$dbh-w1dLcN0uB=t_`fRt2YfL(Pw2UL-F^p+JI@!^9S;7b|`qD(fz
zbpgDqPH}*8_`D7|Dm=#nNem}-v4XF*!%LcW^)sQ4^1vc%&xq==NRbp{>1&=R<_y9H
ztMbK0cEdtZ_=GNaNoQt&BVG#tiNQ0eZ%_^&pCME41Pw@Y9Y9Ipkr}eehe|-$C^n!X
zo?2qrALDYGiWTwdU7k;5o09eUU6n*Omql68vwv(`4WHNz^X!{9rXt@Isiv=i?|Jhw
zHeu(1ow7U|_#0^n*7FOuL4r+_zPoRC(Do%eQ%6M=$wx&MIR&XyJLi$AfOJX9<}L|6
zo59Xfq$(ieQ@veDj%6GdLHO`JbCGF*hmo3qbV;iGCZY0sTHs-%CLo<@o^MW#M-)%n
zWqY!?W*0%sJHpEu8S{?uD#kP6sQD($6j$uxNpWfyL9~K<6OL<C9e86p?jOeFaedrB
zk;z<SdXVJEihz_eRJltm+R`$8WM*I#sS8M#q$-a{sHmC#DAcX<DQBjiLv<bzoymc#
znAU}8b%906)h!mL6Tyg|vjUxvH%MmI#!4VvHo?RU$ek0!rQW9^bAsZE)CZ(X*G*Kc
z>COpLMS)DEyeKg7a$;`aJi<qc*j4e|U5cW(VHbftPsI_wAdZoF2+ym}jREPBRK<sc
zOhx7g#*wCgbV;gglF+l6k6BYd7SG=$BE?O+2%?p0pOxYj#ZnyYxe}dFazCdN%E)K2
zb;LD8Ra)<Ejbc0#_5}MEY)vJ8fkL<iMtQIxNKT|VPcF=pEdhz6(|&qM$muN#WGaZF
zz(nzpg+V4n_`r(FrA2|K5qvw`D+HIMDnCi6{8txw0y{<OMo*q!#Ag!ne72A;4g3tO
zlm?y$qR8Sr*&2{8NmYDEsA9f2pPtr$EMB}zaTd4kBFNukU~lqw5txmt>qUxIcZ`@W
zUb2ff#kpMso=YyvsB+14kvBW`Yf6zfNA`JpDc3Q3H6wSapFVfBPuWLsMY7i@bcCuk
zYZ$pl`2M(Sd@6DTTzahu=f3<hB`K!`HvK$2GBA#;4M_J$-zRsiPeqmm#*wywj4sb-
zLUdi8cIgU~3X5()F%?-J6jEeeo~#Q<x782K!kM$CTC0s9#+c#l{sf&Ip=zVjhcj!$
z7MwlD$u7v~c$haPpFw95ny~PkjqqM34_a`G!jB>y(^pX}r-2Oj%Mo4)V6wP8pD@nz
z;^eM^kPR-QuniV;3)u+5=oa!P5QanJ8WHx31!W<>{Fr0l5nS~2Wl^>8#Ziu`wJ$|0
zImgSBGhL+QK}?F2n}GNH<2ZQkm`*5ney|DU%x7J?A*!kZT@Y3IToHI0Nd=^>x@!!u
zN#};Uca`g*?p+B&0|1rlAsZ^!LpFk7x`k{7!f<FR_>e6Yl!g5A(@_?(<jW$n0#769
zfW&<oKNo1isPcnuY$%GZYN(vS4LQFC;+mXC7FXs=S0z2Os~}`U<weMb%8QVVz~gQq
zTY)efn#zliEtMA`zx<e&g)I592;cYP7)SWhpCVbxky2776D$oPkzo4)t9;_Xl^Z5;
zTNS4Q{m^h*HN@erke|CbpNim0pr5<A7wD6GQBXyVZwo4tr7D&zRk37g;55M|0Zab3
zG^tp!iHapl{W##}X(*QVGWOPPW8{*ORW*Witf~=wOHt`0zN*Niy^OuKu|b8lqRxEq
zCYB<3kE@91vMgN<C7M(`8!?~An`hRhlZs_yV!P)}Lr3A1RBfT<56G#*HY)sbI(MVO
zXEGFi-bjU?H|Oy4#vFd$G#q~3Qb-!}&JA!_KErV+37c@JzJ!fgQXIBJLHh!>LIVHX
zkn+ER5KhR`Zc>TI<WuQOLjH&Cu>WBnNZ?=zjeQ`39mahL$B?+Ze=*;TqvjhCQ|6n5
z@`hyWHYB5?PbxeRDm-7J!t=$<#e6dk&o|=me3OvhWxj=wjE@{~fJ||S30n8aXB)Hm
zG{yr{3Wqs1B(7Uv77BueY$YV*lU*v@SqM#qOH?S_z(A!uFy(LqLk>4E3kA_Fuo4pb
zr<6DtpW)C;yz@)>2>22<<~ZQC6rTlSI~1@lU@Ii>&#5W@E0uNSzsH394;w50!*<yJ
zuod>-Tc}a~dyMiwY{I^kgpHN|VLR-9*a``HhHZrM&6jgfA$e>G#l&xNVMYZQmazX}
zLC7C<MvPOXNDiooPhsS9Oz~{Q-Y4?r<hf$mnAq-l(@;oCx@$VrDMA%~B^~`x;WHTu
zKX0VM&zp1jd1DSgZyF9iZz&{IodbL7CP`0|2fn^!aWqBoz^O<WkTPN+?q{=2ZoDjU
z(r85NIHM|`a_li|kW(Hh1CJpCmGLZgGn5A;?8&j=EGRfVs^pwY1@eA*`|Q(i7_y_?
z4g2O@Qosccl^HwS&1^{CT_{5foGUBr{C`>LRZh9i>BM&;viTF^%0Rg-FzBCm!HFq!
zrcComEi~<ycT4H{EyEzOg@!}(E<;KAEjzm=x6n>^)STT*m89&hAp83Gc6To{GRh~i
zz*TSG)ovw5CPDHF+zj&FgwnQ~g<TU?V4+8am#)I(l32MbD8s(K?cXRtGRr5e(7Qgq
zyWLBVjDo}!x*F`e3Z-s$8@nd2&_+*gnY)*qlC#@_{OFgrzkBH^!+atOT=vbo+^qza
zS&+;EcSG{-Lh1YsE4wDNz)G)5(m=n}9@#*-Ehx+Wc^AJ?n#wev)WTftmv_5+i7LY&
zv4t*&=3RzT`&)K)O>Uu`Xp;2LYP{f6hm$WvtF=L;XLm0;wWC*%Ww>JEbsPoaVit!Y
z*MC<*f%Ry4C?ZUIi<C-E(-oIV%BV7?3R8lke|#S&Q7E>!ETf@#bPF!)goLDlc28|F
zqy@3;2ElH%G67-8tG<P7fqQ@6z(Ga5Q9pS|18^2f5F{u8E=);;Q^J;9Cdpc{s;Z%x
z7j?v{JbCL`<zgvGgLJbW-mL}i-V*s$M3zDc=~dt;WDuE^4}(Y*29K@TYlnp7V<cbk
z-Jl{D?^+}MeQ*_PpHrT8_XY}uanIjV2u0t)X>ZOAA~=jv&v7W~eRuUQWENjS&NEG3
zJUmXt!yj;R`l6l@CDB>v1(qm`A}*hV;%2csr7W2&s1>CdQaS~q9xS2&3dHK&gixIO
zv%Qd@z`8#zP_gy~^;|HlK3MEBNy0Lw3M-vS1{UWgj*j5I8n#*+3E`L}KUODGjf`;&
z0yl&Z5sy#M74bY9$0JsGF1jLJi+y)?Slpazs&2)53v^%>8y_hb-~RF_+(K$$Sz=uZ
z*OJpXY|CtEz&2%?)XlV_K;-eXm)(l14Y(ObpJ*#$sx?Dm;&FYh3EOJPdaNj`*YzSQ
zQb=oE94j*Eb-0&~>v?#12@A#kDN3+$ocqPCrRoe$4OKPZ@)7P5`RAOvGY2t;=1b$W
zqMfBH+_-SlQc4)BJI!^0s9Pwq!3WK7wH<L+F%E>inlpHQr6t9mIm1b-3|+3Hi{WJ<
zFX&1mu8pS3LO%GixVrQ0JvC_4tygResvG`MoMUPBo-&A~)>h;Gj=F>v#W&;NCC>jf
z)jIx#$znfGsHCwtl`U$-rg2VH2gIrlhZxaQde`DjIsz0UtG*;g&tmyZ6!pWW<5?V4
z!{HjL)tQz!e>2VJVoj8lo>7c$@cK-gFYpE&-+1&n+(~P}!+R)tUqXeDYU2FyMJ65E
z;5et7aA^@iM{yA}pz*esPsh2g`y3}K&md7gLy7Wfm8gK@MEM*iDqtv4KBE#9aGWTg
z%O}d0gc9Y8T%5^LiE)Eyxj{nQQ1s~8n!qkvpyvwh!=q4%JqkJPQ78?MY7VF%@-FJ7
zGL5BjEg8K3fh@<7P`<=ZN8_F9mfX5jx+P;a;I#siPR(0QX!1$B8O^0NX|<rBQ(_IC
zDZ?#_RjCHE1{*mhc_!-9&30=Jk1y3rTxPGXYfMIKc~=JqI-2N`NH!yDaWxp<UX)2b
zblo89TH01OrIRM@v7=3{Zb>aheQe64vkuOI;QUuZ#=>V2Yg17UcowcSCYz!ZHym`U
z$HkOLQ>F!PH_n6pu&{xYY()(5_J@gMU}?IFFn08m=?Yhj3+|fo@+_Svv9bM`%B*m4
zX(QFL2<f-^CM8}xg(vVmRU<0v8eO`}h~|UGa^|U{La}5$ZXIM(4O#3&$rb7>QUrCA
z+evGk0}=(H2>PreOQ1ztYUo8eCbDE{MH<I@NW?@I7vP|>6&<0LsYtSkirZQTg@^`9
zRMv%zt88729Vt2sJ-*tLXJZ^2-+)3xv5-=Csoj;+vl6)C$2h|6j!Bo!wJ?<+YYR!`
zd3KSVV-A>*K$f@GRp1DnvX#Y080(He9))Zr_jmC@N%TBOJ7@pcF%uG1xCNfVQ&PCR
z3Z)w%Uo!k2Rg9GxG#*C|mjGK*P@^e}KN=cE6HBj7HlU)W`s0cyd5H%EQSI_wf`5t+
z5ga#qEC)Dl%xHzj`glwUX}?jptzTU~6+3YaC{L;(6Gkf=6Fip_MprAj=fi|C<2`<V
z4}0cgJ^5IVALsGoJbr@b?}RbR-2@f02@}S7yk~#H1dpHS;Yl9$!kch_$0t2p<zYV@
zFC7z7o_vME6TR>!df`v>!k_4cKhX<+q8I)|FZ_vK_!GVGCwk#e^unL$g+I{?e}6BW
z{XPHo_uTF8nIGVpAK=B~052W~jEiz%EaC?PqWCIlYf90@N>0bmJb^OI3(yi!nQ9iI
z&fxy(6e`oj{A5i-s)Xw@ixxnyqGj_-69smPscMI<sL)llh@tC5V^@rdqN3w`F+7`^
z!WFsH<Bp(sdzLwx%9zVw;y9IO6UV7Mo9NYziQ`qCOdLNpf$>vKisP~<mu^kqx<^YZ
z`$;SwoXl12Vi>T+(1wjzat#D3Os||KPOOUIu3bxWBYH19CR7X!P*D4ep?3-drL0K`
zL?xt!c9B5C6iAApkqQK*tau7VtcD6iB{Xm-kaR~3kKL`2MsU1|bUFrl5u9xD$k^QQ
z5#R+%16T{`j*0Y6_ZH!>LcxP~GlLs4I1%RG(}~Q<lX&veyS;=5Vgqtrp5$3BpG~ml
z(UzhtSGvEL4HV7Bk=0xa$&Pgd!!-<7)0<n?OpFujEIOB87o`}}dww{viSc{}PlZL5
zKP_aEz++5&(gFi;j2~m_#(~%2tPD<Pn@cfLiYy9V@rx`E$V70%5*;3{7X{bam@O$s
zOGwqWHDgqpsikUC0##cmDK1Arg{>50SW+OsvjrFh(7SfV;&n#rItS0ZV&c}2aq##V
z6Yf-czl}t0wNE7i8T#VJWFjzN)}GGCPwhpFjPi0LnKa5XMlxfR=Zs{|C|_+PR~MDz
zo!HRKpa^$5!n{$w%t*GyruqYaH0>DrB@C4D$N?BR$Ll-l6)u`nSZ9jr3;FJz{avJ<
z>q4oVTSbS;n`DE+(Yg5pFVTh&T}i!}3O|Zs@M#P3OtS?^rrD^hG%}f<UOh)UrGxE3
zz3l0oW8YQoE<i_#r<JpHZnICt7vO=GGzNZrxhvir=6W8kVzH|~Jy-p<yy)=46c?>3
z<eh~rnO02Bk`4wNOhgvu8W(ybUa<D0MN13a6|FAhjit+s)osz`tJ4^y((tJ|x-LX7
zMv*sp`G+xuPxlSUcTG{>kiA{a%%!--h^x^}HAY3Nk!m$&WsP)JOwBY2yt-!bOJ$-a
z*C-nBYs3$OMuEgQ_;F<wt+_@6{50=Ef`hMN^UVZjx=-M#1tpo`5s4Y9QTwcSslj9A
zTxBX76m}N+?s5J~d9=tUFxpp=#Xf;iKTC?~1)ksx5;TV6zupz+%g;QSA@L%-6Ufas
z>k)FM3b%XVxpq3SMUPV=NYqkRA81oJ{~74c{C!Y!DipX`4G^ndkiXRss|zvil<9tb
zt@0^3eG%WykSi2+%Tr77_;Pcu-c1HnWk6*DYDqxld@3;`gK<4SPC_j+QCrB)DP-#l
z+4+TRQz5&skj2bA9MGadHe0}2GpTEcSNLj)?f~I^WWJYU&7};ce!YBBd4-(gRRizd
zR%~|YeMkpSkEmmFQ!rCg6kYsL{SmJuDKbNATTGVCN;RuDWbx39ciBwR)BLCeR)#J%
z#k|+Uxn7q|&s+B+TejdgWb^Ve|1F*3xzKCLki0Zx$$Q>LEq5b$tm7n--enS{s$;1t
z8slO9fbpE9u>kD2DPO7Ccu^cLKb6+1Tnpt&q5+kY)<x***}Aq;Zv+t<JVd?MR_P>T
ztTE&iul8fL#Cv@c&)L<6*ceJMh)=2a#&}57gD<)$ofHyBGQs0QiH!H8wzAaEXV;`#
z@gk<*r76Q0`v$d1kH-6<(WMqo<luQosPtU3i&ZAf*YFmsi&=CX+Gj&bVkw9QP51yn
zJ~^eHFeH*#L8Gf+Q4dpoL~&aLcfC`zT$WHTB=`Z8(2WsR8@|NIr5y}eIg)OUM%YxZ
z9o#kJ%7z=kn9i%G3dwJeCwo~e?yQKf4V%Wm(d%+6C^3D*3?(Y$O-a~{Jxa6{M5{ZW
z)%Pm_GpN{-Mk~N2h4llHqVVgx)C7X0kTYtDQ`F1~m}fM=Jfi^~r*>ofz&PFHWX0&w
zY!#TTPM@MCoxnU91LnySFi*ySCzb_EWTP-3YR1^OsTI#9_={wDVS?7D@~q1v=$fWX
zqoU9|we)9MGst5xkH#av$p89OTXnLTmO+%gR+!RC!zgmf1i9=-lK<t9ZLvF=O0YX3
z*c}o7(;XR-JG=^k1rK)Vk>qxOlKwB(o=tM^^7Mq$$`rZo&(!~NtXwF!G?7tmiBfKf
z`rmHJl+#O79!@V2<gy<T|I496hMZnCGa{D}MUvYAiu_-$J)7)aO{3VoBH6tn|EGIp
z%xUI17pIviPBT;g%dyL*<hF>12l;wt&l;7@jviyTjG|FOS#aGYZ=+aU$H)sxb`^{%
zTjC!m&)X^suFB+P#p)_YUQn{DU`$zXPdRU^Se<*$3rcnsjM+^xb~nkmVs&0R<jt;v
zF(tc7#_lE=SFEmQ<h?0Y_cKBQbwMK}P&YL4f)eklLP+9WRtQPTRkx9ssEcsa*7LG%
ze4e#XHs-g4<8X2vTM~sfaWH;2*_huFj{7a)gfc!9yNj1<W3N!y{kMc;%2<sT+U!Za
zO|Z0^PiJ@U0#~8!9=|CaQvzj;XKpI;&Ii+L2mW|A^vXlX2EBmr|JvwP__jgbY0rY^
z3PSRNhYRxZ-n(3F&YScIUseu@!`GHW;_#j2yto&7m(W$;yg?Cf<%D=%Xvy<se2<8R
zS$SDeeyYKzq$TfJ=BlHNX%{nBUCK0VD|zpD=Bi^X;*HQ;bs44;YN(d?H>zp``#Au5
zsS0y>EZzTB$7ZWgaLpTU2O(s}UdT)rhRh-_WS53097clHVe-M#cW<zVRxLe?nx^TR
z(4-d8#%e`fUBJYbLXJOk4^6XLHAA~q8>$@ylPUNY+Enc*&}sY&eAm7iFo%DE@7cEj
zo}`@%)AO~z174zC0r)R`D_+M}7w-dn0N+s5@h!Gj0pGya-gWI89UryVO&uZQJNJ76
zj?@nWT%a!iOzKsD&H5_9R=pK)t-coURQ(#j>-Bp9AJ9Jp+@OC9_?5mHaGSmjutV?C
zbox>{pfun=zL8!G*vIGt*w5$(IK&tNINO*FxX4%pc%pHlCXCaKKLh^7_zU2f##xY`
zW1I_kfpG!gCB_wy-)h_n`flSM!29u~aNT%94Ag`eBnD}^7%WDEo+S1MeSkOs^kgv^
z^daI9z(d7hkd%vZ&{M@+!1)5{rEg^eE)h!sj}%7&E*HxIj}k`%9xILoOo}uhX77L*
zkpWyKkU#h~_8P!8(FS;eI05h^aT?%X1mZ7l61M=}E$#-qS0LZ$8`gjiiH86m5sw2t
zC7uC%PCN(rf_M?|CGk4oo8oQ2cf|*Q>&1G&4Ppb}XW}!!FT@vsUyH8+zZ2g9elIow
zZWUVrw~2PZ4$%R)Q|tun5-1mZt6Bg$rVAJ~qkwS}rGqb2_W<l=_6FR?+z)V~ISFvG
zd8j7vh3ToFXP7epSC}gR@nvYhteFK|Ypw%4$vg@0RP$88(@oSv^Aht)z^hD@7k$YY
z@Cow?z~@Y)6kln632?oM6ybZws1Md27V4oj(i#bfZy*EiXQ9-ra%(!^Olu}!lZD!D
z9d9GHc3%ls_<HJaP2kI^V?d9U<3Uf5aD}g<mV=%m=Yy`4hl5@ye+L@hJ_Y@xd=m5q
zxdHSS5;-ZmB=QH}>NEhcl?aG0R|4Y8m4K%>rvT!6l$yX-B~k0}9mz)k@dZghd^-~G
zzs`RF@!d$k&z;W!zjRPK`067{0pEIb0Ap?pu*^j(z;_%601k790giN$YJ8;;^%h@g
zoDBH7`?e<V#lepO@r^;Wancc*R*YW{{7wUp6hKduvJTMjo%{FE8rB<|H49&>@6`I^
z+w`_J1Yf6*XhZ3{^xB^IB7IM71bvHM+XvsG@2`y#L&Z>SKW;0dt!ArP8-uSruhquN
zJ>(wRIK<+0Z9HP}o;CqrJN#Iii0}rpM$%Xp>8y(krHi-~o7{>mZp9L9_A<>e{(+Vo
zHJ&iu*5bwo#)sNaqf=PgFo93!YWs?)h$9}wqD&hjdWqiJ1kq3Q(<X@lXxICrMGw&q
z6nmguAH?l<7T3u+s0kTufwjt7qb<Z&soS(=s0l;0<@l2BaP4<o6OQ3JkmS;@;c~C#
z5=`SOj_+&r$Uh`T`vc%D_}z!!fAD)5za5%}Jk!J|{0_nIDExBxor2#5_+5+NL-@T9
zZ4Iq$j=`@MzZ3Dh8owtr&7P-e&S3mjXj%+@$3D`uco}|g<JYBWi8-29gkmgOiXZ$f
zx&gmWHLYX>ey#Yuj$*FE5B7V;@VgYhcQvgS%D&fO_^rh6B~9y{#P17D>wB)I^_z{~
z37Xb_7=Bs&{(;{snl?b<HvzwQG;LrMzjFM}#P3B-8-zFwI$hHSBQk>_9}IUxmg9FG
ze#ncVNXO7-P1|!de#oCaw`tm5$dkR+;dc{$A8Xp)h|}JG*0g;d#BZ~vjk;db_CwnC
zL)!Pd6~A^(8x6N(?$orggYW}A4&jf#P}2_Vi68u!+y}qQ@k1I9nu{Oo9)xl@1m$qF
zi66?~=#%lgU(=3xLDTAfMg@c)>E|_VCGg7cHLV_LZ79L78b8D#dnA64x282MH%rr2
zqny?tFV-O3wcnxe6OU^M+WUJP9b}#xq#fqTiSlVBBAfX?GF2{>T>0bEAG1YeN7+)o
z4PsZ1!;~oUfoR2PEKzbrbIaE?cgwa;kBo2aLi>jU1OGxNEkHEvoYQf6$CVwobll$Y
ze8(#t?{sYH*xu2tV@$_{j>#PdcP#HXs^f$X*d*JI=DzhMMgno>gcg5i>jzsu*}8G-
z4*0Hj*;}2hk*&pBdv4u(D+g<6F;w18!?a?W4L3qFfu)A}tXcg~_}T~iXdU|yhnR3|
zIyZH6_3Y@X>gcNJ=voCu$j*f3Y7xCtrGR{iXwiKz5F%3)HavE;_^<&TTREa8<Q4^e
zM@MJJK>Ro|mKQjjZtd(cogSwB>kmUMbJJ&VOff*dC}%si!HtjrW&}VM0XU@q@qPsQ
z1C$H{@VvDsUnsZ^3x7suXIH1wzO7>mCz+D1bE0ACr;m&K7Z2*#YPnWq$FJ0_c6JzM
zr$FA}&k&tEJ9lz4NO?=m?fgOO)Y`koX)kHdabU_fFPfXKE<q%IxwROut4yZ|Q8AI7
zASpxk7!LW6kz>g8P&TEE_I$XClW|S77fi2Fboc#0-%&Ie@NUB-7#{$5ujvrv40zD(
z2KqtHhlh7=2mNrYFW}Q#za{8)Cm8Jw_&odh0^5JZPC)Vs)30&9zQ%d_nvx`_oZjOQ
z-*YHkA8veuAZPxEZW-v0IyMtz$!As!^cT88kbV2Aa|h_JnBK^--NcejT#%c&Og9@A
z?Cj{+N|4<abNq|hem9nPW1HRBv?tR&CFSq{_H6*CXduUA@1Hk7zIXdifctIwgy6Ox
z0LT3DIl*5y5@gdcoYL{%zXi#7mTPlDCFM}%IrE}xI@-6MbLkC$7hiQ7;H6g+y!_hR
z0k65`Ucl>ayC3lO`=0>3^T8(p?|z8k!%q|a$n${rKKd-+qffsC_{6iX06zH~!53e7
z3-FaU-UEE=z4d_ae6WGwho1p{@X;p(HxRwy(=Px&`|=yWFE+eG@G~;~;_HnBf7k~2
z)yE|N>T{BR_3aOU8#j{a#vgtH{NblffIodjq5Sj%$$$EpC7U)Ay_tO2{1eGH|3dQ3
zTebpj{h1{ABls)X*}jeF?I^MKtvhxQG)<GBTTC!g3TRs-aik3xaUFtX{Q+aq2w)-}
z11v300QT?GlVE=`?LTBB;NSs$0f!AH$?%~A0Y?rS3^-<=;eeAT?gx1A{$l{AO=fuT
z1klqDodmdW&J=<R7Xr359S4XOtKmnjOQ|_%noS=M7nWTT?Pcxk*!gR`pS@%Ij;-;2
zk)0jee~I@eZcAbS3ww@@Y~R}cqjnj4LP{fOre8kx!>_10Uq1F@2hcaqefu4wA4&NA
z_gy`Jez<%mX{jGB@1mCS(-p{WLS597e!68xl#xxXdehav?qsBs&0lWa=@PQGkY}48
zmDCKkoTgKa-*TEegwWeNsMTz-HvPzGJ87CN?$6&dGDt7}de={1F%raWe?uofx4&Uf
zu-i8>x8tpyo#1v9Z=*)MqnNp!U+$n3?fg=w5IUbTNXc|QC&`!2S9DT8ov+vwm(Ev|
z@HNGiGU~bqQx@pHdszK+bt!}iG6~B%C`Dbpwr^qNQZ983X#bhf_FsVXN4h8{^hZom
z_4*^M-1M(4iaZcS-niYg8I=qrWH1uX2ntp_<B&!Z&m^c<5N}2(KgF9-Qh(yjSWiMf
z>l7F9vn0=i?ob(->vg0D$fneq>!ak(TpuHM=BJ7?nX@-YvSM#YkY~2dNNyD5r`#B&
zvXwtM6kYjKl)QGgNXkfeOPtK29X8pFb|i?4brw-T@yiG8&uH+0ggOk$o_L2OoAC~p
zoX0y#C@%3X#dSp~gm_mmY5jPdxx~iq+zW0kB|l5Hb|?K`qAO1CM$s+l&%)9V1!Z~Z
zhkf@1DiaCvtgMVt&-Z(iyPoe48BNITPM-C2`wSq|Q=vviy?*XPncVB=K_h{BM@z|<
z-qC)8fco?qIT@($$0Zc`z8~*79;m-Dm^!}x{TU6I*Mqu?0rN&o02*lbqt0odJ(R2f
zk)HzxG8!5iL<t)j8@?~0p^Ww%G<*cOJqPVI3TSw2?=e6l_83Uf9kIvAy$Fp^+=zjc
zOCv@MqUtsRe~grsBUm_QFq8{AhQZ?}0gW4X=zO4q$_|^xXxcoWgIABE%$m}7`fNtC
z7Xi%}bui`9j8StA2b$kpL5ZH<JmXNH%46rwVpLfPbX?VO$1z&b1O#nF<ByO!={kYC
zDeXM&m9z^Lq7j%sbl?uDEBnWDpw+r^C!a^C?X-&sop8p*gibv3QXs82D=Xh`9t2$n
z&#lgmXVFCxLJtb`o<bYY+k)$cZXT#FdS)O@I~kcSq2cI?38BXa+7I11&=@5gqqqs^
zn<1Q_xJeiZfSZD00nl8G9e|c2O+ZI^sBCZIj>AX;XoW(nFhT*x!zxnTq-`CHE728G
zN0*S?mpS^@pU`QUJGb&6Q3m-KC5tqU*{gFH4P=IN_J0pih<4h9x_1`SD8}tH36*sw
zKKk~Rj*iZ)G<bQa^Ii>;815}ppzIg*|3|eiqyfNz?V|}D**>3!01Mk^-i`i!czb_B
zliSBo4?nEE?}JY~-!ZhkH=#-G`%;HLu)RB>k?jKsjcXrCy*=DfN8huZll5u)yOg?a
z?GZ}W`|Yn%N9(kAQvaD~H>m?P+P4vkwHwr7e$&2zdd9ML48V~`Jgi1ep=;~<5sBD}
zU)M&$r|UG1=ReFY_SW{)#*T&=<^@Uy6w~?;SE>zXVb_M9+Bcm4PN>tQaH1Vs_SSXX
zu;Tr!9ozLCzj9Z(Wd{xKX<$rV2EAif!)L!z7XjQ(jgLq2g*CaVYt^5q)~@Kvoldy1
zYu%ZIGhM$woA9cxKTuUioG}5%ub@JIITpPyYRWew(BT6Av<lrR@Gmd__#NX3+qph&
zUcQs7?)HPw;lX^zbQ3cIsQTsTtbn`TMUMomk3|ooF#Dq)<nagDY~Sdwcrn1{$}dKs
z_kewIkj?JILFh(^KNejLusjG|0AutBz_H;_^uX~E(Ab2>LY)&n2&$WLNl(Iw1<>KZ
zCDWm(fqRaHss-*<10@UGdo0u|@W2JojKIT>g5G1i&p5&(UWPtnJoZq=W1;52bNS>O
z3M&QeRLmC0>}+(hgfGCXg7Br7X%M~><7&cpW0cL<<6SNhzdSG{qGoqK6vxp=cXnI_
z%Z-h|uuPbyFk{E6$;bHdYWfk6cXoURwbQE?Fq$i4s0_kb0}q$CH;X&zq_Z#YKy5ga
zS|sq<XJ33B;fpW6<Wj<yQlkXE=9(LCR~Tb+@Ym7k9QgLruVZ_+pN?@l_&d+Io$cRw
z21e}Q?>-x2cE)JVjNdUBQ}YIY?>RTJ`+LtpJ13snJMjG%JjVFJi_qf1KX}oTFA;wD
z(kEXe{OIMkvAahvzmLOv^l~Tx$e*|pvjE^HufaS3_{G~FW%Czr$BY2{OLsoU@p<Xa
z*WMxim3!at@q5gZ7J>Y=```M2@EZ@m%KpCb@H^|7e?#H79$o(x@$Wndbwl_Bg+F-q
zqfd$d;Cak37-N<}m}VQm>tFoj3&I;-!Mp?bvp2r{hVU2fVD7>At8W#C;$j{%5W=L$
z2%n(vSMOm?0{*M_Fe_n<c?se7zhQe{(L4qGH|xJ(^KaIF$Na`mFlT}Mhc7T|0p9vE
zR3hO`n29j<cv6+%w{33UPI&t^%u5K<`~(<ddB%nj?MXbQDkfvw6dq>YrWp&&ZAalq
z0@@aQB#|g(T%`CI&0rvpl`5R*hPe#*M7OfujF&6Elx8=Om-h8>Df?5}x7R==?>CZh
zzY@0Bdw35v?@#I-?)vZRV~mxU$J_{b@EFXF7!OnY*a3ZrA3Ag(%ZE--c-SP&pCBJL
zX-{@P?0_Kyh#&qA`VGR=e-NJR<6%P;KZ5-oJ{kIi&Bq+9@Z`me586YyJ3+Y{c`)W?
zu($8D5$t~7Y2(@celv$~diI;S*Dx|4GaCae;BoUuvHu4w9ltN}2P{2svcl6A5}v#q
z^E<`|Oj39<n;(1>W_*wzdfWkwr_@a5_)V!fjKiCf!YmNx(^mNSFm^X>#ccL>`bx|X
zVLpB3^y!3WubOfI;f3#D#z^>tnQVXI2|hoM?JYb3b4i$MQBUWY=*gtNwsgCujllk%
zcCV(*)+(rD-3hH|m|cBe*0nx8$7(x%#9}^ruC7k%z-S?8qxKab{cVk4#T7<fSb6J<
zMcUr5&%O1gk9qkl+~@HKhzIC<3{iveM2v>F-8x*^G2$qNc_}*Viia>fZ|v1s#*;3L
zgt`X&_(4ZWXRK=g=3DKZn~e|9b3x9toPnKv<kiJ}Iue~OPYyoqT+gAxyxab9tD~qh
z!g$}#5#9Fh)(z_~y*U=$I*UfoNZRQXJWh^vO5_viale;vk%Q<Zc$8^(>O3-puRJuw
zP>ctK7_Kp%-C5ze&W`}uH7VnM!@KvV;njqpqj;D#VbZ95d2HBCMo1aB4t7l_r>U1x
zp$8LxUH|pF9l9{2u9xiTZ2z@mlV_90EmX3!4$5PlXs>BoJ9qrr@k^{v->o}4w(a~C
za#1)I@BF6A>>7s3(KV)PTGvrT9NbmewStJbT}NY~6vX_lW4p3MEX6>ljff+=>bj06
zBHOiw3GEu~Z`w(aXbD7^vdkYysc!o2?>Bq>FD)xjNBrE6LiN~ZZNh>9OSWKHfQXZI
z%%2tE_39UiV%42LCwq@(qc7u_XOf+}`}FDK5hEuvaaLc<)YypTKt#j}vXUx4$Ljl2
z5vfIsu-0)ZB1Oces}Yx;J!y#oD-{@6E8>tth(PR=1O!RC{*7_h$dMQ@-G|uiy*CJ&
zq*qpUcJxd1AAl7UA_fj+Lff|>U%Vkf*P$n!eh#%w5NdGHHUG>%pURT?XP(d9E+lHa
z(6#XFzbeZMy^%xL;&U$Mp#%tw>$zmkyG#+sTy*6vEUCKq9OYq^H_qs)qGdp`TyyEU
zfAWY6mCrSo21aTy(p5+6gk-t#${X%tB6H=9cQdi-s+)O$(v`dBpDL<3Z|DNa&B{)W
z78uES?wVWgXJXBDH>uFqc;lL`HP_w!G#j08)1419!L5N@P4@cY&Q4F+YiAy{csAM5
z&N*g@Pb^dV?c8IQ&S9gAYks$YiK|u~$0}dDuCaP4ORj6o9?!)6w6;e6+~2lNNgg~t
zqa?J0k#BjyD*RLU<CXZA@#hoY5Yh22{#f!J{+Rd_e?GB^?Lg4ZL<E0q)E9qD48R`~
zJh7+6{;~LD$t3(SaS;BPn1VkhrsI!^1^8ov=REnC2Ri=wTV8sj7p7WUpTFhhx0s-@
z)O#IoBKgGyiKTkUYDx_%qwTsH6=EW&hF|e^v2_!TSNgS=ssToi_Lv$$bhd9!bSp0H
z=-Af&gBml~?K?_&aBy7vQq{X-wy3&yCa@&Z(Y-yYI^dFaxo^eDJvusOw;!guFw7fO
z-&NY~u-eKe&7#R1DdVzzu;Q~vbckKHPgz;VK)wGCR_-N5MM}$;>{~QKbuQgx(TJl)
zP3YJzx6xJ=6|qv8q%b|-yj9i2pgk&M+cy93_J?;MOX+|N@0!33sbQz916XwSgOV=l
z+SK*4({I~0?cZI;bsc`BcEb%^2-qxyo4o(D01*A<%UGZBk<wpjhvwT?wi-g%C5gVK
zYyAAB(?$C;8f^KlLW;aA-oM|L9Uc0PEnU6$AH1b~tKPm5dX~1${7`&-lI<Fa#T9Bf
zpiWhdGRq4t|3}z&z*kkIZ_l~Cr`_~Q5<&<GgoGZNhy_K(vWnPU+qx*ax-M?DcURp-
zu~$}I3nEQGq?gblErlec-{dB@_kQMkX6{W0y8qvIhrG-)?aZ0_&dfXSVQzn<RZqr!
zVZ-hVb9<cDVgrWR{z9j|@HV&ojn2ew40HPjt$QjydcgMLJHu|+q>1~o?V5z`O+HMJ
zS4s23S28!01IuAtSb!h#vHGG|GQa&Ck8>ye%iAw=+g)_UyU!=$;NTE(&dna2ZAi=(
z;O|I$21wFJNPG%lZfuL`{8+qgkb1Uom)D3@iTG?vujjK&saTjuNrIEHjkT2}5qY*~
zM7@qqX{0w`q-4Y4+|U&A{yn!~v_b2K?T%#;w&OvzKEC3PNCaI2@d;<M&aXwDPBbJ{
zWd@~kiC&bcB(e;DG$ip*Ik!eaf`=+}Qe~zP_WI2tuUW>f4X4A}C`*O4B2(eQ*)p}q
z6)=1H$6lQxQ3Qg%UazU@u8CA?b9>so17ojAk;nr<e{aBUthzw1jtvEe!k*M}6?VS8
zIEVG8RcJ*q=A~f>UFG3`gHmjPu(qec8^kw2Mm-Vvz!@*&@^HK#w~9odzXvp9uV&8U
zl<n4tw6R~NqBtsd0uBGxz5n%U*x4z(MCi81!lXiN)I>vOi$owgT@DGjdYiTBWPD0l
zb|l!}6?XD|@auPHJydUR%bNO4Ql7`zF0jtDQ=b*^nphdJQXkC#CCZBEEho$Da-~wD
zGSZZ?@i~#8sWa@PBn_?e*S%*Mn4t&a&HZ+&qbr_Fw9{m^&BL1covisLrc9bjABl&(
zhi1}8&snh*#KJy6$FSWXW?ex`*oF|ZK1|24J)yXjZx1mmIxGDPPl5Fx^2Ea|0IV(K
zskrsuq?0`RNAAk3FT`i8f0J(V{A1kpW8x*x-Zf%<;~(702CrfMm2tA1?Ez!=M|$&%
zEC5)$KhkA9lVl4ddER<F5$%7KC+|}VL%vRop57z+2VvEV(NnucpIKoj7<R=oei@lJ
zTh{qUI8v`^#2O8ZSjFgwmC_NbR5fB%8%M0V+!3pxXvCU-0q-%4&DEnlj4;ha$IiMx
z>rN}Idf*lUsS(Z+4tK8jP@8BnE#GC<6#0win(QIFr73Stp4*V)niLp>eQt?gpXGK0
zhb&En7nS+6nI2!*ZsqQ}EEn9Z%~?|~^c!;Ah-+<0F3tBR=Xo4akF_OjLLuBej);@l
zr*eDPX***m%=IPZc_T4Dv*-C)+m8Bdt-9P?#0`ev-pb<Yv%Ic|bClgRY|qUfb~j`r
z4BRs&Cm9jm5_Z^Hv!;#l>oUBKkj>UQ=F+i#b*k6t@3-^k8uC1NuDwl{Q>RJFiDG?V
zZ%Z!8XL)l)y!Q6A2?c(ACi3iZ@Gu7So>;)q!NTY>-S&vr(UCK=7-{<4L5s7KEi?34
zK2I#*>`WR{jpzE@QLnQzWo+CY@i@D9m`om~E4g%>sLOCWBQA(9lui+~>8IOSn7AE>
zg6HhcDD0`@CIr-JUP~<C;^}KMyhz{0(`WXG$Hn7n(p`u<Vn<w8ciMy+KjNZ%T-~{|
zOM=QIzdbnQG08R4{90pRP>gy^s+6q#T4Q={EaWli^J}ntMBVvE>`vI(1Rl_&`qfd4
zJ1nlo=to>HkE<~n5!cJ(s#4vEJ7Py%?|>$wCag~NN5Ln-UK>`Y_@l9)kGrc<eQ@_%
zwOKQRO0C}-^#{0Jq4mKYa_7$<>t@G~0dv@sKfh#1q%lu$Fcy}nvw{+-pr<h=@R8{k
zq+)==(@<FLkHx4z>J<dmJ7N*)k9bsufHgG`4#*%8%cnZ+s6p`D+EGt$4cO(HERRzE
zmW19mY+o(m?pp3HaCdHB9Up+%B5Sxujh;L(XlG0=)@OMfAuIJ;R4H4v=^>060$GSW
z{Av&upO5VoUl#cgDXxu);&zem3UYgc=w}0zxJ^tJzY{+lvF}ZUVeV%{kq>PO@o8E>
z>$qJdJ}({?`Ityyr)tV~z_`6|I1E+MVY^0rQ9P0euM=Oz@I8;GV-(+|6_oF)&`j||
znoIdk61P{;OL>@V@l!g9@}&vQ71z)*%6ECVeNrL}bDvBX^YFPyW!OGeTu&z?!ZZ6!
z%2zgYg1DW|qf2@C$>M&5=Q~K0*=rKvnVl`+*|1(K9-_4g_c>xS@&isA?#w<T5jSp+
z=Z)DHB=W}WmnYI;cD5V9<0f_nn0=nuM$0MRHRSdS6LFdQ)$~3dejai>Y+opL)4IfS
zFB7fwnne1{els>1SelDPJH3$39I-D-lrwX`ERjC5vrP#W{z}nJZ%pKk+1VZib6+BQ
zQEu_~W%fHLpEv0em|^>MVi@lgudnMNS9N0|Kg`ayI9NJMv8i<*<r6LJ@f{E5&X|PX
zCES_)e)=~a{!W^VJjBbNaRk3l<daSQ_axleJkK^vSUO;`>4OP(FxPY?UBTS3lM?28
zDZ}<PgfH>QcA=1bO*pI0?VAZ-Mq{dDLTtl*Z)DAfXELs2QDh;W#q584J~NU!V(0Fh
zWnzpo+YlLMxiL?ZjkJ`O#sxq~uQ&+9<svwv^}qUgoHbzlYuJmyR1lQR9`a&v#EBeZ
z&me8gpLTAPNi4ajCUc=LhGSfhObtN`IgLeySOBru*=hV)!*Pb0I^@t}8WYlGM*T9C
z!f?*6PCIAE(A1AG8Bw21rB3%EJa*4{ctNo30)LTAY5Jt>$!U>+#;_XuWLAE7syi>2
zqn-#x(jiwV1u&ALtue_Ukq;a&6zTJAjmZXyY~X+%_K-8fiE9SQa;>3As>m9kq7D*~
z$tB7p<A4}b>tZ3Cs=-dhVS7%Lig@Kv#HUQkiBVA|#zJAQGO40I7R}Jo7>he%FJ*Qy
z#@$OXst3d<8`Vww&)GE@m|@Mauyhb*qc#*&;q<_1iu!{N*aOk9qYpES-B2*`@>nGL
zbI?wyp|C0%4QtFXe=M9n(J&D3rb`7;BF~$fVhwsSRKX!ZQgTI|F6eIR_H@{qCoi95
z^bA=#oQ*%P;x)@;HqWoyky2~<E-S%H;YqgUY%oXq9G4w{6e8CD9aG=6BOlyWR@G2%
zU`X1%bIc{Bo{R}rvwuK3&`|qObwrzP3%gnb^YPreNxI}hFkcqIc7|~mN%_HWGyq^I
z;H(wIq5v{$i-P(rmp$wN$eKFFr_1y@LpA|iR7IS-3cCb*TUted4>OfB;uh@f8P%}{
zZMwHG>=YawYGY0yDaWrALjbzmOt(JE@1POt>=<)#p{Ph|J`%7<!2{)HdUTmSJM-yG
zDjsHnsIyCzQawhWMZ?%$cXnyBazc!SiiH4D%ZK?I1WPTi4rq*ER6GfwjRQ}=DmCkX
zHZ46z3{meu%Gj#u%A|0A$RYTxIWtqzq>6Ay&?*F-nvBU#xkeI+1%;41Z(gYbYy%Ar
z(gd%71s{#!?A%b4k1Yj{9g87}l!}Wy82MD-9GLuQnh${k5}BaOOf4%2xcc2r{}7XW
zm5mx`Mz+PsvvCvOfqI2-69=zi2?G-c9}{lkU?brs4ix7ld~O6|Gp|JSKOT7$!&YJ%
zj)TNp_ekVH_#`F;zOOY5ra?e*#AiN)8{%@q|5uB{h+=IqR*uDZ;Z;jQE_+*2abTO)
z_;aVE`hLb0YXq&aVZBgsE3!Je6j)P_?=>6|reX>8aePBy5cif&ku8x(G~~t=rvxYs
z<#5nMc0?itAtUbq|2s=O&4Gse`GNoHvm3>5(IvK4nYywlwI~!5rAj*oDMdjB7*AC#
zDs{y(Xii<oE!X8-C{u;KsMm;JnVjX2%H<&uvMGLbdU*|Q<P1e2Q_6uv#z8C`3(u>U
zDl)SKL!lsqoY_i=OraIR9<Y`$OnMl{LK3MuZCXtv*w!F=`;B8`;jubfZ%-#S>-i?)
z|9X+c7~gv!ePWR}vqB8JG?@UCiiR?=Z|>4$^d88lF7RcJrxCYYYd)S?GdYx87>@aL
zxvXnXh$I!zutSw<Z5gv@W}e0<2@XmXHV)KAfrB&f$ycYveTLUc5vRK|=n$miv<jJD
zDwin}K=&)4LJvYPxz5LeQ8A;surCr)2W`<H+oeelW7|fIN>yy1COsSpNf_Xpk-vW5
zk#(-=@Wi|4^yqVC9t;((?vg7iu(=cSb}O)64%(A_a+M%~)ZH*^jxk(qRA|-dlTHTQ
z8Zi{{oCD#A2b(g#9xF%2SfYop`4!1w8nO9$qrs4?bjegB_4n9MTTiofL#Ye>KQKs9
z_RL50ai6dUJBb2ycZ6&hMgWQh8tM;O8OWVI#!GeDkVTMi5Tl`<kVU2jm@|fhA&5<}
zU@<Ysef~#79@(y9>;8bfc=6b<5VrdJVj-5@1c(L`AY$|PMT0>{?(E`-G%y$#l&KOR
z=HkGaGpjf(3G{_5XtPcPV}MOfc;Bn07zKN?z0rIm>`fa#O_21S47-BPus3Jc6rCjE
z_4Ppl%#$;-Mk@>Z-JLQ`ETqew=oW-<41=6h;pz3cF+3`g^!fbq!sv<}y^z6+^wrm_
zm}ST<sdl%}n6)KivR0ohbw}OmG`1Z7Dy6`i?d}xVL^7dJm*vThU^w>l>+@<fX+36C
zYm%qmP*|%@?J<X4a-DxLYpP1F*JOJ8%t!pzzTJVOTuq67Ox`^9B2xuv->HZ@<cbDz
z>&C>Q_O_sffw9->qEVUJe!A^jnM$t7js(1RF%oq0?ZXh*FAAQEfh-PUV8-<5+aa$H
zd<PbOao{&6fHEuSfe(UZR2nOlrV~S_{buWFa(|-H{jXg$lmyPCUVG``haZ0I;fGf&
z$8ppfudFx%v*LmK<6y;#M;X9r)T-B(AA?zb|GhYodS}(W_ujkw-h1z6XHf6Gb@$zO
z-+%YrzrFp#FV?^C^wLvHPu;lkhDQKCd4JxvdE4gSHg{PZ?3}lA1l+b0=C)hnKDXU=
z+g%LcB<epO-_!_m(~Z~1!A&>aem+=n<NY{{`r^|YZ@lr=8*jYfIvhX!cg+n=FgN_>
z8k{`6@bt<U%*w|e0r>XIYp=a_>9yBhedXFsJJx-T6PDjBS#ss&5Ru=o_KGX6xaNv0
zF259#@|)IO-VSs5qKhF+vvuPoXJIb6Xh9rYa>?QZ=x$$BxTv(SFh6Je-XlA<F6f3?
zFn>-QELd;}1CXZQzpJhfX3WgIbD(bKv^c1%n_qVxxOV21=X{pVy!KE-<B<bXr%s&(
zEsfR3PBb?h!XeW1nwsh=2-+M!QauDyJ#j)DR98cH<Y;i=#JMLL+fE*vXn~nnIUb_?
zO(!ZUDkfD_l#hj=U&|>RPF0ncmzA73+uhn&W``*&9RpdL_U2LtOlfgp9F&%hKObCB
zJbT2a?t+=K&vu(S&J-6Hk1H-N%J1$Q=sAn?uabg-ylkBI^>^oZU~;n3;~*!ekO9cp
zn0vFlS>Ds0llBpim6eee2U%J9=Yxuju_HdE6~$w5bs$k7#nt%$j-iy4l#G;=BpogZ
zcpW;OE=8x)D9?cmO$yH9{Vtr=C22G&xxiKcSa0wZfWVdjg1nzE0R-%-SOp1{Ld?+!
zS#0A#ET+;$L$L@z4z@5bgM>m}fwAC`u${Bu0^_6ILqnX8R%MR24j7HbY$Ht#Lq<{~
zXO|WHey<CnIy$A->kWCmZU^oh7}RdJJK%OZZN}8(G=t4%bK7hda~x=F8k@^v&CN3A
zr1$stTl)L^x*>~`m)Y0XH`v$L(^;68U69>lfa&Qv3u&9;{Em)}-j0s;Gq|cyTG-y+
z-re5b+8hTd?J4I0OZ#9mZZRZjTrQXYsOzv5pu7YJpJ!WInoh+*T1(pbV6drg#K$z)
z+gDXyGNG)ov9YzW@zinLhL}`w;>3xj6DNK?I&(_Z^qND54mBJ)bZ{T;Mj)dzVUSUP
zx@r6O??1eM|K443khedN0bH0^IB)y*?Yp;c-}b|$7tBPQMKFkiOB72kU$<`ErgiJq
zetiz?Si3b2#;zNC&WC~ewR^9>a^baCeme;B#@Dall)0+>R1(a0C%!rdPMv7D{f5Q2
zEd9&_^WrDZ+<D`bC<9}Q@q?E4P66Du?2}JE`TUblK6)Pq&iCK_Rt?NstKK*V-d*+P
zio2ICzjxKDRqw1?^{?0BpmtU5`QYP!y_c9&|Bs~=WQ0|zHB}9{4Y?T&#zO%7eb)uo
z`M*A4D2)3gHy94#q7#aRA3g{C=RkJA7zfdwXb1oT#OQhamz7QxhMcGvRq92op5lNq
zK%;D1J^*eIQYD%UoJ(ST8F83mSYOgqcDxcYb%mUiLQFbd{46_IC9?Z^!v}%CSk2Sr
z<iO?|$2lk8WcBxNp({zl_FLwQ6<40zXWGmUUiH}Dh_5hz5fcUU!ii7jNM9(J6?NDf
zD0%7RXLA)V<W7w_-A$CNYu$L&47s78*D|!1lD7UMzrA=`jGp{)V2eO{g3fy`Dj7Pv
z_pN~~l&qGi78V(XTAN?D9EhW0gSn;oWlKFp&e^TRU*=$h(<28O-oLTjo;k63aEEVz
zym)fWT*Y&_Q{3(*NJ=r`_+Q2y#kUdKv+t2BE{Pr9)cK#G<8gFp?9fJ_pGm9f@SO{4
z#m1iown(ILG(|iOgml@vOzag;9qilS?I+(`nwDsu6c2A0+N;p>qtNr8c^)T5B3(Nl
zo|mKS`|9kc1NA_=9<J?GoH=>+)BXb_+O_Ks7v?GYz63f*X!o8+7EY2izuoph)2BQK
zGje5JAN752YeadR|7O2nlgRcxPygnYahEmyX!-%ChCB8>fBju03s3JJ*e*!P6UW|}
zRaLyOL*hIIzZ9O*xdY!{q{M|^2)Qz{h!8C3*fA`w*hcQ==z)*P1~iRG1jJ9@f<zTZ
zOsa|y%pMHkNIgVoAd1JZYmw|hG#up&d?MZ-;Y7#-<UaNvJLAMZsE%NVoy3SgmOA9X
zAVy>)xL?4KN}<4wQFdvRU9V(m4kOl36Nq2E1VS4^BT5#9SQkeI4DbjNiPVxxKe-tL
z8b?{_DO$-CSPd*b+TA&6u2F4f?b8Wv1Plqd5l8}ab_5&=*b&G9gCF5P@FS4&1w+Dr
zU`T+#ggmt9A;yF-nGQamm(ROk&g=wQP`+T^ZF80}>EF2DoSW*dXEMOxSNL!K947I*
zcgGz5tDC{(e!;QuADEPL2#m@8m!>{;gQD{4Q#&0e^XD_M6V94|I{|9~d0;*jgFOLn
zvY9g{)$BKMLi4wi?pvhKt!-@dc8HN-)YRndh=rTi!Y>nkr@0>_SmOC)JW1=u%qeA>
zqM0UF$Qli_9pYR`Df@vd89|KsNT4~TbC_TI4;8nLJC;3JW%RU}4>455P>!<+XiMcC
zla6Lrt8?t92M(XzmOfF^mOZKej6^73c6QsuyDxq*wMZ2dJvnuqKV?s^cH~q$hQbc1
zvh%00*DUJJn4s)q3$o4~?A$QB%F>JFinMb_;lfgyRcY$-4@7(kR24^EJeBNfJ5Qx+
zM-f71R`qrH2Ex9sovGu-rshmaiAH^jB!<d3ig+1HOZed~9Z(TA%Q7d}%z*(x+O;cd
zT4i@uWk`-iN@_PpnU%pf+6}*+%n3nR)C0d02}TUOSRS7+*t9V)!2a0!z0j9YE|o_;
zs?^>CSyL-%dij7k3Q>YM${2;JX!^JTbHo+#_wkU%@_rt&uU?y#TaiAY0{0H2s=oS^
zvVwukia~4CBaxd9CKZ>R%BZTnRt%(7n0QFzgz-G2>5w)%FV|QxzFeV68e=+?I<DYs
z#(1+O;t^yV4V**y7i34%#}(*3U9phq&^aWAO@|5+e(tU){H8vZt<mOKhg?k&ujz31
z^f5kT>0oQfCetL)*kM%jVBvd7`Gy?p&+Y3?&74C`%#))~X;xtzO~{!5->mfh!#PMZ
zt<>Bav`IDnNA-E*Z5icy+zt?AK>6cs=|GUckj4@7i=(`GmClqRPc&pz==+ZXxl)R7
znboS$^&iboprBQ*8%U(0<M9TL<zEo^QlE3mPJ?5w9%#_#O|++vqq0~~s^ln?KF%MC
z1!IwchU^)+CsN0R3q#hhhoQXPsbeISA*%$ttJoLVos=i36rw<9IM<!UeqglEA;w(C
zQEpZ)^E3aPF?n(@xhO2ea0}J^bN&VXuk^W*u;|O0%24o2ZB{HQ6|<+CkIS_MuB-`4
zZ7dkDapVTl09nn)^Ag*+0Sm?EZvK3|F?ozc9vtf3Wj;RchDB~&mbc&6qcn`50fq*7
znwb+6Jk7zAdGmZ<>LE@-{W&uj3VyCh$DTONoi%u}@S@;1+ALWt>dvekJXv&c=o@W%
zn<M5czGCoX@#2fZ`s|^O;DA&ycyiLcbuOGJINfc23($QD)aoAs`du9s{T`>M)jv3R
za{A-)buz8p8tN~*4(QLyALZIUm%l4(3cCw1WXj+_W6IE}<dSkn%9ufU)Gt*GoywXv
zEu_zJXrdk}awOB|*j-Uiz&dm)d-}8l@>_;Z6<!qjR%2|VG*EEi&}p7Z(U6R%avG_~
z^x1Ztb0gmA;>*jkwCR0k!nUy2!k!@0<=A+dmeVEh)1>#F3E4tkOQS-c-eWAqj#eaT
zjHNNTq@pn?UoNB3)bR{W>QB!1yJL{f7)Ak{>?e>Jey&(Rm&5$3`;+qF=VyK?JYK*P
z4QPOjl?%K{d46};DbvIeOEZr0=P$&GjI$@=N-486GNc2FGSr0q4zD5G?F?B38DuRM
zmIbvL4tLl=MQdX^(lq4x+##n_W91?B*)AT^+H5E&xjd!N)e-d#9Ac>SavTldc7Fn0
zkzD9(k9f^Ttj&3IOZ~b`R|suhK7zt=RJbtk4clFec`~P1n+q3)zfvYkA$^xM&DuQk
z@5+sW!fOromM#JMhkB==7;^c}W>i~SEGN=1KV;-<vQoxbTTr^WDTU5fiL~b@hBD$v
z!jLlICrG=2aBAU5Da^@@1*9rShg1~#lX9KTuoFj8Ol~BUlxsIf+zBL2%7rEij*OLs
z?j#&|AY_p3UKb&xR~>eST-FxIuz2;^K3B-0NV2vRTv+1Mru(`BX6&Ax!6@uc&i6RQ
zkW|UfOoGV;kTeNEanqUP(gMFB*Ja1pDzTkOn@|)m<TxO;5`}z<u`;DZn*r(j@W3I4
z3L}ObyE*I#x%l~t4}H@ab|?%C;eZ7wWM`;wVTm8-C|v=wL~cuL*9th2V0ppjZGk#X
zAqx&hgSImjH`n1D%suGsjQDJ4Cfru%S0;HZ-j1+`OT+||^Mk>dA34KjTT#%E?XX9j
z5wEQkc?sZc-C-A{Bgiuv<rj<~^l%4q9d`4OVWe^nMbM81_#3e_BZd)FaN)QRHu)gJ
z0BP~o!i!1*IG5=Rnk6!ZN&}iSZ)aeDp|RJ_R;p5l27TD=wY8RAH(RL&@^;I0_SPcA
z(-=LS0ka@us1))no=*P&LoB2!WiTGH%}@}sDU4K_Qm9O}16B4Kazshgr_EtU6G3(~
z(JGV1&nC3&Y~ov~q~cb4Tk5!cpFSHhJD3~UE@bquCat$yBIeKIdy;-#mYYU!KEzQ_
zmz60*++vs`i7soLCXVp#A$^u(FyfAd>}{-N>43s6hB78ckLfZ!nPG=S&cyM=!wSRD
zkWy`|Vo2-NW}wyC1SvyfeuZRO_(|+-#f!_V>eR3$U{a;p+bV9ICs*hPyFF*2X#hGo
zrZ|)Hq7dB26POf|4^l{w62iV}yRiy2o#|1b-hK9VNH_U(={{$erOA+Am+o}{A>^1v
zDIry|!{qOeg&7)mK9Zj2H;nLfgk-3n$HUDnzE6a$q9mPz=TojX^L#qm$6QuuQY6U@
zVXM;MIBO`Zv}1OMkghU`p{h8-S+3)3(wO{QU8c<x@dh1^v&jjBqjDhDb|D3&2!mf5
zLCQGFs9unY_R<k@B#m)kj9HMXP4{$!Im(`q?}hY{7h|O0IGa7AD5Ony<FuBF42>D(
zH}$cyHFB-rJ5=BPoufmOQJ_uAwe>_WMmst%7P$4<A@BuKMI0GMBac2i7>ETWa_+}a
zFoCjj-HDL!!~5mL-!J6kh`ntef7=cm_OQN!k-^dG=qSQrsWPeM2##x|3>C!@IAbR-
zL0wjim!R`(CVTgE98fq6W1O9;)Piw_+<+HyRQ(K9j5Fi}ykeLkZFa5)f}nonOvaHH
zXR|(>e@dL4`n>pgEN*Lv3}x}tS?pv0rHl>jQYG!Jmk5==1uD}iRY`l^l?dZ*aCR0f
zDDfzh1E#>BD$Uu&IF{r*iZj)K4JWy&xl(=B&{;98OmcRq(}t14z)&9di-kBc)`lU8
z=M%#bud_>&Q67Mtnne&)DNLGe<e)cx(i=ogJ8|qQI=ix_O;1)Q2Ynb#b<VEb+0(qL
z<Y+i-*JLm>-K$ChvN2S=xI$Fu1<~8B#M8@{j(5p5kwI^lGTFsTNuT5ArNpG+D%!N^
z&hDsJDtGZGsFDNx2`>Hw=%V3IaCPO)De<uxFKCe}UEOM9u1udf*e-?@dWLGlI67x<
z<l`s;geOG2u5L|6ZkH}=d>w@flF^99T;1C2Nq)S$i-uLHu5Lp?ey27gBRLA01IXr$
zuMTR!OR;x%b*E39E7PX?oj#KoWwLsuD(p=41c!nSS9jjr>275b)U{YyDtYsO3{fZo
zQKh)Lv99td^bmPAD}l;y9Ph@ZT(hrBnZ!_qTdIzjy`2nAxP8(TiDIDL-=oQJcWaSr
zZB}`m7zugYJZGAWbe=Oef1V-<QaN~@yBq5<pIq<j^_vwb?(RyYA}IRXeLd<7cdxOs
zCZJC7IB=XUGBo9^Iz^(vaVPhiGH?!MOrGjP$wxzW2{c4OE+Ipi)OI3d4_Fu)6Gt|N
zrv0hPM<oHLvk__brIr`&R3+*3G2hws?mnES?o=6c`iQ&r8=y%E<ZAue-IqUqrbMB2
zvr{yUyRYEFI;zlk-N8XY;_j=s`6{hMcH|>pPg(^-OSBRxP<L8|hv!9+)XMYX>7D+k
zD!(Z4IUJ3#n1`n+*SdI`9-fLIJIqt@m?W|?yVmH(r3O_hM^3HL2T2>Xk)d&Rj8Xxq
zlKE+~r^M8$0q`0SUo@qRP4=i$x(@`bQl-aK_M3||QgsK`{ZwS=VuM80+ve>Q!=8SL
zyv(6Z^ZVs0RSHAn1WlSdCR0kJOe`WZE*24%$heTic5Pa9g&2Z_{3wwLobruAala~2
zlLom+$Y650POm0arG?~(gd-96G=fn`*l<KOsnJ+85VU*xA^B^QsbcoPfLz1SxDn*#
z`P8KOcs{*&UX`d$i}ELUndB%WO8q=d?*R8pjpEc+kT7Y`YWM}bv0wypqS`F9msGhS
z>X*nFni@wwhL8$Xrvz|?BnGxNwY(x3YoTtoe((;YB~S#i9A2}#Ti%+IFUgQ7lu4tJ
zHrs1vC9g{A+RIAbYfl`1-~<H6ALkIxKN6@wSHS$3q-wROO7-)6`UW#57e?gTFt|f?
znr|@wf-;3fp^65~v5;?Y#@`lBj>VemZAaU`^9`v|CSvxD1!7?_3X~d0BBY@>3S)Hh
zi=kN9&*Md7O*|fxYnX`nQ>~7L1qnwX^nQ#PVw59{zY&P4#3D=tCKoHJ{^Gz;GypU!
zhoKBeH{iB);t&VtI4XI7rHP~7Fpr1z=V9@TAzPiRE6AD_uz?c~DRjPmR__5@N?Be=
zrZTrg@xBZd;Q~isFzQtp0=Cp~aX&VT25e~)N_{f5+!40R)B&5Zsz{J3eSHzPE+=3|
zDv%^F_aYS>eaF)r=;3MF!L5a5N;98}13<N-QF(q?sx(7w9+TKg1wzOXRKro!!~8O;
zi(*oR7qUQjIu6&%!c>s>*xpl+zmZ($<!=<^AtmSuEM(B0HMLZR8dC->5$xaNI6orb
z>^+FX{h*_K>4dAIk=7G|ft0eKGqt>!O5}b=)C1+Z3<*-X&kosQY0z2wux6Xz)xI}m
zcD4ikLAfpHZQtwfbha_1+7@uP?+x@seGH}V@Vn0J3=O1L1)WnKQS*3#KK~HA`5yGB
z_)j4XImYAZk;s`7{(<DO5I_2-5<frt54n;{%W!YX-v@au2skN*g<Ys14Y~FCxoI+`
z#~<_i2N^0%6Qmx$RLW4^yplmE(DPy(M7-LEmB?A!ZeN$PJ?uhDc2a2!()<#6n5QCD
zx_K&L$PJWfq20~zY?o;ms?p*S4HqL|!V$$W5z-MTGe}3|&5fhLpi~+5;QfB`+RyF|
zp(g@8s{G04Ji9y4BZd>mb#}L}!`;PD`fjhi^`}sOW=+^L^^dBbd=7-{4LZVJtV7?F
z$joPGOaswMCKLd*yC);=xOhXY4tlD*?hZU1!VVny;)n@nP#WrHavKpY6+tCETr48u
z%dIO>#G<aVAsh74`KCOgK+f8C`Z}3Z5Tq6ZGNlYEQZ$g9WFezbCl84geMb2dsP!G7
zQFjky5@weuqY+nI*cS0c1GNvSceyR6wuQ{*BS3#p?DE=AZS!}U4@HB>ix7+0TZ2O(
ztW;5EqY%nWh=%R0Xm|E#u=w&>if9P)bXUY54Wa~hyN6C~4Gj#`13jwR?E&(4xw{!k
z-|rqgzA0$ZWk-W3Gwv7YwKc`~^P*U#vFF7?8IvI;6^(^Mb|@eYXHJ=dCwRNUj-ZVr
zB_y=KQ3tHU$kPdAiG@)vyFHeZKlnNa>O~e$840;~NT@S21)Vb76PFuwxlHAj2zg0~
zLXb+8Q0;U@l>!4`8|pz5M`0ijLs9=wd6Hb!(k@j6?d-CPEDGg}*r9`}#;7i5f`?L<
zSqz1sUodkD?m35>w*`mnO$@OOKn)GqqP{qS#3l`Mlr^=#+UslHrc1LmiqWj8S=G@9
z;#nBtdGQXmvb^Ai*H9rF@4KaFtCXi14yk#XG#0d1{#mNn`n6Q0VDf>niWtQIAiD~6
z%`t7ZJQj<g^a79+jAc#Dt`3Kqwg!f5jSLleB0;r?w&X?U>X!{cwn;5h>vE_FAxAr8
z@jbC1BzvJQjh|}!{em~jRPYD_Bo6tHq2dxzl*1xZ34&Z5Kd@xyxIo&`Xq4C@QUSvG
zquUlnJqtooLZp!$Kq7q@$TQ*@%48_~(PX;Bs2CJu&@~QyI6TdP9%Yy09AXzk8N%6V
zL&K>C&rv)0i{5gU)2JdzmkVJyNvd6-NvT1XLeE6wlzYV(>M+Ix<y0v-!6+n(Ama;3
zIX1QiJtFSKpijvmixY{4WkX^#7J}A3!+fxRDeT6ER4Pv$H$@D3BKD9YiZximFDi!F
z?a+b?)6#to)5(BYjLPH?;(<aC3FLbqo~e{;v&C@0?Ev43wipZ5VRn`JS*<a-wajoN
zD8-sbssfU81W99@fH8?7RoL&bP+Y+P(vF}3$TsM+qYx*uLI&9*Q)x2B7=xbU+r+TD
zTc$!;dxP#YS<DBe>Z;Nu>OuEF&+b5f(in!cgRcIb?Ljj`W3SN-IC@QcBepowGqfY>
zOd7+4=rY6MpoHg4&hrxTyLn#ZYK1;46vo|FNHxdg>ZIc76a3Ep(@~!;N3KpTnO^C4
znocnuLat$wazT$o$3*4i8biUDnxH%8j`|{g1rO<S_VJJkt)ZZ(#_x=}q7bKGGEvbc
zpFO=qlV+Tt(8*y!o-kG~;OKP_t8&=8oBkUBr>4-A{RXlXooBv@I&?Wot=c%H)^Be=
zL}Qt?Tz-l|w4Di1NtFg@9Setj)Fnt_5v4(sc}aG_snvv>Lk&v9xEl-(+u1EY1^Uw}
z7)o+j+qY~94W?D7lCiI0@>$QseEse&jvR4hYf>doxV^T})?q*4J`=%OVFa~8J0gqc
z@LF3C&(@?)b)KCTiUg!Vxn2;|spFR=`-WP+`8+U?gm;A4S-X2s1D#j6acR`$%+q@Z
z&+HCkU8~JtXD{x4k2?U~jOl^lLMD(iaXWOG@Z&PSfgvU=oNPST{}M>(5uARzOP}L4
z%@hI->XfQu*vB4sL(M}2jq6_vm^A6^MmU#Mfw+p(X2@mxQudzt(}T8<+mJi%hROH#
zpWggt5ZrBYVfoVB!T!^VUPrUfoHE8(Syf<eJhP96r$3%rTDqjh(0{Ujx2rW4Wa!fK
zQPz2W!zjc<CXhrvg7&ytORq}fshCb$kFYe;N~iyM_N4A(jXMVRoP5_<m=LOgT#dz?
zUXfZ}*4KX`6+70c<Cqq!xVTGyOW&#Nn$+?|6Z(!G{tQCb5~k^fOW8osrl*r#aOaXW
z5Uy!I!>;rjldM*ki~TXg%5z|#rKf4&9AYl)8a$q`6^04a#1Ydh090}H#Cx*xj(q7l
zZEa}$1P7-zY?L~6iv2M?G+cBB(lZD5&6>ODrgJsMbk1<$8OYB-cn13a5~DC=i$)=d
zH^$JYc;}G4YjDnE3l^R8V|r+~*bO9aw*A1g&|I=$EC2nlkzL&9rNnd1P+Tm93ESL$
z^X<1!nRN8%(Gy3H9zMvF333F7!v`T$9hWFzC*Qx6^MJS^d5+F0PPKG4{^aW@SV*1+
zO0jk}?eKLJE+j9~x!DnWPxnWzMzxWloRF=%`y<bp)N-UMhln;iO^=IdC$5Cj>%?d9
zWr}Zvziq3$crN@EqeR=;Z5Xbp5cgh|itXYth#4@Axx+H(__)Qt*zFvAuYjvNA^+ED
zJzenhYac%U)Z_g3r$_0f&;RS=m!JD1|2^^$mu=uel#rubv79cA3rj9%zx(f{Oo0a%
zmxRRR-MDx>EHDX~$=}{ineGipJo4X-*F(ETLb4IUjW=9JnIa7?!3ZJ7tFNSYd_Q^l
z#V^cxM86~kKA-+=Cl0ebH8*!jg8dNQesS3~m)>yAfBEl=HC(|4M4z64f#}m{2;nF4
z7KEJ6H3fbf{<pV&z<=+(jr&QgM1CnPGfIAev>g2Bozt=kW(|0H)<HJ@o%+`<`s?oE
z3vDWQBV<GVd*sc<GbM$yyQD*V@yUQMkG->a2F;(*L5KDMx*OhmVBC?^ajql1YgNe{
zPER&gcs}p^kE@fz3o25}`uFyHBiE4bhWGC&Icgklhm?$=h{M{Hj7sOHU0(+s9L}DQ
zKE7vX-v(_C+4S=V*OWT4CPz<M_C*8a+2bG2mONir7jxQ=L#Af+@sAhEpUa<qs>gO1
z3Xk4B{_(}i=kumEdaQ>b3x4+a$9I*SOe-7O-oH6z9EY`;>EkV{d)7j2IP;w|IdyEu
zM$@LGG34D7pIod!+>_mwdc^(U#3z@iUdXLI?Y7k8YW(*nK3P)g%bXafw;qJLrRPt4
zI!F3k!A#L*Z-CejgYxI|rim^O&XdSHCqBJM@oe6d#$Ic^Tua_R@#)2?=W=VCyw-YD
z>T{<)pL1;>Z;Hm^fNU693t_0-ZbPBF%W}ZeN4{^}xFoL^u+y^7)kWSoyX}IS!IYvS
zt=4)d0$A0t{lbeTCl?(0%5u<WCZBX{UsOAkROs#R-(fz&;WV>8*FQLPVDK3Ecjt};
zwU(s3BLmh${z0;-bH_DfE!vE|Z<)3RY$V*d<Ke0%L1{YP^(ADLB7k#paUA}2`$ruc
z3GLkR$P%bB>N2%|<ZLIeb?v;Mrr(fzxY=@;l}6XjC8dLE<H4hYdm>&Ar&R-fG_)5F
z+S0Z2+A^yqeb1YwEvWr4<eDaS3#!)B9iKsXiHSMYv`~3(L)RBx6C|5<{$W8rzJ~GN
zwhzy4Ag_1r!uuL>>rYt@;eFS2?YgRXP?O<m9o*$;CF{F(Eh)FCQx6^<+5_o(2J326
zsRuq7+T%BqAG&s3TQ;OI?qA)v#odGF?t1u=S}JQj*!hL0Hx8#z*%?6i{;PZUf{P~V
zbLzja9Kr>&kGgkXT8lj#ckjSX$apb0)uhez^;_#LC&>5RyO)f!sEm#l^Dg@t66xOk
z@a0pfv}J$S7oMItoJOV1fbMSc@9sSdE}E>*KCs4Gk6eA+z30-}A)JJE4X`?5aGDvi
z=RKB#sH64WdzOqHQYP28TJ|FFhVDIAmsr$k&KC1dTQk`RST?9gcDGs&+FQ8X*OVbq
z()d&7f2^m-8$Ek3s5R>{5B1rO1Z`wP&)%!YTNOzMT88#Q;B6ydxlNg3Z!+(&HIYp{
zd#|am$PLaG>p`R(hl-@pFs4k}vTbk|3Wxd5S*S?*;T7{P1g1TEADQYCC5LyP{g|~4
zz>6k|(#F+iKknR2{?)S&%}keB-(@|_npw}jYsSZvDLn@VenNF`?%jV)WmKl?J!Cxq
zv9`^<2d<eQ%5_`ohxQ;>KlC2B7B?^q-TV8uoA#3}fR!->uD9-o)Z5d2^>xbcu{{|G
zbdOm?o;Dq-Q*BqJnZw?8;{-1ER^B8Eo%_sNF$6KOyozoV&LPtVygq}oa4^^TQQrpS
ziV5abwM6OJJ&@Xyb2ukolyrR1vknsV%y({HOz8NaZv(m&gBMSY(Njz!Q9@oAI5tPK
zOOfP=c+aGcBQFgco2%X|*F#+(o8meK8t$4jge!aB_y2&tz+km68r#3QZ#~5E7@RjL
zCZ2euXRT>3hw~>!W5-|VTW@dX@X|}7(fwcd{}6J;;ib{&zOMkC<SFy<x>SuO(=lY;
zhr)Sk@MK-4Po{Mobhlt&WH8Gs)7TH9G$xWC22WmFt`~(qlV!guEe;K$(90kO8B60;
z>L;jhc;nE1T`oCfX}oEIEgEZl$@BwW&}M1;{Um!R)bvvO$L7NX0tgRQo(%X7|F>fe
za^<r$uBbc(_~qHpFg`zFX_{48D$_P>bDl=W;c((;SQqzooc3GEQA^X!mG(%a@x{JP
zC>*DyX?e9H6li*}?Zck!Bw%TJsOnU}gOoqTCmDhao(B8^5b86m&2zFtg3@=;)rhg3
z!JMF=@E!D=Nvj~+t<ArwNQp#;`iJ%?lj1Nn5*;)R?NJyA<OpuAv_>M$FZXT2tl_XW
zFR!)*11&GNeb~E`_^r(=s!sUbM<Hs7p)X)<eyHlC-+ko2?Vn-<K4xpZWman_(7YXa
z_Hj7d6b>HS-TfU}Ec3mrFcLnqy6fA%eH>n15DvAh?)e@)^oX<b=2^{tPt#V@53vx3
zbv;4v(H*_(F?=!K%kqN0mQ~$r`|CNp94BYZtKi#Cjyk(;p4IAipWbZRjOQ{q+l12i
zv1c8g%iv{&L0{7w-D^$zI9yy1@HD>BvkuRF($zC-`n{sqe%RftNheRbd+Mg&8xz|O
zyPDMLWOvYU!~Alm`M`$0&1b$M-4L;@I&SIQ_i5h-kBLj%R_-4>+wcKeyOhJYuW18H
zV|R$fb(r_9=W(A6xo1zhFo?C8<#5L)(i`^NTXo9Zw*TYa_5LB!2UuA@(E9Ux{rGwW
zhjHJ&@6iXD??qz=TKB)%zZrdy!!p2CfHLxa#CP%Kce*V<Z#D0-o{Yoax-AV`%)2lG
ze-QCsa`|sPLqBgBV6ZnDxOc)4Q#0cJ5Oi`_)zshe<2$|I51k+;_+C_QYWne?{hI=o
zI2><k+V*PyCS>y2XmEDLCZEI8W!`u4J@RTaIREBauPqWA*n<HXm!0mdJZfs(|L^|I
zXzdJEHTO6F_%>2L&f!H!>c?06H>2@0--{}c@+<wD{TA|cEL@iva1OM7=xNbrk*CE-
z9j>C9&V0bftEa_iU6H}w^Yf2^?xIWJ3z%f@X<+bTF6o?n$lTnx$?<bWHHWE(1{xdJ
zIZpt-EmK{TdfMD_WSixXGMU4))8^(Qn`}oDuvl+yX?opq2%Vh;F43Etn_jjZ1$<Yb
zyEye{)5$|0IF6@|C+`6oTl-J#{M33F-}rhmrLeAcTIZqgcKh*Y2+TEO6Pa?wVL{hl
zi2aHdb`amDNp+Y!otT9B*u~i2>9SG_14AgFr$bJOEK6bVVW$cm??t&Lw{EJd|EFhS
zKGOm6FTmN0e1kil_4Q#id{M!Co&DS6zAvd$GHa4Omi}g+sr`FO*y=DkaJqlD{S>O4
ziK^>y;f`HA|D^~n^bbKr&NFc?U0g0MzxNzmzWiZ8rpTJ<KV%H>|6In<`^o-IH;!}F
z++tS^{21{8AKbKT){MzFTMwJIU|a6@WaH+mOWd`$4ao*~OXa|uH(xV#X6@|*2h2OL
z{q_La^uskJuF1EU-2*$6$#ex-x8<sm;N+W4A<JF`R2Gr-Tb4|lH~Hq?9|w2IHS}Tf
z{njNVf$C*_1B1IYne-9z^R`=N`zKs`qJChDCY}C`oZNZa1(I=#PVDMkFGjKSVsF5{
z;u5c$_;P791HYFpw=^zQN1~^{Gw(<lOAgQnEKN6R!r{|v&D*t^WF7s7wfQQINRMu^
z>;;#;pZ?z3%>0|y4Qz+LCw9S}J%K44IDfI1xGYM#=}L?pvo)5k<2~P5PLW=Q?@eHI
zyk7b^@Enz;^LXES?*Q;)=<{{@!HyF>-`QG-iR0ON^Vt(UYcZ&q=%3&}M{90B(f2+2
zQ!ibCu3MKp(0Z`vyPloE4*}0M44gUGx8B-_@DHNL%}yC;IoR`U&riTBfafIjHy`Z#
z9*yx`x)QCs*f`L5#Da}!@*c;fX{J+$t%t#hvo>VF)rH|V92Vr}I^fuKNb(GMCN7?R
z%Ps7J7=4sJ8edeu{We=tqjchBG<*~B*9+oK`lzGh?sCEBvNZIr+ePmqFNu*K6*5D{
zwol8J%^Sf<ag6k&$P+8^_~(dzRj*tf#a~~1`^kUs-{1bsRKL-`zx?jgf8)QutR#!@
zM)5S_Z=^~rsoCP0y{(3)@iv}9aOJd}hUm!`nfN^Y2OQpwJCl28h}`@#2b*#AV-L9l
z52AEG@~2!nX=$B>ZbKt&BF|7iJwZ1iySh6nuKvkHccQIcjE_$eYJrJRU(xit_J-&w
z`XBNEQr%6x6knYq(o51Sh?h3eZ^)I{CWw%UbO=cemK4sqCPZ84Y>MxC!I?F1IgtYZ
zw$ShXmvbAQKOWxAv=bepg4~*xTYE-IyXa0bj=D)I{T<X8C`eLjTE*%VYC=eM<$$HG
zL4go6>;~FT@sTi6MSF0yz({72Cxwg&*bg71C&|Uo2JjWZw=|%6VoDKaRQ7I-1fRh}
ztgC1M<(rk9od0T!+G!h{e}@<GkS-)gk~<n)f1nQfcY@EAAp!Ozk*Jxb4MLsBZ#KT@
zxs?W~iT;<))g~86z0?E1Lf*_i+XvJuCgqG{785k_5ZXWkbdbd_lxva$-1#mt5gvAm
z4{Q>lib&lalrjrF8_sTOX167Zq-vL+`tTj8VmPw&OG!Q{MB|qiBEJ@L4Ur=45bcGR
zFqTM^emJ}NrDk4KXb|kO1=>k~+Sx1P(YL_~AK_9c^{Xjf!hzP2NuEMHs5YWO+^Q1^
zoSmcx8jFkRKDveF`<|h*Zw=r<E-3gaMIl7uuak$w18{cZGgYN1GVV+%oRLHr1v(pT
z1v%l(N63{Zh%@d?mgD=Pa=I2;bC%?4(n76p_Cj+Up{ppa(&7!W)KWPXF3fp8DWO)}
zkK!em51oQRmQ!pI<-ide+US8YCBE?pHOf$try+SzBiV$c0@Q}4cz|6bVOk|K@s3af
z!d?emHo(qDFvpQg@C5uA#DS5XSz=@=D!CdheTd#5zMK^fZDqlk^8?HoZ(*a2SqJ{J
z_0NbHLrbmZ<;N2;L}Pv^>cfMoNg?e+UTnx@Fe4ly!T4hsWsk%Uw^r~Sv4r!bsOoq=
zkV!$uoe_q876IQ1<P@4Jalr-A%g}pr(CDBKkm7?up{_9Vr(NV0fnByq!Dv$CmdaUQ
zfwPI%D7*inBe`DiYOIU0N14$a*!EmHGK;HcOvNJen1B}`<b==whvpsl2xR=1igMK9
zWdi7of~1BQB^wvml#a5DBubJ8j(@*oB;R2HtrkDF7l|J`J3?_&^i>9-nmU&l*~ckZ
z8&k%@o!k{25Vv*^Hi%df-1;1darXi=N)<wyke3jK&9l7VNddawZd8N~-Rg`X7Sjh1
z`du;xNwB_?jw(q`Vnb6r54@Wwkv9Jc8g`F~{mSTByi6F4goSkDyQ*+BpyTN<B8o_V
z5J$Xw;)%rbZBOJo%JR)Z8!@73=s-L{bp$u-(NTY3`Wtyp*efAN6DF{a;Jx)rXZBbH
zid4yz=Af*3F-yZ<G=CM}7oEq-4nLMi(1nNV(IAY&X(OAFWKvjYz=iwLcx3c_cA-i_
z?VTtoBW+-h;5n&6$(Lg)l&3&bIWx?edE)z`0CGR{kKj9u@F>AZ{xN->zPA#$QvZc8
zY{H7OacqhjW-!?MbM+;XX|jG{3^X-m&<DiZVy%%m_BOxAB^f8%D@=!yr&RhE@rl@A
z<PK+-=yphcC%;~(q)SB~y+xcF`#Rj@F?qTVNbs3bVG6xgw9#c^W$gX%#<=qx@`b`g
zXsPO>cZl<2Yr+R;th#9{8kYtfz&ZZ#99O{f%&MV9b_Kng-j2_8#mzh9ttU5cW_l;-
zz4T6eQ<<3q*n-~ubXyw~JN*&azlXe;F#jg6KfiS=`wj`hFDI`h%&X+3m)qJ<HH?QH
z&DoxNI-ZRK*$k)+n?Y*@ouDH_7}L#U@3w9K+kM|YsIsi1*U^b|JUN*#$H}qx--ik_
zC@X_vvMSP$Fh|Lu4?p~sdlxxM+ThMLjYBEe6=ZF~d_(^G?YD8o<9NbV<eP-~ihQwl
zEnMz~-r8mKH{|n#SwlWqw+`>exT|wzd;Zl&=}6f=g|dB$e9TLjmG6j0yvRp+oL}r8
z^1@$DRz3ZT`d}WrQ77A<{zZ+v%j<>J$}j3<6|WgqFYIG6PyqU1TvrZ0oy~OSyi8tr
z6*c&GRPRFo%)HL&i{!c2&`$KfsK@i(6bi>?pfoG!STIt|v~hZxoQP|Ar_*T-ImAr^
zrw7SC)ceKsR;VPKLJo3sl+*oWPh9OARI|+`KXJ2%(;vx}U)9g|yp~W$adl}>)wYy;
z#?6<UenLJ(twCWL6s0Z0@e4DbbNUf^A3Z~l?#epn|6Ds^bYd#jhP%NL6!{Ud55>MG
zUhL3tc3xLtU4j=p*S<QcgyUL?5+w|6tfR^}UedgbwaCkGZiYGd^GbPGA)&Zc+$dZ!
z%3LHY;0g+%h)~=w?h@)oOo}j5(ET5Nb?}=;6AA{Q5-@|9MwwpHHLL{iyne;{7y1^h
z6C3Fj^e%b<olSO*GCz@RT<IT__>HQ;cs;TjOeo-kYP`$wnf7yLE%|y_mC||rlJ!sY
zO$=*X;a;L|ZigHD`-a5po-589Rr~QafZ7Ka^8YJU!l!jK13pZB&6>jSk1ocb5A}a>
zjBzJ|kq1A_vQW*7{~xAL)A#9Wau+whLkoEWo$?jDJ8K-zkE9b}^9pT5yd!8A<LMLh
zHK^tL19@?jc^*rUM-b|Kzkl)&%n#Rw=~MI#j6;uN?s*=6uYf*}x#%gl)zataTWIGi
z$<w3EljQI8al{+;yB>bmlNWf1U-~^w_YnRE-(UIh80X?ab2oi~zKxaCpAq()`3Lzc
zUwpkx-$lv%o&1fPr#Sr!SxKKopML{0=8N<h@+W)?mi@hjcUXmYz??eD?@#di>xkdW
z==p!e-bMU(B}#J<v+{a)1AYHJ`XzYe*T{18Zua*a=riPA`Ub)b`@M|On*A-u``?c@
z#eyhij@$x&FTyrr@wXdaL4O*|hXTBOm+-vw4zzVC{SagS5V)V!VjDgJ{y3iL!ir-F
z*j{iKL=gMMFTh%zrniaj;c1*d1!KMweoP4gQ|%8f3!G%)$Jj_L@OCh7@Q`tKa@cPW
zZLtC@8~jkZ)tuF2erh~x0+=UocHmC&$@@eE{3pqheJbQ(HMUF)VwG@!J}<r>>xnF3
zAtV*DBSIaPAWKCL#&Cf?F8(F9D<UViqn+MB7L!}ZQu-N2x%l6U^b^#}Ul4HxLNM;;
zS@Ht^YXP6rL{Fiu9U&_doX@pzV}JjOb3k0t*fI3S#1DN1Z60~XYK#3?mNi(lJW6B>
zFJ62d$@%T$e^^d(?)}5vzb84%?|Ae<yfz#DpcMSNYc4Os|Ew@sUu45G2E;q=eCz>|
z^ZUF1@E|FA;Eq51o|HZC`v-o{zy8AbxcC#|p;`IGhfv+n#Y6WDJ!X3fE^HGJf0BQ(
z)u*sf_Bmw7X34Kp%u-yZxKFW4@xEfSszIHl?$R94exskSUu$?FWu;M-o|Sn|)<1Lp
zniDPTD_UCmVA;BHeG|4+&ZxYmvZJcFYTCs06Aw)6sy0@aSNBbRVe+T7N2jz;8Jf0W
z`r;XtGhdqd;mm!r{yfV&_sY3f*45P2%-%Nl%6Z=ThWYCgX4eJpE_g6*E?ls1R>J)K
zlKMprmmOWyep$|CM=$&5Wk)Yxytv_t>#o>-)talHyY`9STzB0Q*DbgX|NrLg>+kt)
z-wnz5+x6YPr4N0#@5Unh9bWeNvYJtU8<*AJ^yy8TZ_B!U)*W~L_QQLo-1pG^pMSTH
zndMs^c;dmz6|*0#eBht#{}rtd^{w>(;q^zadu(W>|1V{Kd6${L&Uj+wllMQD_k86m
z##ggm?RoXl|MBO1E&955)mLvu-;uqu@*V5De}Aw2L-O6e4^MyO|9HnIHJ@Db$;u6H
zeR|iY{?CfnJn^4<{<G$b>;H53^RK>G@Wu6CeE#L!FQ57<<Ld{%?)m1GZ_MBL*H(YG
zZ^K(_?_2xA+5>A(uMK~<km2u6uDfR4>+9U>U-`cD`x)Oq_Wic+``2H({+0EIH!Rt(
zbi-R4+BdA((7w^Q@ve<4H?G-q>E<0jNPd{OC1=b1TQ+WSZ{4=7{m0EenzvW}wDzaq
zj-xw^cNup*wfpAX>-VnOXWjq$fr$r}AE-Z2f3O<ntApzgo;=uJe|y8q`ajp(>-~ow
zI<)I>#^JvoNj`G>k<BnWj;fB{di2(Yl}C3SD?awpvA2(HId-%muVH1wa}D92*PK{*
zqN&+@>Tt8UaYwVcrN4b!M|J1N-Sc}|`xctsA6PJOpLv0~0WEVW+Bs|KOv?w9)WfjN
zvt+pC!zi&>8-tcxg4L}W?R_GACX+eX7+8qih$3<c2E$@><}1ip3`^IMaTwxnLbzLC
zYRH{1wHWl4W7YUqn5pCmOdQiN0K9?Ct$$;>T8L@uW2CWx{6MZITVbvzJHY1LK=#7i
zME1kn4Cd@G(mO_eCU-#7U>_ztFZ9MfhS@WU;a!CJJMV`7U~-V;2|+H%vGt@D((rYi
zbRn0#D&!0KWR*||t+H<lV}vo}Eulo1MOF*5h1ujgVXiQjtP|!7^U3$ZkHU{+z3`K;
zi)@fyAiaS6AiYp}A=x6mSb7QBDqSSKiu@?OT6#6vBfVC79oZ|rLAsRemoAguK@LiP
zE4_>SEWJm%oScw8C|yBXqz_9UA+6FsN}nTVrCX#w5r=e_bRY5I<F^M$SXwVVLL$;*
z(w_;Ho|K*xB+@2n6C`U}q#c4x+AZx7w9-Clzo3_zr4Auk>Xy2NEU91W7qX>6X;8?K
zhNYsAD-&cAp$H#JQwYT}wM-|Bl_klH!gyJREJK(iyHvJFsFp{dpruCffZ{=6hVqZf
zKMAvxk1PKo%uzm}d_tJ7d{y~R;R5yj>idNYv241IkS_|zZwP5M3)nvUqCm*v6x(mG
z=W%yT6!0zLw3t!plc09&*N|3kJPp(?(jb?yG(K--X@DXPP?p9Tfu*sAr?Ez0X{_OC
ze8tmPhZa@v1Od$im7tBWHNPL!h}I#6+YLklT8y?yFj-a-(xpI~B)yMf>y*(;IK^ZQ
z`_-IY%js@H+8WTh7~RilJ$FCMX#=OnIXww_Cu!yO4o<r`?cubKQ|u6RRin)yHQ^^l
zrI#T;t<oz%Posq}JJKgzQX9hGC&e3pVqyZtjN5x3PK+4Ej!o}<_@McWCkW_tPN#wX
znaDw9O0Zz$O66mmf~|u6&x{hObR{9*x}|^R^dF$XMCc+OI!DPu7xB<#NICxrmVOqe
zg`fhDzn)0YQc=PTp@hehI{1wxRiIa5Odwqg*$i3Kk1>JKv9v|7lkv1=HTwqItuu?r
zWbQJJJ}|S4OozRR%%G3XtRyo*Ye*gF3^JR{7TVFniO_?|9~y1RjXc&(pk7S(EvpUW
z-<+=E^i59R;&e5q?;vCthY~F0dz`+{=?9#CNFQB2gY1BPF4;v}B!nD<9m_vXk8ygI
z(@sviIql`tM{ZrMf(R(W3rU=&aGC~c5K8C+tBpb_A@B4FV`0w`$_V*#t}u?<u`vTX
zFAZS=k5$F#Bu-H>NVAsHsmNg^mOjj7I?Jsv1NONBE2SA2k!C}(9;LLp2qO}sJMk7e
zj78)Ir#!;q%A+i<JjU%Jw^L?UU}JwZ`Zr5c@gPf+wU~}ItPMy~SsQ>IEe3Y9Tm52e
zWi3P9mh(O|mQ02{ld$%XNp9kF9_YQ2B5r5>temhucdtYZdO0Zt)sks+4f=Q;-Em7Q
z7Q3J*r#1I1K?yNBj??MfeI}#G9jNk8$cs_=7e=w4n2wYR*p?tZ$~TrCn*J186{C~s
zAuO|M37P&+%paulZL|;O{%_D1$SO|X<n%30S9AIfr|Xc~9@PDz#nq^LMvrlNmeWp7
zyE*OUbcm3TTk)koM(vEE9UNLb4efx@6i(Av%BT;xC|~9I8A~oj-X{?a=vZ<aXff*}
zXK%(F$!H0-^;&ruHJ~pvyrn^3V00GUM^0lSzG2n^@+1%Q6sJ#f`V6Pfa{3&n&*N>n
zu#eg>eIwb+>3&98S>HXEmG#{VSy{tAm8CDtL`H(bEZT7Q5&=&Eoy+NuJQl{N#ZRCu
zAtYK6qm)rrD`!=#RzUG8$iI<fz>-NW=kyNHu_PI^h>y6fY{W$=PXnzdGYBd93I{%H
zB%TF&8VfUweAswm^l46?;q+NfpW_tuRI(YfJz4B!<1r}4V^Gw`Cu>=KfTBJ?G0OhC
zPbdM63S&7P$LUniA@m!R5c&<Hb2<HyrNhSK#a?-Yg^|ZNrHo=pbkP%RVN}cM9MD_I
z1>DZYUF=AMPGNP4lu?(UCG-X18d6Dj2oHgaA)j5!-dmVYE~MLpi^-+1FGgLmFi&y%
zG^fvS`Yfl<af-SWmXc2p>#yWfPCw&x4X6L%^m9(X;PhKk^J+2qj?@UZV#A_FxC`yz
z1>rGlRIwEHa{E4R-_Pv_V1EkbS0mhy@?+G_sgLCxoDgyjPKeP$PRDSHa$RvJE7uhm
z(K!8)r6z1=DYH`ia=oyFrOaB1@B(WkpeUp>E$aJW|EKx^P9J0xqeFb|xDEj_NjB(M
zauv7hK`$p2pp*HylbL8?Yz)A$2WTo0xG!sGnIs4Fa#9Wo?h-Twz3FEx0WoI2{yutB
z%j?geH!+GC1THtzmMfOA@gH`K|F6G~KJxPwx1*0RI*!w+EIb=^Uw<FH0Cw~OMk%9g
z<V0K?+~a9uSPN*&VJ!fZ_2zoCfOS{&u!Gr8F6Mo=9`()KS>LV4MhT;=@76<xn^Dv^
zdc-F@{HL6L#_1YP|HJ9$oPNP6difpqqgS!?(br+$$L;9xupi)dAIpP)-h9XX!gl7u
zYUuN~g&oY!YKWX>HPn{FY6v;cB-g_-i<j(T-nM_o-b}KR&E=qI1CqaE?EPGF6k{)=
zm1LRZ8H~WpjuBY$5^L>+X7uv%zb!;BXLJ^+k-SdoxP3M$Pu@r_qNZoR!Z|OamvFj>
z)2nI28#j|{IlZ2qki3Ptf1Bie%>COWpOR&y;7}>*?{mqQ7~wycti=e=p1X?EH#vQa
z)76~51G*8LYb+0667unK@?TEB;`D1yzv1*-<oP(Z@JMSp`VNt7BO7=gHgdX&)6Jaz
z!0A>(mK31%d@dP6>-k)=3p2>)x4%#7`CA;~_QTwMjN2Qy{Wzy5sp*D?FzT`VG;!L(
zX)E__=k~KaRtI<K<n}IZ@8<R%ZtvyxK5oY-c!rOHpmuKep<WJPZbGgE1IsgJC}vOQ
z_7rYU<@PjIRss%|5T=x#SaO|EhLS%ilyf?jl^(c|ZIV7=I=9bYZ;hFQxz8fye?5TF
zl+n4I?u76EBkS#>v#QR0?YY+T<Ozw9kB|_Ikzz<7B4YTEric;w7Gj7YA_7976ewau
z8Z8?sO#>p^@=`Y<qNThPDOyT78HmV<ltzt|Qq1PCIlPpCNRf7M91ezqp$>+}L*DE6
zBm1;H=bww4nf0tS=Y8Mvo*!$jIZsC|?QQWnqAAzV3*ooKRLR#Yw@aoMLVD_P%XPY^
z{PCu#^2eK|Qj4F!6MF^qA#&WuEp>l1FLZWFA<PQ}=4`W%*#*w-=&3AmN-@lFUpdF)
zgPfo%XWP5`1;voOP-_;!8S25tMe_9juZq@dMBE>LZ?2h(zaOeuh`-N^OY!&Sc$oct
z8F8jQ9-)40yqIXSHXcQ^SsPEFud_C;q#t{CTob0Y|Fy9hU)~Z=$CtOnwRrKCcquL4
zh?=RieBvr|wfU^M#$4;Czeui@F###QWNtEFHeZ4B)z>8t^mQS9T}WRSZf##%(}cHf
zsqT%p>bdWR5$k5rj*1_cfACZOXntsZ<nn%O{>A*n{4&g|sl&6HYwGbSv76alIU$PH
z*DS}6{#w&OEUm9ugEvujBC6yP%k+M0)~WXk>HR`_zmVQ9r1uM%xUJcN-)*VcMempV
z6Nkw^z2CL*O8oBbn$7r~SZ=<fQYgB8e;GZm=6E#`n>*lr+<~|)`I_Z+$#@^>^fI|K
zk(@iL4}4;a`oRCaRi4;mzIwu>&=daeOXQWLT%?T8)6S@+$_sbGoS;5IPKPJ{!0F#H
zUo`U|d%Rk{6{01$ASmGGg$K<#SnS?yUYLhGJ0xMLJ-wgeFYPleOSqzzrL+?*%U3K%
zphtb@Q1upndO^KKNI$ML2fu4$mV@40X};PWuBY9Bv^$V?2h#39+8wyHy=}%o^%;M9
zR_zF+1%Y3-fA!N=^&DsPz>+&=6ktP<p5sq1U=x0YHQM-Yl;_SUQU4Lre}uF+KRqjJ
zy!sh-;Cl5RA^pdnUO?;o*8PJ_>Gjw*QpU?iD6x8xr5&~OHsri;y$-KJo)iYa$<hZS
zL-avS!`tG(e3M3r1KNKaT~fc2(Iz=!lt_<@S~|9UUz|l-BaS!kHy<>owC{_)Mo+p=
zqq)jlZ9Z$RF`wg!DfP#=C;c%<e+<$egY?HB{V_;?48Gy}|JvMT{>I#Gz6twto{)0&
zmgW8C+vdAGu~a=b?(@E7dTz)cSf=NOe1t2D!cnu$JZ_$V+2N$+Q|4*&jCt1lh_dty
z=PZA0`Ml-7SiWHS6U!GZf7$-yxEJlnzIX&J2+xhOE$6`g5xw01=!MP6v-*MYFj@Y1
zt@?q;ExJ-Y>;LGbo;7S2W&e1T>>p2%{a@^jg%b!*1<g3*gd1RSSPb(*HY^EA%PF|X
zwWz??-{xpP#Bz>%V+A3NYYIC0jgm_`Qj*A%!gZ=n7Q1$xckTL{Y8UfQ8mWG!dbM`7
z>J`MBsC%kcS5>d5UDPYCq+UVl6{KE4>J_A3LF!dhpn8Q&y@J%MsE2A4b%q)RsZo#`
zwRW{?R8-&^m8lvPbybam)F?=e;<xDagOqC2TJ=RmYSh}*s!>saYgC~$8Wl>TEl*QE
zmHs={3M)R4^TMO%vv5K52iQ3zVP04Z7eq%aU)TD-A{Se)<JAAltEVOWB-%+!C^BCY
z?WQICEZVD<kXalw7ac%Pf2Myqw!JlKrPhh#;n8rv`5-(?5ARRWar$td)G~|X-_o*i
z2U<2r%LZRIUop3~|9M6WHLCTy>v+j3?lOO4?l#}_o%fk<nfuMR%|Gz0-qe}a+I+_O
zl8;*c&~lsQ<K_wTr0;pkJZ+vKy>B>c`6K`8oKrrweBSb3EMKtviRFuyzYO209YCA;
zS?yqIQEP2EEvMwJmb+QbwoLmFouW5}mgFh56XhuoPl4Z-9`KPr&)7#R_Zc4?w{Ybp
z>@WS~hfY{5-*%qwo>O5^KPf+C!orYac5{k)QMsYFQ?ej26fTJV9d@U`a%j#D`YUa`
z2YaOb!knfs9d4l4(#kC3%=Xqfo9R!q&e>0YqIJ$z+Iz02r58)!E?RDWMVrkvw86-<
zzL0iTtW&!D_1Jv30Q1S+^*r9h^ZyGz8IlF6mB~Wtaaey&{s)Qo$r8Nqm&xOJp*W!Z
zXUTzh;V+Xz<%P-Nfl*uIkuWTjBu6p|xji`!|Gzz1p}B^qsKumL(=y~I*W;sQ$y4~K
zINqGlzAZToPgTm~_R2+{hbr?yr&PCBCTHQh`fCmHyzo%_{Ny5Lm&4CGp{-XJX{7SA
zWGmXL_?PKuOY%&(MDtP~9^<`6_;8<Eo8;4KZ6K`;q_u&xHjvf^(%K|fP(xJ47tM|4
zOXeo?W%Cu2QO=VL>Rhhv=4<8-a@$DjRF+&z>!eb@ZoWavM(R>o@>S}RO7t6ZH{2F}
z8+s*oYCMF_nNdjY){H`OZ`ez&4lp*-_4~}X%>D3Cc-wNbwegO5(EOcwsQqV4cH=M7
z3GLfsG3{H~W1ZB#A-7tleM3Inp8r^9MpVCiEQcCf_Lyp{<fE29wA^O-xOt+zY|#l?
zJY9LpJZ+va&zc|kSLb}?$Cl4q{)^=cmOrt4(K7QQ$)mIbgBP9Cya@bK`H#|6mMFu_
zl5bF}$s4trr&FsXcjXQj=@m=Pc6xW&h+2)_q8|QLPct7cIvd?AkBti2=P%k6-D0^{
z`}`%X(YGx3cKWTB3!UC4lq@+K6~pSNpV{B}8DI`HOU=RNQ1h;E`;xDzmnsD#xhDg)
zQ!*pDCC8(?sf#0{d(3-7_+ydU^T%S^b8Mt`=jdA6bL>LgQMp=FE?RZ&N&V(NwC$3w
zS#Fn1T_;^5ye9)S9$CHX4|}NICoia9jZABWOr?LZM02Gd9!p=ZI-;KThXtB3dNNxx
zMzBt#^}d&jCxzQ#p8E(K7iM_`EOp-@+YvCQW2U;7|Ek!R<9<X=M^8cRf0m<Oo?}n8
z<%i4?&oDg|y85>@u(#9i^lwWn5Arp6VIY595Z?hOS-vwQk#pR8Ul3o<XE`Z(zFU#+
zFv)-IsvZaLJ+T`zRrDzuQtDGc`V^2p1*A^_=~F<WLa0-p;_)l$Q$YF@k6%&m0Ai)b
zuS&azuSl<lukg&tJegzQ;g5pG#_JSYdGADQO;jni-Y`tD72e8pW)nGDn^;GLZA(lg
z!iodhn-epMux*L0im-{fn$=vtg$Ud4hBhMUqQovD>B_`;BB?muydN$khBhVYh@njh
z-m5vix_w__IWbgM)>wY1{Se*0hq=F&!-ON#0@>`c1AQnb%#lLoNFj5ikU3Jw94SN}
zi48=_w!~(lq;j~?e97EozHGi?{*v78p!Y7mX6`V5W$rXzhr8%&D2Km>?-3s*|Hkre
zllb^{4Uw@|LQBI&B=##ZCJquAb^Si`Epxy5wn=2<{oXq!kr5e-LFQ@4GLy%1uVGcm
zt(KXmMLyiVD48T0wk1vy4Ob?+5)CCEwfv#wHp|C(N?SN#`J{QuJZ+va&zc|kSLZB$
zZ27$9zgWIt`4h_*Eq_WG_0~hYY<}6^Ja(g^;Zy4r4PjP$(-WJChHc4Aq9OSt8cObJ
zxtrx|%iS&KklXV_!+nX*qMq<?QNHDy<y}O>Lo<$O{u#NK<!@Q;-F|57+6Z4Iz0h)>
z&~JGT(Xik0e4?S)pPXM|MY1^1EHww4L*Z3w47w${p>x%n!{>-@=$YuIJhv#Hs!8uv
zyCz*!g!;kX6rqkxOTWm=!WL@#%_L3=>QCi`2O#gLAUSc$U~{xN2Ie?6<#fzqsYd37
z;c!yN_4A$b6Zn+hFgz7TI^}u<S%#eJKHb2OW?AE-JinL73ze3CXbyro;U<{xcvt9X
zm1hq0yu+RDC+39)t{LbkR->r!-Wo-P_tq&YFtSAVuuppvBUI`-qvX-ZJ*n$W%y*45
z$D8+?51Lb8P(5xPrQXi_I|2`3-24;Lv#8DDDs#2@thvUdHZyYlC2~*dsQ8+>!~B)G
z(|p~01CF4Mio49;n7d8tXxvME7)n7+WwcFAWmNs9|GLk7%iM3iZNA&y^w<jOV$)-d
z)J4gymOrq3*zys$mii~Qna9l&keOY}r_9sl8S|`p&OC2kFfW?aFvj%MFh~u1>}l!{
z_ow!V*=CM%$eXQxPhFG0Kh5~je22fTz?aFhe0kk6d|7gfeq}FilNZ0YTweTMo4mMn
zl-gOWlM~c(<%Q+2)c%_nCLj+F*GG$^kO$do(%f<lbz3sjKG@GGdEsBU=AY-O@SXJ2
zv?Bi_O45pm141pM=RuZfMIy%8v^dv@-TLc`PSF^!hsS_DJO=C$UUrJcfIT!XA7v5;
z|3_3p1Qb6sKQccy|6+b(e#-S-(WrRY{4&)3urm>g-x8a|Zf1A>%D6n-%J{n&7NS@2
z_xh{!7Y&sD-d!mD{j`)Cz6PN<JOlZ3%^YB=<_~c@JH#z~aZs-$KO`YbBh3<69G-*!
z+!ps~uU&Esoi))S+-C9)F)<aLDFvO;3e)mF*A>n6OOB#8R?yy!g>BSEalAR9{japq
z_gkLa{sXta;)A5@57q7Uw98Zc*Bbxzq4sAI^%}#_E>mw?j;Y4dBD4CR{4|=Y%+=<z
z<{DG&?;32_w78b`SNYs%zGQAPUp8Mcf5~$<Q@6#}%pGtY<C6;7@tsb29d4!lRf&EL
zcTl%Q7GA^M=5P6&rbu<0mYR_Xt?+-gzbfNCuG!D5nz-M5+f@5|(CzO*)(c3cw!nAW
zYoF{)ov&EDhdM90)$#|H4<qlx@0u1j)BaX0Zo&H`AGQ3U<u=R5;q$b=y5^*L$~<kJ
zflHY`&|g3Dug+Qi*z$SHf3bYQ@+X!rT4pq|cqP6pG8%!rrCq!_qWxX`hT314)&7IU
zFW}wejo86c@NvmqEqAk=jUL{My2}=fM$j<r?++GlqW#rx^DWc<KG&7@_nF1p)&3&)
zvP}Dn+#7j|+F#^CrxTBsu2no*x}JI?_IG{;m;=pHlhFwIWHfSc6zwm1CT5{?#jM|L
zBxa#!>YVc2qCBhSHJ?z;gZSj{S1NL~T-2yw-*Jr!V4X-CTFM2JJPTjo7OglGk;3XE
zm={#%ava5S+=fo_to<ankCXg9Xkf_Xnh_xh$uqpu?Bhs>o=GX}xTjk7J38(*1UWDK
z2o^aqb|cbN)0?M`(o>(&{wHQoXa^5Ym!C3sa;W`JbtQ~~|5UeK@7^D8mQ^8Eg<pp1
zx;;dqes%k#(K_Cnm}Okw!WarFZXc|rG<WgLoQ`)8y^%{i8v5teZ$Ane{XFcP<>*~B
z#h3us@GdnZ*XV6CDcjB0;PSA;{FPI7ny;JhnXTqwF`@>A<$9AG8f1~)-()<7ye5Mf
z0<jJ$Sf}?l^k>vp>93$d<hu`MddyRfmcl!qGA9!<7xJDqd_Set8$W&n4TN`2qXGVk
z2E=dcuZ$&iO>y{F?%^*W-Y#IRspc?;t01&sHz-<bTo-wTO*5Y%^ZO0z*&r9d3+max
zTe+qr-0SPdz@cFx9LM_95DjM~n>ZDY4AZ#&Y<R>(Z(K72R_Glft2nSOfBh};H2N9A
zt1m({kF}|xZX=(ZgddlOznPcJPf34T?Gn5!Mnxg4UKaHY;n^&5BuX!g&vl2iZzQK(
z6H^owqSd;MdS4YS(ulhGg4?JidS6A#a;H#hq9y65q&X#zX+E2Nk(8$c-;I-499F^a
zc;s9h9zo`tK&LM-r<rrjb>>s%bT}r&u+(*-*geV7Zt?!X^PW1w6Q1U(e@Meuhu9B>
zxTf8S&15626M3c&8S6l-1INOFTAlf1vsPy!-)}x>PH{TcnKm-aB&8(0;gnzdue;3O
zn7hq4&3)!u=6>^S^S_2L_-R&PgrCe0N6j|#xbJzwJn58E=4tbcdDc8<o;NR;X!|Gg
zBgzQzJ(z9g=!vrUw2`tnEHPWi!wT7J|5ogxnvxsthiTSUZpcBl$M5Uk;qmx7X*Y)?
z6Q+xm)^tfVe91D`@ExHd1U_@XUx_@_bJD5j@HKOXNj)cJr}?@`Jtw8rJS?i7L%ey(
zGWpzpsg=)#{qnZ`&GNReU-f^<3#$Lobk%?OxKrvxeBt&6l_Uv^!?)q2P!4-4zfbH}
ze$y(P(+$e$69<)3(#a_@IfdjDl2b@dAvuNQlq<>U69<)3NKT(PsGNq)&go|5G;!WJ
z-K?BGang}$t0UD`<&+e1`ou|eehc{;69Oy_W$>Rp_#XTIJt5*R56XkzJR}c(>s7@U
z-aZzfjHl(n5D#VqGtR_=ktrwdCh=qBi7<s80`Dm&!>>b?iGTA~{QF1MS`mH!1jV3O
zF<jRZiMaD4$XU`Cqa`8{DKp^`)d7A>9e}$`>Hsoz08$4abpTQaAawvz2OwHIuuOG;
z=N>iN%;P3?pzf;HtngRr0HhAUGv-;7IzY;K^MZL%jIt<2jcNiiT7uLBNKJ@)QuisN
zR(HeRW}#UGm#T)`U#S`bhbf1OiI5g!|HkMZlL(I7qI)V<9$2PWd0<&8nAr7z{Wk6;
zZ-|Q&E8jdMpCASAC52c?N&`<>DgQXIT0Q~w+tt`;D1Ryrb&#*4;rx(t%8#9*9~Ou8
z=1No7PjWj~YR@l`kMIVO7Kbqqe!;j0zkv7!V;VdHDzatD@(|lHDq2C`W}K|Ln4YlH
zcbST8nX)Rxst~I}tO~IzRAkGPJ^AfX6MG_KPl!Ds_MB29dqV69u_wfy5PQP&CiX<e
zo>Oc|h$SJGgjh0S&P1}>8uDD~-chmpW4Rq1(V&>t4?2$R+N+qgYd2$>&LQm0R1MnO
zRS|*q6&=yOqN8Y}byRH~Ra-~Z(otfVA_Z4&H(xV%n7=Z2ny;H^kh@8P)v6az8mzVk
ztF6ImYp~iHthNTLt-)$VnI+R452q>0AfwYIt|JhgLUdX^Oge?=loWId(J4fy5S>DF
z3ehP<rx2Yoi;o5%8i42&N~hJ1z0(|fr%As{s^z_Vy=r1_*K}05w;G)mBjkGhNN%{z
zatSPvUYj;ruWRgeSM7CIq*1&PufrShI*3L|K~Ko&2^l>>^aSxVh^O(_eI}lUjHf|7
z4WbqN8Bc>~1)`NFvZNJ=Rv=n|Xa%Abh*lt4;rjC?T0urD;hMAp(F#N>5Uqr((nPrC
zK2K70H%eL)YtX@f25DlTc_%D(Z>Nt-f5xRh<I<mT>Cd?IXI%O-F8xWD{)|h1#-%^w
z(w}kZ&$#qw<R#=^r9b1+pHb;2Gb3wKdSpruDLth0kkUg+4=FvQ^pMiS^CqQ7ru36f
zs`QZ3LrM=-`ZFp$*W`wx29>oB9I8IRlZREG=(F-WY7M`mb`Wv!d}>qf^C~?YZ%!cH
zb&3=`0OA2~Y6y=Wk|vPx1Bf3$`~czy5I=zXOf-RvCLn$Q(Zu70(gZ{k5KTZd0nr3R
z6A(>6Gy%~BL=*75i6)TI#N&n11f)a|O+Yk}`+QWS+^UUuv{h{cY|&rs8Pn_;)8rXH
z+@Pq`)K#(lSJxEVVV#J7)N(<o`>&-Pt$t@xa>HP!r@?>h0d!V7Oj^>ttNid)V1ScY
z#z5$e#0ru4)s4T8_Q<lAMmc+GG|JiY8NE8mBg`3anc7_VC3%|~^+BE<6~k*9@xZ&B
zUZ!iXs;=R;uv|>gXMi(9SQ-+|Tr)rMF04(wZ~2(z|1i-oe?_10f5OGd9->y{G)>it
z9M~>uTtR+voZn%*I}dw?IoHE9LfccR5!#+g<@C2ZoYM);=>+9;&jgLo_EaiIPfkoc
z8p5wzm9O76DMyf8KyvZhCOvu21U(t@<UJEKuH*jcdd_c8TDJq#vk8OsOj4xhGCkq9
zCv`0;lfr29oaR38q%aEkKIYC&&)vY>naGz$$sNp{N#;wV<SwnyMCMDQWE1Op>XZ9f
zsZyUjh($*9-@@B_{grQwAS=Wn-xxu@F@k(!1o_4Y@{JMX8zaa!Mv!%vkad@kb(fHJ
zmymCa<{o6kFPSywkZ+72-xxu@F@hhNd}D;nH%5?ej3D0_&0WWA4l?sNBHtK6zA=J)
zV>EX&D?=WiyOot8qD!qcmHd@8m5?=+&>GO1N@Tt$n%l%1V99(@H20v^wj-mBM_<6l
z&;vdu@<kEki=w$3()gBWZWHf#CI2tWd`pDPw?uQbo&%ZnC)|zs3FPZ`n3E|xK<tnx
zkR6b*L!wZ2K*kP<64@bID?22H$_}^X$PWA!J3#CJu>-^o5IaEZ0I>ta4iGzJpOYPs
zu>-^o5IaEZFlVUjfQ%g=c7WIcVh4yFAa;P*0b&P;9p)ruhdG(D1H=vxJ3#C(r>pER
zr-$qSU255ZzhVc79iTNJJ0N3+Xua%!j2-3-l^u}L#>`H#!)-aT1H=vxJ7lw(TECJV
z=ICo2$=CrIJ4EYchdG(D!<?bA13AxgpENK0>_6+q?5AZDh)vKsIYP!J(R$eg8Jk2K
zZIf4JlW3c4(yu`_;jh>PViSl>AU1*61Y#42O&~Ub*reM;*#sGzKx_iB3B)F|x5*~R
z*aTt|h)p0if!G9M6NpV9Hi6h=_7d4-_S3Qn#3m4%Kx{I5g={jrQ8s}twQRy)u?fT`
z&>E0Ukg>_^jj{<cHkrLmHbKTF)9YoEehsn-#3m4%bekxf%w~p0SIQ>H*aR7y%-$%Q
z%zj!nnY~RmA?K{l#Tq$5?Mhx)X#Sg-4r8?!wBNJ{Tr<R@j3FJ@^1U1H3;5m*>U*~h
zdLt10r5iDlFWn$tx<S5lgM8@*`O*#Yr5ofMx7^|ASL7Qv$Tx0~Z`>f?xIw;g%N>qp
zMZRc*e9;E^qAhHt%*f1hrpRkiP>u(?H5?RfM0W0<2+BS5?Ay*2>W4tBb2y2w?HD)@
zFKe6KUn?u2zHe*On#zGowElr>^o`6(t$%>}M&_i}KR|sWb5ig7m-N;82V~YiK-NEm
zlh}O6z*$-;H*lU-%0bpt&hF3Jmawy0t0@OA(P~P_YD&m@34ZlE8v1S6kSn#C60(|d
zc7OFBc0R5C1EgT&KQB}u<b}DAuZa1&fm+o5RlHthingmvv#L}ksMVrv)E~(_GhVBb
zAyYC)$si?zlnhcb$ZAnY$!1Md$si?ztiq1ht9*B?R{8FDUgd+7Z&nqaD*Cx9<sF+;
zN=PXorJOZUrF?w4N;#`arG%7nRuz5;Dbuw7EEDCROi{DSL<uO<qbpP<sP(9OR3>De
z5NQpYWXc376QoR#GC|4&DHEhjk3Ow3LCORvQ`D?74QNuC2JBavAZ2=Vg~|l|T$O3S
zdnyy8Opr1?`n1Zlc#X>R=n9nyQl>{&s7yRDC*=HRnJ9-=%m2+~I;k?vd_!e|veOxr
z37IE^^C}ZEWrCCmQYJ{5AZ3D-2~wt++f^n=nIL5fe^Z&lXDZX}7gVNjMP-`#hROu}
zT$Sne%PJG3Opr3o+^#Y`wpV4E`G(2_Dbvh1R3@I77Zy>b0@t^^@GvraW5Pk6k+{t>
zh6N!a<p%lZj3$)^QW{8UAf<tn22vVGIUwbLlw(Gd@`C)lMiKLyReQHz<bJg^TKn5n
z)td+;@@DeZxx^vK#G&tNzlN}g)+F?MNbBw^s`B+_a`NYTGYNS!33)R)d7s`)BJ*Z)
z@>i@35_vN@`Ly0lPHxtlN&d>4Nz!>USrx0t{r|oZ7KgB7jJn>FTPT_G(`c?TSDVk8
zYfK`=BU(S%H2E;mQTgP}B;?H`<jo}H%_QW_B;?KH<P&-`33)RKc{4frnBGiQ<><{M
zDZH7aT)deihrF4r>Z>=CkT;W%H<M6rBg^$RvZ^yH4V1#$NXXkr$lFNB+ek?7m}}lK
z51M!YDepS}yp80!?_1_=B=QHAc^gR{cpFKcc^k=ncpHh#+el>IMk4bz5}CJ=<de6N
z$h?h&yp4psjfA|7MCZJXMCNTIzv68qGH)Z1c^iq$+el>IMk4bz5}CJ=$h^0jd{OVM
zAn&apZzFG=8>K1#dK(FO8#(zaS`vPxw~<wSX-_2cHWHb)k;uG_MCNTIGH)X%e;)BR
za`HD3ZzK6FZzGX!mS07@jjZaVw~@%ajYR&IW!^?s#Sx=i(s>(6I`7UNy3FVVKV)<w
z_IG}0S;^Hvv(%*RB4wz&3$Mqc^ft08NA+;q*AZ_c6Ju!clsDc+R`pe@uyv|h1&AMR
zzo@s7J0@yWxp|mIm5>qC=3#0fxZnZTRe!HiyF@h!_6gw^yTWaZzR#+y-!e_(t0`aU
z?bY``^W4|hp8NVjqxI+ujn?7)=7Z)GctKxGbDu_YmATq{)?8y!10oJ7fnR%;>}$=Z
zBkwSOW$rXzHyQQwtY4eEOh)~r>^9$21Fum(DQ{WcZ@z85>nFa)U%%GZ+2pO&@&}d=
zTV`f}-ySvF%;V+>lbHejddg&G0GSaZJZpXgFKd2)l#eZ+xBM5&7c75b`J!d|AX}zs
z-XIQ|H-OnD^9IPoswrPZ)VyEp(hOVlwQP=j$a0IW(HM2gR~n;2#;8-ilKpG_9a!z6
zbj*u2Z}C|FmXPAVci7tfLlPN}gSYsN+AU6r!nDAW1;(o}f60`kr?&ciz&y|O&eGiC
z)K=wSYO6ddTI9DW^ZYhtp1g|`yenG7chCB@-{Ug(F`fI?$;x>nWM7DVA@+sX7h+$C
zb)cTJMy1Xh;is+f(+2oyef_k)e%b&(Z9vEk`Tsk|S;{f7P0!rzJ7xJES-M9!;I}G!
z{Z?hK?m-GU4hOF1_@Orcy8iDu?(w{G49PJh$B-ODatz5aB*zb(RE~Q*uctk9(ob9N
zr`7vu^?urNKW#ZVzNtYoIK5!8SJ>Sfl6<zmQ}bgGulR-grSq0*er)1q)wrJ@R*i$>
zP0BfCh3XwC)H_JMgHySFhvvtSsVQ)mNlihfra)>6q^3Y>3Z$k$Y6_&LM653}TTRMG
z${$SX2-p14@=?owvV6?^&}?)1zgwmTO^?HWvrIigrXE4+5u_eL>Jg+K!E@$$^MZL%
zR89H$Vbv5!O@Y)DSVVcZYKCnh-*uQRN>^Q&xJ$7RqUL!^HN&>$b6IA?IaveNi6P<s
z$@R4d%jE&n8sq`<SIB2sZ?N6O5B_QG!E*TlDfj_ITM%tQw8g3eyrE<5!E$>;gS=r{
zgS-LC_ZsXC4b;Le4f2DLu&d{R=gQKoy2jEF8$)aiu`$F34}YyV1<^G`%MkrSv<cB8
zJa3{$Wb_Dg{k~^%$YS@G26@`lz2rb-ZmMd4#@~?fH~kt$pU8~AY1<ipBQyS{#b(4w
z8_W2+YOu!NRr&I|Ib|A!(<fpS&XtV9tI9MAuj-^xIAjzK8HGbe;gC@{WE4(Y!zdh?
zQ8;824jF|*M&UfAnfEEJ8jGhL(pWrgug2n4y)_nxjKv{3STs%}a%4v2kP$g#L=G8|
z(+)EtuNt5cIb=i*8Ih|^ri`8COV#J-8&h6+)SNPU$dd6ZWNSuabbiGc9Wq9T){@5P
z$c)kHFEB<&W{h4nSY!06GL6xZ8KYO_Ym5#VqeI5%(FJ<c{7Pf=ssZ$?B{N1xW{h6d
zS7Y?50UD!M4b~XFiXE@?EvnuXR+Z~5A@Xv|Sor5ztn|ONLF@fHLEHJ|&9ZaNQP~+{
z=gKj%GsMo7`LZ)IcCH*CJ0oM~%1*L#CEqT?iL!I$VA*+gmF!&ES$5`1>|9wTJ6HCW
zogsFH*coDHh@ByJhS(WmXNa94c81uQr(kD%0Xrv7$<B$RvU6pb><qCp#Lf$6$<D~w
z8DeLMogsFv%$J=j$H>kQJ45VT*;{t5>?=E0eI+|r4v?K^Yj+>X*csWHk)8P!c81s)
zT1&DsGIp*kmz|NZbLB+Yxl-d?$=JDau<Q)6GsMo7V`S&ba@iRfJ0oLfWb9m7E<0C_
zk)10i%FdNlvhz#lW#`JNvNJMvM#j#s@Rdf0v2c}Y@=N<=;p$7WFvP+Y+6_R&!WCt*
zFftadm?#S)W8sRvvT(&rS-4`MEL>6L_bYX>aK!*wm@Ba`eHtuWQ7#KZEDW(Q#KI5@
zL)GL9vM@3hhFBP4VTgr!3Kk}^Vqxxyh3Wrc;fkrUFvP+T3v&$?M#jPr3qvdnv2aD1
zEL<^H7KT_DV&RH%S-4`1EIgSN_bRU}{AisljEsemtr=OEUtwX0g`u@13nOFUikY%7
zG8V2_C<{kl$im22xPtwNOe~D7ntVBGVK=JYvU9~u*|}n_?2L?^k+E~dOxd|&uIyZ~
zP<D>Kkey$=COcQu%g)Hy85ujjJc_kx<FRw0N6t@$F_yc+Z((QcD#eUjbOa0kF>2FD
zmzIY%=A}_sOzF(KLFU~c^KOuNH^{sjWZn%n5&xIUGT)_@C*?h?Au<OCu?FeP#33^i
z2bqb3%*4S@{oBvX%OaK`Cs;;gZVoax7ac)E$QqH5w;b=z<u!KGh&&-|tk;{BoRYBB
z{E~81MSYacNJ;Exep`Rl`xUOdUVg1a{v$1-W*l99G(!0|y8NVT-qGcUns;>hq2?W3
zen|Nra{1@F{IuqjA5wlu`AMhz$dn&aen|Nt<>$AQA5#8@T>jwlL&^^|H|g>Rm!G^1
zwl&#}2RjzI|8b|^6aB-g!x!gDBi;E*+e9M)@5Vd4w-H1m5RG*2A&qclu02H?HHUxO
zq46B#7nBeUPc73J?%Q?L^YCJS?`Xw-KmO|~bG7-bxyF1hgc+6c3v~KB^N>jok&?e}
zejqAelbI>gQ<N{rsPW&HQ%`sn^+YT;-{JZr8qI_w>ZASJR`t<fgLBK4!3eqDU!mA5
zM+;Pfs77Pa3HFo;Gc_WeFj1wMP^EJ4SIPlbnUn*WazM%fvF}u7EiAupl55iCyPah_
zDBtzG_JlDi&4igM4Wu;iE;v!+v8YCQk7_jfnlMqLFUaVN{5Yrdw#n)ESEcdsdzI7i
z+mzGsJFRh#h`ENGLTP-Lk3iU^oFdB;*%iw&IVFXhLV4Ldd)YjD**wi*KQK!<9luvO
zh2#{H)A8Gs)3D20-ld$5-=>^Ga!P(~2{{d#spHq<zEOV1ed_$i%I~<(m0zBTX89|c
zh2$5KU-+y^ev!#<%|7K9nfyZX3&}6(XcnSbNPfqC>ioveZ|wZW%I~<(mEUpSD8J*r
zQGUmLuKYssOMY(gyXx!tt#E#aE5GBao!^nl?>Kg_f)&nhh4WkC{8l)>71A$%CBKwR
z`K@q%E1cg7<(G8w3&}53eupc+<EoWkh<>5+JJR{BaDFSC-;vJmNauGXQ8>M!L%(CU
zD8FO9=hWEk%J0}0l;5$Nlwbaeej)mW=og}2NPZ#tol>LxBBNi3ej)iKo%}-b3(4=;
z=at{F+m&BPej)iC`-1X2c8l^mmVLsMqWnViOMb5JM5aA1Pmjr_PjGtl*UUYOwEd*a
zv`m|gOq)GMJ0t#kI7Ry^vJ)A+OV_B49FtA^hfK>Swu@@#`0e%Q)af~+*<TNC@N@h=
zn-reIx^$j{%yUNX@^k9^9JS#89_sv@4SLRKJX?40bM&qkS<m6O3*v8~|NM@3J{7E*
z^ZR-D&nqQ{c>cpXqpjE2D?nzZ$6RIhxQVDa8tt6WEHx?2QbT5`A+ywwS!&2EHGGb7
z=4Oo-xqiF(nz_ULmATV=-DFmqU%h9UxozZD%gk^iAGXZSXtW*7c8|HL(d5_@vfo6n
zXCHe)vGe-QXzT54<UB9TqSS@{=C8ti!+$PqahS*7m#TFb*-7jD;yvmwBC}gsLi6UL
zc1znwYbu%E1pAD!Pg-dYJXh2{X)Ux%CGp|Fo?4}hSKI%ZIf^-Sk$uu2`=mkkNsB*a
zuDoqbSN3Z7Z;8J2DVyVC^eLMYRgABDJ@XabwKFl8{!NHa&|6_wE?R3nm)+7JyQOun
zqqicN-O`|TOXD3n=U`RPDwZS$Xr5!tMa^@-T_*D!$h*xwe899&btt~bOt*5vZfWG|
zEz9hdM#|gff90Cb@w}b!S9spe_#4$Zp7Op)okM2-H1fdyX_Sur(~#Le4VnGZ$S3=!
zA+vv4B4$QgGV>hd<dn%g2QvGok$%=P`==#3F{7;%_D@T6W=2~w`=@bd_D@4*|1@Ow
zPeZ20V<~Dpylk?6S|W$u*3Lve^Ve--2GZx^dgiYsvws>g`=^cRO8-ML`==qZe_Eoi
z_D_TCp9XIW;ofheJ5<K#PIHin^+{oOwS@L~#cK35@B!)`R-=8F%<gK5GTL`Mf%aWw
zceO-0^U-Yy#yh%(esFU_Ev003S4;4APcr>rWO^==*<CF$RX#oHi}YtqTs1K>Btk&Q
zH*-S@xiBQ)Q+E17bAE@MM*8d!!CSmbQ(kx+xtD+YfYb9rUs8&k($gtDT~B&CC8y&{
zxb9q&@7~x`?wJ*K^v}{spB=K`g7{{b7rqPmCctt(*w^>DLp5y8eATe1tD*{Wfk|yc
z9?QaPe>ZSnqh@%Jnc;yCa(xfY@I(a~g_U%YcXJKi&0q0uh<8K08@_4oGv6}zn{S&(
z%%f(TdE9qnj);5Wo7@54g!m>rW8$00=gjlw1@oe)IXFm(Aaigq$3&wgoixsZC1#7#
zr7+5SlQmuJb)TGBM&dwe=wHuULp`LSXU9lG5Dh^zRK<Q+czLZfgp7tD8iHtubTriW
zZ_*Gl8X_GHK{N!>5JW=|4M8*n(GWyKkUEd1(GxOyg6IjNC+>-!AbKJNJwfyY(Gx^Z
z5IsTk1kn>jPgPmc6Qo=aJwfyY(No{QNly?xLG%<ArlS(H@tu%F=+)uDHzIqdzh}SJ
z9Po4V>8*_zp?93k$z{aqL&=rI>Ul}+Y}uTAUa|UyiHz{;lUp>xPwI{T+GH)Q?Al~A
zBmA{VMeMtid$iNv;NwK&Ey?*r<1NV+;_w!}>1C(C<YM|GB0K#-cKU<t^at7L53<uA
zPk+(R+GxIHZZcmsUm=zjX%>JyFbe>g1%S)~Kz8~gC+zgc6SdRdFe0tW#ZG^ao&F#@
z{qYob`h)EB2ifV5^0Lz(WT!vKPJfV{{*tSSfoOo}C$iHY?5>>9d#F#oK*alNaua<B
zG^3sV1|O#<A(@^2keLhM*bn9cAaenbxd6yq0AwxzveRF(nHY$!m<u5P#6WV+T)<lP
z7GtNs<Q`(6$ZQ#8r@s;PYOQZtPdsdn*{@!AAQEy1`YV#z=?|Hm{*rw3C7Brk?o1@)
z&YBTuY}Jgwvu6|)M`vkXfRyE=ct2E9@HM<*fmh#@I0nvkY|Qh%l=hufhvYlY_LuJr
zFO%=YBjh{rDEUr2LB11L%6Bq4%Xi{h`A$4vzJm?Dlc9VkeqO#4FO~0<Zj|rvt-5xJ
zTy5WZLB7Lx>-Y}DcObq4@g0coKzxU%<2yVH-+}lJ#CIUR1LZrz<U8a6-+}lJ#CIUR
zLr&y7FW7fpknd0~d<Wt?5Z~b`_zuK(AihI+@g0coKzs+{JMjehPFyM9f%p!@cQUj`
zdVO3Y--%iCD$U4uN;k@PkntU4d?%hS-+}lJ#CIUR1MwY*@30#rz7uQzH1coXdBMK3
zSiTc4mG3}&2jV-!%j7$G)%Klb@|}34e1{z)@f~D*2N~aqSIT!{?XJe1?K>~XcN*5p
zcUEnc?~FVy-ysFxS+!ZMD=GL6UXkauUU{LASVNl+7lahd3*%r;=w+6hYVr7L5$1PX
zQ;(b%s?G1goG=v5?pO`B5xILutJ@Q~(06+%WMN_LMjYal#-BL{dGit2iRw0U0A~{}
zRbEod<dtw3SN00urvJN1>wV)ajiK<qyJ0C_sXI(%{N1AWmyH|s<&pNa;^WvRjwh0g
z$8jG#4&rfelZnS6%i}l$+xP#uxyAg2xz$fO1c_GWyME&P<_G2<{FFbMADSPTADe$M
zKQX`LiOdh_xe>hs*v-V_kkJNT8_`A#pC6$Ub~B`<n9!ne95U?%GFlqDDZ1UH$A(Og
z4WcoK#^7CC-(TM%{mb+Sy|Lq=^hUH|QTPZv4vpb)V!8Q_iN}%hd#)^^-^Lx%zR?{t
zPDH+Dxm|K9NY;!~T&nfh*Q3?IY4W%qeI}19=QIwSWtu!LxmX@Y3Le+k$oFC~zHpCy
z?H03tM|&5MevAJ)-%*V7FiCmJf6Wb<$o8F;TjV<p)8sqZ4e}j40<A!NCpk>MgFVp%
z{)G<iTPxogJ>9-jD&P4rtHeThhMhKihp8;v?l0fLD<6SH@*VsO-{GG44tK+MAie`P
z!IYvE@++{He24r0+{AZ~e_`S~E01XfJ$Gv{@g4Gv??8M9;yXMA-+}lJ{K&+2kntUe
z??8MfIZVD2XUlgWz60?ch&Jw98{s=;{pCC3C&+h@@g36f9b{>#r+f$EI}qQ2(pXRV
z4#amFs-t1ZMe?1M$Lu>^rPwe{zLTvrrXs!r-!Xq@%6EFncN+Ya8-Db^EaN-K_)bH$
zd?zlF@2os#-|4StHK0Jg^GuU`=k9Cr9a8X}xKzGF3ck~z{T&l{0jKzw@`zj9GtUh@
zk^9?sZV5LyJq_mas}8SOv0q-Z(x<C*ohYxVza+1Lcny}94pM*jnz7mPn){06H7j0_
z*Q_j%*R0qiui*|;8N*e|Yq%#~!+mCO;A*+N23cN{ve%^SHK~8_nv}gJOJ2kMe{SM6
z$aoFJYj_G?!`)g;yoM*@H4v|Xcnwd%Yam_&@fwKNK)eRxH4v|fgS{qYuSwZ!QudmZ
zyyo8O2(P*83wh1hY<bO?N_h=3UW1I5?kkelK)eRxH4u$KyawVmD+}Z`^_S!|D>lh%
zZs!~j=|^7Eb)vim;x+Ic6R$y**JR0SRu(AY)L)X<AmcU2c+JWJc}+b#Nb1h=n%jLE
z$iFnmYgTNM*L>%QyoMCKX2lEg8dC5YtWz5L;swQ?@f_l4;`yFuIII_+yQVl&_Po4c
z$mK8^dgT%+jZR->t~Q@F*O<@2H#FbF_1n$Y%pK;h%$?@zCN|`r?^%A|a;s(RN%~>S
z*lGwXEtR7Ao*@_13qZyfhWPvWvMnmvGuP575IOhkPWjjR@&vMj3zIvkkYSGIH`!Xt
zz$qKkvF1VNHQRa3)|wXns=Q`vO$$_Bv$d81Dwo-skAliswsVv1d}OP>E)CNBh;i2W
z^V0c<aa!Xrq`%fUj6J9|4iI~hg1v_HXQzqIgnhr0fXuNCI-pgrgSOG@+!3zQ-)tLn
zi2kOiRj;4X>uifMy^=Sn891(I1`aX<2bqC`%)mir;2^7Bxt@77WM<SLb7_!OuY<PH
zo6|~HR=x6Vo>skHrC-Lg=#lX&`eN*ut5vV;bgQ+)Nv(Q?%)JddAS;YKLNAQ#>3@l=
zdL49#J{P~0_uYF{c6mBmcA<26;Sq#<dt6S)Ma~PW&AZGep{>Q2npg{BtwFP7tzjuy
zYfNWZYtTGdi*&4ojI|)vf>;Y;Er_)s*5XR6HE5o!1@W3e^JFc)$i!O1{f+q#&&pcE
z{f+sc6|&Zt&axK7TBKmDK`ZF1VIfAtT9@oK@r-)05VL(~3d%y~Wg%qr1+fssLJ$i<
zECjI-#6l1YK`ay{Wg&=#;Qz5M89V)N3o)OBg`l4+3t=a%guW&VK`exwu+Z?HvQTMP
zSqNgG(yp=)Ps|IOt@oGASK)%VpXE)K2b)8j@`~kR%P+(6v@xOnRYp#qq#tGEB(ke;
z`YA?EpQWEwi;;doKAgT6ef+so7W1L4>8;F%itH+!ew_JGkzIw;FEJnbr`t9%68a?l
zfLaNDOWy*%WNtEFHeWH>RhWCSt1!DCva2v;S7FGm!jN5sA-f85XLc2a>?#b|RT#3X
zFl1L@^31Nn<cD2_k=a!knO%jE*;N>sU4<dL3PW}k=AP^-4B1r}va2xpXIEilb`|DV
z>?%wOy9y(-t1vRV3L~?tFfzLeBeSb8GP??=pJI%Ku9%}FKa8{_v#T&Ny9y(-t1xnR
zm6th6$+^gvRcF&_mrOhYnZ1QOW#J2dPXC&*k$%hGzUj0K){=LCUV2%!O7)VhAht^N
zm#tEzvQ=uBY?ac<2OT>=r`Z3Xy%l1sRFP~2u~lk>Y}N0QY?X39kl$(yF-*3C*a~7R
zh^-*DqSj%n48BY?u@y45g4haTEAEV~Ahv?o3SujWt;jRBB0ty)8CxM^D`aeijIAKH
zg4inBDO+)8Yz46u`Nvks*ot3at7x}ug^aEEE4D($R>;^28CxM^t5kp4Dpe|5rAEkB
z$k+-QTOngBWNeihCR-t6rPKsj31TIPm7+tkQnXiA;#XKHIv^{dpFF>x$P4#Ty9zx|
zyC7;q&iA{R@2Z`6vR9yo`@}J|(2Vp8Na?S72>Z~p-lLuyqz96E!&cp+wf*rj_0t}i
z6^5I{)YKl$Bn}uC#+l=}rbbaVp04>s(kCM?)~*)tL8nyvw^J-X#2uQ|(@V8zg@3<U
z>hF<<M@-^0=`$?P<PNoAg>&^2bG7-RiPw-@yawVm@C~k?uUSj-z^o<wjk()=)7)pi
zW$riMHi_%x;a%V7ee;OZnZe{fZRT;48B9`6ny1Xu<{9&>dCoj<UNA3;QI>R~c}!%i
z0GY>xSbp>#&1NEFmsGR%#eludLbC|As3!?a%wfv2`h@Uq?z}X*$GjJ<E{a-+-rM5m
zNLi*HpyoGpWh$7oNKbl{5U*A{7C)~R_sL%Bdyul+DYU+%G$6mAe#lcN)S5wl`_ze0
z8hZ1m(r_y*4ol5pkfVexe;+37eZ}FY$ai#%DkfS^gKh=bDM@?Fw<@wgA`AP&6Ir5D
z^1<k=A`3N*$U@&=d&?hEWP$(Z-trd|S^BJ3WQq2w72vlUO?(7-lSyPjCbF<!J&}cb
z5?Rtp6<HvW1rk{xkp*gR`3s6HP<zW?P-KDHTmFI~3wb88kRKuoGLZ$D$bw8{K_;?5
zA`2w4a8Du&B(gvvOLSC`1)0dguM}C1DzYFGS&)e=$V3)oA`3E+1)0ba9am&w-*_Sm
zd%_c0kclkFL>6Qs3o`x{omFH(&PBeY_!9B8gh_lsCceZe$Cob@UsxMYe2IhN3tGwx
zjaZCt`{2#)?-#lcmhW+6A%j-Mn#h!GbL|&};YMUmI);T#$qQ4E=X>U1L3A8BCltXc
zicpIi6`|_JIYRY!gz|2rPZlZS+~vJfAQ1-=ah@2dh=Z(%!>a(3h(pR0^C8Omg<?(g
zwWCatqfC){gQO_R6or|-53z$^5j!BU0}?wRu>-zo?lXxUr0h3|9mt9uMSA0bOuT??
zCh-E9c+qc%;sx?4lX!tlynw_DNW6gOP2vSI@#3y)ju%1k0-1OLi5D=(>`8f3(M@K)
zd9z6bVeW#+&Z&^Z5#-*mXG9!<#F6WBVAp5A;4tOiaimCb<cX1rBak=(Tl6eNkSB{A
zL5dtfiZo(;vPeB)_R)D7^X^v!S={IdQltn%3K4{q2CnI^2=Zj9A_&xPwVS4Vq1b!q
z6^HT23HwE&W99Zkq~wP0n4{q&ujQT;?n3rS1)T3Yt-Y=20CVOSBKr947XmW|czG6U
z9$I;y%Si>u_;L7xIp;&+Yi658PAY($R1l?@H|84VfsvU3hRpqnbxK#69=oD)Ja(ny
znQQ#aF?wd$;AhtBnS7C}XKJ56$$DmkpQ&?@4h5ZnbSSLTGlSMyaE+cBHt3mQgPsX_
zCVN-unJfLwm9)m0ly;EoU13Ne=Z9|awvIa31-UTf!zR_B$C9c$gFaK;xnsLpcgUQ3
z#$lrDFEdUPWkt?T=(2<;D|rZWx|?-&!mT=Wxui=EW@m2iQb4PJdlyEHR8aOyAib5Z
z`|>kR5QEDy&Jlw}&Q5@wosdyOA5Su8CuHo?*$I%d6G-9g1Z2)mK<4ZOWX?{=n69?}
zj$`QZ)r?wnsr+zuLeF04QZi>JWX#u!!^JPC2f*%{oSi@^I6DEZGC4Z|nX?lhXD7ht
zn9VDs1yH$OG&wr~nX?lhXD2|;PJo=909oxoxi~u^V<lezikzJQb#_9D&Q8cUrn3`B
z;p_y;&e;hWt7$7#7S2w9oSl%diMB#y-{BecVUKmLvl9kllflWM`X-Q)a&`jOb9Msc
z>;%Z!36QfBV6(4z$2@5M&gAR_w87a4kh2pgBWEX&tM@H)b^<bICy>tB3FMQr6DSvF
zCvZ>BPC(}D1oFn&3CNtCfXvwm{FSp4kU2X6nX?lhXD2|;PJo=9069B>UvYK<GG`|s
zb9MqUXD1+Yb^<bICm?fn0<z9d7|JZe;Ee6mK9RE%x-5y(RF){i<m`lueY9HqidKtX
z(P~NN>;z=aPC(}D1my0PIXeM4m$yfIB2G}?x16Am(HwDt0=!v%%U6Q)yR6j-3do$G
zfc!1XoS=Ywt7T45K;{I6F6$#sP=K7E0Q);v1I&SDsX5pjYI1@?mqXNDm4($BU0SKZ
zl3A_MWus!|V@btKNX%StiSaWQi8w(a<CsR#->--`K_TM=?W#)02?`lHBaeF$1Go=!
zbCNkh0htpNx*Q@NATu||vxo}Fim{J*@1riq6<v{uO2}0GL7%1nKdLGE7H9GEnxT9A
zg5qs*xZ*9W6Pf8(`#jM7u)J^wGCM`V`JUtTUS)TV)QoOwliJ(fh3etM@ua+=mKM^w
zLRwcio!9DRs+|kGa}Zb3ev-b+r2Ryu{e-likoFVOe!~6c+a@h1zddTUnY5gwoG@uQ
zx&D+%%ZYr(JZsW&l5*ap<wU0RsW;SSLSiAzHfb}FTSV!JJUe23?}Q@efM!L^5`Ebx
z5;2qNm;N%TGmk_fW@fn}CNdGT|9nNvg6WEw85b2XGd@+s%v`64*=4mNX66P(%;Yvj
z%;auGOsLalb}M2Mr*zuPZbi&wqar5MX*0VOF_CrJ%x<4H!~31~`NSh4X349Hm_!yL
zCix*^W`CxLiLBFRhALt%m}Q$xQ^cecI&Eg7A|}*nGaD5#p-!9G=!iL75tDKeF`-VI
z*{O&Lb=u5MMNFvEW_BuKQZAh~Q=y0nb=pjYBj!k-HZ#tr%~bfbnQe-g$!bN+<TOQ0
zN~F_fb}M2+BIeXlikRqJ5!2__CKoAUQc|5Zvs)1p>a>~NikQi#6)};UeGL(lD~Xtp
zng)rOXoH9eiI|j;h?#s<5fhn+iA=;qCSqb8A|~Y`VscL+CNdE-IZqK2nTUx@#N@9;
zOk^S^G7%FJF(DBX5-}kWlV1@rk%^edL`-BNCNdEdnTUx@#6(ua^eMcY6hy>?M9j=`
zMa+^{6)_<ZGufz!ncS&}ncS_2iA=;yY6ld_L`>3&n8-v-WFlsAg(4=uC1NJmDq<$r
zD`FN*SH#Sms)&h9#6%`yA`>x@iI~VlOk^TvrdDl>L`>M<xguhcw}B=R6Pbt!iI|Xx
znW^56%0k4<RG&vO5i@hHBIfr_C}Kh)=G^^?n8}Tbn8{ZaG3VtgVkWmKVp1X^W^%V8
zX68CY%*=8{Ok^S^G7&R#og!vtxgut!`cXg29H59f|CoAHnOhYxk%^edguDUGikJ&#
zITH9>hlNdwn3+2iF=3q;azb}5&Iw6V{jNNZXeWg%<PjlZUXQ97$h{q5?+j_kB^}W=
ziM${l0Q15N@J{#QI)#9o<H(y6x*`|(S9!kkK&R&g^?>ujJ*J-S7=4@H)v_-iF*^L;
z`$;Ahqobr^bmaXcc@IF0p3D9PzMdG(Uy0HDl^6|)(U2Go_rauMG%_(75~JY}|CSid
z6WdH;G%_(7p7gJX(OgN4hG(2Yj7BC#bI<c8F&dc|&HQp_$SENvF&a6?Y!PJ{@|<hk
z+~Tq3EpDxHL*E9yqm<4Z!E3!5u<unx@ItS>g^J)i9l>>0{4a^8IxlR6BY2}Cc&`FQ
z@E)5L!HLB>FN|HO;88{JjQ145lgAyw4>*D^aRk@wb6JuvxQXDbFtn@)zSa?Zts{7=
zBlucJ@K#6gwT|E$6~PNnID!vV1gGW`!Eaoq2#%}>K3oxe&K6m04r|#d#Yji+osQr;
z9l=LBg70($-{}ZG&JkSa-m9dF;Ej&pjgH`rj^K@s;D;2!DVHMn0Y~ryj^GCz!7CiW
zcRPX~a0EZ_4-vf85xmtAywwrBRS}%XzQ>yXdjy}S2u?{A!CM`{TOGk$9l={2!CMu<
zxrPW151Q0`WFk1)Ac8|h@STp}yB)!II)d+Z1mEche!vmD(Gh%!BY2}D_!39(Mn~`^
zj^LV$SAG=1TOGk$9l={2!CM`{TOGk09l={2!5baHTOGk09l={2!5baHTZ1CFcJ&q&
z!L`c`o~8(1ctQ~zDuS<d1aEW%Z*>H3bOdj81aEW%Z*>H3bOdiz1kYLH2)_0oBKTTG
z@E)5L!HJkeaAYDlk(~&ROav#L2#!nyM<#+3Rf*t`2o8zh<cbIm2bx51WFj~mY7)Vd
zM-{<2xr_+TDP}})WFk0mnFv1f3q^291c!>?I~~DyD}pC=8azJc2!6;Byj2lAc~lWR
zc}fu+nFx+d1Wz7S1W%q)1Wz7U1W%q)1fSz~fl0q%LneYFQ}z2^RRo{2MR8)zCiQve
zUUr}Ng8RG|+~>VO^i<@{@tkD7=fyeeoRmUG*ny7ViyW!%Hb*!vFYvDxM6F!8Anp(I
zLr*xuzgiIAhMePBio&24qEAS|r@ZGtAK$ak?ZhC<cluXojB6@7o)shC>1&>HuJXby
zq~!T-MInhi$@edHisSw*7u7fKi2K)fbiJy+Iq~;?lemve+=tUyJK`wPg%hnvxxTxr
z=eGDOaUT-*A#oq>Gl~1i#C=HIhl=}G)i;N2rsDop$Nj5{`&>iZhs1qI+=pjP;y&_u
zlemwJm3X_@*(B~G6Zc_`*&@oG<hj`TxY;_p+4}3^x2K1QiEY^@^iCA=P89M^6!K0K
z@=g>!$KD3L^iGtyIo^pv-id}odanub&b|ZGFL>mV{OOTP%sTerFLQlwozK{ot@9a0
z-CO4~in_PYXJpP$_nzx}&-K0M`rdPO@37GKUgvwSV{|3E=Y=Xb*d>WWl6Bm>^_CiX
zH}OY2=lMtl`Dlv1rcLUX)kxc;6P3oo6m5^FQ<qY-I^u)o6q7b%`U$le)5qyyx16UW
zx(}x=!Br-wE+Ic_a_SPYv~-%5Ku^)BOM#X^)Tv8sl4|PIr9ev{>eQtaeR)x*E~RJ*
zM4h^nQcH0EL7lf0U7}qc!My96PTyzhyrmS;U(|U^DKw}&aNZJke%~_ZEg^qkne&#A
zId6$8Id2Ja-V)@zCCGV8(PiSeWX@ZHoVNryZwYeV5<F*e-V!qBEkVv(f}FQR-aa!q
zZ;5Y@Id6%1RL)z1oVNsXOm-B?Vn0FIg19Mi-V*cToVUd4A1qz?6){dS=Pku4TfM?o
zAEyZQNQENQ^b_)E>@w7TP#Ajir=cMU^SsZ0UKnfn8R(sxANCyHv}5kyT?vfAAMT-g
z4pq;usDB5k=cK4^U(vW5nLZt)ZbRxeRNcPfx_w1`I%L)DE3VsDT(_^dZeMZTzM?hy
z{OSbLuGOmB$kc5}-G<a{NZp32+gDt-uV{@v@<q{g`-=K>$g0~{T(_@8Es~|7G}k%U
z5CUZ^cImzASpFD|#HZF#2Wr#Vp_j92*fGh}c}Vs2-IOu}|4xOw=)tkDBlKg=OXnf&
zpq^ADmQzneorlDpBYZVfPHmB_^N<>}>loB|NOQI8SYix)H2qcQAvI{%vBWy{(WVSm
zFYMtq)uqHl>XP!)Xs$9>o6nkS%;)$*Jw-39DN#i)O!;KjF{ty9cF_wHbso|#dSRl@
zLz+pg6LlWaOln<4Vk)&xXCSfb7%4gri9KiFa%x>gqKR53>O7<-YMrQE$LiGEN^GXS
zDTQ6fpw2*QqP~eb1F1>9Ev|XTJZR#<q`d3=v+Eeoecv*>jv;?wnO(=o1G|oqXLcRq
zKI}S%%&ud|>^g?bu4BmTIz~R(bqtwZ#~{0oL3SO3>^g?d*>wz=UB~zpyN)5V>liY-
zjv=$_7&5z#A%9|-UB{5=VI>x-heb*0VL^5sOVq1}mDsEv7G&44L<2o6?m&I!SM;zX
zv+Ec#yN)6245TJ{Sd!UwEU}!v)ejPD=v(Qx>^g=_i^HcP>^hd%pf@PU>^g@0Ez9gW
zmRJ|j3X{&RW26%!GL|VuWUN$-fb^}%&j53vd?_lmJlG@(@K<&nOTR`OLC=aKHLHmu
z=$XEf^2V-X39s6G@Vuf4#1E&|DVjX&J&-1~sE-5dM0z59xgamx1}C|{kQbgp9vE&g
zH9pO8^eOTCxV-Q@DFs2dEpm&L<2k`T?wjO<Ow#-KdfqJ|5A?6@^k4JBO8+$liDE>G
z32Mh+XUfq_HTdQn^;4qZieJ?W6~Ewka{{C4UW#I*5XB%-3{K^GpLc*vEQ7={NGyZI
zGDs|g`%GdPGO-NOPl5DPApI2BW*#?*WnKODjdWreB$h#986=iLVi`Pd63dW@Wz`E6
z%OE9!#4?B$VG+3<8TD13qY|@4>56WV<3B__H|HqwPuZYe>HXfD2-Zm^>fOi%xnU?Q
z4iCW6AdUV&v5)UWiG6$_O6-HgKEB{2_8}Ada*rtX^}MRs7k}>97d!UFj(xFXU#!>{
zw>b92ihX>kN$i7)eX(L+%+6MpiG8FK`{GX(>G+nENC$~@kVprKba0JHjEm1H#zA5n
zB*sBv93;j;VjNVAiyh-)$GF%rE_RHI9phrhxY#i+c8rT1<6_6S*fB0vjEgmv)ZG-_
zVn?^w(Jgj#ixtJ<ujozauS79qMX^{>3|UbuRuqfBaTJRc#gG-nVns1zMX}gXOkbKx
zRup4LEmKj99konFu~<=zUnz>kieku$VzHtavZ7e5D2A*k7AuNT3ZfV!ib0}Sd|Ht!
zzNp9*f8)p%D{>(#a>a^V$ckLCB3FFQkt<f@;#Wj2NaTV<uAWyFx#CY1xsZum$V4t=
zA{R3C5}C+_Oyr6`SLA|3E=W|0zj9QH6_qBha8!yFmB@plQY>E{cR<kx;>+U>5O;>*
zxp`jWF~}pD8b^wnK$FUwOGTeS9?J~!o68zUoEk@#K_SUs^TM~yb+9HRq0dr_=E}#T
z>u0H*RquB4VEIDOx9oq4>X{+<Q#4h24Rz8hM6Zyu)S|g6U$ju=i}=Rf<SezQo{=R~
z&3v#2{jE%%R^nV=Kfmp=p2>S<o!_=l&#csY0^L>540<O09X<1spLxm8)Qa%xz}h-~
zt2N);LC=JGX7DqEo>{e>NPH{L9BS=cf97&ObB&+5&d;3q_i~1HerBDYS?_1o`<eBA
z=5jx?!OvXdXRgsR!#X`Ptn)JmGBO><GYdn~PmUpb{lk3cA}0*A+y$~<3Q^2^I9K?D
zBX*A>0wNcn|1Eky0u|p20^@$J9D}*O(y2y}IG)$4l@<^1PTrjE^cjkbVYYvZPWkI^
zNh#5(Y5b}Qd7xHNaLw<X@;CF6`KkZ<nR!`M{LL#>{LO1s{DpUtK2+^&G+e70h|Xnj
zT-rB!mR2o1a3B@TI?^k&Y9aFa-N{=NwQoA3RSTpnR}R(Yl7ccS4oQCx97w;&U#AhN
z8%Z1;vS4wjhozxEOgNe++}h@bk)-5?a$hsY*Yts-J$Ly)$fAj^Ra@C<gLDbmRf_LW
z^v#>TwVB1LB7Nt^$-C^&{)N9A%nI6{{Wz<H>lwe?4YLD#Br$qI-`#sMpLjYt#eAZE
zH3RmfAF3UoUNqTN3i&0IU8RuORSIfXsZ07M5dPfcn?Pi~354t_#Z%Zbg1c!ysk1~+
z-T#l~hvrA-$0j>T@mF?|g6t&4I-?sU6U)SIW_R70l}C@W+6Wsa53&A;GRl(Od$P(=
zGWJBaHv9!(mcIbZ@)v+v{sJ(|UjSyY(j09tKc)M#lN765*u8@FEz(jpy$|#gSxXT+
zNg@B9zlOB`sb4Vz#jjY?ESWu|kl8~j*2)iLRy=VB>JN95r`-RB=Ak$<3LinnN09M|
ziqD8#-^aFj9@FJ@)TQC146-luaiq&}%bpiXNiX!=Q(oBMU(GZ-nev)Rp%`A@?}k<4
zLHniP&EY-fr8U<*9PZctCiHL`%~j@Vcu@PBkiNz;HL7#HRx^_FzWIUEsY|3&m*8dd
zOWudp5ks`wP%%703=!#L+;Am&hZV!_p@uf*?nq(QPHY$Paz&NgaJPAvsi=}02EpPm
z3EmRALw~1`^^GD4WUhr?l~%#ii{Yz*Yxs9t#9kQY-@j8R2>NOuQ?oLRFPW8r%*sG!
zWgxRMkXae1?-U9=D|5xOGFLn+bA>jRr)aesvrPI<fiqT2zEg;L;5YmVkI`y(eW#G=
z?-VlqokAw<A^B8G7#+rMxL&K^A*<jc_J)E5iXL666fwqnZ&*rK7<y7-PBVl#jt{qm
zq*G+wLVHGDcno=vBS~TS7P7xw2wT;chNIyQt#C{8>3H31^yLEHu-)meS>9p(%G_zb
zZoX%>!X5f@A$X@-NPG>u<j<i={u~a<pE=DBe+~!Lu7~&Z<wExweYpT><4LI#iT7&D
zbHmMWen?ur-h-9*-sHa)yR6xYaN|}c=-qc7mY^koGvF7Anb^K4@hJYbGBJy<E|ZB`
z<YkHPI)x{9Zb&TQ$?Fre5S_nH{8-mGzjey*xE;#xn8V61@<l>wL->)OoR+wsXfmCV
zdKjOXcmTOJLH`1oXYw_EN`JX=yV4+OnJbl#?637~_ygLREBI)Ff4w?7%X@cbtq&Bg
z+cEt*YlZH6!#tHMt5J6%h0-B&zpkw+5%N5^JMle!bvUt*9F!-%?-VqeJu87mNk^ku
zuO^;=dlOIk{!1;_o0K$bTLQ1*KFhen!~~`0N=i)%ewMXU`XT*Cuqv_ADd;M@O(r6R
z_`sE`kjoRREkA3S$dI)=oogsvPg!ZqX|+R{K6ew&C1sDx_kv6Ig6wu<<=^#{JgriW
zo0X_Vt0$y8Qm|Xr8QHDdCFzmt@i49-k2luHhR8f~%pO^CbZ=R5jK4)hrcB6K^1d@6
zUC-%sMs^voSx@LTRZl?X9^Jf$Nw>MGXWi!V4Pk;hS)trV)ru)M#GwE$I-nL6qV4+%
z)Q{@4U7nFTBnxJ=$bzZX#AM?43YGK5R@sqs?1;?sqiOcf<0>a9bEwtZWYg3o*%Z!)
z7ZM97^CnrA6qUb6f+uzxCi{|tWw{2+LM#ihETrU_U&*pugJrn`mL(l6kV45Ic_tmp
zl8$9bq4Z<&r9o1#EGdoX^s4NeIxG8<f_?cb_Dx-qe!Ju=Dy1$<zsS1t<#g_FL#!Eu
z`wG;j>9k#XA9s}~{VadNHn2GS5Z)}`xOba06n02A5Kl<IEDeQ|(hx*Lq|bJGE%GjD
zD>TVw{1x91ZPHEHFW(3U<r~~V(dRvtG8|DUxrXv(Y*6`-DHEhL?B}N|PdZMyZ-z{1
z!Wrc{oF@`xHz@AJFgFZ0v&{Zx4>QfY1Kt`Uct^+e`c+Dv5&FtAMxBypgaPsfWR-HT
zN*2l(Zzmh{gfdv{)9#ByC32d)D{Hgw(ObVjri58rrQ0!26C=BFm3z@yOXZbWOMPvd
zybl@O-sk8D(QSu5&*-UH%M!K3zZLSk&W-Xlh&~}62hnO~i#!e)-9mf~DvB&sE;263
z<B;(J($O2l3m~~3bxoQ_#=juhgm@N2{}BB{ys2}e{pg@QNc#yq&&9>zC$Q8bCe|v1
zFmi)R(`lkS1yY)fPSQxK%$~AAo-(RuqBexE&fc*>r5U+U<><6gB_Jj%*PY}YTuB}?
zI?FGRc@$TYqmc{c5#?v(5hD+%B|xTR$aus(oLv-T?a?6#6Vi33CCbYULHF*oB;2TI
zkz6Qyr*D<LM;?(al6A5=DO{VZSH6?WmG7*tY>Us8V`T1e!)0kB*&uBs*U++azu?oQ
z!v@_oRcS9;uKOX&lBKd?Xpr3?7Q5H>A)PxRQ;M+0k-b#*AqAU2tid&_CF_}CgPzG)
zu0b+hoI)7FEoFxsILUrJ$r`x9C9GFolBKdtR%e&6KJhSqla!T6!6uMACWonP>Gjfj
zr#GbatWNknWxF0()3%2K%lI%OAj)v}LHT}Slyn@;($nsV^|Z)sW1><|BZcQ6qtA?H
z=`&iQXOhA*qeapxDQG8JtH=uHLwkGlwEQDlA+3>)m!$SfcQ>3;d?lrh>i2@8EZ5`t
z5YLDBJj6fJHc7u+xr~wxla@)xS4csRko=QQEg&6@lR~-6o8@h!pnXz^viEIPjUWX}
zkb)N?Q!gU#0+P`z+eGW-g~+<|dRZuKyQ1vf2NektqtY+xK6t18R2=SsrGB@3t8G>s
z#yEWz%<YI#N#sf1qjOTovwR~gwM_~`SF~H9h!T~^8qprPK{U|T7%FQd&dD0_Vc9-$
zQPv<u*0?BZbn0ts47W8d+782QhjFq)Mv3B0G*T8Q-)0MplkRCF(LH~a?hB>+WR7%S
zzE`?OM)wfiXO5EYlbxjd^4-!s>1Zg~S-K}3-II>)`7OF91>I+sO82Cod#*(HQH69*
z9?(74pnLv`?vtIZ^=j+8T1vggZ`p>IptC{z_aWDUNueupX()t!U0>!~yAK6DXh_I{
zlbr6j5UT9QHPYOOCdGv?)qY%~xDaMab78JD*Xf)*ICdmMrtWm|yf5#3DPO4LnYj(J
z^ta4XSQ>7ElfrG5Ghv==N$<Q1zg{GZGDCqy%gba%NG^z#*ss$fSq>@}8=Q;HvK%Sc
z31TORC7`_e3uzXahd}fgwn~r4Xt2{FN0S}OX?dA+$8&Q#Jn&)uTO7Uz*<sD{T6m-M
zf-aP!Drp3H9?xl!Z$NwlVsVI-A@_z@7Gh0^1tGReZ=oGdHYiH#;gRpkE{S0(|0@Xz
z#Z74=8Y*otrX!h1svKPNwO6H+DCvA$lV*^yOxif<1o^u#)85?GQKg6UbGP$K4I!_o
z^YY`=1o?4P;21Jg+T$sTAwwNQhRTnlLdTGS^5eUYIfe{%3>oMcQX*}Wj<)YU;TTdP
zKTfZb=1HOCJaLs}%8!ixNmumn{%w@;NA}3kK^`&Ma<Rw%-GT~!hdnhnB$0DHca&?b
zJ>-;0;SSPAhYZ-s+8XRuX0S?0?*)rMECR6z#3GP<F>_fQ?rlJAA;}PQK*$gkXVdJ@
zX%|(Jw2L7_nha&WZ<+5~=KGfUzGc2|neSWX`<BVlp^V(B*2U6L)T(>2u|b-D-#f8{
z%IDrMBsQci(^W&*Sv?HlH<`*&>8r|7>8r|7D3|`zDs&apy~d~?kmg-+(&nijkTy#Z
zIBg#H$mbrVp%=_nO$v1?L9|_7kk(1%K<2K=4ayBNcMA2k^LE>IyKTE&PYcUsTYiP!
zxRP7)D_M2BtV%j%MaHUW^56z8C=H#=2*xVO(B&!#?56r2FH(JHP8kp9E1?3us@g5f
z-L>0#uD71+t*3g$6>={t)?3^4)^@$MU2kpITif;Ws8FBY0GE@G?g+VIlzCmg4>>~`
zNPMBY(vGRrWh!Gbr81I^UdxuKjL4J@Qm(`o+^-LbH#&b+&R>=DSLOUoRXs@@R4(Iv
zvSwnx^Ey*`B?ZkvbOzBDB(J>N8q(47b>rT}o+s_3C&bly0>m~@cdhoFs(q(w->KU7
zsHTU99iyJ|jzODMmO-1Zd(Xg`()qxd`g<Zre@}GQ-yx-px5|4G`RYX``pSC}9)%|Q
zc6htT>v)}NQMpTb-RH}#|8nc!qiX&t&6lHX)ur6f1*Yk#p|>^M*Lia-7!>Q-gJMd%
zjH`;na@g5ru63Df{ky3yd98mv)8(&~R)?Ln7HU<B(o@z&t?q{`-PT&Swbsl3Pu=^+
zXLVHh<1_c(C(n}*AcZtQNNIpTQwSl1@GC$_A%zf98bV4#2q{0(JRt;1D<F+fBO<bV
zknPqiMYhWakws*?$W}IsG_sT;%VK4_h=^Dzi-?GbSP_v@`hB1G+#e4Z{pk0*-#<R#
zbr0vvoH;Xd&Y3fF=iWQd9LW9zYp4V4px}dpN<|-oN~H#US9)YQ(lX$X2Pj(ME{l~Q
zTCq|@D^`+>DJ#Y3bWnscB9w7}r4O+50V%CZM5p?wl-4Juw0=iQ>yxUhcs$lju&z#&
zh>TGMPc$oHq==T6N<>Dw_~vTqHPTT!>xlFkI6M^mG71x=w!t4ruYto)kq*BC4sUf=
zW{DVuU7AJ5nSc+fhXFP1c*pc5YmD?IYYa7hP5Pp)NnZdVUGX;q)NS@9j(t(=OPnhu
z0{M?XW<)`^1Fws$f!8T(JIm*aF4P_=uMS9gwNJ|9-HU#zXER13%k5{m{VdnO)-7S_
zB`m$1rTHDDTFKI@-TInYu9@X>S%SY=q6%1|g!L7%gq+2ch5GubQG_XkGFyz|s>kB)
zviZHyPMCRRwG?N+g$B;Ek14q?euwx8?8n`)zeoJXfJ;@4Y`dwh_BX+`)IOk8mwNk6
z;7xWL;98LZyS&Zxqrf+aq};V41L>#9^FzY3<oOYK-UEEaejjkNeF1Q*eH*!J?GLfH
zcGgJ|h$yO?Wi=<ThIipLj88Rc7*l!yLgRp|R0MFeMBT_7iMN1_fMev&rCXh}9d|2e
z`;ZILcHEDk?LGHN+X2ybq@(RU_lPcfZkHY)9X$X<4|?vh(E~vA0G#LnIMD;-qU}ie
z88-2k*q4!Vz`g=_-TnpPRlqCuF9FZk*O~Hb!Vd_419$~dSNMNRcoXo9{X62f2!GEM
z=%(jU`wsDs01w%B0k7L13xs0|)Pxq`QO72Z45Wtu-*MuIhXGGI@L|2g>A;jkz%x!q
zz;h19ZqJJjRwF&HI9&j*JKYE;3k*ZS(5kIE38Eap6@&?*>BM*G69uBzgbSiGK<Eq*
zdICfb5-vMv9U$sSxF+{ZiSI(54M|}sk=iP}scqsFfZ_?6^n^@V#ik_7DmF#lG=Y`X
zCC;js<gFDv@t6R3>W@4pIT7=m<b=Edsg7}P{S^1sPsyo3D7%C39|(66ew9$X`vmsG
zh39SJM~Hu$xcK`iJpIBxm4;ub6B_+j{Iyx&2L-ne0rKoo#dmwurEoJ+E<uMD5L<-^
zCDEp*M_ed+=^#Ga=>ySfr(5Euof9~sibS`nNc<7G&>C`OER~2qA_dy+oFv-roP?2+
z2T7l#R3mRY<?RxAoeqe+PV{d;k++@lc2Qmt<!u*voeqh-PKPk!q-7DdtWri$5`Xs{
zYfX%rltLLbfM`<>hcZTrjO2GQ5))9aNjZS{t^=dJ3;qX`);#(y<H%l-fgQvXScLRq
z1ZkD_As77xgj7JprH<W2cH&z5=Ww0``zm0Hj5FZZAfe61*h0!preF*q9sU$flQ9Gw
z<EDF>jDv83lSn8lwZr23;S}+?FrV{u<hgkrbJRlB5v{IKa|ve<P6Oom%LzBd7dvE$
zMg}dBesr)zx4;oi67EQ!kb*uXmPwz0L(j;CUH}m_Iz%LDbm%Wp0}#Ezy$X8MAz7jZ
zQV=x&5j6nOGvp#_0Eg!RqL<)A)BujC0f-(W1$_lXyg&-#MTh<pDF8L0O^76<AUXhs
z0XvCSIwVVUKnipN9MPd$g^XIAA{x?Z5*?76Oo$i(e6qkWRMG)Yw0T##f*!}cWt=Pu
zdw1ZuLLDZGo?v5Gy-O>tzC*Ny6zB=N%Ft7%b+r9%u|1x~!1myT&cFi?NO+BYwO90q
z6le=O%)Zru!_w-Qv=kPFE%Ey(%K%S=mjj;SoOvSLMEoK=b1T|AuUY1ho`6mC?iV>K
zYxo9tjd}*@HCzRJihWwi88s|D=uj<f>@ZK-2pp{gl#!SvW2VDW88aQ0Lbi-`jv1^Y
zrMCqf!MW^JK`>4*vm@3$kS($9foug!vF?6^;)A0^lbXM22-pa`Qs%g%)uPn_cco3q
z981`#Lp?}2ij?ExiI@SQ;SMY4gDa%n3G1a5$w#CW;QSFe(FaI?ZjtgcEU7k#hbEsE
z4}CCEJQNT*#~ca|O}-%>iWGP#AUqUMJhVYP6gWH-@FqFop}^sxfbdY1g^rRhh@S$7
zpC-R2eu`X-&j%C5TLGa1K<F{~g3N2ckpUP&%4P9f;PBk!YvQ@dH^g(1l1Ln$n|zy|
zyM&&*Ts#-K@L53k?1PD6C>5GqNW0fCMt#b~<EZs|LSb7-YlP{uSzI+S=HcE7KHKp+
zeRiZoCsiPI;ysxfH528cmPmSmzEi_{wHiK0@4->Qrv)8e5X%k7rR>cjyF(+#!&Z@v
z=PrmF7#pw|_BvrRaKcW2s4db({HN<tu~yQZU_9tsVhL|Nh<@?32AWl^Y+c(uBLrTD
z5dyEnY`07mH_Lc<2ymh54A@IKfHkU$Fo$q9;3}0yJOgl{>Hrwe(Oo9JaXr0ES`8hc
z)kuM-VP6St$LuBJgfkY-afzywW~pHy;Q+!c!a;z&sHqDwUv#)2viokMrcBH@OdYjR
zM~7M4F{uqas0R=_!ZS0}7B@q5)cK^$8tN=HbxFJ!_%*;2)Ym2PR;2u%@I%0>;-N?p
z-JKFIQ)k7$0L9AZsmDu<G*@NxhLz|ME?J}IG>cwj#k5c*5{e(;{42s#!fe8F!uf=v
z$1c+2@XIo@gkKh&CSA6_g_y8g`rY{j8QVy~*nVJ#cuQi7cuT?+(S+S3ng9-6g9oD;
zJkSBkVpJzxW*gVAjq9a3s3lEm!%7CVVZ{Rdc6Owme#xw1IDLJ$)PNM!khIwTPskfC
z^&kcI1wS;Nuu^JEq;CR8o$$EJfL@dqU2|@RSBjR~sO2{5w~d-@qh?*-l$IiTL!0o;
zX24TeeP|$2?t|5+?!aqQGT<jUW>>oLS)%4j#$2vWtz7zJ5&fiq9>Nt=gsXT!#35B8
zF$Pd<S|+PgD;KgWAgP9Tl{LJ>tdW;_@t!mErMHQ`@E%qg;7;*Pz(z!ZV-k_|dt$YI
zE2zy9(WZV~tcDcWtM3`nCQ_h5K+#}{XfX7FSS`L>JQp}LsNWE)AqAeR_lq_=mq{${
zyjEf{;8mm_5ijn%SiD#tl!%OUL}WljWI)6L@E{@sM??mM_QC%<;)uvdfxjaKn&@0@
ze+d5LVilx(1UN(DGI%foI<H0e6^OVD2%UAVmbeTY8Gwk(o##nh2980{xnAtrd9lQ0
zq$CpW2)I-<-MNWz`G~}2<YGkum?E`1-H1;X7+x+K5O2^t2?IEM0ys>ePm8TO9+Rgp
z`n~W)`15|Xl#x2B>S;X-FsfGxRMVLvF|Ee+A@Qe`uJ=U9Bja^2Eu2ORmy0F)ZlVn{
z#fHFPL+lv81DGjZWi6*AGsTAS{l$i1uI~V0G3*AzVtB#<iveB*oG2F4`C==iz*c~;
z6`<H^qSy*JYy}8gffKd@4qE}jR!D(;0AU}bz&^TEECUG30Kz7KNCJd40AUTCC)UvU
zVhyAu5{ET9Hi<QKA+0e{tbtru0}yrqgdNN~?s!VLlB=U8j;~c*3$1c>nFP(%P?t5T
z4)_Y%p+-Fje5G;#`6R^JFM751i(V6xB(5c%6zwK#5$z%caV_y3Mjh@ZARRjHTOd&<
z(P4DkB07cy#GCLj87JWrGER^JePd?<I>w#?bg4E=pA=8<w_X>&vEC5BK^tn^*=q>M
zLiTBudH{G=Mnm(Yce9LZ`>eDSyB}?+KU-RAc07;*4*-tVVLt?8+3a{E(htG|q>b1i
z!B_^4)~U6OE*r#?%`;w`Z=I^mXiG`6=xz#OEnw8@MZAW%%o0(nKVX8i&N(fuh#Zyr
z0Z}uc%y1jn^A`5Jg*|VP+VEv9dhVQ7i7d@tIh!eC9c6IE9a+bjxrCCYQc@Wu&7dT{
zljHE051h>yOJ)>3!B&<6^6nDzI<$m&9hL-snm9%UW_{5H*T}%pRy<h}om4aW&XY)j
zH<DJVgl5shP{61v2SmF8S1B=Cjp_}^-F1v{_>kF=ihoCZC}AV}Gec@d3VbMGo%m4P
zJoaz~wKRjRSSo%KS|ffFTF+K2rA^#tdQuhSuVkGIl>>4i{ai}~4B@GT=q6-w)sQOf
z4@IQ?p$OVM5Ztz;*=K~?xga_A8MGF5!>LVZb^H~2={#z<ULt{Wih5owV;wlgH=xMq
zC8OLqMH#(h1Un~W1jnCo5(&k(`7{8h(L}iddx83jDhKVTQQZJ-k!=^SHC41^GIAbA
zj?v_GKBu@yeO{N@Ovx_=0!sU=^=w}r`&u8<$~?9*kL}B&?0jii+)`;7AX?UIFEx1`
zo;w(|MXek_>d-#qTM==`eMYjBbuVSzOIi0WsoUPqx))2`RwvOAQlKF~=mrp4whv0(
zp<7Znpwyk`T5*+fP;1o6B$Tn9s1OzH7TH_1TWE<Asm(5udY~uKdx^wVyNG({ez(0%
zW+D6a@QZ*u!%c!i<B$3BiYTv0<XM;5`Wqt8x+e0h+ak}pA@Z!-ydNzSd01&co+=S}
zTm^T8yoFrF&^F;sVwLa#%G)8@uy#-nJ46q_p$9<Jfag3PLdG@GiM2!OQP;#@tgWJ%
z@Gj8|AT$G*f-RV2(NFk*!dWNqs+-b!K=`P`w{}CR*l80Vhh`AlP%~m1EC3ue14qq(
zs2LFsb*g68xt4Z_NNpGs;+>3kA@1G*HX}V%=IT&7#<a{AQT>cSt1sYUh;i+sZ%B*u
zjle#7hv-vtr&#aiyvKfOzT;}~EOm>&?}IOMp-;S*9_8H@_lI!rA$=%eABxzA6852l
ztuGNTQf1P5y<1ujh}QQ!j+XU6o1#`9f$F~qWmM6RwS%Z9R;i>tDrpb1p4>uvY^3xe
zN^hZtwn!aTxzu6p6HCOQoq8H18cDU3R7**<)NdIj716S_lw{VbY^~KmNev<?bQmqP
zA!(KB2)K~D;`Da4Q?#je2HHgQg*Fk1#e&tMO*Mn<tEP9p5nhgzgJJQ`{i02Ltr6vy
z4pG&$Su`Onj&f$_b0^&GN)7aXXc<zSTa-%8I=4i&b1TO4t0{X1WmhB0TaZ`7Z&ade
zca)=G6=ND>r?Z|BYM%7LdD(_vI*bp_YhqL2@JrzEOF-108WD{-uSw0R5ys9<qI;x3
z_kggkvr9bE*@K$90MYgl^dSOD;*}%ZD%D8<*x<-)lj?L896PlSAm37`QFU@U2}D{V
z(r80yL2`<uEzr4WnBHLDr8n%n-y3k(fflKqVneLtYShSP=vJ2j8hJA)ZwBSfpu7_C
z340Ia&7eHSDoBzxmr>pf%G(2PkQHqW+Z@$T5+4D`XV%){IJ2Nz^rOdC&IR*C)4<aR
z9}+0~?#>9LVrBv0(#LwXqh8u!=duO$Y(YIEz+%xcq^)vy)%vpqPXjXcV9!n3+$8m5
z_=}#mO6);gL7iC3$++FXar+AOuz_`M5IuCyVa*%F#@%yR^9I(ufi=IvS)D5uoU+*r
zIecFeyZuq?A&?8%qNwY8qmZ(gUbm1bONmD<vFk8d0d`v}Ya6^X{BMATvf2RtHq)`%
z(B-@<m?*0aq<@d_G+?RR6#$+kCsrQde2=*onDR52B3Zl|dv<c4(8BwK7U{j-D81J!
zd7sc?|C+gSpTHF!a&Hj-Eg^gkoWCP3_X#bcC!|16x<T{=9OGQq@@}C;tfgBVC<Rax
zLW{bAcMdJQb7+yfIXo+hV=iVBy<BvxSMvU$MKle(Bj9S@Kdck2>y5mBXmPp$Z{eN8
z7I@!uXz@j^sA`nNQv6N>p=fsn^}WLNkDf^RBxiyZ<X^#<_DR=D3s@?`QgMJQdGBFX
zGUi<i?pWe&3g{0$B;M0R@8Ml9aPinC(aM9D=siv1Jr7=z2%(nJhnna^yeGoEhCZpa
z^qvifcnQtYcJZDXl}q?2VKre2V3cj2CjJb?!JqM&QQwdEhAzuje+k>=l#kF2IprgC
zTTb}^#3>(ulL@C0PA6={8nzBSlsN)|L+{EdACQAnJ^(*Uh*Lg*e~u8Rd;tGErqB#I
z<pZ_gln=nK5aN^%;Qv5~Q$B#>ln+3h@`2jFMu<~Bfa8=8K%DXch*Lg7r(;g}xF)B3
zAblSpPWb?iQ$7H3$_L<EfS2Wz4@iESI8ONh{%zto<pVfQ`2Z(Q`2fTzAAmUJ0}!Wt
z0G=YmDIdUb$_F4$`2fTzAAmUJ0}!Wt0OFJnK%DXcD5rc}!<SA1uL+b>K0>$Uln+3h
z@&TAkh;KF%wrhN|35aht0ddMl=(3#h5xSwj1wCKGcd&xvl#kGDi6L=u;ZKP*#S4Ic
zLF^){7}zC~vsEUeKWz@*fz2@n`r_OE8)Eaw9<ez_8f=cS1e*iG=76v{AZ!i@n*+k;
zkr%|~PIs|6A_Z&?Ij}k4X9;0*;IKI$Yz_#UC*+9DQ44Gi_!UCf95`$a2%7`K=76v{
z>VnMyVRJy(91u1Kgw5>>_uCxlusI-X4hWkA!sdXmIobf5L-O0iVRPWHInrTs;IKJ3
zVRJy(91u1Kgv|kAb3oV}5H<&d%>iL^K-e4*HV1^w0bz5%c5UwPWEVi#91u1Kgv}#+
z#O8poIUsCq-w>NSJlVy*Ej9-Zn>#$&#pxn8cld+=IBXtyL2M4YbW>57rkh#|NSouE
zN!Z-#B{oMefz9I%h|RGEh0XC@C2S4|n*+k;fUr3rYz_#U$Gs#r$FHVAB)-Ok%^?Ri
z2mCA{Yz`bY2ZYT5VRO9U0Gp#0*c|XHgs?eq*c=cx2ZYT5VRO_4n*+k;fO48o7qK}Y
zY>ts5r}^B#mxuDLDaJX{VRJy(91u1Kgv|kAbF=|Ahvc`3!{)$YbEL!Oz+rQ6!sdXm
zIUsBf2%7`K=76v{pq%E@MQjcTn*+k;fUr3rYz_#U1B%UWbDZDiIKR!)e7f*7pDto^
zd<zPj1H$I`MFrR#5H<&d&2e@QY>qETG0yQdDQpfLHn+OSILCLMusOa0g%yCq=5a5H
z&0&{*+yNNEIqDHc_(wP+b>q%WKdv9UsY&#Um4N-YdKks^Yd_V1luWL0KH!Ydg=hWn
zOs}{BY7*)hz_WgC@vNU)a!LkLb}5A~Ccj2}H{m}LzE1cJ=I$f>7s6J;e<eIdc%1MA
z;kzt#lJFEERwt<C3?Wu0z~3W0NB;AK7YHv3)SU?7>A<@XCKDbK$T-=ZagzFr>jE8!
zBKz@a7f<}L3#9j0C-wb!4o;luhcVd76MtIe)C;@^HiRid!BZrsUf?Y^j3ryn)x`-Z
zJoTcDr(U#SER|w4CMW)s@YIX8KREHHjVJz;@zjg9`%nC_H_NEAXUKTNJH?-2dsY*E
zmT(Q>=LpvlV!YY&c;ZhzPyA`+i9fA8@u!t1{<QMMpH`mu)5_B@_VP50y*v$LFHgf*
z%+oM-@HC9Q7@5*9Iq|2Br(v}5G>kT$hSA2;Fxuo~0DEc7i9c;T6Qhl1Vzlv0j5eN$
z(WVZdg@5G4A81?7%GiOiDw>zGGIn6B3NB}5?B$6+tvoBEjVJ!J@~n(Dp7_(svohLv
zRz@4o%4p+R8Erf(qm3v2wDGKrHlFy?#uI;9c~(XnPyA`cNR~eSH|;BDWwi0cpH_@&
z!EwF<`Y0#<@T>zsIq|1SWBrNKbFk(F3{L!M<+&McJn^TM=Vr9YxfymV&&_D#i9fA8
zH=~Uw{xrv&_|vR=LfTrM__IMjL|jh%*`OaL?w|Mr9y#%6gTxV>`-3<Fh&Tc`fbGd5
z%qGks%q7et#Mv4+>qk!f*&(q8r~Jr?KYMxNPb(r0dMzWyJ}e^!Q2g+iM4V8ve4A^Z
zkneE;7YoGK1hUrbr}_hSVr1#YuW$QtEj>jgBYg^UyQ$^CyQvolKTm#}Fa+3-@6L5%
zEW>C<$|yIAjRf9JeF1QS68>(=A^bF8CywJODgpQu*4U5j;dwwhpLdY?65Vv6jBi~l
z_iuWl#5la4Fp&^34tOzOsYE*9(+CmifX@Idmv{#p@eUC24iNDU5b+KW@eUC24iNDU
zu$2(;4mjc+AmSb13Bq>?5$}+Kcn5fz5b+K;;vFF39U$Tz;CVvCJK%_Sx>DjDp!BFx
z;vFF39bg7vx$aMxNq9)o#h$uG><I`}=~|gPbc5JaFA;kJE*1zo%mzb0<q&ozoJ?3s
zIDyb26f5=PeoH^jHKXLMx6nDHp-y?P(>jkRiLU@f-;v{@?{JRHDZrs=Kxi89DZn>m
z)ex573Rj^!@<torw+a6p(rQGD@i_B=ICKg8yTqYU;LvEeSWb%zj~D$R1)2jqPYBHc
zhvoo(i&C{Z4K-fYy$I6@`w*i2;i(u=s>2nGD1mQE8@TqqV<U>i-#|=|yH>O_F2WuC
z8<;gzoF#YHNckS2*t3Cm*9~%ajZ$LI2CQ8L|0QavlN|#<-17n65h!<ffQf`1(H_17
zY$rgU-KpswfD^c?uTg^2v*R<xvjNd|=m}a69TKfaR)AML9=g{JqI;xIB82XNL-&B<
z<x9i@n&(OCm0|(CS}Xtv3jiL)+H$K{AbeQ-7!X<qgw{i6MC+lGqIKZVI^cOi^c6U?
z4hXG>&WP5-n?&n?>4eZa@V>}BCt6Qv60HM5>w2|l9q^#kF1nAb5v_-=i`IdoJ=j}@
z){z3O1ELK`N4<cTk;^>_q(jqy&@>=49l9=>285;op=sR`UJkfL#)-pIxuMSqj6ylQ
zf109tLElr<7{DS%xhX2llu>|9j9N9y0bavWQ}~<+zr>Cjw$moBsUg5OiDlx_)Ck}w
z@r8<5W)$!{a-s(8FdA?<<IhS}iS&JPc1`F2_MOm1`3+d;@_oYpCj1GZX!oc_KSGBz
zo>~AtK-d@X9nouCn&=f!+H+D5BpgIIm{8hwQV%5@26#uKoq%YkZqfe+{E%1x`fEeV
zYTDtP*a0bGfpfILIeDsv+#eFc8pwT*I9d){iAP+we-7O29&HrM0EcA&VHxbuz%qca
zjNT~ce1z^mHv&H*yi548z&J&?2%PfGt%mOVsg;0JI70fVYFeWc;ZuZ@m>Ul`lygF@
zJ10O-I*;*6R&^>=AY;Z!moWo~F#|XmJo390_y$lSl`iBsDd#vT=Qt^s5#r2~5dw%2
z0*Da;D3N}mj1b`GfS0QCgwO|Yj1WNB(Ap{^#3_&w0+>#S5ds`7w07uz7%hcjNkADP
z<s2d9cD1C?KIVN6zF`+C;RvY|`(XbLBLq-vQbIeFNEEW#!~%e@03bAN@og7CSOBmi
zYA*>xVTdDBxTijW_YG6%<vo;xtWmDVrvPsv{vyXij_QaMzKQCr5lsV%rc*@6_9@1t
zOwPe+qGR-3beu--PZLdBt<-cMYPyh`E~KUlIj3fFPR-<;nkkxw4Mo%0qG{lw={#yW
zPl=}UsOdb>v4s=K2-69nW28vi@<qp?)1qTQ(QzSlOzqm|#p3}b@=O$60*7Qk=o0&=
z;?3qAh*ElUDZSae%}~lX!|z0)hY7q}o1*fep(*a2ST^w9O6JrFT=_hxiiyVozNj2R
z3vd-9Ql7*Xcw`n}p~Mz=81$+SNo+w3k=U|LYy;oQNB@>Hwv<a$(UlTaFjs5^JStHI
z)<skSL{tI%2_ZaEH%L^`D<!G`BB}t2o|cH7^dZp`ptNMUL>0h6gorA@rB%x%ssIiH
z+#*p$Z(~$BDp3Xdz6StX7**DB-+Hy^7%AeltLe3?8CBLXs;m>OBlkVPb$knHqgX(<
zNUYFXBv$Bc5-Wh;C5~93w@9qe+u{}h9>sSvJ)y-M^(bIJt{iie4SWjEPRgO~M=^%v
z@I8zim5JOzN|S#)VF$n(?zPmYuEd`NY$8vNa)6JbWOHf^zw%P);TM%sso^HTbkvp#
zt|_WFV47GFcT=LBVzC+4m}8hS3-FYjM+PVn;tkQhYNht8sQoI@EZ*sdz43m(So#f(
zvVa8wMZb8b?JdAI(JXLi7C7PoAhd}TXb=z@#M{X!0!5oRX9;=)ga*}#IIIrQhJI>M
zvuN$F0UzXZn;JC>cnx(|ql%cjkgy!Ei}XpY6>n6F*|Wvshe+8fkiA(dy#Wqi0+ik~
zi-)MSY<m-1-NcqQv87FHT{BzP%+@uFWg)X4Tk#;RS;G<5kNVAFOS4o5=r={4Bk2T2
z{&IPagz@nZA;un7)Z+kCR1sjNDj}Q!m>)B4DpeKJVH;hjo&hYC9Wsone*#RyPL<Mq
zU`>fcupD^)4KNd5RtS`JNha<pCHE@fHGw(<Fpn$ueB?_cg66QImvLN3zpkW5SJIa&
z#U8p)o?7aO;pKp(T;rFEk0GUrDW3vl!~xt0yfS<dum--L)GSt912}<EdZ-H{Oc#re
zr52$vrqmP82gGmX5&r_<C_drnr=ABsfimNuSB*D;P>o%z5|wt|gAZt>!|yBIAwk7U
zj>4BD%E9W|Q64`yz>T*g)m1AEaJYKW`hj)E`k{5!`muG+dfz&4{kL_&`iXVX`l)rv
z`k8gv`nh$*`h|7X`lWTv`jvIv`nC0e^&9Jkb=&&Tx?_E0$Jr4(-cG>xmYwZn`$0R!
z?q;XjJ?)3=zV@illF*89M*PY6AI6_o7TWkC{wdUXR%z6DLxms*-@-#moazHf397G1
z!uM#&b~lwNlJGA5L-s=|8}j<9!S*P7l*)lz{F+^8MQDY}4QGTi)KJuMQstqZAF5&T
z=TRGep%_}g$kXZncV2i4Culp|5#z<s{gti02oI3a71hg|k<4gnYk6}+Qa`~6iEkK@
zXY1c1<s#BUTrb$_cci71Je{(!?~x=U1v46cHRCV-*L+Wjm+ztOm$r?$d(|QQe_DER
zSK1}dx<4r`RSGn2Oz^(9W$4f@(kX6F?zsG)aQpjvue?eo|L;6np9GEmfkyw_)aiU`
z=Zyty1Y<0`r!;1=0r1T}YCQhor`zyPLlaAowhaGl>(kb!m1BM0S_f}kZ>?8h>r2+(
zsfhLW)>eGX^Okj5b+mqDy{GzGckPhsXNT>u8f15{JHls^?5=8v-QDhiC&+0w?nvxj
z_QQA^zPH^+<=Yu{jv8Z+vkTQ^XS6d;O$jXyJ*Ub-&xby#%0n-PUQ{!~eZzfKRk&aH
z5j88E8_rWT;c?-|)ZFls;c2QiTpgaRqT%;3?iWP97->-r@n_@Dsz$Uu{r}$nun!BA
ztRq@+9l~`Sm+ax3!zHo(16+3yNiZ&~BwVSuGH_+Xjn@3}%fcM|r}8CFcr4879-lQe
zz?oljFYT9+a&j#W@~xKw+>`g`{BLbE<=|m{JN{TXYY*z&-#(w$U+b_d4=Z;sEmocd
zeOk~bqOh_t7uwLN4V@B)UhQlbACLb_am~Or2Ui0w(f3mK|1}tIPdiEY>K_Su7qA1w
zz6R_Nu@JDM#0CR<hu9KeXc<bZ1a^kl7+~j!<pR4Xm^uMWB9*Os0z-TRHXYbaVjY~0
z=tBb55DCq~t&k&h*hCMZ!Iyw}!Hq61y^QC`ke~UhI2#9am~(VM&*nNOpjW9B*7qjr
zdkqq7^($c8iAfuFq0Uw2O-#QH9q(&HScOD}RSEueQj!?F09ZNFTKu#vKDLcm6>@hH
z8x8DrKlcq{>yZZEaOE8&Cha^TnEntLMiz3P0rsw7ehWiv5n?E`)PQJxN!`?OI6<?&
z9*$GcXXrZIZLHOstk(b2KfUw+#PR<oU$^R`_m<PA@1rm2n^v4P!%DIG0}i()0@hi}
zt+m!B3vELGpT_zj0lkiDSzEzheR?hFuetOxl|wq@($je_Y3so*UFFV4Snas-PLY45
zPyd4S7?;KfBc1E#?-Ck!0jB(HGgIrHe*P`;Pxt9hknZ5o>U%7&T)MvslYZ07*EdQ3
z%B36C?tAzPP5Z4%H-8%Mw%~(4?FheB?#sJK+RKmXFWpP?&c(K>eEzqYKiZ?M)O+}|
z%m}sCd-=NVo_suGCmr;sR%rd9$8U9H{xdFJ>G>{bndNt?kkbcm-dL)~ADb1qGIcoD
zhd9^AajuVGuE!az)?1jhJ7d<)!Fxrr0)2_I_NO^(e+IMmi+Dq*FXrf1I7h$AIeH7{
z=)dP2y^VA9cFxgX!CLjS`UkFwcgJ6d{|TP$S*iuQHe-~m@T*m-`iy#6<*8THtGGw{
z67J$k)R%FuQwGj|RddugamQ1qWEIt@zK4;yO8s1G^*1=vHUa0pcGUgVKkG+zq56(4
z(`D)>daj<QE@C&~d38xI)l1c7y+W@*na}AR>Wcm<#!`a*CVnqIRll##>jM2VoXcFO
zZ{gom{h|I?KWRBuNLN^4D?!h&I$BA(%1X6Tb&Zu~rRis^K2{$+$11T(^jvGYHC@lM
z{+G2u&$s^CdRaefebM@&j#~d@{gbY@_F4a;7g+nP{d%FDZl~);dxSkwFS1A5qxExm
z_qsqYu^+P^)6d%z>{9&#&W|g@?nSvhU4Pns%ATP=V^`Xh`m=VGU8UF9)%I-tIr|y=
z8U1;CuDt+z6^rae`fu##?C10=_Vf1h`iu4_?N4GS<3;;L{kQfidzIc~e+EzXUbWZb
z$==`FyY1KYHhZ7FPk#lc*|g#v<NfwG^*`8e+HdNw+TXGd>0R~_`zXHAI%Xf!U$>9j
z-_d*R@7gEvUDhf4G``3>WB*9MY5&;%vHmyvefxcV$o`4_6aAL`Q~Rg-uzlIStlzeO
zVgCZ(U;WblK!4l5Y2Vb}v2WSG*YDUL+8^o@_DA+d`akWD?T_`lj_ug`znq8@uTMH1
zoDTYw)6q%N-*=Lo6#YY|yVFCz=VUp9^*Lv_GeTc*CO8xHMQ4&TN&nQTbL#XZXNmK?
z{+aU$=M(zp&I+eVUvWO;d`AD$`JD4Pea-p2^Q!)p^Cf2+UjE$f{F4=N_B#J;B|C39
zZ&@kMG3S`o&H0Y=U8}qEW9NOVXDBVy$LbZz2=%x6g&qw(YGsB7hO(?jLxV#F*1*tX
zp^4V$P;sc(dMxy*xD;!AT+eVH>s&Z9JjA{f9u_XJuZPEnr`or}<>6UQIQ(|_ZRdgT
zPs2aO`!pYiKX$rCtcc|#M?Mkxg!5ozS!B7B5?K*>(diyp6ItV=M!pf*@AQm(EAlO;
zcjWEJ5vNb&KO)DSjL18Ycbxu_|B9S+9*JCxTy!3dT#8(F21GuLeCP~{x8oyDc6?%d
zqLUZjH9pN57T+trmoqNDUwl8OF#gf_N1eywN5+qI#>bD2AMH#~SgXkDgKM`BB+TKi
zIuZZ(!IgyzqmpZ$YW&}b3ttx68}R>YxL(H&=IuXzIeY(jo>xwI?85;cz7-Lf8t=))
zUS2)1Y5#xVHlFF&_N|!f?mg|0I`L|B(B9a7NMCRnp5%MVdF@wDhM(@IxiaqWkC*SI
z3r*QxoiXJ+UghMOwmC(A*v9+IITdJc1Foj_d0qRN{;YT9Zet()`eNJU9Kc@8apa%H
zbp`zS_+R`Z!Qi1({6E0OOYnact_EC9xYpwm-YxuJhju6@v=7%2T&Hkd^!x6_L2O(S
zu5?`335_dMI<5@=&%w1sRyJ6*C15u3S2jNFu54V|U)eZGg=h!XAnorgV69$=wn8%2
z>i4d3eA->(xU|2<@$+{zi+rr%S>9jc`1!Y(e-OJ7((>766))?1w?22xgB^bEd~nSZ
zv({&-S^50Y6~6_+;Oofs2G+Kq1!9)~3Qc0(|Ipn)`+G48Yj3wV?uyK%{S_JMBvr^2
z*`K^?c&^T@>M74%v2m{_A-e_dASX9N+j1A-<~yWuFX7gI@t%Bt1?S~^D>#qV?h4MM
zy%n5G`ztsvU)S9u-(SJ``L&WScOa%c-U`m8%?i%7O8tJ=M|Q1@N6X%htrlXO2t7{4
zQBsmiFEe*qx}TqKcEP;->CA`KA<x|1*lMlI8&!uWdy!u@MA;Aevb&Pb@bhibeO!9B
zyH6!MYSK2d;}poB?%tVt^%cu*u2VE%_kaTfjt@9H;L4=TiHQD_ij^90dmtnXOvRb_
zm6P59T!Cx*w5ovvrtKJ*Kd@vnLcrt{a8wMe1zd_>(4IOO(YJQ-z%?bQwYLVgJR2Ff
zW8l7lN0568*TsQ1a4d;~k2NyuF*fT_M^<uH24J32rCC!j1D2M8D$1(Js?A!OwI-`2
zYX|6kSx2%?Em(|=u{EGBW<kmzNNGIZcwNaBje27J6Oi!4Zd@0qZyJ<59e1OHG6o@S
zP?1toH%@&Ca1W@8LA8KOajhBD0=Q$)zClL@odR|d*Nto^J2^W8k23SJQ7*dzS8X=9
zv)ABi$=(6D57&|GQ`r}@Z=mki7aayfy9YailL1k7aNb~)9bBPQdGf@KgKNw4&_MMV
z`t=xQ@4-t4L)PFHJP=A7KOPX*;2nea0Up71YVbwC8`ykzaysSo%E<;+kTVsq2G`;o
z^dn~@uB|!fP0m4FCvwgKUc+^FNGF^G)(bs#rXL-WJ^eJOf+14@Ymj!Z46Q1wzzg7a
zo&?{M;2W}d$V-45LG6FC5)gKuw{hNPrRHZMed~}tfCukMJK^QV@ST(X$=~?u@r{5h
zm1;OX=@pbkKZ=h|L(HDGBNm&s#!Jg}JZ!|K+FST#_6W9s|0I^1?0HG~OZBL^{u=b$
z4wjqY<>u!3SWzzepIeJMc23`fp#d)muwk43Fs<TTU3aDGppCNQW$>=DD}Myr@~3jg
zZy1kt+W0r1m)ny77h*(B+c#|~;Hmbp+@)S_$yB3TrT#RQyQXmtM#K_KT6MDpHn)#e
zrT$@VZc8rgle-TZX`Ox)5T5g=v5IRIcX8}-C#3=`@Q5;B8!>6V{&J6aK9qaP)7qqU
z4QHVpXm`@~g$YJOxfi{(+#6n6dwfG3k8fzQ&v)31R}C2rd5{d>pH|}e+O%3vyMcEG
z_Gm9{XogpIXx^VHJG5wF16tpN!)At0o`L9ChZj&P{xEG+?H{HstQrc>915>^yvQp%
zd8dh|NMAGgUHBd}UQ*zVl%XxYZ}@3}mjvS|NE^DtFS~EzMvNTjCg2--WGJj4e-gdT
zXdHTF=xv-Qn}jR9FiWYzF~A0lLAf!|>B0jg80QO7YT=a<_;{o6<r^8mO1vnaH^+;0
z^_eACP2``FR&vM0zhE{9Vq$w~Qx1D$f64{V+e@=b6V0sASXOG85zroA-txS)Xc0zz
z`C=~~1S2JgAVFH*PLD6I)f+Q;NAoZ?@-E@JGpq|f$wOo)eYx>v)VmE>bK@akuv266
zumY3TxOZ5wNo$X<^twNTB`oTXnPfPmw3F6&epscM=@umotN-JCPplud!pwv9>xQj^
zp7(&t@aD$)b@f|K+SFcNtP93@duc&*4ETaLIc%2~Er#v)<PAIQr=9fEF8FD;yqUNx
z&zp~e7#qZraoxSR`(*Z$BQZ1WQfhd_o1^~RwBg-7PaK}@V+F&f8hm<IIs8xlhSv;V
z>|!qs-)OLLh|_Kwbmn4vyr?q#h>xB1;>++WBfvHSBcMKW1Z*j*n-RlDOaw$E2v#?x
zStIH|m%=N`Ml1(h0*<v_Oe{M-`XwAAidF>UG8n(@`DuGL3T!!|b;MD~g4YIVfi3^s
zv=Ns)9mGWREnZ98OB-=>e4|+lj5;(j4)HJrSN}hZdL=arkDCZmQjY?RAR{MwBX4B2
zH}Xa{`e`e@wv621W7~b~4KFs0JUsFw>b!vKgHaK@!q5v>-Y7(^Q5CrS2s~=37j4^%
z8>7~El1KTo+Nixj-@KW9)Vrh3L+W*TRW~0#ke`k#$FpjFp{J|-GC!@(OPiMJ%`W-N
zz1byyt)I5ZPuuB5<@{E!RryE#G}zeumDhT@%D?LAFDC7dmli~%(TQH<8lB=rv(f$i
zv>b0F2c9$9PaB=@jqb+tqf5LfH5xjWXoi(JX0<1FV?3;T;(&=hqieibZS-PqR*Uf=
ze*_e7AC0lcwd3of_n6hv=yP7*Mql&#(Qev7pYOz<<h$!dnlYWcHO-g|&xhtmJZm)^
z_f{DVx4l(HFh>RVAHm&|+=-Yqrra}m{qSsAm{yo&W>d_h(A5}dsj=D9edAtF_Z3^b
z_Eqfj+Bg1;XX!CZJuFx=j9D|L1@d;_+UMntIpSj{d@PWHF=GD4eBfbYF=EW$SU-x6
z&GyrZJPfZ7p>Oh6D8rY3MX1~S1-c6QJ9f@kM7*)hxLzK+6A->U_UKr6?^r~cu{R44
zEecX_^)DC$Sc+?2!3%(^alKODj`RXQJ_j}mbYF1TYeAs<C)as1iFcP8yUtm7z>7mu
zR!^CSbqVSTVs`xr&ztJ+F6e~&P{fkJ=7EhC%~%92EJB1TI9YJnw4wHL!7XeNK%e8f
zkIMuci94!_am6Ng_C&9x^NVNCa7!HX(#BQ#SpB#a2A??9Ph01ec--;QiuQTlUTAq~
z<6iNwx-)gIg=_sfp1t7Z25X-nZQORRgf}COJ3Q{BS7MxBHn4PXuRG4I3%=pEB^XCR
z)C;h}L{D;XZy&5hYcG4TF7T#c{+QtE2am6Ac~aW*jY4>o`3robu-Z#o<l7_g=Lx<Q
z+VhgYo7(e|pud5?6#6q*;fBIZ(9TZGl)i=vTfMdv9`&%YChtzE@U)j!{JI}YE_rE%
zH$5yEgA?lgG{gn-7kJ5n>;(nzXZTcL!64EEdj;dWcx4}p^RYCq1=I39?6E8_cTtkJ
zqLqCRbFc9jMzr_m?T9?~f|oL3ore`gyjb_xYA@}vSA1-{kG<hzhkfj%k6rMw4?HZ;
zM$q$M{03GC`upT%Z;lE)aeN<7-uPS(3;ZC6Ai@1i%>3rBBZ9Q?rJj9*J(OVAAQ&Hk
zp2z#+H<%5^U-sHE-X8%IB3{~r?mm|3V<Ua6*vEWt4|EkXw$}N4o4uGA#El8N{M`LM
zcFf1l_}FD1yX9el&5OEwX~7*qQKpwxRN(nWQH7sY>tjoOY>kHno?R4-0Dq1O#zN6S
zuf&2I4Tz`>$+7!p!5-P9%86+8q!r-scNc=4z=nzjw59>=Xe{&YQUhNLX7*rw1ove@
z9Yv>#E-F=Y1G@oeiTMkpJl-j2!Q+^VWPfAP>yKvx!ux}@z``q!SC}>Rl(fguD%ovp
zsCXQ0GwpkPJ#sM{Kfc9_0*!kg$68J9VHYJmj`f<X;gAnn{ubPL9I;09^7x&Jh}E)-
z_~ibH7!9&_7(}UwBfWSK%vKXCjSQtG*8A8?USycK*-Mk%OS1<xKQeKT*^4Y|nz-NW
zzD+#l?M_d;?CD@q=A?+(v7S^psk^ZZ(nk7es86glX`Sp!nq4MuA8wMrQ#9#4?@kW8
z-B-<ScSFXcJ17C|7FQOdzp?|~kWswOO-n1r=r0zX25FVWsO?_9_I94yODo=9jP}WT
zH)c0#`?MBs?O2SNL3Rv_j}~JVFnq<Z2h(nPyYZ9zdwbH8hkN&1lP7xjIKhrm5Z5Lz
zpS)If?P0~slQ)@Nrhsqq0Wba`!kzc|t{c8u{8YP_R+3=SN>WQQ%<fTnatVA=cA0`*
ztKe=nn7e~}KkO*I;O{7{Hon{5E)({V+RQyR_L1H*o?Y^~msawQm)8D%(-hcJ?$4*B
zO@RevR7@%NR((@m@WyYuX{)EeMzT6=sF?Bw;8IZS?n_Piz`M)$_NDIGt4cE?4{2k3
zzG{=!?haLZyH<Z@T4|%VW-VRrjq`TX+TF=2-GWwa!?m{*@jxO&>C0YP>25ErvAOiP
z&j&9dU%NY5rMD4P;4_Poo=7(FrM(@m_S3wwPb7F{gWavNUf%8&R$3Ub?mcIPx#vV$
zt)B*)ac6A(6X@H$_oh!=d;<NDCj*E>D@`0i+Szu}Zg^=^I~l$|cQ<8f_JUK0r5900
zfj7@AI5KsrNn3DZY7P7<8M%x9aJTILQ`*L<TOoB1u7gugV60XEyXM`oOg-m47m7){
z>!r1~OBd|JJz4DU&8>S9@lW>aFqa`(%DjL(ug!kiF*oh<lebK?2<#TKC+I(42%aUB
z!G7j%exwYZD9@-c<G?cVR3=zU#gtg%-Mt5C?eYEjX@0%O|5UwyzP$F@_lI?q-S*~y
zX$jMgn0VjbnsC|xZ=WG}!qMJ56O-nz+hfxFrz7pAt?}Ek&udF?Up5UsZT_a+D0jR$
zpghCO0p&&I8!_^(fvPBnN60g(U|%X&MgHaSFL<ieZrPW-dS}=9_3kQv&$P6Bzqb!u
z-d@^CpYNE@7o=VF(xxX)Pc!nSXH6gDVx`loO^le{=*5!hYrS2eU@vX@rHTP=iJKKA
zF4j(3MV!Z1k>v4Jr21+3ep*#UgOO6vRI%R0{3n^gnz~|3#SZgy6L)+E&GWoE%inK0
z;jOdV8~gJr<{?VS-|W4ADHfCsu%~)Gm5mk@K;HGIrs6ZhBwXoFp^lnDq%VGI4PXnd
z-A`fcKXn}Gd!NGCufcp&bN;C-N<Pn1&m=u{8!!h_CQ94n?=Qz@B+N)vYQ_Lu`7=rY
zt8g{UXaZc1Ys-w?fCq3LpK%uO3a;BvCn)uFDx#9Vi}OE&Jw4#*d`K=qua-Pr1*`#A
z)6?q#x8U0S^Z~%*xXwO(1@N{~l?j!pfCF&lSC#-);cBRC0$h)k8se|{`=7xow^Z(i
z<O8^lSDppDg6sCo1f^!C;u<hBAFu>h)yxLKCS2=hZUNkl>%h$8fM;=CnR#2Ossvc;
zPd>eFFE<$bRRgN>A*BRYRaFCE6R!1DTL5?CI#6{S@GPz?RkxLzm4GXC)&RhKM5+s(
zUY^C=W&ZwbEGX+^vr1;of#fB)*3QD3dKOj`vsz~z1;pBY)}>iDm8y=zl`?yqscp`?
z9#-Ao!{%J~u(`^|l6)-P!>Wh-*u?4?MqYJY^>P<mTfND}c2>8#*wO0KE_SK<rom>%
z%}#N#{<DW0EEu5y*4~I}&)eJcu=XrC`(;yCtQG2xc|EGT;9+RNOK$u2{-sz@Ho#^d
znvLi&`#i4e63k4@sX_FRm{U_$GY1eBtZA-63v0IF+FNr75T$C)*If5v&NJyI=FBgi
z|AOM*{|xp_;WK5BJV(a<GtGc##WUNU*$a3G*SpW02Sh98s5wc1>9}&{6atpvnlon!
zU^A|l=WGMqi|bIdi{js$cYW-<k6rh$xyr|qd@S9^2KZS1+!7;iZq?id7i*fk-o>`e
z-R)ur<{o#kvvaSw*zI`<2Ah{UZ-9&WbIQDYZ%zrUHLt|8c}&`3pKr0B>%YMiti$H*
znztWoM8v*%XXaf7yoE>|ncv;4B4eyIvK<S~n_q6)H-Da=yL$dBD7zik8}knXp2T%w
zKBU%0aP_LiTvl6vYicbVOYW>|UotX)ZS=9NKDNil4*D2cYyN7_c>CVLO6%F~&t_u0
zjKo#^Y$aelt`%O1XV>}IW*^(-WBYyVn2(+DF+YYq`+>I>2v!AkBkPK>W~jtfU$+7f
zHPvmdgX}s;tvlxVM%@`7yWnGYyk`k@cf7P{pJ*;#5gw1LJUS2X1zfA6(60PNw@2S_
zu`^NVS^k3kwdk4XWl4$N!m2VNnEcgucmMa_F$|v51y674E9>jQiyj2KZ}q<JgMI#m
zR~jKs-fQ`D)7pCq5bWG7sPW!oT+p%rtFHz7a0S>A@6IsTfeiK-gPsRFi@|<k16D}p
zuVG8WZs_R%+U@T^2G1da-OvDAIA9^>z=b8aANSvATv+Ap9xYtIa0_xFvppR&rZ?uG
zro!0T+Ix~2JkbeuK7*$%!IQH^8y3B0`Vq8c(d9*VajZlqq}x_Ys8J=1Z&R~)CIM*w
zt=z9RBj3q)={nU(XsgBgF5iTW>Q4);v-~${M>GEp<u&3x_3w~A=D#`Hi}YH*{AWmi
z$FJ|K(5ldtSFIA6KP=SvQ0w?KW!s}Exr-|1S?;!V)hlT!a(>m9{CP?$b|ppiVbbrq
z{EbS&zpZBa`E!NV-xv9hy`dV_=ScVS<m;D6r~2~Kgtlgre>L9Beu4CImw!6Xgs`oz
zyZqD5JH+-j@|T0ZukhQOJ^5+^=~sPz_Q&o_{yu7|Ti$W`XYzMiZ0kR~@>T}RJAV6q
zF0`s~`&Z1z!#2M3LH`O*;>?jk$+wny<(09-3vT&h<*@ujw|tEnBeb0uYQ(c}|I`6%
z7UfC*jphH!m)BqT@lBZVlydWJr1hVEeiidS#q#6fDO*Ud@bdLQ(kuP`82#3fzYFSn
zgZXtHzxoF0Dxbe6>EXhUXR1-X#LzB(wQ>yY^3US8h4#lM-2RrSIOfk``Ryp*gY+1$
zKHWxoyjy-5PsFjUczM%(ocvnmIOfN@{L5VZd*4A+8qd~OEPS~z?jTMi$Rz)EDPM3E
z{o6;n$}K<3e64J)BL7DC{}ASvk-rV!5IUsg#Nq^n0Ir4!t$$B`{5GBYE$9&PZ$SI<
z$v?~GuW{`+lKk0_-;eou<gZ5m=a3HiKc4h6etmhQdrA3%Yv3;@{TR!qscQ3%yw&M$
zu^Tz~j=jbD3J#*a{^Xw-a=*3ZxhS^vlrR4m%zu*drT-j1YQLXP|I{Bz`7vuz|4i}^
z@$-$oO!=wMPany*o1}eXSAxDu`X!&gnKboX&`Xt@@n;p0zZCNSiSlRr{3WC*f9y51
zFN3svsgXApk;|%fIg6FiRJvEv>TWotXJhw4auMl9scFmwct!!~pk*gXvt?t~pr#zs
zIplu>{M3XcU(?VN^qb75rpH!5z9Y2WO8(Wj$?rh=%P#*io{ng1Iqx}PYzFwJF#qeq
zujKoR5b0emKfbph{krfopOH%sbuOrc5nG_y$;^MtYma)7bhYr~Et;sJrR*pC{Qt%L
zD^lNR8M&#3_VRTc>8mWi2Kj?X|C;=7sF`Nu;%pAD|Jls{fc(;bw%=-rJEaoxmV#z|
zF>~IRh2Nj!s@+In_=~{5-sHzUjsD76En(16t20x*nXOS7sgJOhPUz)NCEvD%9(ot0
z7Le{tTE@%oV(4@DPAZ9XSBXEP`yl^Eq(%Rt<pMLFZ7<$0QyG$P<%$23e+KCy(ukM(
zA4&7eq5KW-nr@^kTzSQ6IO$r^(r6j~)S6itgkFJHJ<NQ@H@g?;QKav%{n?OzoOGGg
zm%knHh+biteDq)cM@;@|<eTyTi1aU%3waMPpYg^zh<L?(J747Io<RALlJC+7@eR&{
z<iF~k0u$ADNC)%(XGzbDJD*YrjTO45Kip#bEZF0i<ZI5a&KscL5?b97FTyz?QFS1o
zp`)290(zJ$<+rZZqUv(MHEK9YeM@Mofl)3Ay|O^ZxutH4ZbzL2*DJ!MzaMuhF>c5Q
zsP(3_Y82K>>W3`fS6VUh66i<CSrT`KzBZlmqMCD^`d!?0<AG`?xcVzcc&$w=yBjN*
z&7{BXx7Ex@UuG*1!PNVbZ+DLSflBE73OveKq%!m=(D)@dO@8M&v~2+DiRyQR-+2!5
zQc3^D(3}CKuM$x^yX%zSIOco4Wt>N%`oCD$2kJq$A8DYY`s+;nwX_IQm+@ED@Xe#7
zT7Px-;)rSmOn=$6@nm-mkuG%hA@pF4aOz#8_d?#^v1E7B+u*|^nEw{(m%-2Th^#~6
zQ#nnbcaxuEWW+W2R5Iy9aX)zIOs8hFp-6PmX#+SvGCAU{7GjPvHE}jT%NMcD%gmUu
z|DEzv(H{D!z9iNiu~Ai-$f>>&TEzZFbt$BlnN;h7$R05gr8pnh9Z6?mre^%NJE9&L
z`8DoJ;t2EQx9NVswjFWvqiQ4ReDQ<fvU1sEXg7bEyD|w$`QgV9xzJT*hxbdX!4p-o
zMt|5?A#BdRNWxhJU6{()9=BF{G`tNKi=*s^M3$7*8K6_#9_6|<u5!<v$Z<U-s$K;b
zj1Fi!BfJ%X5}&{qfuVIOq3cbwW0%m@GB<yrxi?X_#9M|-1Y^77a^3u8rdH<{F5T$*
z5#x6D2He}o2)1=6>1Vdg_}`&?dPBC1y|0m;AblHl9(^$py~yoFRDH<&QLH}^`5j4j
z7d;Ql2R%V(XBg$DVf=BF+YhM+R6@c|=s7|1?ZHw$;dSVa{3fCex{C5<MOMiA=Yakq
z`5B?8+Ydl5<Jq|G7od4ZRH5k=MlpIdXeZ_k(<+|fF)S7Q90OLIXI-lUq@<X!u6IgZ
zc{kv{4pQAXly?!jFwuIK*fnp5T5e_=e~w(H9ua=)BY*X4bVYu&bvflPaL22;o0L?k
zWteLhQ&v*N4<@<1T%QiT3V-9QZ+Yv}Rc2LU){A)?QHoK*XfJCIv^5%1Y>V2<>x1=X
zJn1il+g#7A06k5a5gs4+J*H0MEE3h*h1XavYaT53H$vN!L_0%ILpDd4-Bom$H6HY7
z<_B}JX^S@(7rSd~+F<A=c&e#2m}|K<w>Z}hJ&b%td9xxJC@Vf0fw-4o{WCyw?lbw&
z?ktYF6y*e5Sv%1;8KLe9U}(B3arMj<$Uuo<*Mt15<>*C~(3+kzuu(l`ETA|;=AMTq
z$=v1Tm!kX;p-nzoF`G6HD@RhznKHS%A;m;*_B~4?!dS`ITSF^`?8#jZ&RL?x0e2ve
z{?441ftQejk=W(nfD6DFkq635X=Zgq{2_al$U&?h@}6MU8Op(WS^bzTz)TODD$ot2
zHQGp8|3qkgLB<`vR*dR1%rB5xAya079i+zytx#Tb#F!B^paT6&WIlT|<QS|qNN6`d
z57rqUlfO$&kR?4L?)#i4Q%sE1*TtG>(@1K_J^N1Gl<1Ko+F+|xtsf1iiWC#=hHOPX
zqd`o5nVXODp@^KcFSI^Hd9NedFq&G6Nxz2jJ=m(no>o+M((^?tLu9?f@uqi@zY!53
zM0s*HQl=8ga;j2;!9EVFImAN15^~mH=9H*{las80?4vn3X`tJta^V7hR39Z*`Nw0)
z71iGZJ;Hd5e%g{%hIq_8qz-gbr(3md>i3aaM_Xuf0-#x&=ER}I%Ocm0PEozn&~9{!
z>XoE-hZa&+BWJ*<{x(zJ!kQ%^d=8`DtZ?7N>17Gw6QGMF->#AvICvXqMi`utX8fv=
zzv^q-Gu>Jm&5nxxt?>7|1O9GOUh@n0{_<-;jLbN_3OgeGEzlgV_H*9cX~}r2GkUjc
zSxY+lcAKrJWi6r|nT3+f*tFBxHb*^YG;OE5ZF|nkciZ-yEA<uO&prifFQU{}UH(c_
zUh(cZTjKwBCEprC{vGi7uH;v4Tc1&K&(q758givfcYUafOGnk;N-6z-+luKdWn05#
z<o3Uf7;R$3aF1V4XRX6s{-}<U?(OBPo1`5XN!jpO%S61M;<JPHV~uV`YQR66_1|`q
z`d%Eg8U1m{xe+C48=EJ04Z5KwnpxE9A^jVKn4<4WNq;wJnaUN~*355#?aUbO!Jg!R
z|6}Gm%wG!nywDcz;rksL)Jrr;PW&2}JFd9TIH&}Y)(EE#_8FIv4)z(@Qe%lhsjvj+
zHG2hXN<jIAtm$K+vu?w3LrE_neFZuZud=Or(8*b61@pDJi8<Atw$*QiwtKVWUi2Z0
z`MpSQLqwn?oMQxSXO*C)#mv7$8tWf(2dBS5dH~9s`R26HsB;;u)8E|(;(clsqOYDM
zQuKd`O|u#xWr5IUmdUCD{U+%kE<S1UEh9CmT0l>8?_K&(N(M>|5H7nw+CK0iw6tDm
zi_vW$?5~HBp3M9sIBml8?QLo6z{P0mgC<|BmQe<pGq^q?@&_J4`Aj39`8klk*2ri6
z4&>*N{vzeqqCF;m9OZWcUCQz+q<r7&D9>J7cUWHdlO$i=Qb~~`N?M-4oD%HTa24s~
zQL@<oi<I;;*Q$+16ZS>dsyH*0`IDsP0WD}5?=bCtvMNQHs3l`?nX9i67G?uU)iS3J
zcgH91Oa@>M(v0#rMM`89gB~NYtqbghSlo=i?$TEBKhC;MFQu(!W@ax3yo6qw@yoSo
zpDQT;YvI@5VEG!*S4q=qkDh@C+N|$msjtrgl;=!sO(lOe_|3Y><ZnU#Nb;L}Xk9bH
zW9I&Tze4o$Nz*@@qxR8*$iE`|wnO>wJ^kM-&-3RVJpp<DPWoZy=R<2|&fF~ZKe`9}
z-(r3P^HVYQ7~jmy|L8{05;d_qAo;y-gEmp5LGHjs>s(nx^}h)hO5xs<sb2;i)dyMj
zi!6(_n&%VNIM$sD`U%OmdozD4`1_LoH1oUQ-qX~@orO$U4bp?Hsbb4a+zsh;@?(Ff
z`{_)0kzS26)205|Z1pn!vbY`UEb<f{TNyvp!LHs?DX+P!mw63+bA(nOIY|$n$do5H
z-YJVwP2aXpdh0C{we@7uNtnwbDCxMq$Nl3+-b4HTO61vn+)~SwBea&YfTcapnYb92
za`z`}HBR_New~?f?Y%D7v#!Oxwv1B_xNPmX`E%S_Pm`9ui`JHzy>zSAO>N}fb7yyC
z4R%wXCH=4)Nq#JPeIx^VepYI*-t^1Lx(nwMG1Z)uoP^yj=`;QSZTnW}RrVpOe-C<*
zyM8?9Bz3d;pG0dJVf*9GUH?+}osYtZa<EjR`V#08BgN|LT57Iok({(+?^e>=4xv>>
zz9p7e=8nRayBB-jkbEniZN&!(ZYu|fPd!`$A2O{Tjk-kVQN0)CZEL&K)F1w@3>`eP
zaQR(%QT@;4uX5>Cicu9O&Y}JN3n1@){sZJ+?#8lWx21eW(hvPt_sXkw#}{|T`!`^&
zG&30XAp4f~l6#M1UQ4VHC3Cm3-wo`+m|3!$m+$U|?n2ME^}=3d%-Zr0OX8Grtnv=1
z@vgR^J?dnc`y6AIOHXqpGe3-VzTVIB-kow(PX%3P*3XtFC91zkF7F<>n5%W148~NJ
z?I-cf%=JO3e~BrDj~d)r3~lM%s>D*f=K(fdIn6?2_cgLQ;|MV9yGAx=ECn{!(}5mr
zc*Ob-$^GAdlctQGxC?go7s=lf5lH7SpZgyVr6K=3>4C1dOm}y9Gkt5C=$RY$e#Xnt
z-7@oB#N5%R$%r4t^1P$R930gxr2QvI>KbW2*T`6j-u5PaM!c!-b<}^3^eMML#csrV
z%Ilx{zTuBMmHI{+BA#_hC8h3Hq8D>7DG~WO@bq_AhrzR`Q&Ljh^(5(L(jR)XGS)-Q
zsr8gM!_R3IPT6%%J=3=o*aP4>Cp^kO<y<k+n|-RDvQ|G%>9@q=`WB;~DMDMb<4*Oi
z>$wjyK8icvdqeM6kha{fhclTq#HWpIklz~~3(g?NSotBba?d(wxgVwH`XztQ+GVe~
z3RWsq4(VHNezE%;+Lxy#l40fI=XVs^3grEc`P}7$XGGOkK`%2;^ZioOjmFL0Zy(vo
z<;ud|Cap|8gi`4uCFbe*Skg_RqdpRK&ywcT_TCpk(>LtRey<9c?>%jgntMO{B|raD
z%;(dZRPnuf(!riWqtIrbqPN^He9h#0<@F-w&%S#xogQFYevX+BkfRdpt7zHdENO|?
z_RfbSu90H+=Tp*Mf7F;Y1j{SLU{%EY%(zo&ul3l8HZ_J;q#f>^4!^*j3uLCiX7S{~
z&dbBMd#nZz_SQ`VH&1yDXZlq{Ge+Q;9d{EK4Zp166CkP3tixisSjtML{63J+9eO3L
z`>fQgzaCnVo|L`;829RtQ|ZQP-a&Q0hJLRRPRo00H{IQ@=;5|>8Bh7QHTUvSKB`ub
zpL_kFXSwsP$(NRPLcZfh=kB82hu?!Ajby1nYMPPaYIm9OlbBkTG2g3oy75En(A|rn
zqe|L)h>};MJ+F}yIn?ZQ)(;PHl0t0{%k$qNH>cP<c{WcWy4^s@e`Luf@$GK#RZU6y
zidgUAO3+=IzrwSb?jy9m;?qiK^VFf+4)8NR*oWM>8`Xu(KPD~hbq4vgsqM8isvl$i
zH(eb>)whMVxHHvj9@<w;`kGgtS|zkTC++LCANj^Zqiny7z5gAPzZrBb=^uFQQQJwM
zws5b}>j?6{BD6IJ<!e)LW}_9nV_>2spP%%aiumKO<d0lQ)7*Q>VCU{%O}^XGY3{5#
zM|%FyIrLn7!nQ_xJ<)HG_TJ%`>F&^6lC|4I_2B0WqkrVf<2cgC*zyG2JJ~EByt82L
z#Z9!A*e3IFN7o1WX23(I;DbG-lpY#a0#6aHNucrTAC$!>fe(q+d0%W@^R>2;`4^?`
zhc+UAp3v$Wai@(GE$jbP?u;)_X$Pc9G~m+@sYU-S^2fQOjyua~cW~dFM5*3eDv#f{
znu+RdCSPow_73<v8`{;#<L;>ATP$g}(6`adpCTGpGD<%|8t06nd<xbb-AQv#I{6mz
ze-%St27Qq<cL&m{(Q4y+hF?~EKVg0WdQ_yumWESSAC=4rd}lamQ&RMG!IX4cUhMkD
zNI$MV#C*!@c>(gCCe782LQnJ%(tN)qP1ar$g;u{8&GdW&Ju|-XfZOxw?y4R0yQ_(<
z<mdC{o{4Br8|h%y=Ut!TGvc0mkpDN5Z|+T%)c?NF=H$=RcR){OK6dX@mUi6(PVVD(
z-GO@++Q_9_K-24O+~cHFK@#3X@pZuUquo(PZr27_*UT+-(kHA+qMCiOqM#S2o<JSK
zS=6;qFxM}qnf)xwl-Z3kGDFyww@Vt;;@#jEy`)y54z3UEj&2*K89iB1@sJ)84R4$B
zp5AmZX~tP49`z+dd->`E(j!@3W@2MUiMAEs=Tilh&}9QkzHUnTBkI?N_B|kuG@m{6
zI1h`Oxa&Rto9^Cy@cCbAB7FT3@*ffHb;*MKpOMZN?e*A(mb~KU*K|olOC)D$kF~&9
z<^l2lONPg9(}oxs)vz74WqI#k7P=PVv)>-#MW;=9UmIUA<wYCacVdUtE$`;9a>pOu
zihJON?(d)_!`+-}cTShLXfnDt!eZVW8Px+srvA0`tNStB*@svMcX1!cLmixd%q~aw
zU1$?yM$G#+kFq@9zv+Go`FB~K@0@lohMqPX+S7qHb_(7x{oH-|UlH1#>GD5sMxH&B
zBQHrkuN>s}a{bJ3r6bk&o!PAyE)A|Y6TeK^Zf&@O-iXvdcB6UDAG62*SNG*_xsQJB
zKKk#4w*FDt)~y=yIpVCtZrdBps>W(_eX!AetH$tWfj^Js1O8s51O9y0_g#^nBF`K?
zP5PoQ->hTL`SL#-!~YKWU%HRKiFClfI)?u>@N@3B1NkrB$N!la{zmX~){5a@aUXv(
zY1%Gj4EV>8_U^PARVnF8zx|KhmoKxPZ3p=igm#)m9}ixIymHbjeSK7u{<JUesTlq?
zRjVA*0Y7J9C*ZG$;okuH)9&N1BJJ_dR}N{@9<hHJ=|KKW(jI@KnjXWSrRE#|bOQd_
z_wmmN_>=E|-zFXK*WAND*B#}2MwKk~PnLZ1j7s5kb2BTNXH=l)x?}q{qR-^l)I9h8
zz<d9x(X2Q04OgFY-5sKzl3(n<RODO1?)0;yFZud!ByIS`{>$#;ue*<*_f<BZ(<CP<
z{F;~K<JaU6@07H^mbCZuWWI@2b{}a^*Z06r{n!~U{}R(byRX}xC8qsGe%IF_Z~1-l
zqxZ;fG|xa>{*~bW<bC}0_whd`w8a%;*OiEUxy)b2_Kg93gLH%2zNr4Gq22aHHRlW4
z@FV`~-`>a1ImmAC`7cYp^Hq`G<vm0_?%+GG`TE+){MUSYd^Lvub?|dG_xa}<eL5ch
zTr+#S@}>V@GxB`-JMNSJ4>9sf!N2Q1{_Xeie?@5XoD(wV(O&Vc)y&h*bVy+<?R54+
z_CaOl#v4Xb)|nxFf8ab)Lx%R-#u>qx;rE^ECYOIN_?`Rs!-n?xxvp~go53G<A3s-5
zG4i?AHqRU%XvQ-~^1JjBtc*HJd6%ApyB*`Je1`NuI_AyKGk>$&{;1;EwoSgQjMm+k
z{|wvn_tO6)>HqVjxBLB{8<T$s`AhE0pA(ah^^AFj=6L0!DjJjDjC{_GG5K{d`Ewxu
zh5O{si^(rU{wMCspD(nz&rHG|jO7R|&&1pnHRoQwd6JQogHcuO<`kQ!wN|Btd!;1Y
zOX&hBY4N#n65bcE9u(RhqaFa2fZbPm0)7_-E1b@ku);CVxwt~<j5oJ5R|VGJ%33MG
z0=<>;f)xs9LGwOBXL+;6tm4Rz->-~nvkD0K%`C`Suk%EVGJ2-XeewA1py_G;s^j_C
zRZ8a+<Qva0{4anup5(oW@Vq-dD8JJsXqN49<&Ovbx9q>i-{^Xl;crF$7npD4%bN==
z_wgG~GyH3j|JMP3<O1kT_wX+>cf4km)oBLuUyk9IZ*5+^hkveeNb}p0PW_ReMfz#c
ze`Gc2$)vq+JsQpP86&^rP2`VdKJUXL<)BMQ2djkfLYq}W$D^3_73r0f-v|7YNPDw#
zts6-=i+9|F{5}DH_yd%uJz`b~Trs=y>%gBG!+#j`#QWsSTGVULaOC%n;eQ1*{WnJb
zqcQw($j^!4pNCa|>5td`M)Neov?uX2_=m*s=YrqVAMlTmd=rVlKhd2P`L;yjQP7m{
z=C|URG$Wl$??k>8Q+^X@hxAw(Ux{n++|@6ixHb{*3c4ks7k4BurX|Wf)f|?5RV)*?
z4)jx`O@1PF`Ap0-`Sr**>!H^q=5@HL>RroxndOVo^Zza7oxfxLJIH5C9h0Ale2#3#
zl$ZIRy8v!}1oV?J<u`z?B+c@n%b=%{X3Xu-2>C{{CjS`nx5ea_BA=Qt@<Y3j|7FQH
zk*Gs8A`vxf$r~=&38&qhj1J?01#h{qji!vV6=gUZTD_&up$h1PZRAeS8vLqb?6WLt
z!^EwGgNRcc$1%^kI9vN)LPRz1CR~2(sc6QD82%k>eGun(H{tT*x31m0SH?x>0Pb#0
z?>zo$V}0}MA@P^d@(PisZ^Lgg5~d>d|K5-Nj3CTOz*Ehc#?I#XfinjsP0M$So#W;G
z53aK;?`d_TdDqx_)1S*nvgN$*ir)wR4AQ}US5MNxeb+#t&AVY}QzM`H^>X93+51RG
z>f_|{?l~LzemH)uIVc-n46c5py&aQARTNW7A%Bq27N2XycSqmeBhBYp_EJ~@iwWfa
z!0k)1**Q1wa*_WX$#>}po+s1i3>}d@h<Ahhh-m#keLC3^t@Ew0$O+_}kR0>IsK&Dj
zbvTB``yc9U(hvAn;=HGm{Fbq$`Uhf_$W-)fF!_Jz@;92NI{J)nl}DJ*yOl^U@TZXG
z8+A%FlSrCx)R8ut;5-lhs1-|hLeIm(Z`J|fyU3?Jm%au%nfZ8v!Z!kE8-J81Dtsew
zwsQRP$vV%Mgk2{~R-EpeZ7Lm}P92*!-O#&g#+eioZLHvZx22|(+uvEr5!!xO^b^j;
zI}OHDyx*O9&YkxkcKM%k=Y8_W-BokkxEk=g@_c^N|9=+waVOL#+*aQ8_1{D4$1i}J
zZ#Emv`z<CqgMXsy-}nvJxD#>3Ufhn`ha9sa8KaUwNgp^@KyESb=o8$QnVtGWSnJYq
z_E*@FB6!XXso8&?H^ZGlHoGl}s{PD2{K??|&3*hvQvv_KGN0o=bP@a<zqa=+%rbYz
z;`@*xc?L0;{NDSJQTN@>IEkU?MFHDyemm8+m9#pv5%V6`jretFvmz}vyEkf1$oz&;
zrKv?<a`XGU@$F}nDtrE%eJp-G5h}n)?k}ydyzeHW>K1A9-Gn^PH<2B`9jFqVW8mM%
zd~YvynfWGCU$e084K={)xQ;bn;-L*uzR}v>ZIu@bqvjshytxy~!@ehNsrfFPGY`)U
z=*#9yWM?zJL^ibJ_G+f;MBRCBzen{swklJ!<kZ8~W|S>+`J-mf$qK$SHd^5Kj`jzb
z(}%Ns@V(<v(tNAKX@M3@?8TSJ<~~4QVEx7l@}xuJBi^}Ws@JO7?wX!oN#b|@3eDKD
z#JccKlzKz>&G!Y4eE;?^X?~w<Z%6*Cq*wU-y-Bb1JXAj?G=7&6@@%YJbQeQ={OV)U
zSH(6qVyR|qv-rIOe$RNC(W?Kw!!$GYO?&LEXivJ7H{YvT@4%KnA{}UnbFED+*^9v+
zVtt>y`x|<2RDT!r2-o8di|#~<=6;etFGh8Zl(G)Gy()HF!SDI4*Wepw9`wHFk6I?8
zcwaqMDu?CyRkGC|@70(%*xlCx=V9|zvULnkfjMr?eu#n<RHKx)54a=bS+_i&omrbv
ze`n^8X8UCio-6I(6af7Z>kqyHTuqv9k?Bq7FYjD}uaMO*na_7ftdWq{i}Y-fuU|)d
zmXKcVxBus)y|4PC<{5zb>KHsxE$h>;+v?!k<7}2<FEs84&91M_Xa0I3N-dOpJ9xWb
zG5LdM{){u`+hg@E_;)iu`1W{WjQkhSi!{=_e^QrF-zd_-xA_^Q_xo0+mCP5x*dtqJ
zRvh}vZm%c15rJO>>n^CjgyqvY0@uQK%{=S9eI8Xt>%n{9X5Kbm5X;+c5|>hpmbCXB
zaitlN`gIv0>UG#UiM7PBmUPtmE7CjxKy<D4fbQjv<KP^CuaoQl;qE*9n>d<=_f##*
zRqk@{HnwTDIXW`MrbB23LJ|@>AwWna3F-AEy*JVePeMyVAPKz}8ynoaiX~a))O)>e
z_GAN3lII`zPQN|v>}{Fdot>GT-P;?Q8*U)tG0dLGiADIW#lbIfvtjPfjQi3-EJELG
z#<}i?_>Y8UoJ9Fx3xKS{xe(<HZaCI60P{nmiCDpfH`bWme+NQ05Ew5ufp@{-5@QC_
zt{hDJ2s4t$Fy#^m*L4}PBlen|JHQ&dVaK}rQT&#BAKnVmfdfwwO~XF{j*kQomsqlB
zP8LcY3}+!O6CR2Mr6L{*L*Z-IJg^;2X6`eY`~0<AHo@G8xvypJTh{NmcMW=!xxf7I
z)<+&dZ!`Cgp-46o!W}z;xwDu%g0gr}8VBweGuGfgE)$31)s!#>$Iu<;Gvs5T2>9Xr
zB2XksgKvz#P3$8YSjntX_<HxttWQ}DEHnE&<bdOZLEiDuvpMjt42LL%Zx#<HBoNL<
zbI@EK%r2SIF*FCl=E9HQRWso%R0MliU>6J81U~|387#Wcn~xxZ`35w>d;^+bz5z`z
z-+(4qXIO3Uw42ofcL&P__aI1gg3V{c_a@mwSm`9#G3+?FC&QW+!A@hR!94@M98JKN
zqjTV%#~umyDQv(Iz8np2K*5)zL3iUm$bAg%JGna%!O!LA!aX0pB~38jk|vmMNfXSs
zqzUF*(ggD@X@dEdG$HsBW+8;&h~Ny|&kN4Oy-rXE_Xa@&+^-9+!@Wz;1+~L1hFc%z
z70eI!%-=)s6C4A#Y&bY8;Rc9>+Y|1gC-^CWqQF6G;y5h$GU-q%&`H7t4+|a_JSBKm
z@S@;V!Rvyz1@8+!zS(1JCgws&A!1TN3&IGWiIx$0@NM}bVhgdA=;40KRdY359hc&X
z1RDjL1e*o-3$_Rz5Ns7dd)>r?CxCa?;J0M3UKlTEa|U}JiV|#vUZ08P3pN9mAfey~
zr<L4Hodu!cP&TxI0CtSSvpIu)Twh%4nUM1K(k=l+06!R_J~lv53t~ExC#GW<2me-k
zK?gh;Y*zy0zTgqTPQfn0bAp!yuL<4|yd(HP@X2kMeSs3tNHiXHF3blWcpuDP9!1Zh
z|3mNpYZ%7A3$ftMB<zDXFb924-1I$t)A#&M-^(|B|98{(=1t$bH+>)8^nE($OMvk$
zLUAzi5}@^xfXAc&|4J1+CU{ctjNk>qD}vpEw*>DAJ`#L(tJavq{c8+NgCdkV*n$Xh
zMGHWa9K4{_h%GQ{M=aoE@ZJ|<%>;KJxZU8s0(Tyq8k!#Z0JIszi3CT2+XikAxK?0C
zN#GWM+Xe0du;cH*wILK%4DL>Fz{|oQo**0CQiNj4!NHs-#)436A-KE1y@ybo3eW>g
z6UE?mg6lvic@nrs5K37NZXY-sLgMk@9tL+Ap;Q<(sjq^&hEN*F`!v8K4RBAFf=F5n
z4sgtHz?U@vE(3hZ-U4?8zH=E1ZVtE~!9lqr-UOxWB79HjXZX_53~=9q1N<hyc$x_C
z<XUhZ*tjzR9OOC0gpi~h+$Zo&kQi|5!1chlE~bLp3*YI0cAN%zPLBo$Y3H5*dXGAd
zWJ4{FPQ&jOl!YXNPq1&u9}2=TZ(aClC}k)-l+Tb~#zYLo3B?NKmc^tx4NtKT=Yaho
z2r(g{@Q|MwEAR<(#O1`4Ql(j?1&9Zc**F9VN-1S2r7ERtrIe$Ta+gwAA^<5cPeHDf
zPL3N^DiIakP0>M!4@AK{#ZoH_NMqG10P%&156e%Ylmg)jUWmvP0Bl1zpVAO4CSP1K
z4rZhp4W$u1%-zN+rGlVUv*0<Fdm*WaWwUSzL{bI3ODRNOhg<{@19RLE{#Z&v9G`tH
zMX(4?3Q1BPhlfg?_yFaxyS3S~Cs0m{OPxD^BIPtYmBlM3Qx2nDR<>3`*(iJOs4Y_|
ztIparcGnEbJYZ>I%Eu*y^2fP@<VV7R?Ag&VmK2woJ9=A^LF==2BA^Ap<#s$6Z2hib
zfQcC-UCan77$AaPLBdEX;HQJ0@I=NFaL1QcQeKzCYfh>dLwTKMuQ6@PILd9Sb8B<v
zV1(sPb<y%El-<zp=pT9igMg~h)I90|jH}t&S@F;`%BodbIw~G|n6l|K#v2t6Jxy6O
z3Uk|-#~%le#nL)hk=xOOYM_XMMUyCp$*!P_n3izJuux+SHaV`WfKet&X$mFg$K;|?
z+JMy{8cjf*v{nh7Jd1M|O=*}W!fF=o_P;e&>(AnGWS&Ijp#~bE1ESN+E;ZBnIQH!r
zF-?02_ffTFp-W9Cj>OGDcuahbpp0_U9y$Qn;ZpuP71PjA2IaAy`O!l`27af-p&smJ
z!<oHKWvFBM0V}+m_m3Qy^e949TtWHVQlFJb9E}Thd5y&I4ONs)|ADO=*9w<BM2aD$
z3tA9Gj*X*(gqzKa%39Dv5J5%2XYOI}6hexj)(8<WP9;=cO{!Q-#bud1UXP8%DW&*A
z|4Et~PO$HRQhf?KGL>M%2-FCyGy=9Zs3iV(ouT(ye~QU1rwV2$eYTE6h07*U>6L1S
zqLcBaRjM3{uERJqb@V{UyMjs`Ip9)tABoBuO=VBe1RUK*ik45NQbuU(^6sM<Q^!&1
z<yyD4_pgKzm5`a%XYTzgb>djaLF?A{9*@m0r!p(`K3m^$Jg!nl={%I|Omy~A$d~dv
z<!AC1K1IbB=v->W`J6eMse}T`sZv}>n>?0EEHb!t*!v`e8a!10WuN_VDr2;XBT!z(
z9WKf-y41=mcqAki8og%K)zbUcQPJr}ThBm4!O{&>RI1q_(_GJ(Hjau(H@mgkW?{-G
zDn7>=aOvAh?|p{iM_V0oLpMe;I>qj@8M>3o$54@pcCXQVA$8&tR9K<ZYcR_gZ?prv
zay-hyqMUB6S&=&NLGZe~25UbapTY!Z&|_1lOU6;$aF<JKQ|B+9M6q}-r^2Ql_e?eA
z54g<DPAM*pmuT|YoD{~v@Ao+5PJ>07PemnpIT2nv&LJ4^yR<<+reT6b(}AdTLEK2n
zqzDgq7^3<onJ@%-?QHh!`>5ige%F9XT5``6DmwgzUCQuVoZ`R9fk~mtp1p$-SyCHZ
zYGU-ZX_Q$TX0&t+4jyhe9k@F-zlQqE_Kkv|!Mlk1!ut*7G5rIHn`{n6{B^)Pd&0zV
ztPFMGKw}{@cr9u#Glqo!g~H$%LXnZ_qba{v;CHb3Nfns;4)`sCxRQI;z&L8L%Ob>s
ziHG=ph{-U_2u1FRe0DACVLu&k8`)(BKTWt<9AWYuQ^y~m4|~{LVG4{ZJYB+L7>}%5
zqY-EDcGuymSwMjU#%t(JOTT0%6$rZYSJ1Ck)xw38%kI{lLB~ASC5tGN+NV7U>2Y3|
zql8B3&=|#ez2Gs8+)R0W9!ooV*5@i%3N;D3ROoGp9hzkQO9y;)F=Z@Cttc7^BIn}k
zxX*?!?$X+&7e8hEGm9tNrI+8q17hT|o`73d|MBqkYp8;nKFZe9{6osvB`}&5Y_Fkh
z9~Mwq<CQw6vTa}So$INLvFb#-v~52VK2C+h4~*DY1p`)1+q&Bi;PA|`IK2Hp*%}Fz
zR-y9PdfN}il~hu>lhtgmxnnQGA|^?t4#kjP4V<BaVYnHjTIy2YWFt7vFX@t}sH|}V
z8mGGBS6miw52>xY<H*SSr&8ilj@{bTbr^Hq%&`MD57l)T<B(Q9V0S8SG9CqRo+BeR
zJxC>&YK_(|%x|V*e$#K4_56XkOvV_E3fSe4Ux)pr_e!Xw5{=u|+w&)uh#8ey5Q#m1
zVm=`rsr9(jy?=<u-$SKV446ICO>WhV+0`KDqHgosZ}U5R=Dy>&9g<3Pz##jMW7!#>
zuLI%PcYN$qGbmB6&TVe#JAunh8>NGC`%YjUnOLlo+vU=eSvB|Kv?kX;$e&yae)Ubi
z9fxPnS`GEJTiqJzDU46*NWIBtmY%|GB_6J~0@pkZbri+rb)2*H%Ff_8;^CChXO^AG
zn0gPDJdEmhYq5Vdl>~m5CgdLq$L)|<1mSAgne5qsPjSefx9~n-o>ae6DFapveuxwD
zZ^C}PT_!(;>l>S+?Xh%VcD;s*FVra<{X>2|=oj*HiKE5<{*=yZl%K=&oLoWyr@!g<
zV}I&|u^2a<Tdz3J2`i)0D=0f1P+Y*GMLgVK4LEN4J=mW%c^wu4=8zOv=T9tD_ul50
zLOu{@GvIG%aSrrf#Edni)Ij-c{g*PPuJ_015A?Y-H~q39f5L6y;D_*=@<i@ZtF8*-
zM?zgJbikv&CMv3+67tPfpH+Pg_iucz8ALqxZ=m9G%tamw`!|Nd4cNbfip!+?J>bW}
zQIuu&yS0oCLxB<_bE$9o-7dA}dU_Qjn^bPC=Elg)Q>pMci^AHaZNdU2KF{I`dTt6W
zcfh4<DOo**3Xiv1?R`4)xTmWru3f-4HDhTep~7OVowi<m`>?yGP=Z*S%r2!`@wnr~
zm|Lw~hAup=Ba`hGui4OD`RLlq909-0(rV})yKDVrHlN>SYBKhW-L;8ghuM3ndSlPH
zr`J;aD7(4;n5i#w#&{|$#zD9SOj0Z+SUhL1rNb<XEhwiV5*#eQ%`6-9_;iZkICPda
zv%Ii&GQ|-%%?`O)UV5K|V)LCcTd(D}e9#>^74C3{!lGpSe0QfqVO5HXHc^6Tm)UE!
zGU05#>pBj{auXP`%-n2Mg(rcKjdweP?wg`jdYf#8ICd@WcQ&u>xJzT#V&1~yc-&5<
zLm!<zn&L-zPx&2A3ik_y8{AqK@atVv!0S72yy3Cp{v}vGwb$se=FFV{GT3K!sl4{&
zN)qNHevQWf{xOVSjs4<r_rZL_Z+7d!KYlFs_hSE`{0?_%z4j3sw^JUcUt#I+IY(?-
zPq`fdv!$J;K}WyrvWkKZC0MomC6GVyD?zY%SV8eRShj$RE5z+gNjd$Nj+=gsr5*dH
zQwABQ-`c_VFiI}h!>0rMD8KtDNXzvS1V5Syw{VRRKIHe&0YMy_S4KIFd@~&kXB0jC
z=%c`IqtY=g$?L;EF*QeLj^6f2wX#lrfNF^8i^>>HQAwBeen(99h)q>g|23i8)}1%&
z`Ui=Wwlz69vH;}jEr|##a4;<!63-FnO{XzPg~#|Tp#Kl~L7hQw;c#KBFADr&|3f-5
z;{EIQ^MKQ>SjMBwmXn{V^2(`6iw%Xgk}L0x2g)d@?lm>jEqh0ApGKvV&>%$Dkx@YL
z$t7A#7v1wmTu533%q(LM*2=j;J80!_*hu(r&^HL$AJWkODVqm1lVBhc>L2tQ0}g_w
zMa7FKzenjc|68h|I)iraJe>jDwz$>iRkPi?-0AmHJg45O_A@#YF6&>k02H|%tDf&W
zKb64@V#rT{AB|wz=ik!6JOU=IT7t!b7v%}IU|dDB%iR8Fq&06?barjF->W*~v&Q7c
z<c>}ExlK~gICY>@ZS%Set$vt9B#xYS#_Q-i;j@G%CXSx6(d%@Yd?tbbL=wGDo5E{k
zag)j)Ec4hdo%ETrXC+lsp7pwNRc@Ui4#rBG$H}Vq=($4hcYB>tZm%&m5BzekQ{eR)
zc@f~(dY!Cp$cF=d9mLmqsDK+(yo(-3ChapNjRJqS#}VcBTX0&^;BnB#Q2c3OPLsBU
z6)d@1JZ`<$W4AZE^)Y$k@y}R14nNmJrA^A1x?!~2D!b~^c<mX}79DfjEp4F15}DK2
zj&j>{U9JI-C3EwHYnFlTYdl$IX4b4KzRO}-<B&U4*|Q!maG7;3N59*YJ^N0-!(_YW
z(F)>0Hu_ywTZ^MVt~h6Ib)nM~9B}me?7&NWPQ&kCJCz(k?))ibPUG=CE_J}2JHM*J
zWjyqOQ)%ulS}t)qjP6dm%;zj#G1=-c`rLLI!5Mb<h6IP9_mrhG=mnk5ZPz<{?NYD3
z^uC7(yTR0C?TpSIzG02js`cyby|H;CHf|PK2DIO~pj;SpESugmVC#;`7_n(yiB&gn
z&DI^0Gh)-`Fo^S$TN(6?*!1WF7VWto98#`u<o#PBAU<VjPp%mCK=lHvw)t0U2a5x<
zd%ac5Hd)#UHqaklIKak_kQO^MX7Px77roN@6V|tshB|Zsy^@@=g1T`&AU}xmVVuLu
zGJ|PuY0;svvitmNQ)b2to7d?xHloH0yYE^?Wl!q5p+1UUy1Zv%4OKW%?KIs$-!=a*
zdmfcMT+ySyh+b>?&*Yhuc$Cr!X^gEu-G3Jqk*e%g{Co>A0`N`izFG4?n^JY_FQL!d
z_EpcN5{D`KsmtiQw*9l8rV@%&I{gI#bsc_qHN}k{FiU?x#vYs-H?<dM@OJO9s_MR&
z%>DsGJp;_5VzYEM(D>h$p9SqdQcRfv_(pyK$_bA%_CPti73ZhSq#{x%8Q}IE7=h+d
ztTUrEfc5`T9e_29Z&R2WZvlP)PE(z=iwVEat{gayo-;|uS5pMrsWLaA&#fxJ+Us_=
z1J*aE7BZMy+yvwR&^Gl$t0~aT>SRBl*F4Qojzb9Juo3O{n*bfF&8flY&_S5AQF7X<
zJ<9+OVSv({K|cr+=gg<1SNUPO3+RRD%n3D=?21qW4R4Gqga&EY7kM5U<k^H_fLr(J
zD4D4ly_Q%8<#Zg6?u4wrNDix+OSN>G%z&sYrF`8=>gspN{{BP2*m3s{k<5QHdLer5
z>`UXGp~@C_sI6`2O{ybq7!{prvw6+vb!S5P4$9x2+F@=%FL~|J*&uxVE}sp(mNTP#
zNA>lebxLddVD|r{E=CHVH?F(~{ggkgmujHV%QwD(dS#52TW+w>8``ERvw*Q%j12_(
z)UKWJ6v$hT?mU5BjxPqfgG!oj5MVK9-uE1wwEdlUBQER)@n9LgNDmVuqG9hS(8Th_
zY7HPnTJ{#NnnGnw=r`M?MCY#+FsBiZR7;KBzP{s?gA)OB2MyZ%%zHs=)Y*XpNzWvK
znjkJU_`L?A|5Dl1^`Ju<&04KRc_p)YsXwvEsI+tu7}y9}q>*wB5Ce^OJv<$V&#b!K
z)~;;=(^^DCqErXQHL4?Z(sC*y(H8LN36p|+at0VP-7-rHVQ#73I+bF@QkuR_$~KTy
zwG?zNchI2?xVo#B-A@Ihb>=R)+9jQH*AyxcZe%x0r7mO9%Bj9!(22A5*Z>`DYtXm{
z2){c56!(BXVCPYh0fPi)Ha3?{scCVCiSq84NEu~(k5frRy@4gEYT<j4&{SDfsguT1
z9e*X(0dBxmLL~CvGvlFI{_b8;9_3H&_jzqW^c;~g0+ba(?=bioGbk)0{EyCwyzynp
zU6ZxB)8sCjjNP)gY~3n<=D6N&TX(SiK*7>U#tgE*!>OR<XG`t@r96)^+j<F@8BAnm
z3@}SzF;fX&V&Q<yttUX&pT*dYz(7jqTgujMr37&nV7xSF&NC;1hG~<TbcqIIcFlNw
zIKd^H1H{cn1A9^sl)bU{VujG`hT)AhHUk(O!KOrG)odzO%`DbVIwCoRTmwLu%dNu(
z(toGF5P3(|e}a|OVRNKTWo*IC8K$KpsX}vIR9Jzh8eS`l>$PLO+Uxc^<Y6L)75}~2
zZZk20^8EBXKkcv@uXDm|YS1QGLDex!M|75xDqMDd3Eg+y)(7S!JmzlC=9d1(SSss3
zF1~Ye@$7cLL&g;{6H=IunmklQ8l!RgoGeh9of_!;TiN_$e4$9ih3Mhtw9z_;okwRx
zCvu*#TMPlKFX(pPY@7d~;<Sw3KG~9?FOr&Dc#*-P9n&&w8bG|m(MXKmj!o|MKY&zY
zO&j&VlCYnZ9YsD}&^L%ph!Fn;o2IC=`(gsQ$1nPv1do6U>g@&=<mz{VIvNslw;PIv
zNH`L`Frmg|QU(7o-4Mj17bo2BFsc0<<F&*Q=#@zeqK*ChfT;-<7~Za$&oan797}WJ
zNB|!985EkMhWfY?ba~~|E_G}B4fP)cffVakYWi<*jQt0}k{kEby|SK*v25A*;cyBp
zg9R7rfyMOSx&(bFh$|2HO+brL*{DH0Zob=6cg$;owX=f-OKKd(Mx|2;nP52|0U6;Q
z{zrA_JJApO=WL@UZLhQGFVfE-^{I`sX5~(=Z|*+`DR9bvY6zi*_yWCs`JEanZ(0ux
zQo@eDy8O;oDrIC(zw}3R4(&7OmQy|hAyXZNTnL~oypr>;olEaLF=poss{HQei<VY`
zeli5DYQ+$<P#nqNj=S-no%r+fzZ5K>Hs(&U$DS)h?|lC8>e<vClcUTH^>Xy_&+-X#
zs4D*io%3oq`nK*P5bRkK`}(PiAQ$RC0lAPXk+QL1pc}tlvYLv?Qpo8aGSR0kduPl6
z<)`0jxJsZ8+73%*Q%U)HwYi=R&`AuX*(eOX)%%wO)QD^?s1XGEz5n7JcTl`2gHd~$
zK>Jj6^VR|@1|bS+$;km%%~KSsUu3o)jYco)TPJR&I6|Av*a$Jr@_EZ$Ubmr9caA`x
z*-Xn<P#!bw?YLk>J&xjsR#2t`W#*P&%}5>aZn%?DwFTAv2MM%0XsVtGjLvQyX!M{j
zSpI2GQ#z&3Y&gq7KkynWw^Ay>4F!EJ5vlo6kgoeY*NxNhnEv=*LOcS!)P8XEc1k=#
z9d7F)(5oS6q`DhsR)bLLs1Wq7yqA2EisrFA#_I%n*3_3c94z1tSa_k)i+(pJoMQ6=
zJlcn;57WRuC3}dLA`vA&zj>8`;8F_3ej0tCZJzeDjU%Lt)MXmI1Uz{LNOzkoaJ3U?
z;O{xzHtT{i4(M9v-dn(G_*i$+twsCwZS&{Lh{jg!8K(|?Ms-xrwXjV#>I#dCo;AxS
zJ`}@>Po=KYY~%;}i~{#R*~O=yW=<blclZ1}%ApGSzfg;cGC#UAVy=|-#+4jAmN@zz
z{p@m)({FL<PCqy9nGKu~%bL!ZTf$;4zcY5%T2^7r)nBX~0?{Be6QDML_TUA>qRDC}
zNOI!Jd*hy2>nfPha@^JtnU0|ioPrrw4&q#{epI=6s;#J|^Rl6fms0<q>{-)O$|RSX
zZBnZF+NYI|jBm}K_Q%hrCX4La*CRL1pz<dfICgpZ)P^sI-Bs~dUKKmatw|c)c-Wse
zIk9Yl-W+X-abEwbY@NiKTO~ExdxPE^-;CM0U7k5!=d`x*giWVo^Vi-pY^1*1XJc`(
zjrk5Lf4WKNHS(jH!K$_1mzU}9b-}z73*&q8GsgC{*?YO+At-a)E$F^!>0|!-k54B|
z!gF-s;^U|R%*9*&16oW*TE!WSrA61!`jdFv#H75cCaX*9)V2PUHS;b-&Sc8z)^Njb
zK^`p^R<E*W-L1%;L^)jp9C$W-!#$o1QUP_~gfUQl1}SB5Y5f`2xv~nTJK}vdQE}V8
z@&`9K(<+oOL-ae__Z6*NLuHI}W;x|7cE@j(k3Q*4DI4IJTl~(>Uq^0wG$0<Sw^_UC
z;E;V<Zv(}LH3T`mP9=-YK)$r{ZUdeZVrWWPTDd}tXN4H5sz|SBljC{eP0KdzP{a-E
z`W=>qgsG#ngi}EfUB8dmv|X26rnA6+V|5(?-O8R)s;IMd^P{@zM{QXWpOmEPvh}if
zU2Xi?6MgB4Vb&OBoViQkE{Z;!5ut5MC+0nfm*<w|W{r1Qf-W`}L#ssD6a57N7n|38
zBxBlku(4~5E{(_BePqnehxG}?T05pXW&zKbUOo_XYZFKJ{)H`su!biC69>WA#m(sz
zYKzYThAmjss~MJF;mdNWZAuKy8k<(m)wl-26MFwDTRRIZwOUZTTvXrjq;kmvX%%rJ
zJqA;^^m20L_^gxyi^^xsUo36P99<z#Nl$V(9AWt~hR)JP_A+!PI}JAK%EaP+u)(s}
zveRJc6vpRMVCf_X*%=1PGgv~<@D1Bw^^elqx>+3AnbF(UiA32hSk>kVF|<A}vDmCt
zofIZv=z%a%cHb3iS9H!z$TS3P%ZtsjXl*^hB>CBd5#u>2r5dH*R<>4t7BBM0=Nq(k
zS!4#bVl$R&zt0?=C~wM{d$%n$$EMa^1?%<s)Jb5a9!8l#n*^;hI;Y&6Ql@kG?X+J3
zONi^diA5TPTgT>MXjf)JUhj`!8;Qay>HRT@1#O*PqtB_hkiTe6d`!Aa>$k+@V(2lj
z{yO5F{Wx9G3a}~X7%UE1m`HJ9_=fc`do_n+D}dr+dewSgLV-r=(hx-dQ5e%yOsV|3
zy_X-w*u8@Z`KoT0Cg|_KlsSE~Gd|A<YpOm+|D~dpE8MYJFmj|mdw*}n)Cc?tBAe1R
zAS$|P3%9w{5n|=#%17oGM2XudbBkT2yi#z-M7JnQdBv_2Br5AFADIz|Op;5@Z8WWv
ziwdi<lj0mLK3nCZs;k13a%Xah+Us}tovN#&w#>|lOi^3G4(d?ViN{SALyZD%u)V74
z7SulEjL9%W*2}tis``jh(w2~?RkAGMTy_2M_1hAoGx~asH|PLZ<BK;yyO>>m8&?Rn
z_VSJXxLmWzW5AYrY=sBN<)MVh3^er2%~<8L;&RjuugUKOX#6HWDAXpOE?^zNlw2Yj
zWiz-2V)6!#1xC$!G<vuxUL2gda-adMw0B3RANt0rcIpNiVXc2reD0MNY*V{w#fMg6
z^KL=`fVd3gicZsOT<YQLF*NI;s1)g5pNSWVp#^K=GF@s@Yw2nXE!!HO6KpazQ_VxG
z0Tz>68zI(QAGLMT$gnuVY43FmXs(YQglxU`0nLq~m8&x&Q_>P`Jr1?z2A+`#<4xDG
zag$j)(8uRl-9a}&Xq&*=Es9RP(d^dpqVQV6`W^8(eJw#xSS*G%?ug53xg3H@R!gkH
z1bvsS$LG*p8~^AtetyD$l4@he=vraD$sChz>hhU+5xQ1bnK4GCSd4BRAD-pTi{2xM
zX))8ztQuV_o}cm}txC*a^lim=R>g+J_O&_`bO1v$Vg#{Nud|<E>D#d_Ob{#NVOtp0
zkv)4_yf7X%*z|kM6fDVa+8&+U-{yDlA`RUx{rHlE+yM(mD2T_<q_U)fs}}+Rek_I-
zElkYb{|zj(8}U;9J^rW^`+(2phE<MR5J!NaP1~cA6@z)k=5HpVQ_?tIOWG9tY|9f-
zN!L$fi3gD6f$b6TiZ<2&&&uoxD2_~2z}lAXx}h776=9sQ%Q;YbpP?JCs|jN5DwjIG
z)X+VA!@}X*a9O`Y%Hd;+^U6$)p!1SL%I0C{E<RW2GGj?;>>06Xc_}Bn;V)YciyeZv
z;f;UUdkC;pkJz-Lj1w+z#=U9mO&I=Iab!|`y-R0RU}$GXWTMOCHpJu`dts%=%Zt#~
z+oghdW8bK)Q}vuMSD&quAdJ#6k4?9+xt7b8HWuf0C@jv@moa0zKP*Ngcd2N<sSjfY
zYc>7$9&WgaNyp-vaXK#E`LJ^eFKWOI25>fpo+;%=^d9$_qcY6$^6IfpZUk2~V6?}W
z<zshMQ#9eUnxWtE-iW)EVNpSwTgM5rC`LW7Dwg21)!BQ3UQ2($(rreLz@f7B`D|8Y
zZ2pEFVKMz6d-<_eW!{4OPjCeR+S(^fVODwUES}|>QxRa+d}^YgciNoFm|UB>@{!47
z0ztOf-ec~w4UFElAdL=QKW1t3+3i|7SmKXJpkxH$F*`0~uUr>TXV*0a6hgiO(%!d&
zFOmV5V!>KfMCt@lSd`X@xs*efIsI-Gi$_~s8aCgd8@YL!Js321S~|RThi=T{Gi$u=
zrk^n1WuTc}cl$nDcXT!gGe<EM8NsrJaiZg#tz~QOXVY=bus&u}I`tI~&35^GhE_aB
zb;3TQnz;n)r{|qYORv+ARlUZ_V!J4(IxNm<DBm%6n%~pYY3*=P*y2#-48ooUr<~1o
zpGYB->jT5iU18C~?sE4^9+@uo@L^9{o2<!g&R;Yc@PsZ>_}v&<W)0HLpiP=K$!&?w
znHbICc>@6li|w|6G%WTwdyZN=10GLv(ef&*KcNry|8RvK>!=5&1w2lw%i8I4cx)L{
zr&iFxhIgDQyV_$LcGr|)KDS2Zka?{)Z4j`w7Z&Svq>P=ih7KOP2AgBLeXil_r&had
z9mj0FT%nJbJm$V(LF2VOK2vyt-z`X}a1kuOjP}Ks`rV*2Jmj*R{KO%TFAI31G9O&&
zclWk%dE=fAcvHrLSabhz#b<IG1K!N)C#_zWhjtI7O$zv6bxrJZ8CzYT4+i})xs%5R
z{qoaZ3;6^cj4hZ{4mP(szs=N**J~<Feh;kTS$UB(oicW<!{_#}oGO=|S%0&*to}Nu
zI<uOl$33(Cl-=;7LUYckrMa`#N@#~h-`3jMYk|e0@X8%f_p?0VuvG-B^uBFkt5$Zx
z-p3UZkt4QD&9d}KkJ-CC6x%X-`%bsXMait~K`)z^TRr!b-B^-f*RX_KA!t@+hk>BI
zX4=oJ;MokaV2`yU;NeEFS*2#5gC!5r><C^YXgYqQ-1D8iFDwSu?!wCKZVT5%2l=tg
zN?r&G@bNQ2nbU0v*ysSP-bNQJ%jq}tsgAl;aYY!)lk0mlfB8-E!@^?5JT_;zrla*2
zYp19<Jl<s}qTE)#hRq|0+aNwb3B{`lwA$9c4toZYMhla&YSx$NyRUxkhLsV<p7n=8
z7MtkS#pYvZEzcmcDm{k0J23P}rlC*g^_nA6qtYYOc8oX53@V=^sUj*}RJbPI&}VG*
zTD-RC7LXR7D`WS|0=E1`(XF}jqxPuc+6;bk$`}mAeAXY+X(qhlvC&=3v#2%=^9&$(
z7SXB4&yq%@P1!)nuOvyGs>rmI(Up%@^>-W>J4{VJdtu@1hpM?(&a2GQK5Oi-2}|$a
zTygb}mc4Z?ef<BLi~iH15Q)C6|K<rQbF{jD^x3&Q^x}=LSD(rtwWo$%pOcHek)B%q
zX>__lRrW{T0mfb(n$`ZBZ6XqV+&O&?6(=wB7_NrLqmz9r7gK`H99REwnulICPJFVR
zrDjovdN4S>&8`}u(@NXlv9!QmrC%Z!E{W{!l6C1XMy7+^1KVN#)pi2&-B*Z`P3*37
zv1htIbZP-A-R$l>>+I|Nzz46bFe$MG2fvE)cLUNF=>KZe26^N)?O8BGoj_kMeM;BU
zd_nPx{1|MPfA<MPFIdKUzu@p7b;uHgO;P_eM7=?bp0d^4|K};{vbh_5gmzC~Wt6Lr
z=`X>I8<&h*Xvo^|cPu*4t5-j`mlBuv_9=fQ&`ap`w!@RClwv&(8~J<Di-xW>l*?gn
zR2(4CPiPNUIF~YXbEwu&@H`#oO~6X??UtpR#!q??dhc>DZyr^#*BoUNq37wxtFUhT
zYl+m}OTd20(CZYpr~NNW0=@Ft@&~86AAHI%01B&}-v0bq;qc6-cIhuo3s&>!buU#s
zwD!`L9g&IFPGBwf|DOHShVJp3`|N^_%vgHs(cJlW8YVy3$Z`z?{Wrn<oecQIiP-#k
z!zOP#bt2$2_1rXhwO_Kdvbprrr^Y`$J1}acWudv1;KCaS7}5V_I)UY1q~H6-=IZYz
zjxS{OeP`-MXZL@+Vu@jVg<qvQ#*Ie5A3kwMZEZz-;H3V%FbN$w{@S92{be)c{pw?O
z6>2{B!97c5xs^(j;-FQAuARHMYPmC4!0l8Y1+qMLVfT`!UHQ}7E-8L->5=Zj?xm~z
z>7;^k?oVW)hKsM?wJaiQ;whQ>D5O1i>8&M83|SMqkLZsHqw#Xhl$nA2>8+<t4bhnl
zILn(qt>c`rAv!Ara`LA&{%LH8O1}kC#)g#25Ezj^?aC=*LwEuM){f1e`t=K@Mo7E&
z%6oHnaIz;|Ijg_K6{0g&Ur1d{Wz;m(<sF~GL;AXpH&^$klpT3d`h%qpeNgw!lsSg%
z3bn#g$7P{!>VBBDz@J&xt~9_NA9S+*<E4vTsg)+5<~TtR@z>tlIlU#iu;b(YZ_`Ky
zyt_QQp#E*eH{#Jqd+n1=5Bd{ITHEFOIAKWB@cz0P&bZ+N-)j#;eSdBEY~ezEYNgbn
zI|Jj1YS^=Rwk$6H_zA^+Sm(mvs>1k!<8SvL07E&|@a4u?^7sPv)&8F>9cXvsms1|+
zWR9&rV{U>P85+OZG*=drJy19Bo4FH%n`bHF@>N$9KbhJYF!WUYo2e5~*T334TOONp
zyiR!ta{lDTH#2tGbE{fUbbJlsDWUm4PcCQ(i)}e9|Bl0Dz=fRx(bYetU&3S+KfNbT
z5a0S%?`Osq23#!?#I?L7{SqdV`02)yu-L2n<=?ScA+R(o_6i0GX5n^@TRf^uXKW1m
zk*Xy){m!hYCc&S)gJKGO*!uIdIh>@@_CF0*Bh%2QZTn`-=}9WFHW{u4+_%7H!&Scn
zoo?H=Y;lArSLx9l5059J+7IpARm+dM{$cMPpxBo>4uP#UsYGot-N=}R-sw10HTy<F
zk*CK{A72sz4Y2%s)=<xnMsIffBAMk%EOsXt8(`P>sjgp_Jw`=ls9FawwciFFhyAN>
z!M@LB!RTz8$E65(nQfqVl!<cde>FDxT?`m{>XyS23Em|7z|w^L<L_(Ef_48$&mW6c
zMG2Gpl)7_ZX8*DG*qnv_$dvke-FdGS{oaQMU3h$RXwWJ8POO>O$%$}W8~Dv3LqEvQ
z%z4rzOtPD_XCqS4$MSR2A5M=-3vyM*^o?kb;zG>=pD;0ysJ{qVz21Lu%EL}!l7TkV
z15f`%d3nYhf0#&XG+gCHpy!oWCRDp45|x)sO@PMB$}1CVbixGl1@jFUDYt`h#ppR@
z-S`Lj5efZ`=4L@0dJZ;AKSf0(r6l+ovWEd!H-1N0c)Yy9)C4O_pR4MscMAD2eH!XA
zhmXEe)y=F;<c7ChHr7XFq8A5RCqG^uCXC54G$oHm?`fOLW`n_Z;0&uiiG%iQTjtJ}
z671_2wI>4(bX?muXMv1hd72G}t#t%X+x7Ui5{ItiTJQJ#ICNa!Hs_AM0PStHp0Hg*
z&H9eoT3Fw*HyD187l#(t%`CoEWol$`LZFq!H}?a`Mt@M=>ZcO|a`O$xiKGPdzM*T{
zR*K--<=P8ClLuhVQ~aCP)%GK=F06+EhyCVtwEY-%E#Aq1rN6oDZ9j%L4?ZQ2dhAW#
zhBuWBM+YHo$!{KbDrkt&Lu5J5%F*^clU2P*QM(M@1aY_Ok4D6xy=M8``4+FosnwlN
zoq$@+^40f*J4|(FmA?TY4S{{F4EU}^F?G8Ev~ij460A~vW1;43b^0t$mG&ZAh}2f)
zhC9cZwd#icgEl$(!LFIJ`97CD+^0F+e+vC%*UY`c<+7O$>CSQm=$Om6WRc0La}8*Y
z18uzPGEJRb=CoY++E8!oL_fGpa~8lmAACP`8M?dAWm>y}V^9Qol)pmL9dO$gF0@+)
zT$eOw+2IKG&)i$vt?RjQVBkkb8w0LS(DnAdsQT7$o&h(+>w0=#9Qe`Mfx-KhUDtGV
z|3|Zr<v?%y8>%wDH-`6U96i~y0c@<wI%F0$QMPti?Rv%EH7WCunbjn>_as%|T@2N8
zyf&LoslH~lqL+gHiB%S}#v(O0gNS*BrYG$TGplT8jE(#lbb;tvAz`ar^{u+oVX+KY
z#Zo%2wP{ZQiM~h>6Kc#xW#Fj!22}8Ef>kw^t?R1a@94>@X25YQZP&E}_U^12^d-Cf
z-bGn@{)s>8kG1!K#?^&YE>`<dM&-ibNUfG=J8El>FN3E927BAyX22KN{HjMM==(hF
zx)whNeZ&z=Uzj$~9!*=C(k7vwx#9Dc_9>f338_oa`=9fptBcMl8#{hBUl)&Mz+nx_
z>kWqtS0hpwaBP^msq1Cx5)3OGc|2cvz4K+@ld0%UVWQ-YE&bOo9i*=6t|M7w>bkWV
z9Vc1cvi~HEKqsTpmsa2CIALwkoz9S;8{*2lcMYrmK?-EX4M+c%N=}{`(fpfRW@?Pe
zU{s^1n~K-p_iA9h;gzn#V|VEjORQ1mX5eTi73at9`Xe&ck!Wd)%}38-^JHXVq0|pH
ze^|3}8GUx6P~<if9N4h;qQ^S^X}`;6RT*xu!vOSSQ0MGtz!$vsf~Cs?KDOT03nczL
zFLLy@ZB%dfWlMX~X!N{*Z)v$dz?RF17+w;3F(O$E`$qc0qr9esk?4gOTjC<K+NaX8
z<&i%0Tq;?<qoVz&>a4W`vU;w(9JV)KIQRZ;mj+(>!wa=hpxfSBxA~iv8{FP^JpT?q
z7}wP{nahAa)quHeMoh-JZ)|<SWb}&0oiS}*lvAennPLmjdw8lh(eELQY)*VB+KYDy
zPVhP{9UMLgqW3U3+2>*zI9zyokR8U09Pe`&z%1#p5c4C&<df_AufP4Gxfwnlf!C>`
zppkE3_IKU)3`f8T8<XsFiP%A3En>j2$zF$uO%S!{6^<Zv!jw#hA<pj{n1tTMU{$hB
zCt~|75=NsA?O4S19hw^q>b~^wpaxw=%sXH@yHib<2j%EIGG|U7Pf6`A4LvdFM1P{r
zq7{=VjUD6>d@KiW{U2+@F!zY07bE?1n^);pZ?vft`v`*GfiAzk@+tGmrC!d!UxGM#
zGur+3lr0T+Z)8Q9o5K_7t?0uqxC=(izfYkqt()MYm!h8U*VM`-Tbi2{`(b{)8tpwa
zcZFu$#uKfEIu?h%4-NdXak^*Js?Ij$p~!UlUZnYbeeLA3yP7{$?vF{Q*PwwT>!-U)
z?`*!HJdjXKZ%5S8&8y5M3mTM){cIk+gNXU_iH#%ktM~rZ^SM<<KZ-s%Hsf*YsFl}b
zhPr^4-i7`;xn%X;;maZmq(5K(ke-8jFRpofApN1Ajmlp^=YAYDT(4YFk}&_cKI+eW
zFT5O!TLiZ&?!SMVB|b}}pMBx+h~&`+Kj{6!u0*?uG4*?vGzgQrPj|jM1h0*Y6!(1A
z`dZ&_`1!RjmUc!YUq9dWhWbJXUMGr3?)tRtjRDweMvQ6r@_~}@gvO(t?*iiw!KL8|
z4H%Z8mx*ER2j^Yo2v2<2{<ckl=Y8!5=hv~rkAK+q7HHq+i95RbAFS}T-1zc8ul;!*
zeMLOfe`zOWP?;TF&x(>!AF)Jz_0g3k-I?Fsd~v@Ny-JKw*YAAPVrcob_cLbZSfX#+
zy3(Y%xUc<Pixf8JWE!ROPg1f=&&j?8alya~uTb(6FZb?&`h7$!wCf*Psc2~YvE^l}
z6#Y!3u^ZP@ot75!FQ2s$2tKt0E%?7@ev#-G^!~Bk#n$1|r1i1q^1SF{^wROyDmRUo
zb#hOzG0cQ6p|8%r8$;!elXnmQeI5_(MlUsdK847dC~Yw|!YhR`^vU(F){TiP?7F1<
z#ce>JpxvPR+EdG0P8b_Ni+&z9iG4rAoKYz|r*7dFz(ne~)}JQ3Q$}=knwwzktI?}%
z`!`S#VpW%79~>%h1-;R^ZzX&au&=*w@4!X$4tlQpud3$woEz=>iy)e=p@Y&>t0;bq
zzC-mp#Qz<ADeb*O81A+8X-@$wKaPHv^(`q5bJMDUWAM?>POMSg$D-M4ZT}$<6Rqft
zfyTwGV9?ZHJuDL9*{$aK8p<Cuck~|+h+u=nCsfx%5jLY)-TM{r^YiFcv+Zu4OUYGA
zkFZ6k8@*=Ntm7Khv|06M)?D-=dfB0yWbk_2Uc>bu4R08I;H0Yl@Hp7Ufiu9s-$rk`
z0Cw3}oyKbbe}`Uj8D`rY7OzEf8r05L(FZQ$B$M0Wrl_m5A00xw-I~d%R;#?ldpah7
zj-a>Q=0!Y<*3~?4943Q5p;tZDxkjr#OsqQ-ok{S}H(cSP-tMyjS@#~85A8<(7n3w4
zD7ztO(q4e|bqr?%d|7arf$__>m?DO_^*=2MuhR2QKQ~D->dvri?K$ZY<fhlO9oRlh
z5O?_t`Oo1=L~?Lg+kvN4g2ecw*4-_iA|?HJ`@sz*!lV=5^dI6zpp(G?`PteLVe#q1
z6^CtV)It|(oA14sCR&bmf7|pq`i(BI_Ai>?^>m$)9&Fl!_R{klx_L7^&gMU4zc#{4
z_Y8*r)1m-;a6Ni!_sQ#(s>c@1pOn972|7wIxD&RL@juJ&cd9`>#r6(dNBrvVfA3fs
z+~fsiK6?41xet!doA}wliN4>7c={ojbS_PaDeCI|gvUdE`ia*456<luCSH|(>vzJ7
ze-Cx+e|W_#Ucx8xAB`Q5H!cBQxV}xYgk;`O32)Qe@c#WxvWrJN8e=<pk=`J#gq1((
z`FCufgo7budm0GQZ9Ny?vMZpUFqgyJKg8|+h1bzfqt^-Yhh2YEj!O~Tc;V7>^uy?R
zBIn1ARJlZD@BRd6l{1(}XuSW6wF#^-GW5cK*8M(qql^t(GfebKI4kGf{dbGW4f}r5
z91nQtE$AqE_P5eN#i}DM@mI!|(2oEKe(={K*XTPN8yWipmnkJA?Qr}4U7|(;*BpV~
zIeKnlp4Ve&c}v@bULz9Gq04Wx;)h8auYc|iL+=w)(U0x=;Y1VBcl~8fG%(UKbY6B^
z<nh&g+wpFA9OkTOzgcG0%iZpl*MYFvH!Fup_g_q4fcjZ<@ks51<@a$)W&2GX^iEVy
z?>e@suw>q)>&o9bVGz(jKYjeJqT+d%<*Fl~$b{;G+iPe%{7rK~r_lFk0Oqd|X*z}O
zOj0=noF*1QKvbq&r#cGL=r+K0ci-{Vg81K`?fo9+ikHxb=%TE9s=ynobMKeEh`vJ4
zp#$prnH=F;ADS8z$8YPXkl8HM-8YS9K;juli#~d5(@xFe`V!zv@pK`Qqj%q5zk*uu
zr>XxJPB>kIhxWHqR-c?}N;X`J$)l^$Yv|Seuz|R$fn{t=96eYH?x+x%-Xf|YB7L67
z#)Q65DG=4QzM(jQ<qN&aD7~9)?7!0UDb>UT++~!mCcwtqy9X>ApAxn78hhIgjkNFQ
z)>qj0%pDF8E+&M3QG&4A5}Xs9LmVI;hqsP{wH^=Ua|Hhr{0}jQNP|VQmW6S4DQqST
zz-d-qWXP%+ugu`M2I7k8WO_I<z+9s(w_~!~8siqzlj((UG{VQi<W*FK!tWFn)6;{m
zp+m&@@D<ZFZ}LRa;v{+%T?!)TC+(7|GP7=U|2P*zDIq0-1DopqPOw-5KT3Rry66X#
zmoqedy_f315O#r>iC&<eVsWb5j~#t~&ksKUd2k1789K`+WNN;x$ATMzQOHN^AfDN^
z>+=OqDlhYjf?I+T2--?4-u2AqYd0z{@rpnx3;@9#LciX>qqTU9w#gq&PY!xP3Vx6N
z+OU#J&hJ0K;nDX(E!03XuS1a8goB_O7y-<;apw(bw70l-1RWdP4tobbCZ6g$v2<_6
za({w8_;7FzJqvXbU;A8l?Jbt5>-NEccY?u+ghntPy|^08!3&I*c^CZ{%7tTKCeR(|
zQ#6KlZ*dMpq|p!2FMv962bxGXp%>r)f$)2M%D8m;ae5uf0ekaoS_el6325i$=(=1M
z{VM$?oa3??Wz*Z>JDAU*)r(<=2$%i<^4>%wqjhj1K@AOuc1Wyy5)l18JsZwJ`vone
z^=LZnK$CW9&me;SiC&Jzp=VGv#GV0mq$y9Bo8eT7L!h|MMSIao2p&h*A+*_W6@rgK
zQFo%Na40yO8A4y7m9@&lE{Z-zKLMxY976@5ewNTSTDE|?0I`n)Gbly(A_-(d(k%$B
zvGp>+q1d_5lx4Ju?pvfej)L?F$RrltyO>I=p#fC1^8pkjpQKMho=ebQ=q1Qx7~MrX
z=W9+uCZ~W`KMXwnT^RY<^mW=()%9u62f@#xH;Ejy5n`v(t#o~5<0lS8p9g%`BL!2P
zOf(UpCfMVT=nIh0g3@R&oq#H7KYcMP9gP`JUw}SB(6nQq-zv}y6t0gpB_jG7eHPA{
z8HZLw-X)M)F$}*;L^sf%GcEW$1n1Cj(8?5OK^n^bnTZXj#h^S|1>FFvW?|6Zi0*;=
zbF>i+M|p@VNQ#UN(w+3L5DyM&flLaa0f-rJ97s4+R{=d(4Eg#{2Cbp@Mx>#db#ym<
z1PCk(PVB0LJBtpEM}C-F$RL9mFf?)H;W6!2YEDCO19T(ph3|2~*)1rVHq*K^cvqbX
zM%n)r42Mo2S_iZT--7{qdIMA?1gG$H?`i&wHUKU@+Kh@I?*!V8IQa;U`lO9eVPI%*
zf^aIWhc0|lD*YO^ncfOcV}hT6U}zIF#2ybhV`4+JgVwR(Z4m^)ayVjZ7tkLLcG6ZB
zoGUUE{K8;t2qvsIkQZ=3=x)#%55w%t1*1XPt~eH+LtAMjJV4NTR;WCvCn@kARyhQ#
z&?q=^bt{v%8>E^U&gOx#KY&`QKxLqyYQNHfk^Kh%K^JX;KEVSJw!Fj9Lum-M!XY?T
z!%7FBBVL6}!k{boSc|wl*a*Qcln6YKrf<atY{K9S7$O=G4h;^5gNP=eCve`-mQv)_
zLneN@3r#|=K=*zRW1)xcK`wdzVhHvCk==vfh)CK^e?f1v*?Ob1=^&K;GEofejerW^
zy43Yizzx9xIL`VIS^#<DHf)z_Py3w^3_r9Lh7<)|2A95|vjRa7KJ?RyK7n8*pscxG
z_+t$|v;?0d6AdWtg>-tl$43WYMu~${0mZQp+k@+E$8SF{!A}wKXg?Z7_t6&GaJlDm
zm@6QtSr^PIr=anWiHFvrQqMRzAt`jxH-e`D)o|MH3yT@HYA6`x0@jcg&WC~1CE{-e
zm*V1}iw$rJ78@Ug6S~%8?h3hkX@UjHFuw4V{vJROkcB&(z7o2y2qEZ$46=YSytB%L
zM+4!nL2Ds{AL*Sg6aWJhz7k=~Ll;960|mPr156--GpH(nMfboM0+HbK8pC3k2Ptrj
zB^<~~yP*YTHlGEIL-@*sA@~{$SSR$R$>M@tolI~pnomy&h@b`GvYXm_L*u;wc-sTe
z);8$MueCm?C=<H?j^vsSn7|QC2x(9oJ~{`kV&L|;FRdV|SUOJ^)@<M!hQ3CRLa+g_
zG0VfwW`=?%z{F`SP`3$jX@?qKcM7%2MD#Lx3SygZEERr{h`FZ0`CpHt2pGC1`jmnK
zZqHnE&<}t)1(FAL4fnx&R-p@X`}ZLjj<uo9oxs0C*C3Cj6%eew(SK;L)3$@&@fmRs
zQ0z(i>$B9!A~+HXuJ=I&cp2I0HoBMIf2{3wP~mY;Vu$%4`~&+N#F{{5&}A5JI|N%P
zOD8<XF>&xK5bOZIP>%;UG!CAhgac363**Q_cX$vDR;_Rv_vl?{3a$>Y9K_C$4#Owb
zV1gsiE(nAdB51#nDKZ>5AHDz+2<Fo;@5Yx9$YB?#+M9q<nt*YvJKXiLww?+82&(fW
z=rncoU-WZ(Z@kuV0L4Qq&kgZds7fECuUEH%=!Ait0p|n0ik_vf0(tKI!rmX9jSj*X
z#-uqNWa~V79ew^+pABBwz;AQmNef)Tf#48T0(wz+959bU+V$V`YPymxh1tkDln+*-
zW6+P!fWT;{Ve>h<lTqu!;pnsJK-{3-(GNp|h=3<WLMN>O)p!NG4*4wI3ATkjAa~r*
zHfJzy^n0K-vEWGP8Yua0cpa}7@W_F9RZz<NbTJ$zXF{JtjCmkF_Cv~ks9q3yVJ{s=
zUqK&0b8bP?(C^SLv(Xm16?oR;^kI4v<aP}jr4X8CIp`!GqM7tL^ej-`AE0w*!*cm^
zKoBJQKl%WuF9P~HKGF@;j!BHX+YZl0q1WkeL6Vr^8C>w}G4wsL4Rc!<*JX4weV)Dn
zssxZ1H2M4JJK_QK7(C-cA7Q1W3G|83vkyR8Sb-r&qAaYR(Ptq3Q=pHWqqQI!zbCe$
zr$CR;0L@;Ye+JR|1W=e1+NT~YLr=n#0?}&dYv3Y42s@zWPK*z8l>)DT3#3c{vu@z2
zuQK6D0dMer-$JOveCGK!B97LwLi`Q}F@1mFL)s3w;<QR2t_$>2OggYkp*A7{>U9|K
z>jsQI0p|TI^wSLVC2=o$1h6;<TGcSXsEK}_NrQ<AUlpK{4FD2n=t}_MgDSNI2PSuE
zz|+>z{-B+n5<DMNK+l7af-6a&fWsw;+KE}&IYca*e3%@!9OWcPmPi(hcZk9YBSnRz
zoP0EbAdf{55k&3s2qJ+<K=>|xQT&29M-)bmA^(s3h5RxnW-3QKN4!(Klzdm5m(P|=
zl7x%5P2r1UNR@bPB#TTU$BJ^q(c~V<XvvIXLi|jQh&-4h5`(HEUPbN|&m`XzPb1%e
ztx?m(6(Wv^L-NIm6)bTjxlvpLPd=<oAv46|B(rL`l1j3gH0H$RB;~}3vuh^`!pI%u
zgS89D?K#O=>Eex|d~vm8xF}3iD9W!T#jgRD1!NIfDJ~JeDSn=8ATNs3BxQ?<#jM4M
z+)aLY^Y^V}8q{KE=$Fq9{m7M22j$RDoGE@q93A>WE!LI`$-TFJ;+M%c$u~kjaboC~
z9|m<;KlBrYiSH1P3;oDy@hqsxmymwYP34ep-tNS6W+HMWxk$W|eB<v9+IjlzPMjyM
zC?d$Je6~38mJ@NXzZ!<FWRi$22`Bkvn0Omt#yC<a-nLvw9v~NrW5kt1ZY)b2DIP<r
z$c;lzR8(6GJ^0~GHx_#1HYds<GekMdx#I0)I<(EWe{+)2HQZu?tj2v$8iyRIC08tu
z$cYrsmW(3bo607;$?GCfb!54KTqeF>{Ahk6*&<3LA0oGs{S|D<gmShdlH`;}Wev+=
zi&(XB;#boVIl4SN7gfhVYra6<PmbjCYv&gdk~L(a_<?d>jzGZ5i6ZM4!eJqWQRE-w
zQSs|pY2^Fl@!FcKT!A2&wTR6R%gPq7u1TmOmh;9Ecd#TQCA@iT^2-bYw;pbVf2$Gs
zI*x&zWLgQ4#U~fw{$Sd8sO|okgG6lcJvE6{1b#M&EfC^XCch>3N~Vcl23opfD3783
z9qPNGwwF8+YWE=waJ%F79?l+4;6ASn&x$Wk$m5V5qzUJR^BGDz^pD$}JV!Q>i$&~Q
zA{TJRR3_dA`HUjXl4qC4<-~}iC6D2>5*CcTEme5Le#oTzT|70PPtGHEWhIgG$?u`o
zuh&*pMa*H<u1F>pAo9CH4r#54nm~w0iARb@OTx&qT7Go|nJMDcgjEpuCrTFOi8IJ`
zwWZmpb|LvO`EgbW`3d=HZNwB_PFhY{F)NR?kTsQGJCBSf6J|uzPN*%A)JSs4X<4OJ
zg5jJwsER)gO(P`FkWbadh@Z}5lNR!?<*_6;KTec3jWvxuid7?=&#p<WjjG{{A|z8L
zu>?F(dKE8)5Kkg!k>kl1$(P6v#;_z6<m%eo9AUXgvLgo$oFmv-#aTt5a<aJaqHJM=
z_&GRxgaBT#3jY^|k(IzlK~aS>2k=3z@FTB^myvqOM)GCJ-7%oxN=ArF$yX!^Sw%xJ
zLjOsi&MhI}R13V8MkJw1R_)y3ysW(1n>n#ys*CyW|KGn%6wko|NU~aTPa&(2y*!$X
z1uhvYenB#+jHq2ExwDithLGeeV3E`e9{GGR!qP;%S-c+j@H0T+uYxoQAC5qlM1>O|
zP3{t}jbe*(fRF5!%!p<QfKLORewGy$2fB1kI{BGIl9exhA}cJ58wbXRVwA|rDkRrt
z#bqUu8^^K8II^AGM|Rd^h##q)R6DJ9GNj5NH`Zj-PL>F3#gdn^%0?1dWwm!qKvly0
zWO74oepaeDHy_S$D`iVwnMmZomq~MSvx#vWvWN6!6^ti_b8DB13nZ^eUd`o@&yjD6
zIPok|geXG1Ry?bAWq#7~Ffwi`cPeKp7t0p%ka*Kn9yu1v7s({@Qckv{N)lek5)T)T
zg}O&T?Kep#ig(UtldaHVEZ``2LGAOP?s4L^Q#l|<hu5Y{X5{d5Shc)bE_tL9kx$o_
zlab_7kR@}(95J_&Am5lrkcL8bA)91NX3r3chXEHW64$`E=abbn0!gJfiA<}FABD)A
zNr=oMf2#>Ek7Q)mPhu|lGjJJ>I8nr@iO6LY@=2UewYa!8x`r>lo2(@pYloAil80vq
zYSPA`nxwhJe2#b>=@u7?W5utE7fLqO#9~)FVtHgN%qSxXQ7le70%d{K`WD5*pyNu|
zGg#sklBwhu<P!0n<Z>}Fg;P6Ha_@}r<s7n=yjB}F5=o+GBT1AbMp7!t$O$9M$z<{l
z$@-dPvWvX0b`kk%ek7R<R4^Uf49U8hn4IV;BoUJ_l3`>j$rD%P<Ow3N%V*DK&m(dY
zCCeo7Gk|~Qb0wT9tQ-z0p21np693<jBxblXaKqXn;CA3}D!|1+UY>(66=TQ91*og|
zRp4yp<Zt5P&_aVQhef7|w~(SrPzc4WDO?Fm86?$`F_Jj4M99jIC)d=@su9;N5k!#h
zh!R9m>0s9tCrj3nVYQMOLdbhFIf)O-Dj!v`#k=?{K1+OWPI^wdm@kU2omo4lb|%(@
zNMlw4`FL$5IV=Z>g+)jt6vc_+#B)V_@nrJO|3}=LfJaef{lmXny1Ki%t9sAUgb+f2
zfME^LhzM<jfQX0)1Q8J#1{DzzkwHXErz5W8K8&wAis(3uGRQEzsEAB-5FJEOKtyB-
zTYw}$)=nqs<^QW7L(jW>&;NP8=lQ;>K7IFl&$)H#o^zMFw>$DhzvNbVcPW(po&4Rq
z+uZC}`aAQ!CUCny$h#!4Eb#a4?!b6|pMb-!_^<X)3v6<yyVLzQ1V;ELSp~lm2=*1b
zi-Em?e=<(Fe^MaWP4bWRUmLvA(9g(Gt4i$GA&?z7-_zv()ktZysTchB2gka^i?OD8
zFX?g}aWkhPcpY`P^X_c7)7>fX+Z;>a+*E;5=aJ!XYk@C_+x9?ZNqSE;ur2u574T2$
zEd+QXafz>=5V#{SCa~YH`YnO41K<0(>@GtJeBMvgg}}r91^&hEoWMwjkfQ|e%;BL2
z|MP95WDl(6TQ>F*7}Bt(;=k4aYOx(=hy8!hyZlpv0YjD>viHA2cj=<OW#|Bx;Ig)L
zQR^CM9wc6ZOB&ZD^OC&2WU~DjW5B=ku1h*titcqu54)&?8G6`7xTG(nn$*6pGr-Wr
z{u_)A4h|9wnSV(;>o5levdL-1Y+23*hXsdr*L&J7y(Ry*<|W<ce={%YJmi2&dei@4
z8hYM;g-f&<THb#JgN{@Py!P*Ra7OT!N#Z1-*io#PbScT9y!h80yfJuF@ZRA3;61?w
z9`0M7dIxiYU4uP?J%ZhXdBOZ(uU?cesdtI3#5zu#gt5|Cq1aq(p%#7lJ{>p{EDwf*
zWx>#x?0>(5nd5|DS}?t2#J}HxNT4OSJos?%{*peyCBX*`Dhx~woQ!gf+>M-!RR2yP
zC1J_G)0j$!VGni=b}5#N#bT*gC^i)<|6VflYYH?6AGuNrE)3omd?>i|zvR!JQ*e54
zTHwtbXO26^Rx;8`iF@fDg5ZQ;R<M&lFUOUmS=lCBzB?qJ`$i$hp5w5ZF4Y4iv&XRa
z5_$=v&7&>B5joZzHAhduDkIP@P!VXfN;!JkzrWoask0b9DYC`glVf|vthhLq5cpF`
zu5sro9k<Ed!@u1Bz%*luFXbw^)g$C~$<3MO_CM@@IA{ty$&|+=!S5?{<@y6X19^V0
z-xug!Qe@oIoYS0EmF^uz5A%NxXIoq1pBB76u*^T4Eo?uwu~)He?Hd?jR%|F47I-jl
z{~&RMFd0{g({u$^y+{~_l5x4YRypucPUdw&K+W-waTL4El7DjGzV5C<p}Sh>^xtf>
zZovmiuFTE03I0;6Bywh|ueoGUAxeZ2ahh<mX|yy=x>*^mm*8e;l*k*SgcA8*ts*yF
zD;Zicl+@ixZR<DwrEW{$H(o&y`FR2L*1)|2*w4?*GO^dn>$0wT+4irz{{3nEzjpn*
zE^WB{BUAk@mwVaQ@Vo4~XyZhyk@mik2(Y(a0JdV(A4+<T#%L{o0C)Eoh`{QS0n}E^
z6NH=PE`paQag4!8!9O8zv}8!37zhN~jGTGCi>YK($>{E~zp&6$tOjNVuIeuIL{PX%
z>h1`x2v~avf#ZWrfzm;8V8%6a@P=zl!BK%ni%fy%FUbPK%+1VI1AhthVq152PVN}5
z|G7@0(Z&ZSjgf*A$7ue?D1&}mguvL~?0|iYr=z_t9HV3jePHO51_b8?GXnY$X#yrn
z{^@~n*%)ii^^P@-RRXKV$`i!EXMw8j*1+(<?|WK%S_5ynyZX~cS_0hy?*`VSA@FHB
z$8R8%bj|ho^GZtmWqCrDoMm=rQa2nFbWJlC@$7^`OQF5Huh3IyE-7~V-HtqDiEhC^
zm}ivmgblZ;*hYQm<KS)ng+aT2;gtgQQD-n%a&yTD_K^maWDgSjQ~YxV3VwIc8hE`o
zmzM;d%jwJUozcN7N?gU(F+3B=A5a9R;J>ltijv+XX`RqX@Xrp8FLVSp2B(b4EcBKP
z%oF{?N;IPn88}jMb)Y>*9OIsdlDvsRpeSGJt^^Jj2qo^Tg=^GnEIrWOc@u6DrifFd
zDe@Fd5pEF2{KAR4==YJ^vvP#Mjt(<B(4)i53FLQ}8M*!rvrC|-VVdPYo?+_nduevM
zl%D?G4S&8f*1(@HbK(D2wrT3WmlUWb&y&TC%UDk8U3%A@i#uF~pRsig@DZCpy#kdT
z-o{@A@5`<n1PxDKhAr4(yYy$oynGp<7gJvJznIS@du2z&i*YW-x|mx|N2&^j8a5*b
z!+z0)4xfwu7wsJwbJ5~ZBZ~1l8w;<DGd_%&m^_I0Eqq{^K&pOo=Ut0w80T8$aZ+GB
zPd%B#6M2?*#D?HB;+HZBrveNiz)Rq%Or;my?tl5YnHr$`QDgAdC=Y^1C@`XT*uBEc
zU+fei!t?*~_leW~Wls~0sS>8-#pMPUYo)To+57#R4hkV%qB=--M_dDQ>uScT;Gt;j
z28me@%SIX_A1CuM&M9)h-a#kvG0N^JhY^fA=$KkF=rQo;2t~(Of`K>brW8a6-iDo-
zcHnK;IUU!5w_#U)$<MHx2}WAxCm3#nW+QK&DAJME@TZ{cNNd<xryaN$b{pduX^Dqm
zCm3lBJ7sT2TEnjYlGd<u+N&ci?H#ll3&PNIEl*M<<vlCuYg}2s0Bcq%;-=}dIgNRo
zvsLu>Z09*CpL70l9nVDB!O1z!g61v&x@}>>9GLG;cYY5}tS#q6&p@7qG6*P~z;jSO
z;@KyhNErDoXVm8dV;JZ9gTO?VG1(7HT?0&;3f#iHZtV-)!Sr|2Z~kOp;U-`)-M?`H
zOUr<Vb^?!_C)Y53DJd@FB*0_DX=NqwG~Lg>3cSc#dienG3jJT_%-~zZ?`@Lx$5((q
z?FZH|-wkwcTn%g*1^g%7n;G^Y@%wlvfp~5C3ivzA`Umm+aux9P8^CUI!kz};z*696
zrZHw6kF5kwybGLUoHJ3*34a7!7zQ*Fzm_L}wsD+h;0a1R`$jN*#0SnZns_?0;LHO%
z=Ma2l5HhnVD7_Fm?}3oR)e2o#Lg@A?g#3Ygz(XMn;7L@2-h(ihCqrGG0U_vyP+SCI
z+<FM(mqNIKc}$qWQ^W{U=$<wW!Y%tCO#cYNt*=9vu@l0qEC{pND*fs_ggZGCe3ui#
zJeD<o7leCjA>7CE7Y>2&U>k(r5U-^QgohY^8RI?7bC*gPUiLhM@XHX&X+HK0gq6=i
zc%0uEK0)(Ix}T!|(=S4Jb_0axh}-iUA-u2|!i!rWy!1JQm%oCriuk-nx?Udy;SVhD
zjiC_Uq`7(+gf$Tee>wnR?I8$%J_6xAa_0NQaorgRf2oG>pB(7h+#AA&Js^Bk0O4ci
zv4v?rp}Dm`girfI*hcdoZ$Q|-8p0QAA?$b$!k2`v)<O6uaoWW?{Qe0Ddsaf&%X-^a
z3gL$p5cbnN$aFswze8&v93~uL`lC!+NjOG0PP$Hzrjwf?oMPQpZG&*S0>YUc5Y7^+
zzk*OhsAXC8%&UQUG`<U=iTN}$eT4ok#34$1E1`|hPIrtDXIO%HCpWPD*~AuaBSev4
zc^RUWOH5Us=wxS@^F@d*y502m(9cWoy#X<e(}d}-@aQFmXA-Dph&;<k%woLG^v|Z*
zh3Rq#xz9rERt7PT(4FT^^;itC=Q4=-3nBKJ%cGlSK`da}zHHO`F}y#`0ZSncWW2&9
z5C_p5Ot_M9uO0_+#3YC#r$P+QfOySJh(&Z?TMTgwKR+H{3-N{qh!Y4m5+<I9cvBO^
zNfC%Q#~@B&dpnhqri3t!a0_8NSAN{;hB$-fZETS_+AH2p`>ZD*&MAWU>roKr(!7&p
z+(o#XFpqxs5atIV-a8E9g8r0PoLpVl8{+)~AubvU@qytG7mtAWAmc1y`rk}|xO5`K
zhbBQ>HW}i>q~Q_bR(1yB6Qt$oG>FfUo);HETvZM6)ol>p{0`zf2O$2D_CFJ!b<AhO
zDv1C248+YlAZ}R#@$WA~{Cq3KFPUx^!@t`P@rSVxe|!((PZo%W5)dny|1rin#W-ij
zLp-+!VqF_V?r$kZ*F%i+1a;vMB&9bbbvPu)I!K;*kTMoQ>bx9M_C!eCav}9x45>HI
zxaeC6X}}CfgZ4oh`XZ#^OgHi)NWs@3jot)lEZ3usdkWHo@sK8EK$@}u(sXXqH<SLe
zxo6<qJV^6ihIH>rNDElbeJtmGmb-{~KQIW=;+c>hTmfkb!+%3q`V6Fpo`AHBXOBNj
zSkAm3c@@%%Hy}OAGD}xO3ax=u_70>l&2pNL5s#IdAw9kk(i5~lxdGBsv_HKb(sQdI
zJ<s$nya(w;x?kD`>E#`ees>7ct4krhMV!_U=eOrWdS@}DKeB$_CH#r7mbm<x@ZQUi
z-e*4RNdI4m<9g!t0dd|?3hA#jH_`ne>H3K9@j^&jXnwK|($<ZTK4qEPh|k}NSH)IH
zpY4J4`94VhI0<R{8A#kzPufBA%W6np)j|3v-8*Ujny`!RZz7PsjY8Vp2I+eR(jFDk
zUOS|HI;0=mkoFUPbV52n_fLd_toNS*=@8*q4@gyWAf28I>C9|M)hxT7&#r~}#HK?^
z4uLFk|6DHSm*rf@rYy*cAF`PyPsEn3IgnNQa~x8(6SUrt^#aHa`Z?1edtZd?-vv2`
zD{ON&L(YE(a^F`W_oILRm5>KL0eSFp$V28q9{wKWktZQvyBhMCwUEcphJ52#$P=00
zO)O^;^PIx6Zy5#ow&$rHOoBX@Y3}A4;rSaNFJ#&WV~`(O1o;saa#=a#l|jf)?}z-t
zILNEEKz^0^zV-~{w?N?Hx3yeh_Q8C}f2)A}A>(|?^xF<W{+xb0mO%cR_HTI#?f2a8
zbN@leKdpm&h<P8L1^L(z$S2o8KJA2D&2$&$LT=mzxpf8P_)eIFCZ0RC118gZTpU;m
zleP&a*C?3yiKr><2uwWl&D5DY6n9+*Q(h5FJ>G$-R|KX$vtcSc15@AtOvCrU6s(4+
zcnwVBa$&k*6-+mAG5ut&vMpg5(^Z&ez6jH7rkS%Arn_dsH2-s$7QPJA5(`WZZG-6%
zrVYIT(__<NdXnWo6NTvo+E-12>GyR1VJS>+z5>%~ZV&OU8>aUbz_h*sri~3SeLRi2
z?NlCzcOIs%S>_(%^;14fhfl(El=M_(!*qHjOf?5!s_zX`Bg<-GzHQ&a6lXqMSETTC
zWJO6pQEAu5LUHgEHYXS3x<){8=R)!HhvKb+lC}kkzW_?-7olWVL*WOJO4oOwbmPgO
zc~3#<&h$NYK<T*=O8zP+y%t01Jq*efc~A<NUqLODK6{|_T?wV%bSVA%LK(pDfy}3H
zDU?C<8$w)$PJlA(0F<j2KnbpcQpDw<qqadQUIJwt^SpjGl!-Y|ZXN|?GVz-{i|_{F
z5ESyCGKDA0PT2%yD)TIv17+GgD7Q?4GM#wex(~{2I+U5?q1;ZG6@+rfa453}LirW(
zoRbFS*KR0tRVa7TepeQhyJtd~R}N*q1<Jh)yEg*mKGw<oQ7DT@^8@cfp&qI{NW7K|
zg|hTjD9eZsRa51WA}A|FLK~D)(ifT!rHp>%!=OCoBpipbax0X_iQ5yz^~sl^JjFVE
znson`_4F+Lo+EzG6PM>1_XXAi^(EzZwNQS~@K;$6uQot=one324CM_zhd0MTSv?BM
znldPFllFHeL3wvJls`>|@?JiHao=AHW!*9;e_{TAAwBCqhw=gG{2&Hp1MBFotDtOT
zUjMle%4X8^(IF@wuZFT^F_cf3|5lc}mFYg+1!dbBD1Rrt6?~qb4J0I>e8GHoW<%M{
zy8iBYDBm-l0ecvC??x#5`D_j_{6HO)pLRm|c^#BP6;KYp2j$2|P>z;EsmvmrhjM%b
z;UJU~^gqSAs49YTn)p}Gg;L8r&k?r^FG8tLgVM-!&5Rd`L1|_Ewh_npe6FB<24?C`
zX39;o)Ej2G6lT)_n9X@GTb96VoeHx$1ZK9AX1g6`c9hIo6W5>af!VPcW_G&F-UTrG
z7Q&qVJj@yIz?}Im%>H#SclrqCtZguNCS-pOa~JyOl*8PWal6r;M|=0#F!u<;-0O9i
zdoPFiidiuCnGbW{i7@x;3v>VVFb{YU=7Bq4E@a+=SHnDH8O(v{Fki(yhCc=K$c-=u
zSHgVF6EGK%o@-x$dDJSHM>Ab9%`wdThHRK`V)`j*FyBI4ZXX8o><XCY4utt`mVXcF
zUqF2CXW0)jzoizK9~letiUOEJLt!pwnkVMM{4{BKmiWJ<z`Uvf=GU0#8^mYLw=loG
zhevN7fccL{V1D-`%zvW!-a44qAB1_+ahN}v1oOv}VctUcbRW#0GtNKDVgAMo^LJZd
z{(-n3BwmLY_bAJ+EQR^hRG81^z+5{WX395n3vq3G1?B`7^ovEXST@6=y$FkYAuMU@
zVevl;OBaqOblV3@kFBuuo()UC1F#ILf@SbdScbd<OJD^o!#GAUd<`sDm%=h)CM?%H
z56kEYu#BAw%XO1sxuF1-3AwP`m<7wk3|MYTgJlXo0-ib)mg!?*xs~BF?6BNsKpiZz
zKZk{FgXM0HY|mr)_qbu1PxIb+uq<G{3-`cs{{~nV5x)l~!m^|<EXxkUQkoA-85cc<
zqp*}8g5`<+usliJo@{{Ssr|4#y$P0QNZ)Ul!1659y+E2)k%r&D!edRph2^!Wu)O{}
zEN|q%vic2J-tGa*A76&$&&201t6}*o@!aTy<->unY+-qyu$*nL!}531{rOT@zT5!I
zKUpt3316>=WjEvQSq019?_k--vVT|y%l@Ze`Eda(2k8EZ<sQj~<){ctCG$MK2bPn=
zVL7!1mNUy?sTlzaPd%{Iv;5{KV2QHKR?^W%;HSJ+j`~<-f@vbG)KjhI0$42^N4Gb?
z>f{)UhyLD4u=)sTgmlLBpMkY=6OV803v1pASbGhJwND$Y{i|Rdlm}~IKde{nfOTXk
ztk;f!b<Ap5udn1$uXb2xmcx3-W?1JOg!OL5TR{IsO!MGfur65)>u;FfBm7(>JPTIV
zz4f>JOyqadVg17{Sl`$K>zfB)eR~3|?;e5m&&1{ZcVS(hLui2YgYB^Xm3VzD!@6}I
zte+CLEr9hi;_`(K>sM1@-L((aZ&>E;d|27uS@&eY`U7$LiRNL(uiOah>65UYXMXie
z$Ior8EiAun2(0Yisr-UL6|13|dO%gqK(#D|s;W?JWl$Z(P~8nsGq*#{c@}Dq9H>`R
zK<zUYYTx5f`+W{|V1KBC)1U^vgL>6Cs3X3G8k`4}vQr(M0d=enbsY1!p$h861yFAq
z4|U2BsN`>T2I00ms57~g_jWtfSzewf-URi|m!aOZ3hLdjLY>ci?~6cP7==o?r!HOx
z^*2vJT}pf&V)!!R`|xt8%a=iYq!j83;{E7cj#rI>8Y2E>#5LRlYB_0ojAg7OK93XM
zC$gbFnG5wPmj7GQ^6XbopW6xbdBO{{zxXZGm-az@c|X+OAB6g94C-ry*9m_hya}kQ
zMW}BnP}eZ;w=IMO)OU#EA4$Wz#CdIBsDCDY?=6S={z|Cp%Ax*+c>j&@KiU9wE9>R6
z@lZc!dD{yJO#kI<s9&>AzgYqGyMa)DWci0Gp&s52^(f0dz8>mH(s6bZKU!G>^?VW3
z3#6}p3DkxeP#cFsZOVb#tV3-%0=1oS68m5?&4W#S5jOi1u<6TTbDoFII~lh0?XYF6
zfsOmz*g8K0Tkde!dh~~_r<c$MTmBK)3YNh(kPD-SjDl_G2H1ujhi%03uoX4IHkxsZ
z7sEDY6KvNr&iG>3ZWspJjqkuVsRwK~(>*l;8^?ZZGd9C^`%Kv8tcUGR9@#Q)Hf;AW
zpL^ec?fxaOJ$MMVhnVLhvtSFyVB<KB?J1^xmhKm-VOzztuU5eJCjHhpVSC35+n;vA
z_Wm5$*5||a*F~`X?Jn5<a~y0R?SXA;8f@EMh3&K6ux<YqwjGtQ?K}zFZq~t`EwKGK
z1h$_>z;=+~KQq6dS!N}1I}O;*mBQ9o09%_58~ZwT(-W|(1jk(1eG%9@t%beIN!YtT
z4}0(auwOA9_C6C~?>hnZf!kppLcd|TuwRu8`*1((SLeY#ViD{k2|>a&grWtoUppK2
zQH0U2!d_er`&g#AE+6)Bgo*oLpRyVD85?20jpfa$g#Dh+VZWF8EpWqrUvJnK%djuq
z0Q(~qu!jc0UOo=?CktSw4rhOH6zspF{gr{R{|Dp0_AKmg+y(pU)v&*H5capff_*L1
zy%&X@eN+4TTG;=_@;;ma`zJkM-?kt2&sgquhJAS+_HXR4f5)(Wb7B8+7wkV5!+w}$
zRE~%JIB7WX9qgxxTa5+w^Ne%;4FdBp-~!95V|n$&wP7pljkGtNfxVe!M!toeylQU^
z!rnFl_I5(72=+ML3EGpxxm0@?R}Bq<CXR<DErKR5fo56^O`+X951M5@H0vB_>H=uC
zxzOyiYcrwgv!FR<LvzyYqQ9GVj#+44`uhlJ3!$aI3@u|7w9Gf4`QL%oiI7F;On3IH
z&^Sh=<-7u|E8V%YcY6j}-V@NemqY7O2Ce6EX!)hkdJ(7IE1+FLdjb9X5c)DsKSF={
z4Pf{{rYl?zjbo=8buDek>(BzsdnoN!5{9jXb``^iZ-90+VZ=sgBR4|}(!7TLMND_?
zyU<3hfi{}>u>YrxA+BSY?mC8X{8hW2>Bet@b_3H*_z2pKG$+!$iRPrO&~DxWZ8Cwp
zrA^%ht)vdxG{P;l(55#)yEOuB27!8qHk0n#o1o32`;I8IU)iC}=?(4IJ$S@dKD0Zt
zps}x_-R*@okLEoz=M(N_yah6}`#@m2h0NoA=C_FXJ#Ze{V%i^Mc}r;ihG9zy53!78
z324ii?h&S6;fD68A6jV+v=GZHD}Wa63$1)0w8w@)TR9xs<3VUojDq&$SZGg;gZA`z
zXwOWB_S=cjo~8Xc`ajR`7mA_1$nclw|MDbgzhj(Lw7*)!6Ib^@TSJ`Q{ubIhgg<@-
z?cH6_*tTeE34f;hJ-XkgeI3L9Li_sfpnX95hU3sSiqQV1K-)yT|I-3(GwmO$&_1I5
zV>`4hw11KfZ7Xs8bO^L<guf4kRzVs*BMqOAfc6iDZ6_{Y5Z4{V^~<r)z8VMZpW~tJ
zoB-|X8PIkugGRZaeM@uqQfS{Tg7*DFXnW>E+q(eTKH7g+3~m1sXg@N}f#uMCDus5i
z4BF2tp&fbx+Tqus9oY))=oV;|70`}-&a+ImLpwq9B+XMhpjCYZ?KH#A5Y94g^(JUF
zo1xWigm#Yh^MngbUq`5CoCc<AWZg6onh6o6X`z3VdA4qY)<$TjJw}KV63joj6FPQ5
z7YO3F(53I7%X^@k_CZ(nLpL9QZaE0udK|iX9=fdwy1fm$&S@Wq0-fUox{I?#Zo1tG
z=w8}=^h>iqPq#zQa6-@YLicAt@00~Si)LrKv+3W3;W_-YrmG4)m(Y!nN5Ag$>*0pp
zGYxvaA9}BB=)H5HU(o}4L2u}N`a<tJ5PH8M(EAUAK41j&fkn^@i=hu14}I`N=tHJL
z56px<bT;%W=RqH~5c*Y1pbuXP{pw}VM=Xavas~9@Q_!z@20Hsw`n7~n&qE*mGW6nC
zptC=vk6i=(y0y^xKI_+Sf<Ar=^c%KApRg19jo(41Y|w8y2z}BK=r<pSKDiqDlqmEP
z*1<H=aSLgl-W&R@#C=9S^xFtC3AfX4Rsr-oNXu-(uSm}v((~(~(C3n-J88db5cInl
zHji=dp*f#%?xp_%#<`C)FB}E^{z=dm&4T{GO6b(d^auAqU&8X2W<!67;mhVhf0#5a
ze;4{ATcNKw0R7Pj^pF#J8S@P@PWepekF9{d@(t*ZZ-f5C5$I3Gpg&FApBWDQw=<wW
zyBPX&te@wZ&kGgMUnI>hH9`NK4t*8r`TbbvuduBDV4PQp$7|n0f4vU+8+Pb#GJG}j
zd21r{HFKfAy$t$0#OaUB>)ox;|3sYEvL63Tc&`mQrx5kO^ngxXLjPa_^bM1t|8*Ml
zjnkq3jks(gy_>6`e>@KQC&c;FjnF?k5B(p+Wjo=EzR-6JgZ?Gse?|Bw)9hrLugMF$
z2)nbPf4?324-291Ukv@n<<Jih@1I_WesDGPpWlIgXf5=^q~pj2=-f6$KTg_C5uY=4
z;I_`tYlvg50{tB6JI^vNIHA|2L9fq(-jD;mF%NnZ>$kZ-^vFQyt*=0jGfiSFbZ+_K
zz-%}Ken2EHgF|`+4tW(ECW1mR6D-feVci9Xed+%LY=A>6CLFp5I_IW4pf}ARVJcxh
z9PB?hoc-Z&ISF-exS7uL9vtj{IeaWTtpbj8=8=(r!@mNKEDIc+%i!oD!jbb89NiYd
z(cKS6FWP%m5~6VQW?sGX2`s1gG{Qo{w{Q$hgQIXL9D_E(G2}%!0-wV%l=)uCG$WYz
zNa7M4dl9bb0Y?%2uiX#Fs4Z|%jyj5$!!c$$9Aihoaa|r9<5U81zWyK_<F~_c<1jcl
z_UE|CPGH(eC*inxCmfSE!!czI98;fwqhtXb)0oFCENA)<IBsP=Gl<u17D5#qGnvor
zj5~{P$4WTn=!6D1eofluZi9p4B#wF6aNHvj82>)v^x)@kEMxrTGvElZ?8jJ#PqLhs
zUWVf}KBv{Q;COo)9Diax{$)KJlt+%gZGmI!J~%$3|Ms<T{BsZ--_YFq6dXU!g@g0N
zj#I1Qpq}ff-U`QgHyjb>*}4dhSRI_g5jd67i(sA#r?wDIS3aC+Pr>Qm0cYpFaCRL+
z*Z^nlKsfVf!O8I@XYVy|Ua<+zg74t$a~#gT2{`*Ja1Ka=bKo#I3rE2@=q@-1m%+(#
z5@%o=oI?-5$*F1Qu(tmWS6Sff0OE306wcu+`<lsc7O~80S>|ZsP@Dtj7@0tvuPcUg
z0?WJ64(CmbH-+KT4#GKu<{i(%IVTIwU(bc}&Jl3lO`Psw`TrFbJOk%{gY)$JzkvHz
z!+8l75{LiaAdh9g0q6aG0_*wyt%QAqS~wT6t`@N#*ls%?;PZOm44jKWpx<IXqX*ah
zFR&fXCA|qngz1DuDZsj2O4=XcGY^l4bEOx~r~1Olv18{8JK$Wk3eMLy!TBcn;w?V^
zx5vWyZWWyG5tsGE^8=>cK;V3sbJGzxKU@#z7UJ|t1)QHQhO>hF_r+2;zifi@>jiM`
znhfXnH21#@=g-9H&?GoH*5N!h3(l&1IIHKwS)UDO1NpVN4$f!>oJkQbaWY);0l3UL
zaH)2<wEl282Eyekg3Fr?SNdwW*ao?}u7|6~Ft~c}hpX>!xCT50*WfL1T}k&<Zn(H+
z#5L+gxW-R}>!v|)mAnkst>fXkBM8@=ci_6a0<L@8;Cg`DT`bLlYehL+kKP4WDdU8f
z!?hA{J;`#PW}ehfT`v~E^-?KZFRy`X74!K0PPkrM1=pLi;CiPRu0IpEzr^6$NZ9O$
zYs)imZQBUfKbZEbVQ_u(E?j%;aP5BuuAj%jRoMX73F1mU&Q;@t>jKl)uZ63L^tLk3
z#7cgLRspxQH{AB2a68w-?b!-<#z46JI^3O3!kx1d?(U4!doJ94>)<W~+<^&jUo{=>
z-~zad2EjdM72MY^f_uXAa8Ei8_cS})xAlj6)^fP#+y(cY%<t|hxEH(vH~G!IbUxe<
z&4PQ`M7STRhC4(*j?1`LE`j^WQn;Ua1Mc6x4)?Rm;C}8YxSxL!?iUuq{o=E5zmh{p
z!2SB?aI^pKekTL&wY}l~OF7)@nRXN1AMb$sQxWcpZE%0F0`8qN;Qn?K+<U!n?`L@j
z_rQIWG@R-S_Zfy&6X)|xTfY<TNEY0!L*P!Vf=7zLV;%&LB?BJ&et2Bd;c>qMk8cP(
zX-nauKIzHg(xWa%;K}(Mp6)~8>7f(O!;??wI|-hFBj72V3eVtO@LahLo?)xu8Tl+c
zqi4V~ej_{+SHUx7K0MRsz;o+ZcxGqAb0_nd{~bIFndUbv<KY-Qq4n@Q_AWe64TtAB
z;`2M^{f8htZ?A-B?N{)8Z~&f-E8zLi3(v<2JX^QG^BHmal4*Amhi`Ylvzxf@83+%@
z1w9An!gF*QJSTDpjB_>@o^zAoX<#|c5qR2{!;@@)SK0`#IUiniJG_ns@N%rwn;C;Q
zYZts-o$zw5&08=C-hN-f+n@FUufrQy3-9nv@CFycTU-I}c*dW^^tUjKdZ>5C26%7V
z3Gd7`@ZP~V2FziaU$2Ds&a#Uzk1O5gRl<AUxQnp36y67C!n<rPf#sBX2@UXu>1V*o
z-tazdf%oYm0`nl>c%PpG@9%~ZUWNCyVer20hL_{59q{H3csY*k{o}lg@O}oo?=!y*
z#N)5|@NQ<@4|RAyV)!S-d0Q5||DgQ~!28u#@a~e~{hsCRSq<<0Y<Lf_oP(R;J<5De
zyaI0()0}w%-dfUK$9x-e;B6iUZ_6@xTi3!HTg=bVR}dob3G?9-kHcp=2%q^W_^cNA
z?9apJI1is^B7A9M;mha&pPzfQbY2Qy_D1-+tcR~F{c{Jw*NtJ+k9<AG5#|!A;L9iU
zJ_+9y%!7Ru?z9SDfBFr055B@Q_y%W#9|^&CRUUktoA8bF!WYaTFpdF5cKAlouXrJR
z<BH%LzX!e>`@=VpW!^LlzDdJ?3RDt|JBJViI{qtZR?<~L)A-M!Y1ncI#$77H4imjh
zut_3U42WrI1!ZC+Qd@>nmD>uKg6hQ-Mx3CWLnBDIl!ksnMMv(2Ur;pcl^x+h3A6_<
z+O0X4?RLW}XoQ%8TFxbVDa25?6teLr7=Iraf60IUOBl|MzgQ@YQXQ`&JE&AJkB%!h
zXsMv3(s1-h!MjHa-aQzW0~^DIf8pID1@GKh<_aUdfnUxnQw436hCO%IWqNu9FVm9~
zyi89{3O$axCVo|Cal73Xq3yzj3vJ=YjI+j%9656KLZsYLc_y=~;K<9%a|n&}YYdn2
z?DsND&5`f7Zr%F*k(zSXmHk@lyr!n6CX+X}u&^)}`JqzX??)nG&&V4%aA01BJrQ=T
zxV!FffxW7#%3d&j(V|6MW6M~>hM~RPKX~GO_uV&fu)jU*8qmk<%<&T!e@@SS{rdGp
zkg@D`Zp~t{xzf|qT{crP?25JXig!RO|636WJ!av;S6P+?Q7SKWCYl?$S8aWLq%9_j
zVhqj9B^u?*R<mmNdcAhlEQDQR@?3SK?$oJMb&;5&C^4L8tY&T#BIusX?%lg*dUPSI
z^793eAJ+<!C|T=yTC2s9tgnw658M>3J6*@|`i>Y<M-=O!<021;JALHzPi2b0BOGf5
zBiu;O?<1H4w+v255>aa^MQg|uZ*FLg!?pLI$zIoPwOZTjPX74gk0(({OloSlT(0HZ
ziJyM@>BPAfG3<&bjEhT)xnD*+9#5j3REsiER}@(&ceSx9Vm!+@5sSs6(P*NhRuqe-
z>$=?{m7~;-a@c}O1%A2o6fU%<aG^7W3k{x8b9nS^3K!Z_xX>27%!PUi7ur+aD*I(F
zH1PrPl4~rV9r;4!-Yp?vuO3W3Dr|XLOz?$~2WdC;x=mIsY|MlQvWoCGZYQ=|PUmNh
zT;P*+Rj;YCiBFlUoQ)R1c==_eDL<{NoQQMVAlZ5DhAXa?<1udIBiG6M&K&G0f=e4u
zg-qXnUt5dsLr=@~v9nE8vQe9me~eTd{ZNj!wzlG8{frJO6(qUi8l6%<#VPeuoKio<
zjA_(QaZ3FZr_|5rl=>MKy!@7qN~xdX%k_h<316Dc#&0BC>6s#|YEwhBt?7JSQ(Zk7
zPmIed$1+1ao2Ic*Rb#P`KrqK*s@m8n2q6>CtYJX7Yg^A=UQh0Tu3ZZHiwTFT>e#vZ
zs-F&59jVmym>5;u=)_D!v8u}JjYdNP!5ocxy;W7B7&3_>E#7cf^Qohv_4Emot-8vp
z%gJu}rg%;_u`R1>vQ;vvh_UtS664VtX7hy$E>|pe5iVRXn@^oG{Asxm?&|#FBiZ*=
zg)QT|9lkD>#Dr;TTk!<BVZ_)(y<$%X*O!I5M5AAP;c)!?bNB8oEf?YEpB;`bzA*f0
z`8nJ*Q#GgiRcl5kyXwzM_w~rn@a6SL_jK#-^Q32VO7o&1)FqK<YLcXA)M7~_E<!Xa
zNliQqs;P;VXqZfsb&+XGa~gP9Z1eeZwHMB}$09AFWL6}LL${b(+YkqLs&5Q+5d=lC
z+1lHaNp2+80qyNJo5Ev)6or=da98nc&AFQM$BrF6ajY%Y&|tPYbgMht@6wtgVoYpr
zz?o1NQB+m0HxfxEMehA&KqTVzs;c2nOC;PiZnG;U)nT=24kRQw(iClr@M!y{CRt7(
z#&!1AjwjyIVm8O)A%Q^CY;I|}_{3>3hr3oKl4xs_R4I|DsxqEPL$s;-%z5K!RMi|4
zZD<IErL$+#)60;2OiE8bdzSxnhr1*!DvwjLB;$&i=d<v9y@b#bNeWS8!&SahVwfZt
z)oC)dw+q5WFqw=hHvDNZk>7m&M5{L~*5dNEHYbFW$715?lL=FGm0(J+G9|v}T_nlp
zYj4-I#zslH2%6U3?(-S`v}oZ{LrTsKDiwUCI<C1X@88^%_it{>`!|;{?}Lr$E=$R|
zDevFhl=p9L%KJAr<^7wR^8U?Dk&<&$q~w5_nrJk}^W?}&QA1oH8m*~0{M~owE30a1
zjvqR7=x8+Bc=F`Q>YAD+Hqp&E9qOmrY^v3&o~x;;^|(Byc%+#D5y8}{v(Hl>X*bK3
zT94Zz3H6z^=aLp%MtH#9z30xgnDpAJQ|Hb#b0$50?%dwJAO7KupSJDXyZ7_Wn>T-Q
z?%c^QzW8F#-n~_9?$2O%sGrB@^SWK0pMLn^K=-cQ)wY_miNx6&Q5`a@SC8Yh&6?Ty
zWA{9VA{-m|<4<v?uU~k8B-Pcmn__~RsH;1A{P^*+b#;=2Hj~^+;bd|+9M-zJB#opb
zwKBL7T|=;i3T#@UKC9>8K_?EKIakvV5yfa!6o1(F?QTaWSDLPByLTUJXqT%7^viZg
z_2B_#^Wno0H7cdGA3nT!+qP}r9zJX~qrqmWkD1MC*REZChY!bdb8{1BbKR$(etH7q
zLj5uXAv3G}=*X!{9;n#x^$&ZFoi&-xUy$Xu-gxn)uETru&ra|B^2?tbYqIXR_s*iO
z<|E+&0|w;h_Ziq{z~FxQ`8mw3dw%|a0sZ?79MGrVfB^&f!QG(z{C+g(DqwJLObv0_
zVu49Xwo%MyG+t<KX=x*4$6|s|TYL7b*=|u4lTuyX(3TLJ(tWyFXbmfi7L6M>AaF|%
zFWB!JKW^N0GiJ>A^|*1176lRR^yvK)Z(Xox(cD{az4h*K<0jLXxM<OQ#<&9uLTn^;
zQ60T>cu&o2jq&}C#Y19y{fEKi!|5CMo^KLdNsE;lK~qF%i^>+eL$zw*0Y0Cun`7;&
zjk4Q8d1ujepD(Ylzo%Q4&zGIUi~gCJnHfHx(`K_d;SISOo0}UOqwO|g-`v(DFiEJB
zt|i(UF0{sM5*nk;&UVtsF<+AsZECI!v*P@IdwYw=+sW_mM3#2={rUMtGp2SMIWRwe
z$nfFAhta=p-@aGm=VwuC%0h0aU-h|jXR8}p(tNtDwyBzvB$<McksgnnJl5FkRmAG1
zbJ^r@KE+B+Z?36593D_tXSa9pME`k8w%a|VCt<hO)zzFj9!E=ET_dk^cDqb{MXal1
z(`~U+3+P8=Ov%&xPMtn`&g`<A+FH5GU`$FM*gGdPt+Bc}9y2v~JT^gz+iGi?;z)!C
zY~LP>S>%Qfwl~CLGR671SZw?DgU9wXtH-x*-~G)u-&Dk6wFeI#tlPeQ*ZK43Yp^GT
zSV)gWj_<7e>4%^6Oq<)HSwfwx?(_jYyBGFpIbDCMy7@xEfNU$;GWPHO`K(|G_l;4V
z<i1_;wzw#o4YiBPWh_pGD@kZ45$&SLvjkfWACt)xqDtwC3qm|5$kC?ydW+3$Qe-LA
zNtBXF&F;|KTiaV>@tCe#WFcv8XlQAN93Bvjn$3wwBHF<B#7AA&Zl-i@OGcte77-!#
zjb?K@4Z6T!8GA!$2^F+NMBCZQ{XeF4_Bfn2w%E)ik=w0j&!(D&3z2A~M~@7f9QXZn
z=uA_>9v+~oR0e7q((Gh1zuj)P>bk0Wy85ajva0%=PA3&dhsWb_s;Zf)sfyYV;vu~~
zYH|wHK-*)jtZCB1QzZqjnOlX&RK$~%YeK?gZxw}DTeLYmAT2FBJF@54fKLAG?5p_Q
zuRA+CEv?se{l2WWq^0#|w<0S$JGWP_Uft5t96p~f-Jqo{q&L@br;ub@ys4!w+F~__
zI!Qu<)W;zR&ZtjlPxxe$6w^A@OL9x&`Lh=#$AX|zL1EBwEl80Z3sNM<f)vSdM-Kbs
z)ZFe(ksJ$BB*%gj$ua+bksNoWNREP8m-|<JXI<_u4mOE=A1DH;_nO4$IX3Wuja?br
z5B28S<CW}FRUSTc^yty!NB8gCxpUu<v+PNo#o<t)*=$oS5_g_}#q4s~WJ(-rOPVX$
zOfiyVrfqF)^hr{eh_$fe7HN~!@L-iZDVh*xtD(wu>^z(o)B5!3llJH1`ho3#XP>QN
z%SUXCw{Khb(n~L`-TM8RGiScXmQW#E7>|=IEyAhi=5ijCIVKf<Zv5<7b~f0#B3hIR
zagRreo<Dr}a7~lh6CP~0lFe1!#YgATGx!|SHL;<gK`tyvm^yb#OH1pNLk8^GExXs1
zS6<mG+e@rm=o2c8@#@&)E*Xy<JJuLCz6rO)8;)^RJNsY!k!}+!uBs|3+OxCyQF>EV
zc(C6`k(l14J9~ybx(uE^efpp*6Xla-(H$|{HNz<ih8ItmI(6y|*WUW*qmNF%wt#Hg
z19L)!(P&Gw)#yAWTBBRHo@{j!8CUD^t*kme6^Ih)R&6Hn%P-H%or;QzGR0G0hI6{G
zmtkB+=Z$yA#V5!!NiI6%E}b$ub<WA|nxEe_-RVpp*f%q)pjW^C1p}_UazH_TPR?~g
zB2i{bG_<khliM2Doh!2nVpCI0VKZn7S<JB8nU!5LM<Ojv5%y*t9~?D0aBZ=8OG`_n
zO<;Q{wl~$*);48HZJxA@PMtbs`2DO_UuGBfP`mnFZ2jFx3pv}`A}!I5USX6>!A7O5
zOFZ5Z6;zdYbCXv-CbKz7gapaNT+Ip_&A|;(K88qJJD=Evh{RXk6s;jY)(lpfy7nw!
zeO}S8Z+?D$_kzIa(W8g;?ZVceD|`2ak;sMmMyekPG)CBlx5fCh;;{>LlG|<A5(z#g
zcG@K>i;C)UxpW)a!-H9Iyg*Hw-%+=-;cpYntO)ZlQ$|y5HLsepXZT-ReUjSLiRwDC
zdmYY(3QZ<T1LHZ6IczpF6_vKOq-eDX9uM_$2p|!LmQI~4-bOBMjfqNFh{nq@+M{II
zy5?vdnS?!c7ABl&@L3q-YW*eXLPt<i)3gxkLWLHK0M=i$4GE5jn8h}xk0wR8=yFln
z70~*xFb<Y5td*awg$H-^%;T|kBF1L11BE0xJz3u<B>6B}Tca%zo{AfZHZuv;d%nIg
z_Atm^g1FKtTCFk?%$OZmE4QFcmdhP|{E&@LKN%w@Fu)QX+`<Mo*3#U_7qg-HTxDhD
zxrkBGi64)M@v}9CP&<8+)SNn7xp(j0%CmLkhDNp{G9QT~mODi$BSRHi$xN-Hnt^z{
z+{3~W>@36UrMzK7&;r#Pb~&|<!3rWLT(n7#sg!xdqvN7{hWJ>=f0^6$OI+j0UW#mM
ziY1I<IxY%X$SXVkIZkJ2_@zOm0>4~kDed%=Ded%<ly-Un<6g;jdPPb*y(p!fzCWd%
zzBi?velA7BUy#yHKbE55-<6`_d&|p9pa0{g{rmUt-u?ZqUAsP9_lHm@6ihxO{Jwk)
zH~4%w`AD)PIVCwWIX`(*+Iw%m`|i6Rto;+OwSV~JeO_zUzV>_W#XLAvs@cemNwNOi
zxw^(gqPeV_U`d>BtUBFLQ$r?5R-FfT3e3om<G9e8Xg<@>z^8UP?0tV#S@=Kx@Y!dd
zefjhL?c2Bi?XQ0<FE0-!XUmWM?zxwKKPq`^avC?Kzb`pcf9p@wmn+u($CFP!`SPdR
zo+~15yyddDe!rF&6c7Vn3m>g?{HKFQPsd|t%esk<*w3fF{`Tbl{WaCKiLZa=tQ8wk
zOIz{?M?-d>Ji+pIhl`RoChtzp@vL0EiIQmRdmGu`_|u!KSjy_1qgn7>+}VEyH=AE7
z81=GL*!Fl4>w>rP+?yZm+qdt_VDc98hkH5hw*B2Fg2|bs!Q`Y+snFU`rkL!yWRjER
z-KarH%Ai4%{N1~xqmvV@r}?&5w<~GsHRltKoPvUa%&@;*Ia*bJ_>)gQ*|~dXMMcGt
zWY&lgBgQXC@8ocd;*kqaqYQKKLHfWW47`xc4hDmRKXDdLo;*26IQ%#KnuXR?mYMDT
zY(=%ili_YHQIn!Quz23YiIYYZVtBV?-B%knY}nnb4H)?SPqExFcieHu&~P9rw6@1v
z*%&rQs7g1sLSeJuOgAZ#)VXsfU!K}Z-*|_wtwFM}VKbw(4&7N?ytPabO$rCMNFy6r
zfiGLy#g@-*M!d-o&k2b={%F$dFh(Hxno-J$4h}1_VmNRkm?Xzr@4WNYTNi(Cz4P{4
zZv~S}N`)BTw^+y$<A4iQO&P-Shl42hEt+v7$5sPF248j6RX5x`bIFn=%cn1Ww3szh
zidA@pXWp#DD`_{9vO6Y~OrFT=o}wGZjT?7M$z6*$O#BI%q{Wa8al6Cq;GxU5aBizW
zal*yLDkY-e(b1YDy`r432^MFjDpS>Tg@;U-x%9zVv&M`WGqPa7wbx!de$4pUvu8h2
za_jB4-@4?X2kyQ1`Vtm$^^GMnXU?2@{gu<_&Ye4N%CB!{iSM$+ItSbF_O#AjJ5dwx
zhI5;x9ACOu@_I#+S?uOVQ~dPl(~>#imGrCvw~c+oF5$rPyJk!nA7poA>@7E6cinXp
zZ<%@f?YEB`Gw<H}7u`8`&aC?;Ouzf?yJt@wclFg*k6tusIF+5@6DQw^M_HcA_b`b_
zV^cHrq$poR+1Q`EuBD-&tv#MR-$;qVZmyI_Hn)py^(_%LS#{ySuZqW9f5S~vrcAkI
z2LGmvA4Qd*=<1$h$4!|scu?Q|g(Ies<Z0Y?jMr_WuHt|2x{1@-u`CrjJ03H3cxRi(
zah8y*+s@UrhBD*riqO#7uGl(v?#yB5W>cnDi8pYtpebC0jd%?&>kr&^EqkYf$BtxI
zb>gocEW&S%TUf@)y;u3A|NFc@<o!P0!asy53yZi(K5ymTUrjb1LJ%*RZyHI;$KG~d
z5YLnb@gtED<uWt%E4K3BJ0OVM61~2@fr6-|6|J$PXr}U@2#K~<#U$_mJ92zDph!+l
zbrH|>v~+44PE#8N%h|&*%B;P6_aEEQ=%laO;oHzT*}%uuD!X!Uj>VbmWlF4tr?kg~
z@@^6bqS}A_@!*LQC(fKh4L@1*8pO-(94pktrYfo#wIqHsR^xZt(qE4u@q>y-3>`Z3
z=J^xI!*6ul&+#;iHQYdcGw<(sZ=-o!n7z1&F?cHv&cB22{H;MeZJs`Xjlk5o_p(D?
z8Wc<+4$wa#aeMmK$0$sx5{Ec?MNLmE<Ec}LGMRjzNQMkOt~}s!xYF2{&dl^^9{&3}
z?47b5bohK~TBa|(!^ikbx1?Qka8Uo&i)AEYZFS`)*0Du4g_P!q%#Sn05W9u3kd0bw
zYa1({OwWTmN{#V%b5N<kFPAw*`dLz>pPC~5ER1WR^s}T$KTC@AGp9&Db=KwaWlM_m
zvs{*b)Z>YarRD;;Q`Gk!r5G1Y{fCJvhuiJ<1Q8O`-TdOdpjb4?oVI{Th}4F}7PBDo
z%oMTSEs60MM7b`)^uVc*c#40Ii^+yMG0xAtV+Z$$(bkJ{J}0PD5c!TPCxy~3DU=qZ
zP@2t{2BkSEl;)&R+Bt>NoD@0VHHFfg%apRlF89Y$=kFZVBD)rxMW`{ZYIbYO*c+GR
z5N8&sO@<wNB{S73tN9120{ef!0V6zNwuWTYnlQqz(W#hOZ2HJ+MvWR(gb|@IJG-%v
z+|JIs91h|+rAsE;%FHgKDX3mxV{F_n@tu4s6f&kiqAekr(@a)t*io3pp%;IrtinNT
zL<V7OsGJ&lh?5zdbYiYtYZqw<Ib@@s7j2F5;Zd+~`mv0vbRr&-V+r=e!wwsjLS9W)
zV@QG@rWxU4ds|3uZ5NaAu%jM^3Mh&76m1O+RCB{TicJbp@+2P<&sgL#tI1qtsE#Lb
zf`Wz}GZ<a4GQmiEE=D~v9*><n$Hws-E*LZzp#~|OmJ2(+WpmQn+S2^(uCKrTdKU*I
zSzRnJL<N{iX82hHUkJZ_mIM7S{P&sARL<y{!WrFCIHT(?oYD1v;fyXRoY6IfGjdWm
zqiYIhbV}h2%dE>ib+K9$!WQ9773Ty`lP^djl6<QrnG8}c?v;%Go3Q&EDo4A?7DjNw
zs)l5XLZv<I=*J!aXW$b33;8eyk}p^V?5wo&IdR-g2<vyXarC$;8k@I}()vD%M1vtL
z7Bn@5<dzmumcouJd|r04yuN}y9CzzOh6u@IgLooj@CBK#gD2YRLJqPbUu4cM+BkGW
zfz5~scJIiBacUpL#*;9fy1-=sR5kepBO}C<VtZ>yYLAIRIk~`Y$j0P_3mlQCGo}YR
zm_n8e`4x5?jvL95JaUwkQOTEFGWdd%ntb+@BVh;Un|O&r1J%9y27@oyme3s{Z$c<{
z{M_-DNy5Pce2Wf{Em%JLF?`L8Y*~VVJ~QAyflYI$jN}N9F>MEtjCqk;@`6eQ8KC3J
zOKC^)Qn)2Ag<J9%vm0#4OW~Hhly)R9g<JAcxFs)zTk=x4B|U{((u0?|MT=f&l#Nq8
z63wDg*AzliNVSO((L%6ABOxIY4Li^Od{Swul(n|gqV;f9oZVS9O{$Tda*dRBp*AGc
zUI;sT^yp=A`PpT+n%aA2XP{e1J==ilQ`KlVYqx|1i#_a|JbAji`>^_Gn^%oYEgFmo
zA@!R|?B2c`mEZVXA%Qy}JA3xb_jk@E^Y}Bo`Q5r=ct~yL)Ob?_t<5GmB*><)Goo;q
zArh&IM9xJbh>*!kjlNmEp<;4{C>-U^xFWU+=47jAiMPu#JGdb=CaH2#R;8H991_gT
zCh0V{NX}$LamU&;wS|iz)Tr!H5{gHTs(MJ!)v&X*IwJ5SW?MWW3yt*&PIs$jnJT8x
zDx2FHLPA4Z*cm-~!4j*pW+KYr<Z1!Y5a+>Kt+@ofp(-R)HHMwd%}w$4R<cQ)<M9+O
z5hEWc9Kn!(nGXv)j~}mWZLBd#Vrxt~cJ>@jhExw%wE0}Hds<pULTgKyD>ljvBKecb
z!$_2~J)*4?YB{qccKo<KjP`O^La>yV8nW6MR4VYx<xJr`XA0+~&XqeE*N|Y&6wY&|
zaGo=T^U`KrmetM_&U0SoJhRcAFfQdpdrSL?s>6zA(VC)7P`=>P`(oD?CDWOCy6!ZT
zPVG{AC$~?jZK}1&HYiu|F<+J6PuY8FZw6PPDY@QsZ*KNrrKPQfdy^Y-T@zYrLrR)r
zRnmN&mDX6R)okVN2R5fIzsF#uG1};|yZDuQyft2X;jCgYSz6j#KsB)gA5){oFE(J}
z`te3IDp4^hM%&vJc4Oj{TuP0ckZT(16sPKJiMIfy8apFeP^n<`bX=+H4)m0|bfvt-
zI%8V-7V9Z>si)MXo>G@u@N!-1DRrq|u1lCx-ds~_gDDNv5jnnAZn|*H(u=cOQqt*6
zhE0Qpp%nu|l8s|cVJxObR4UfvzL1omsu^KZ-~MSH6on*?N14K=7QRY+g&sFW6YaIs
zfh7)-#OW=x9_11aDOOh(3!7S-L_1#)i4y|Mzy1uoeBDX~T`xD)*Fj{<YmAsN*^hf+
z!cQTog#&kCYV1_89`E2oZI)8O>gc#EDST*~b$P{;C8h3+Hp<{bZPw*E(Nvw$l2Uh;
z6h2JV8Ev!vwQ`7RhbVIHoItfh%rqE?)7$C*@Esvxm8x1v;Q_12oi;AUOH1n`CaFmN
zqCj5s<Q%$a445SoqS$y6r4&=5#CPU#$=lN6HF8Lb2~t$fX$C2?wKenNxPI!osq7T$
zvr{-HJB4~fkIW+HWT$XW=M>J#oOOA{N_Gn8bebjM(%P@=6wb*C+KrkI@<vt)7iqGM
z1F<$aLDefkZnAN;PJJzh<!bA>T1Qhn91Zs<t?U4`lD%xQeE#^49Ip8B_<1?3WvU!2
zR5SBA5S>qUvn7-E%pP1k)g#lM3~NKvsi&n6y=BFU71POkws^c#VDkO<-#<CfDIV6k
zbxg)}>&5Ze-WX-1Reo6;r7&%KoL!H2yRjIkjbn@<&eBU%#W>bjt~EDMhihmigT*6c
zSEe*sRH~|~g{*15P|aD0>I+R}Vk5big{n>uyJegJiig?Sa?n<gB_)<LCu8*qDgt$9
z&b0BXu6j~ZUu$&es&I&X9**}^Q<to6Xr(e`?nuUdkU1I`;?d>{4Ixv6#KrhYScGV`
z)Ku=-v*!r4DJG1ZJ8|H^ffMH<LRjn2I;mC>)dcw=#NL&K-BpW;WVA#(23q6%Z)3w9
zvRLhIDmk1eEH5=i7*pFCErnyW6pnGEaE!*sYpmhXQaDCS;h5C6Mo-}wEqIw@v=olf
zQaDCW;TY5TlWii`gp_hFrQG!MmrXLhqvQ1Ha?{AcO)(6hqq(`9dZE1dM1+&a7sLAW
zvN>=y9qsLgYGe{J`U^>v%9=GvVO1(P9OWk2?@VyDZ>i9!Q@N=<%FTccMXaq&2%Bmy
za40@P7e#2;bfKO)VG|=tQn~5-19lTfh)V^lwOl;iY!4X=<%Hbaa?{smJBwVwAPM8g
z3+%btIH)u*s8q0`I<A2!wK^!JR<BH{RWA8PVM>h_rqt-blon`UN{tq#)M#N!jiyC7
zy00W#&T-7-d`msq>q1j2J7FQ>7!u=2sa#7SD@zxmjL<4Lvcj3wG0y(PY7Xq!vEyLP
zQI4wqTvf;6yttu>imeHyT#F$P$P(+m`s%BCv2!4tnQlz?Sgc)ga&mID9vtE7?QG|a
zaVu9paLS&_zk}*6_Ux&aGN_zqnrilhwL&wQ*yS5tTwHv8)|4Xr!MH6mx<%HlTUXBo
z4I!~vk;@#SEaKHyzf*>AIBcl8=hbj#4rc(<GyR+Z&Fh}kbI6b(y*e9{V;)?^G}Pe3
ze1Nu^nuuWI)S6vvsR?JwU_UFVsO%tEO`M}uIgw*@>!`PdL>aNL&aV`>HZehta3m9v
z`f#RI<d8kTY~);#+ivGOqC1T_J`=K-gfkdSBID%A`ZxzTI}5Q3C&QUc&Q|{au=XC%
zah=z>=;>v8FK7c0jR4rdCQ)plXi8Qh+ma>Al58im<0Mw@iWA2-H!IiA*PL?z$yQ=J
za&qIu@mf)m=e)RFJCSA4kyRj)5=Dw42~s3T^p3&w-p<UN_x(dzJkDBLFYB!w5Woz0
zru}FCyMFuIWuhr^fDi!(QLN%s8VDH3N@M%!C_2k@vj9!YF4Zp}kYpQ3{4^SzmV~~`
zQVx{tWEBcSwy1VEp%6=1C<FWn=cQE*RuKRoV?xRa#TrSv<unGHn?V&DIT-{8FnwmL
zRn)5_Db*0HYA}gsN2V%*gwtAa>D;+<^LZ98!c%MH!#5i6=)&fn9%mzgbaK4z=z-J{
zT@V}*#vzE!BWRG?ph0T83{o4!nL${Oph0qj2FVQ?BsXA?+@L{ng9gbB8gxO>pbISJ
zwl=F@a(il^&n$++!eB?63!v38OZv_`TedoS`%AVo6~li#bl}dOwOoA6a(AOqv|BX3
zA>B>w#($hXb@ejvRbwO6w<Jy5=xWWIG$-zypuQLmAHmqM|G|CtuNg~i%(5HR+4fd<
zz#H66WKvjJLEeMW$1ISzWikc*@)eG(y&zSXhE~arSqdvF#g#%T#+3?ynTCZ(E>pAe
zX1u#gmy#2SrD-69n*VWSeYxm2xyLL3ng#5#<Y?QJf@uj09>CxLUK_Jq%jH~vNYED7
zHR@V8%=ZoX{0;U=oFubaod)VN0f#6opq6Aqad6CX0lP3?;%iLx0@9daVaJZ1K8!CN
zvp_KIl8KiCegum6k2(vFf)mFq*tgwIuf@A}H;E&|LRoAep==v#O2ES-!Z<E!^LWG{
z0go6Y;5Q5s@CeS_2MKuCAOVjUB;XN)1UzhzfQJnd@Q6VI?lVZheFh0o`c0C@CDOdf
zi5!qsmPEeAZ<9!PmWr;;Ev+mq%tMxEpyEz=8k~hS(bYmaQ^KUewzjtR4vV1JTox1v
zfpz6jfJiMajt*jzxNLo07F~3P;2-$yR<pEoON*71S7)xAd-1i`PrdSspW%QSJOSDB
z3vMPCU06yqeA|$DzUx51qS(6qY`t6p!4ypS+-t9m4q~_3+<r$jmq_K1!H~RtU9Fs>
zvwr~j+U<kA9h>g@&_^Ep@P|7(pej#zoWX%D+xvVDU_wfzWk7GPOhO0R1TGnmZX~jd
z)7RR+d-rH3OnYcxS9fk@a(V@-!MW|>`wmFm_k8>lU;5IQp7_*5NAEv|6!#A?^zeD=
zN7RqlyYGhVp78YE@%X2I_u(Bqc7}>2#=rT^Z~oo)Y?5NLN;luRba8T#?;Aew$QQpj
zItcaJ(YYz)b=e*8a9pij{hK%YTKfhEu`FAM273E<?muvF|Nh=yXxtM>=OJ!(nnX4%
z*J`<qjg94{d{wcrNY)jLWfbB~#KjnW8t@#+t~vTB;OZiZ3H!$+$dU}~%-GW=nX6mi
zd|mp%)2}I(_LMGx9lue7Z%;p|^k;Lc8?gRb7EhkZBvRSc)s46g4~8?@TRi6GbF{TV
zm!I&|3z5u50VG~_nJtr~T_#z;n~CR0Vv?t{DuOJBV{{N=zY%+9x-2l|C=69(V|gul
z_3HEz0fv~op&grB+&+IOv}X_0JuY_Y=K55Eu>@P4LWV5(G788FMt1TRr%R&Br5a`F
z>}-k<!<%JbPZ<sdQ!3DjII2!X8xhQSWPW9NZE0?5YGnl$;e<zL1OefAy;RKBOgt9a
z(WulETh2?DkosoWMomN6b96H@uDVQ>&75d;LVR6WYGy&G)-$c}Q*(*rT5&nKI)D9o
zrJ|njByt5>%QjG@iPvNvmdR5sRutQsL(hVe(qY1NO0TVrD*ZLo+W~+lh;Xh^1^BH|
z%@;_GJ(n+*OX=vwMl=e9ObHiQtK@UpLIuS%nPGvAvsvV_rr3a9#rsFDTdP(8&>9_t
zjwxi5dEjxau&}0TdVV8a%PcQ0T)TE{dVYCh?dq9R<EKw=Y{2lGkaCHIxtZluUJJ{j
z=mS)ut2J3tY+BvsAgG5%HWgc(oE!y43a$f*ojC@<4|HtJ(Na&Rn*}&U1|kAZIxIP(
zJ_WxTKzO#Hu&f+UE0%l>iFLrOC_IJ!WGnfk%|m20JfdDGb>CH;os0YMM@0tIj3YP?
zq@nRd3=c9nO<{S@)j7qoTH%ml0%QX(r9au!j2|Bn#-Z$*$Hxtt@nZ(f_(_9id=zIs
z4$b&+gJyixpcx-CXvRkjn(+~XW_;A386P!h#zzgBamY@UH`Wr+I@x3{7bBx@YsqX`
zv+$+V%JlT~?A+WU`8A*5pd164oAdDcGIb7a53~~_+fkxw??7IgfzCuOyjEuvs-h0H
z)svUbPeS09P?maU88?bImy&s}7@L0M`RAYi`HL^U`qQ8O^yDul1!%{>;&U&<HC(KU
za5La_aL#skY5Vp&B!v+?44$@B<rFHT4mE&7;d6+c5(1V!2M4H1nJl8lS>3G=iJklR
z?}3-sW;3x+j{$vP2;O76T*3}SA($<!A^^HRCF1e{9t!72(|Gx*P;Fp<F)gD2KWPOV
zcjeVrU(M>iR!3fH8$9sXV~>6Q2q}Qce~hy3!H`dcW(+hQKMwD5#2bUhi%Oude&##h
z`OZK6&@L-7fP<*t<nv}Xs*>uEr#lpAal(BD;Ik#@gqVB$ZJixnUq@%p;Nal4ojZZ0
z-Q3gRC*Ej)@%!O|TDcn57A`e%dZca=XLOX(;HPnL<QOajqYjksv<tmvoFmIlXY-fI
zAqBQp){71vcM<IN;Fr&(O`uBhjQ7*KAhZ<$k0*Nq`9SE-%YQ$jf1Y|pWojlzm@U&K
zvqF7P9m-T$Z@`Z?>IU4^L!Mi3nK`;x70e!#<-AU(gVa&l9U2s9z}D)8D2Q|e{xZDX
zdbJE4no5*3g>Dp4`=fY9Qz%g#id4jbt%JA<-66lfw-egS((RM^bj2Fz-?3xIKzBE3
zXxhEEs|pPoXc_K@F0#=mqGq5NwIWpb>f&6ctT6Q?76Q!|Y+0c!>QLoI7Vj13@TfLY
zJZ{+O^6ZS3XKOUH=)&aW8mh3I*JOnb4QO-;DR?AY@fdi-tev1PEukUk0BqGt7`fOc
zzz8eMUW#}2haixCx5X0lBRY548Z&ct#w-GO$=tkjX&zS9y}vV{1_Wyr+oGJRVJ+ZB
za~?k)=k4C1D>5+oNn~5{xwHZ*jS~({!+c;YD!}{=9Tf>F?62XP=vuXmi=IiPGI-Y|
zSTd;60BTowx^jaNfkFlDiWTws%%*BhLBjy?`Sm)Hh9Nqi1GyP4iw$ShO|ZudE*Qht
z^O-2JBsZ^InZ#C!7OFL<(tx<U0AD9s5g}_(;0@V}JriorVR1>t3ln6xT1A2R9Vj_$
zE{?^UlqDWwg&Qm{SbW7uLAT*El+nS4U!c=0sRQ*KL7PELn{87lOF@<BlCzd3zsnUg
zWw1I+(3G?~5bq5Q$O4ug$YOKz7d}|aj@Vlp4FY^iPfzFZi?*)E)q%<?R4uJhdh^0G
zD2Y73v%frp1+1qtF<@^SVgz^CTRE(~Bf>b8XY<%=(6oCEn${RQ@9w;n!P{%lw7U(O
zcCSIx?lx%J-N$cdB=#CKZM#9!8Y^DGTFv38)!N#C*K_+?IyzTio2{I-0YJGQSUSI7
z6#agHnJHSw-QIyVmt0hXZ@sm#@zz@|m)-90_yR4#S6nVH28*9T7092DM7C|S*|u#f
zp#zO+;O?(Ict?*D@$1o}BO^zT*6V;8lcJV>uwJ)r8XVqF-5>UAK3_U52<dc(ALE@G
zxcl5ht}Z&&;63;3+I7!8FTd>f3yGzh=U@MWmtT%_?)kOfhRQ=n`i|LIn{9UX=<YVR
zNyFU{{UPq#D-}nt>Oizk)Cx&^kU|s9+B<tYIiK4m^P4$Kpsj1a-Be*KHnV`N<4m-w
zL(VWqgRTIufpBU=(-4>Da;YR>iMDt=k}7H@YANhTkrfbLY*~%urU(o?yBbLrc-7z8
zX)<-ftxYD=8I)s-JpkZUSxcwtx0=m!bD7NC9MN$#7I&8}URz9>)!-yH!Q^B%iwYR3
z9HsmU&_|hMbcLG39xRvbc7jkL&3?3wyMY#$g|Ddog@s&hVS#k|Rny66PPhR-1|Z-S
z^#uB#T&^%&-cm8Lwh#ekc<a8Mn>)GN>w!ETSr3M>U%h-aQL7XR$@N4$vc7h~UP0!*
z1n?<c@mb*#QNi`~WO9Ao??*SGV79rvH~oIOkX)U?j`edXB$hPIVu>V*l{$mFhx$y6
zmQ#Z>Gn11uGb<~NMkSX{tgj)MjKmXYXTBExyXF!TfK1Z^IWi)QQ|}%}4Eq8jEXiL-
z$d4li4`ig145l{YZ?`ksM-2Poh+$tGGVF^(1`p(rVPEVu?2Eky4<zKIs;P}^y<RIN
za;#pPo}QaoTVGkdar5SCBrn11ux4i#q5hMVTdE=~cXq<{EEIs^B)&!{RL{;_UPSZ|
zn_S^)#pj=Y@r832-Z=Z?pZx3Di)&W+7uJ=ZzlJo%be1G%dV9n2$jCa})o40ZRj8~Q
z(p&s4sfw&B8r1YcY15{j&FI7EgUS!x@+7S6X5vYBsUl9AnGVYrFCvG6LzYo*M_<=n
zyZc>P_%%23rTTjO{`)`j=x;vu*u(eVfBy$MnjV8ye2jPu+vp9P^lv{2%isD|fPh>A
z9<Kt1dykv=oMiVj{~^*Q_uRhT?hcnAxV?_vzRd%hdy$RaZ|4I(ub0x&=@f;A9i9u*
z9MxXm>-B8wfsKbcg#92tve`6o*4uiD*H!6DkM70oTuuISR!>x+-0xFEsS5ZJ9agj+
zcx`oF1l&1bvpO6d?d@)lT!L}8S_7ns#446a_NW||lSyI%Bw+6pN>D?qMJCW6@&^K~
z{VjFbx_kGw?d@${UHk65qqonUhZ(o}xAs8E1uR)$@>1!rJU8dG;~9Y`R=^wCmbpBe
z&u2vu(AzADYw{b>SUf+KMxDGy6O6Dmm)(H9uIp%IvB*+bCT(m;xtmyCq4H|`#?Q_c
zG%65mvD$Q#B;*kOM3U51V1V<S9qD`M71+I6qX4sMF@@0vk%#0Ik@u&ns)<H!y8%S7
z%+q0jsf)!z9wB#u*k9-y*k7xTzYy#+(1a$FIV=<PK#oS^sSq7YWGXzdxkxz5=)+uI
zm|IvNf*Q$}s@S#G8UmJ?nKUKAM{a8m%l-Xi9ZP_4JY_DKta_z@u)>O9g7g`}r!eE1
zGda9A`o0l_F#@Z76`i9DdYR#}BI#(3`&t|62rfYz1dp_mnmE=^!kOiGzKp8QMoM9<
zeBrAkQ_AsPyQom8#**CJCq{&E>fPfLhTZ=O!|pfs`h61TejL01al`Kaq+$0zZrJ^g
z8+QLE4ZHu7hTZ=O!|s2~u=}^JttGLHJa3^Z#Z+v44Y=)OVqs|!KK}F^k~6YgPZ0q2
zMz$hD7tnQH;dR|%(yNLUBMiu4l^T($sf1#w)mhx-sT!QIn!5Gexv7OT7R#rnHm0w>
zbuO_!cXRTUQ{!mNc>cxdiE|D|d1ey*8J8B*4rmFwYEn>D?ex_1idD4Ui5$%xL5Ftf
z`R8vcmU2bFU70E&PAREddwV;4W^(l;(Gu`?4GJc&zhmp3yAB^ZydTYPy|EbU>;_1(
z*TuxB{xB`b3eWOx3tdy&ir20p47s_MGPkwC{Xs`+9-l8)^FYJ2s{VWL-8bOH<!iB9
zyjuqjKEzu41`mAd55IIbK&GSAlk!)7=eHld_suu!9rxW$spO0Q(5Bj(FwwNtqws=h
zpp_{r?fS;E-$hLFgR@h?!-t2UX<BWoFTVKVa%n5n&;fO8PtT@~7Wj#+!9Yu>qkGT?
zk9E@k>Ej#TF*LNf2W?4hy|~lY?lmDYp;=DhX+}aTgVIiG=pTs1lKC>+ZPJt?uvK{d
zRXCE!pQ}Is(iU22>+1ED-!2UI#I@K&!sa)Fq=2gtd?3RWs|2_N+!gIGE4<V;^7!3B
zg?ed3|L^ASy@5!=y>*+ZQmHHOd$XhHt>HMUy48v33Gl3H2Hmq}FqKIrv(@Z@U*vFj
zy`0&Jr?+B<+L7LCKzpG$Hp<4bw5YV#YXmq0T!iTD=&)k{LfeusfNtRQy1KQy+v_m_
z_O;%yIszCX2~Vpf(BIh!Ozgmb#Sf6N)Zz_=LaiP<N*`gG$tgTT%|uwM(ympOAZ;tP
zhNW-s-WIsuu=%sIvkgW^00SXRCQIvay!aa@|NREfRqH{oXjy&b-%s6`nz{g#dQuR|
zR06F-OHuHcr_p3yR`_h<m9PKHCB<rK_q8BmikyFGHkV7PX4Z%I%TNVm@zd&1Hml{y
z(%g9G=Ca+c6?(cIfyCrHH&)hG=d0CZ*5#rd8p=1Bir`XBr35U@)Y|F4KfR(@g$_3=
zFP&0hqmG_H#li{Q5E0%RgSK2zw`Q|IPQjx_VNgS|DXnQJ9%NEUtXVRhN@rOXofo*1
zuhd!OlS%6hP?;LgiV!^3Y9rcK;z5i++_qYSggacb3#FoNU0;u7Nq<lY-5cp_bV09Y
zv$6Rb*Cr+=uFlLXu6sOmVGVay^0Ws^l-4Q=->8#h6rNk^=_R3x$5x6)Gti`P6H#a}
zv1#bpn7S4IUapFlELPDo$JGFr%2ms`T%l6cD)=b)NI;0<|LXvEqw@_Y7lqH~QaR`p
zYe@i61p+FqN{p~#fsi21s5UD2V?!MRkSbQf)r}V#T;0XSqmg*65Zy=?%UT}c9Z-(w
z0>d-wb$}IUq~-YamFcCbS+OSUK08StAzK2Bm}03^fMBfUYbiW&t%+3qbE;)T7>B}b
z9xVp#++xtqEe78VG&6Y2ZNIF=pqX0?n%P)2X)$Q#7K3JX9KT(2x11Y){f%UL5%PKt
zjcQB?NH|ugc6N?g-u%(`{wbbYv#zbZN&Ps?90UrJHRnb~P%3C_>f2a9dmbMQi^|+Q
zi*B33xr-OaEDs*~)32<oJO^%p2ce&s?}wMe?D|vR`qr4GzkB-*l*iDm-w*A=B-g6I
z%B`bO-m>M+p+TQ#z~^vm0ji3Ly98i1e97dPrSsq&cLtpOR4~{{?F%zA9VR@ccW!RX
zB3IK1nwMKDFcH85d*Ji3EZW`2OqGq)y2<6}5ygti@CkexzTDC>W(oRu*5>H!=J_Di
z5oXK|U@KUM-9Bbnj$XTJGPR;rei`D&gtp>U<e~olF;wy}!VyTj9=EBL?H{{UsXaa-
zjN@W7kK=|b_gjW5_gTZ0`*bHoeb#X0e#>y>e#3C(jvH+1ZymoKY5tbs$_=AK%Zi3(
zRx6~CHCtX-hS7`{bo1h3B1ih>wOo7=xAWi+kZSq(A}McRBVsc=Db&H{qSI9+P%hm%
zsYXuXful(`c#_q#tHVf*_#MzN`N#~Kbk4kd2A1>Mdd&@F#YzF2I=6Ct{MA<{*DCPo
zifh+jC4~-Tii+9llR_m6H<ZpRfplUL72%ta5_DJDRKi=-OdUw?b*SO(cq`abf;)s(
zl)+x&a0gv7wQE<Gi-E%kYO`J2w|Bb1x=<3_UE7h;6RY)XzKHHDMQR|84Dtl6rUYt~
z18%*8%0LaIay9shS}qEBLrfjk^?V_N#ENb3*rz}J=}&(2WAMrE?Dy(l_`(PKc_i}b
z{(Hah#1r=nI$+RjgZDiFITf?jrPXL6Q&OZ_A)ASBGzujwliu^-gAexTb7*FnS}9?H
z@++6ok#t23br9#B<{0E-$N}h1Gwg%kMpOySpbOXSaR++_2m1T_`ubY7ZuQ%2zK*R!
zL8r5$cW6JrqDZcz#s*L;jAYm*I>kyVg*dQ*4&)LwTqtPy3bYX`Nce0{uM39TDl`hn
z{7EFu0=R|~$Py6*KN=&Nz!3??5rCde0yLR~b{84-B}!BRvh098v4f%pDQ}&}ld(EF
z!_!5z4X>9V*%{I5f=|0?um_i<)uyL5ZSp#0#R=5Qrk);XGMGuh?!!>oFuDWnb|=Oc
z<0X&?w%QolsstR)b~K^3c}Xk1y_t#<>ZI{6sUls@qBu36p^q31bdeaUGwC9jE27|M
zz`B7&2vvkkv4%(1ikS^qLu`Gd(IKobBszsFje;pIRIW@~ZtF<N7YgX~K`zmxZb!}C
zW`)o*R0GS9UthviFH?dA$pcz~W5P4l#Oi8}w!%epP=!@h%=2_LUjbGTo1sbzIc$b{
zF@;=lv?9RYNB0cgCmM)xtsSIA_14ve635X@bCAp14A@Y7qL~mOE<r~&3=TpFRAhAc
zL_AMbv$+zh6>}vtpmGF}i-+L{kP3ROP}9w3bcAr|4xz%^;UnVEvJrR?^UF(!B@)>R
zb>qfbwgH<;W!G;^Pp@aI*r{4}Z5sMX<dMllHIr4qPK0uVgfU-AfTi*<<ax?Ma;PQ*
zHfS?<!hdnxiUl4R5yq)^j|U7o>j8t#`j|myJ%Do$A{KbSptl|{=&c6~dg~(wz4Z};
z#d*M>w|?Ca3mB`k{VOXA6~^wtH7^vA@#O0z0*BBFkriZ?3j{J1NtFc>1+bdpD5X#&
zT3+TlI@~xJjbjSr+Ct(1hBR1K)&AFCe<jVd^_I)|$Oas3sT_mr!sgfCejVB0$Q5X_
zi_=LHas7pY;z-WE@bc@gzb>LsNwTa0uUPDYp9BGH{L-aMd9}Z%r^Rj+x%O6%Lq|J9
zG^?Shi8s0ZJ+T<)?LB<>aGytP`uk;8ap<7&!6vd!O>f`|6j9@}RGAI9{;Nd^>0z7N
zaqQS|TfinB-q#;0y?O5J*{LJ}(m1<^j)A{!^M{DXk1zg#Ua{%lr$oiksDGGrM790s
z$8RHnv9X#{EIICNc>1qLT}O`|4Usq5+13{H_jZTcKz#$|0hbp(Qm{P)pWfHe*YxTA
zO`pC-lQ-%1LL~^PQ~|pN<xY4$bOC!TuW``of*O`BE%F9+N4u-bgXBBnex#Lv=+)7(
zP#HTxwJWCmfBMm3c=g*7iJD61(Fny-$d=U_`LFi7-7Tz^ilJRY1WXF^D9r+1g%w?H
z=t;o>*B$8v^j-iO%_|Ps*-9Gu%JD=VkFV1@R;;GM8A10l@qAUN&mB^AWv)_X?LNFD
zZ}%a_*F<|yAInPCARP9#7CTFPbX`^)j?nM`+}!-^Y!pF-MxL)&Ex}taGB#`tUhS{f
z6ZOQ}^7#2^6$C*ZAKid6+dwA1?)6G~5mq%(VZFpJXQmW~guZ`h%eP6)kCtN_Bo3Mn
zy2ZuA&CE5_-g-UgucwnQy;*nnb##Q<WXT0tVru1jXQxME;4_ywd#CDUm!U&^qDjLm
zTpSz>5|wAe+q2{?*r!f92Nz#d`?J|%1t}?{460x&;yA(*1S?T45*NIjBQAIu^#nl5
zS=GVNr2=$bjr48f;1~sn1yV4OfEX&3YHB}Hj0H63N8`By`T#v1t3X`QYAy}0o64>b
zuRGUhdfj3}aj@*_BJ@xZ`5-79fI$=s-*ChK_DU7(uL4=U0$0?~1i{u)FdfKSS4q@R
zLlXsJ2ULu!6=dz<6rP~6DBzci#E7k;uC6dOzM)Y37%J7cjI`PdnjBlISgZ4v+M<Z~
zj;|JpqppkK3qVr_E?+^Q1@#2ApqQj|G=tYU16~J(DOqaBC5`cx23enXkx2iU8o*wI
zhT97b7wR-q#u~t0gN7SAE{-=9<_LvzcyfDzWK8!MG@P*pFl5kh!-i}}kTXGAOdMjK
zEcnH4-=_F5Qrcd$nlu`+-P`#q_|_orLX8kI1~XbV-UimyKQc1d0Yb2vvtw}NS8%UE
zBkt9B8yHys*|XOc6WBS4#cOAO1rHlE;9(y#-Uc?-uPD#HGznEU`O>q>ui#{Z2Au4G
z@is8CNG$XWZimCSeXytFSMamoog-q3Z&oVRN_p}fmjrb6QJ|Qkf(0Vrxk8!jNaJn5
znf&PS1@{0bVURWY6=-cR9YZ!HmM&m}6^yrmvqdf+_7rkb$tD(l1#@e)kQSd?2fTa>
zp&l%kZ~f#fb~8#>X1ZQTR_as`-U_POnHU^}nDI8X9EM*fql^gXAS>HYv;wyy@o_X7
zSU*z5BB)$wTH|eC(vjA-0|dfxvf1uNQ&^<{@c@2eG#D%4ueWf!3&z{P@cMV|>~HsA
zUwYd6cm4{V7tKl7Ibr0b-@Ek`o(7Ny6w;A=QN#w}bF6{<z^{=_icAa+c+$6TtBBbF
zsX<kg<7Gu8m5V~TR=<V$?Kv)tQ|}&q2LHjxt~p@XU41y$i`~^{@E`gNyQ|l*ySk6x
z-d%l$-DPCgY%%OEBT5|o)W7t(X~rZ50u<gf+7EcC(<>u6MWNX0GzXDp3z{3yV2$Lh
zb_Ba|4>em8oGoUog}J4P8GpA;!A|x}5(}5ao@ur$SoQ^>^@IB!{|XpTzW84Ig59`H
znyn1Zt|rZ9SCeLQD`{&u8n%Z*y+gzBE{2DCL(LWk((-|;#PeVw%ogMDm7x`!nH21N
zDnqPup+Z_8;$b_`ENH$VS(s9~*#_Z^t|FFMjUrQ{rOTuxVm@qNTukOjX0?(_E;idE
z%;-T!Y(ioZtPfmHl1)R$1W-{;0ViD(7(GRVf%G9jRw%UEr{U*BJP`?!-KelK=0Z5j
zpk!ho%dmxoEa|JrgzZkJ)r611@Fpu^&#bFXqrl!E{T7p9`?hU8Ee^aVM@!GPX72@|
z-$1yIA|>7v5mVe!@ig317CZ^@`pKqb=_i{>B<_|#K6R_2<r@*kAzIDDXOKgm!H@MB
z<j{vR?T|yCK@NQeIrJI)Sf4@5`wVjEGx)KxK@P13EiXq3g-GQ3^$76ZqQhKF0sLQ3
z<xA1%rAt5h(Iq5S#E>^W>uofms@z(wBD`?4Qr@t*ykOTSOC_@^AIN489O&seKy43;
z<1cnK{y82Cs`4f`ngrV0H&J`SVlFFEAl~9thzub#fLcb68#+T!(Q%;9%|W$;XtE(V
zfj*a1Ipp(&LhujCL$jJWgmJDmRZdk9XRfTEk`xwALM1QidPN0fT__Z;T*(8WE($iO
z5-^)1s*FTf1*|9)Kv6|W)+iuB>#7{%dBkJ67+fUL7sykcAWKw7X^UkPsOl$2>0oda
zjv^BV7Ul%$^RkQx<G2jX!(zB*Mov_V;hK@$)PLkeH5;y(#c<6m$8YP7{|`>o(pqV4
zmSbZ+@RBAjBrd$j3D>s(+{wCFmzRrMH)M(vHVd1#bMLfYa8sPW!{4!oD+vXTblrds
zwNwHfs_d1$?HudO=%7RGbM)<DxX=n(fm4;#2FGM=I)!d|NlGT&?s8e>z-FdtoKO?c
zo7u=VvT4pybidod{r^Xnt<-;=EISOc?D-F}EQ*k4BFkn+fzr*XqAFjGMy&w4UM8~a
z4MnMjcQ&rd9o4ERR;%Ex4vT9WpbnnqysCV6HtTR?vv(6&KKpiWx%d-#n<{s^(ev+i
zcN2lk7r>yFVq{fDq8YZes6m|mj7V~+1ZgIcTrUA+M>%*^Zuj{z8K18mxNNbKHUp5}
zE~`u&#V~Nu#Ys#om@1Sm<SVKS><O^;bQ%guv<VReKo#tTGBUbA-j|z_EP_VPtXEYT
z#ndXo^$l{a#|`4l_Ig_7z%G+cqa^{5_fd4ra)7Z+PluTzdK+P35f<pTY~tregmH*!
z^Z1-WuAeaIq9+V;{RGbZZCt<48FbMT2D$#6L9U-L=%UXVbkP$AUG%$#>-W2c>$l78
zLFd%ap}V&Bg^0^<LV~2N3uG#Y6aaMgw-FYnOj^STHY?y}a90X&uRI`)DoerMcDKVK
z2^Q1_ItN-^3OYJuPoS-LvqXbnsT`Jy=?w(s@Nh<V^#JZW_|X6Sqep-30CHTtF0)MU
z9qBaJk;4GcXv>}~+@<;1Tmz{qDz}DsIzml{Jpx@w*@y4Dt2Y#Im;;DSM;_eMqgX4H
zvwz2(_kG09L}REMOY!*$)afSX<D<KPM_gQtR?5+(DdZ$q5*dNgP=6wfDeap!ZvhS$
zm?EjXfs)Eb89qQjLLt{9i2#H-gKmMUL>DGd!<$-b^C>|smMJ5?s^<ah;NW{3NVIo7
z|1;zVE@x7gU-{A3zy9@8lk--pU=y-3T=9|nAN$N>`|)`LuGEF^fB*XzQx3GDyU;@5
zaXIp9Lf;)jHY$Db#cz*|js2fD4h<{8{KQ-;Uv5-aZ(drKJ%oq*BjDlw2;t%0h1zg?
zJ0Uh}C-1$ZyJy?bz_u-$w*n4#=l+9-58kmG96sAOcj78^ZQe#4X>=%gIJSYjmRV-0
zdNCVC7@5jjO-ir<x0rB{RLj7B!MO5f2UgrcsJwUWy#r6VYu8SE!|!<T;rl-OKOVSi
z<YN!u&Y}JL@e{l+2M*k^7q{-b^%L}QVHfN#Tmc+pWHQKxFZ|<qU@^lyTFZefBK;%a
z0|zdiL)YSHKiCNhh1oaGPp>9nzKeCLO0Cal>S%kCYx&sxG~rpZIZ(cqM6{B*TxQB2
z_EhVFxwQ1oYz+B87F5&4*!*ln337s#+E|^wS>v2Gbm-EeY{d#$WiX2GYWhW|{^svr
zzBr4NWU|sIQdi$t(Lf&N)MB%5j5A0Ww6r;F@Gi^_FEYz+sxRy*)hwRu+s~hwSxweB
z8tJ_oXU<$#f|9AcIC=TiUsQzlpcM`fa-iMa-7PLFUTAI>0+&HDFS&sm7q4BvcxGz)
z#?>=mV7Po^W+QqPH{LvZ`8q=7YnR^!AoK!t9vcYl|C}QL#z*uIx$!vzW|svOJ%N|)
zE?-cfs|f7FQaJ~7^;$Yt9^G}l`3&o|Oe%&wGyd93|McuDKmEmPFCZoL`db%g&YeX=
z<4Z4Jcn6N&l?!jY`s%A^sMo_DMktmOQQ8NLHB<B8V}ky;q6Eb{@}f2fNfGXSm8Re8
zmc$2YLb#baU_>O#iK~crQmNLfSoT~7<voI}DOc)XUKT*G3H4AxQ=o^i+385vBUlh*
zv^F`+Vi_fP8XTKY%)mkmK&OVKdWEzc0;Dv$%jrM@39v=c=0;A#!qK3J&*ZfnJn#AG
z$*Yr#B)gK*Nd83BGRWkm$m>)zY{YCLgVdTU&^I(R)b5R@APP>42!;m+{D-DGI@Hmg
zh8?~_$l7<Y1V+gtisT919>t+5vbK<Ia_=GR!N+K(L-4zKKu~#5G$2R9z!fIFd#Ke4
z3P|-<G2S4Hjxey*@F;lWf6>wT9_RZm2~&w3;O7)gW?WBQ3Od@~`1zt}fy9Bq1i5r%
zA*Ch-JPM!|$h(<xhOKCx2j-pdJENP(uCSHT>+dMQwgJQmq&X|dBDhN>fxzU^Si#=1
zCVxI6jKe@Qk7o?l<QoQS@(qJEc^YSa8P?<*25a(+!J7QJ!J2&4U`?JhSd*s>)<iW}
z6V+f%4ucf0SRpN;<x-X4G2_WBNrSTZ^n5LYv|$F=n+htf5ELYY>ZB(Q&Z%CEBkLB;
z0%2N$d)ZGe2oA(MWQqWOZhf@U%w5q|tft765m}_u;J^sL)xv@126A{jE`hWFGm_P#
z9xfCUv2+62!DKvJ!dtpFy)-eglmo@JS1dGn`O?XFdSx9g3Q${AiNV{`MZOljjvY0z
znBbwG;_!T(x8#BcF}WxrLoZ2>k5E7HWMYud64Qb`W#iJwDa_AT8cIMkkwjb#@{R+@
zZHtE8$~js#tA~-TK$wPiqGhrhcrj#MgF!oA!Sgg6gzCt|)T^2xG^&I`R1+ai4n0#y
zF-|BOzeVSvkMdBb{n03)wQkVZq;(VwG|eBZlf<^mOj1D60)yLaplMYC6=c|evPBsO
zp8N80hP9%2!xuM})x+1XU0-i<s}<*$E+VzJhv@Y#OBz5pt!F#BiF`<d6w#%bO#t9u
zboAg&H0B~xT;GR3{NdfLbshz@b+|qKmoBa2O4k@3c@0?rsm1O)s;$7b^aoM|JQLx;
z7kBW0$e`4hP2)^wD>zyjnO9$(6WaFe+h^Ih_^Nss?uFCS<XZt>E~EvSTI6a2ZfGEH
zI{{j>_`Po6%e`(FHi9Pzli2RHJ8k|BcoSW%ULJpSP($#%iki|1C4>)*xCiu?W}Se(
zB_5>kS!7yp+iF1wiKSDpc}XQ7eT}q$*JMzHQQLXGR%sArS1ngdSY>h@(WXK&)^(&{
zdsx8{>fP1{Ny9msji^D|;d6kO=)D8ZpMb^2eNfd1s585ucfi{Y(X3L0a5UI$6Q6dF
zN94+74vdnLgr?E5de|gmlM@h~Y?V#;Wi=zQ4Z;t+xJD5jU=?IDtU9y|UYDZbkn)sH
z2{0Of0K=Bxuwr~Lb`SwFAk%|Kk~q2k_CMe?kd&^$F)QmdG!b5ehzMvR$QuRJ6wx%`
zb``=;3jAwcJ?wS`{SG&z&=qvKVK0H@@96Nzr1w>0UAO`PtJCZ7x$RCn$|nq8B0p)$
z>}p3AxWnh-arOLg_MLc>$ULC)ko?5A_Rk~w;~tw8N|34~u$3D$S}W`hCl4v9R|$(K
zMY3pGBN|-?L$bwEE#;!BKL^71Tmd@>nHxgVy1W)aDK=J72DSABwox>`vAQ}n8;N7k
zKtqcF1rja9GH6?Yc8MgjP&PT_NBW_8uoO&yG%G>_v24datqMg^tjh2oq-GDm`f?S!
znH1uX`f4ho22vR28m=K&#hfY+_QYDcpmgblGV*B@O3O0~OY;~7VJgJe!LzdvS(%@E
zYhodpRs6-ZH7JOscc#*@7`Dw~46n&*$T&)%_r)VPixcB>=H^DX=b$a}H5t3qOch}I
zmlyEiQHDi_Kt2!lVX~r|Hklj5N)}z#P3mC*Wz$;@7{?Kzz{Novt`k3ss#S3tITG|S
zA)q0}L#BBRKpw#Bh@)VKNrehMS9BQ7V*nA-qd~HBm}-S4ETdYT#WfOG!gpM%jFR<2
zk*9`A1SnV`OhlGgQBn`%>H%qhr(!K87j!gq9kgAIM@Yfs2(3{CZJ>mNmM0Ylwn};z
zX^UiS5b8a!Fq8d@;VohKXOhy18ZBN4jw;J06AZbG*%I;9oiYRh;Ian58a%Hsm0|-$
z2fyFaAf3xK$>~?oH$n0cxGtcqh8&UAfH`V%7!*qQL$y)>fHYI2>x!pQ(D2_{(}f|M
zgggMGG?j2aDURddvAS3uV&r*&ludMS^<i8Dm>l36APfDp1M4PWH=*+l|4mA)L^RlJ
zx~z278W})io5m`iOA@nKiNvt#xpZU}bf6mm;`y~mGflR(nrV{VVnNB8BEId%C;_tJ
zo7W$s3!1-exT<=Y>`<SR*cn{m`qK`gQfw|4AguUr6G$X))p7eqgmD=D=J9@cSR?Bj
z$;0+^zJDIJ&)_BW8N7t|%ft2<yo4Tum*Do;*XKE{nn)v&50y{>b4xNjipmx?n=9A`
zZa<G(b@#Si_yr)lld}@kaW01zLS!vREr$*v<<~QO$MEpBfj-r(CGX#t<aU1GPOYuA
zwGI0wNbSX0Q&W^EUbuQ0$CZnyI^GzezR!N;ru_L4>f7f3t8n<h{)4bRcTj(VbAR|l
z%HjC>cmEp4cb-w*Zri>cw!qds+dbW|?Krwnr5Lp&lc+{SP}PlY#5Ppql5YVzU}RWA
zAcAYFRZG=eSi&$MePe!2ql9FUb<$i3q)labb7<ISL3A`~!R#A|8fKn=txZ$iODS_V
zD;IbH30&}SGhqMWan|%SbY?la3Ls^spt?mqwyIZ(@icHPM5qdR#8{(nF0p2k>~3pA
zzq0DCm9D&%OUzxrQi^Y^uYx>no_Z5!xm-|~p4Q&Id$;yrWobT|=JiY>O@qmf9F^vC
znF$0FI1O;kTWzYFx1G6atKB&N4ojRB90}?=o(oq=(*}BAcKdt!RcI7O2lYH~$hZk#
z4gE%7&eJpnov0SO9c{a+9lh-}KtsX9ESm*vCiD*BoI*hX?4$*}q5}VJUGClyVH`r(
zJnl94wf7qQT4R6sy*P6({MvgBe(k*mzxE!3#NK0&*t?J4Moisn@N11d2>T2Y3xsDf
zf(T@FeVq_u$C5KMNsNFI(O58(A_&0323&R(83G;V4IvdBc7|Y38iFenLZW>!UPbGO
z3dY@;%Wy8wU%Yts=Rg1X_34u*r;}Lj>dMKJvuHbEq7&2^JdIW((H0Ugc$$NFbj{Lp
z@L<QOQ>Sj^<c<!tyHMDC<e`Tidf?%QAN<gVK6Gq&|Nd<Ne9Nwu{rkJ!&_aRT)M4^&
z;DbY%QzD+`Ce()(TS7<#^o?K2udJv{B=XpYsc%w0Z+<;T{Q_UlQ$J{a{SEc|1UfAI
z_F*XS&37Fkcf=15Le=g4A_|*-M&4vRhiYzJcd%jS4*-EFPQ3hsADjZ^`%c%&sZ(mV
z)46#U(gpkR4?ArSD9netu{}FB0W{o!oI}?(Q0l2rsCA(65b5Ae0_+N}DvO~C@MeJJ
z&E?c?*eEnR(3b9QH#BDr-{|3n$Oqt{5f7}%`lPZo058LIF7*^RFST!ULk|<pjYks0
z!f<Xk*fa4^^puIPg$+)ElcdTB;s`1ReUD*h9L@_%l|adjk8C4VI<*_A2(le8Xvhk0
zM=<yHT3EQ|b!%_0ouD}-Cl$og@RA@vL7U0b%pklFbO=Zmkh7rF$Y#}UU5_t9dKTY#
zXBuWZ0o$F(!@0>WMj{zfhXiqPJPfu&84N}ZPS6#n6K_@kh}j8lhcpOrK~Nd)+Ca<8
z%~zg%_WzJzBR)UBn1Z!Rtj^D86Of&CGO7$8$p#EuL$t?oVP`vBUdd)}Z@0s%zz6||
zpwElfLn(z61yI5vurz{8W4vr35s8o{?RXaRia=qY>6J`U#d&~qW4u+3v0$VVd<rbe
z;zgtv#$S15{LGm%=cgtnW;S3&voXK}vRK>1BoH%rAh1Va5Zq`w_5wZ*>kNcKK1g$_
zV)FS^B!!4@!k;QB6d1RN!_M)*3fI1>0%f7XQBdvVN+TMFdj+XRGHDEvFd^kHEiWS$
zuYv-RTuj+aV9|J34S;crL$xA-ON$otKM*H~3*+9q`sI!hVH_%>dF(Ujmpcvm<)|TU
zz7uEO2mNxVLBH%X=$E?;`emO%zw8^itzYhZAN{i1pkG>}$x_{lH!HK%bd>Pa60WKu
zsklO&(q&Brxu{~}<(@92O3XST(O;NTTd&QgszJD3P9ZmcEmzR=475wE0I&%(te8gl
zqQk-}n1uDgqlm)1jfK;vPmljXZS^_<0)gVEWV_SFqMvLBXqEfDB$mK>VW=Qe;?U;L
z3K!3xJ$p84>e#=3|Gqm^=az1-jf1OIcZRzAc$2UFiMv54hcDsbtul!8O<~MA!K=pQ
zj3Nt`XTGK=%4OftcRLa2|MjP8Yez>*(2xC1#wK+6TUy$NkiYCjtmkU>5zxSXFm(mB
z5qQ6AYen7$-O}Es9>J?TCw(G^`3%L?%iE5iXGO8@I3iz3;t$!xZZHpzQ2!D>LS?CE
z6bNlaxm*9EMpeJZ^j!#VfkJ~SkEz_xsjYSkj|OM>gc@UVh;U-7aH>&9<OPEHMkftC
zJ8)!ZrC16oTx$@A)!|fITf8!}0iQTq<~?m@fGNw!oD=JB25F3FA?R=pAWB;$eRB?1
zuT&@RyknEvnp#Pjo1jG|aWiGJ@N60@SeDBm?aPFNldD)STbmOP@7vqc3gzQ*6F%IT
zS(S@ixmMax+_~J+mGnRhQ&~b1ajleebfdr@oLRs_WaJ=edf=|kP6&oy)}R`uqG~JH
zmI?PL`hW4^aYrK@LWKMWAB}(l@seN)RBUz4OmcN7pFpi;@@gyU{`kbmb6|!A#HU)E
zCRy|p&56i~(K38)5omZ@wXmrljqT2Igmlc$sI3gENqADdR$&Cwjp;;*0Dc;c!pbZ_
zC^W)4rcsp?HW#q~lY?<I3Y}V4!J$!ht8z6j+WkLx?q+gE5%gO0)bmLB(q_DrmUAiW
z^4qO`MFb`kPdIh%mS@{PB8+2eHjjS8KJGQ_V<W<#7iV^1ANL#falc_7zn^CtGWZF-
zhJ9>gt!*{zV>dEh1QQk6K&wI?N;$s<{!0}kQpn|op!?FaClrF4R-1ec-8Pr6oIH7I
z9ja~p0^Br}(U?+LItV*I&-5QWsJdb22T(=WvK@Av!IiDH1L8bJ66zPhH{VJvT)e1C
zk;tQ;0KxlbKG!tT(ua6FarOvs%40~EO3!@$^PfLJ{rfZUYhjQFa10K?0Hc>!L~U*V
zt!Kk1I=_X=Y;35+#-{NNm;BaIA*70kwy5kFlclU<ZuEJ(ak?4QS6(xo#pc5FXH?{M
zWGOLv&?)Q1R7wRR%+-tJtk2Wi+wX<%5$wXmDiy^zIV>%9c6K_kP>U*PZ?kFCl#-c9
zBwkY3LJEO^%7Eh~EO{WYkXMgK4LjeNz}j7#o1b5eU>i?OQ;Rrjt!NKR9oT7dIRdZ9
z1U_KWJVcyOnayK12S&=2OQ3noP_hjppe52XHa|NJGu1${4VAn#e0(}A^~0>jsFwbI
z6}^^VWq1nsMO-sV2umakl_>P1;J@Iu)}Ny4_%9702MLKf!AWH_?Ooeq9}&hOX3fKH
zkV(5iCOrn*V#k?;8PaZ$NxMNN?FQRoH`o@t!M4~9GHE@2yHCS<+}eq!Cn^zj5wa*?
zE^RE%EX^!|iaM0EEK)-4)XCE)PlN9G;B?>=TJ$&V@7=#C5aup=mv>Th<kyML{wSr=
z_wNmJ&ukz6JS8}Lhx>>7?g(=mrktOGj<pg-a)I|DY2pD!BW0<9s8rev$EOc>7yac<
zO3>pGK)Jz%>?}zs>IA<!zc#<N7UtSBmQ_k%i>U&TT43j|N*O$MZDM(1H4*0eQ@)!N
z^-UGl1WF7cw@U5+y$*XX2=A`=e+DaH<b);bLstC#=BNG&R=}|0?}HVfOokOV-Cptc
zs9CYxjl~EP$~qMuYh62anK`)9rSSW^_ZPa`nTz&Wg)H)iDY)VvI>J2D^_;>F_YFJy
z_Awh`niw%NSzsQ`0le42q)cda>h0^5`rDaB7h24)uzEbrI7we3R+U;^W!ei4g-;bz
zY_ZJPH2i&HWkOonVEXfI3iWl88^LNmg<H3l@~IP~_w(?GFpi~Z9>&h^5rgF3W02et
zoOu-5bi^RJ@7MV~Vpzu`2FV>UNbbRr+md^5<UPryLP*?K39bi@erzoVBxw}MBG6r!
z9Oybpq7DrV8zbp?#l>*M{)HHt%t(yHZ8qqj(9P?MSpnWrwi>&3eq|$9o`83>lBi<t
znIPOmc^OR*Fe=W*y5i!*k;CwiK#vR$>C$9t>+Gx=>fMa?YFPY&Xlv=lbU(4}$dMyk
z?QCp*J{IdGR*HwWP{ddn7sFnD8->0Y<wF5>TW=}_HSc`zvAg?0R}hcbL;F9xt=sQ7
z_^!8P`mHW;;)NF`CLW}A0a+vCT|{fmck#c!`SjCIPv|@T<WK(OcOIIaK6XqE^>6O(
zASCwAKu0IKsoMhGaF_<${ir8dEd9uKV1vU}>YC!BSr8;3F-V!9;JnUq*=AEiyY@Ot
zB-eNGlyv{VRBh$-72MGxTK}$HKHn~CAWZM=Ru~5bKm6Mx`rVEvUxLq&pj}8W1-Fpw
zfEp5IQjkP?Ul(mo8F4;g_dv*o>>9&}7=w$kR(K1HU2!#PNm85Pbg=5$%yOwDNovUH
zwsE9M+{sv5x?EO)1xUlkBf`U=YTk*NSt9830a9dJ6<1v&75qg(rx9}b-08H_sfMO*
z<gBohtVfJ5B>YlC0;(uhlC>nJH|M7idyA`tqloi(6j%H1PSO<_1mk2Zwz_DyLwj>;
zamGz6LR(|$M(JQ%*oIc~xiow(^fcAhsAyPRN|HBVYExW;_YR`Bv$I<xK+%~gpRZa~
zLnwKo7aXw?IQa@Bt|mM&Iplbd9Tf_29K|NB39zA9g1VVxvjx3^g~$~F*uxSoFK%Qt
z*h>kmM~fSoiWY@qHJfjMaL(ymhS@`tw*ta)S#fFQO}#MtPAUbWtC?l1H4;&|m8CRa
zSN!%WRZg9sND5ZGnW|n`2isC+1s{M0r4E=U;bT>*POE}sE3NQa2^<J@l{@|NtOdEo
zuDqU@`r6;#w6^2g=Jd$9)29~}PJ{TAPJ(GxqTC9b&Gok_ps-=k`G`4Ic;~mUbpILa
zX2jC{S6esHplik3y7snpV`myO?84j$)Ko#WD+niRCx!8sPQdE`VZKn_U)Wzhy!!+~
zWU3`hrH)am9>I4CV<EnH0w^VP3<|Dc=df$nQGn6I$PWC{zMbIRyqmIlPJj`e;=_X8
zEA{Gay(f^O#aRLq(IZSOdID}Pq(I;St>jl$ns1{R7T6TN5}6a28;pkw!h|#-T)c6D
z3WVWSQQssN{m;m+a{140adXQf!Z`KrAsf61*`SLp$GJ|NGD1$1@l9-+Y|zEB!HbX$
zUW9DW#j-&c%LZL+#4PeNjm8XEu%F^j)@moI=Wye2v3MB3s;2<xU|7s|p(CGz&2l=2
zsUsLYLI`o228+jvwczw#N$RC`;6_Bpa<7G-LI#&1;M1r07=zCDByLPd(gbwzQ+y54
z10YwoY*P1#FpiJbJdBeDx((~F&0v$dab_QEQnz6pdJOCEev<~e4eQWtSch(dO)}=L
zo%8c+h@;qA6=Mvs1?NEyLq{u$q&F59VSAGCG3QG!onJ?jWD(ulDV*{W^>WyHH3Rk3
zsJ#a3a(a4l%=w$Yd7wWeR9#*WNcw!i-=H20)2#&bVn48tsQ0$9yPIQnRP)0}%<2BE
zB*(XX&j@wt#0d4XFnz$S(DtqoYK;H#7r*$$PaPU_-h1yITl<6l?rsd-?d|Kom-={^
zwr~pQ;@d&o5pY|_m`{HiLGq~eA)D~Ahd%qi{^-*<$XVH0MLO``AKVJhx||(DtxiH=
z15rHkE#OSy5!2IlJdxh8L8;jV%a{|aSS)H@I*tCpTsC6|Ly@%&?l;2CHp~$1u=&TF
z6B7$Jmh$zbSZrktCTRl0M6GKi$)js2Olgkg*2kQ$ymIBOseJAAi#M;_fNTB=^-9>f
zOjx2yiNz@>-?gPNC(tj&3WJFksMH{}x&{yxjn01zL`bC(p6APB&KF<2wwB_|MYL+C
z^0~~5$f44x2}+gRm3Jm5C+DMMU@0><BqsnGZZnJ~2B;z^E!z|c1Bb!g$AP)kiTRjy
z?|{FjZ>ZJX(GC=vKWt5e@P5HCQWOA2s@>u+9T*YDA#BZKi(!XuF-YbigJcfiOb2%8
z`=Q$h3_EndutNt7k~v_I%szu;c8uKimOQ7k*Kf`s_|$d$n7KKbeEk*b97cWEP2j=<
zx)du94F=$~y7c{jJ&6OG`sB$M{`H49pTcCl6VzYg+zzkBYDHfF2x6e#Dys8-{ou&R
z!2<`1#RCTp9yoZYao-4a;snymVJ^O&M2-}egtxe$8P$8K?_mRvHm7Bcl7ulGiF}a!
z#^1>IlX{hUmTrLne;tp$dhSLV_(`NqTQ@_Is-8Q&!@G6?;Rj{XJiK>2(44t~z7Jx;
zu#tFhOfxF_tZDR4uyAvWbg@3>*=!Gb(B2Av1wSyD)795O_2LyUs!`LPM5>cK%JZSt
zodey7OrVhvo^09C{c8tN)(LY!hLuWB(wu-fVX9}ku(V2ejT;U8SYKV<n7l%Wayg8-
z;JD@*)-|$*;^oTB%p3yJuxWmNZWb+k=U<@4aia9g6YFJ+vB2wYP@qKsaD!p+0|ynI
zZVv82&KOY*xhmutb=C7aJ#mrXFrW^b2Xpqj)I~g_!vo$a71`!m33jQbdXT&UfbZP{
zH{f`nL5@ryLKlV#*gk43Pa<1G)xV19mI4P-2>)BIA;wm@K)`R6p1ft#|5LWcAj$vL
zw&s0oIsuFkM{8y}7p51XYEQnf7N$>8Y+-+YZ<yXmQ4wN!9(gECf1YBU!<!F=>1H@8
z65|6Fl^{~4PKuR!w+msq6GU^ErWvLYd@@inVR{wG<WwF*VK9qHnpj*4(+D-crUDY6
zl3ym%tsK*_5n-Hq_xOlmpC2>q^WQYA&M};O2>bk)!2%sKSfFEueQxZ6{eWSgA2aOp
z!-jo+*s#yLUqdn<anREI{I%pVJY^`#g#}%ICAo$o!`$R#<24wZu-GO8^whu*AQ5Fp
zl)W7Ts`%5_C*FSh)X#o4<~sq5>)F>|KlSoU|1x#@wO3z#<rR#vtkp*J|7p5;?$tAA
zUi{IIswb!s{Y!YJJ6$QX4YEvFL>3SLjLwg$Bl>T1U;Bsed`CTkDV0x*b$@_}BZ0`&
zj--Zn?cA{ql#M%z#n1J2wIkmf2wwRB;*_vBaUFc2*Up~}i*KB{JU92+kA9|#ANb(0
z0|)LpbaZTl`YSl&nB0o_toae@8|EAT?GJwciO>EnCJIJy#h0ZAK6vQJk$t=N{4LHr
zLH#M7?{EI^=bnH5AHPN@w!fl(iTU5pKYzFW$NIhcV^BtaO+Aazi(~jYL4B3_tFdk{
zZ{t9A)xFEMW$TuqLFA`~oX%r?y+Af~b#~FasbhG~7{Q~&*MSpXMZ-*bd1_7-LtUZP
z)|R%=n8%Hp2}2tAp;ySHNOEw<nq}fma$=P23LrMf<cskWEHitF2fzLNC51z7zodn`
zw-8`fTYIRxJLm`6#YF&5ZjS4b9N_hA?cQYHf_N}2W>|o3P=yVPgbm9U5aX(NS6|zv
zP229eW32lj<o<T;*}L!1VRWx{b@%l3q82MjA9QWn0*2F(!z~X{pTv_avv|*bUmz^{
zy*|HxK)$JpzxTmChYx@3_kMS*dlLEHR5BS)#8z|QDnaQ7M!M0s29h`wdY4!ANy7In
zx)?wk@Oi@`EdwbjI$Bln?Mcj`S_glJ=PY#O+Il3KEi5fvo|u6;oST~qTVlD)#^U_q
zJC~-<QfI^AyQzPn{(<@n?h9Y|gFpE)67(mi6YL-U{_lVJ2rkigRq?z3_`><~7rys5
zV^mxT0jh$p1P9BW%@Mj~hFL5i6AezRvL%jmc~}I>!DK=UOBjQ=!3*pPcvTTGHu%Hf
zdv#yH^?>q#Nxx{Dx-m69I|J~VB>iM%4cr0oWTNK+(dS}M7tjKmhPH;qZQJ`=TX!DW
zuZnM-Jr9nV%WsW!H?JznV#F08lemENM1qst!*dJxL8FeZV46%8Q=3&DBb2fwW{js{
zXYKVTJ#eG|77=-x+|a=$4G1S6wh$Z%&)e|LBaTq`^eXDYMU{8t@tYmv8D!$Sw0Cv$
z@Q5%Dh0;8XES19s?ehVH_Q3!cY7p9I*r0ue4cceepnZl7UdFIN`wSbjPnSXabQ!cy
zaH?Zvb$M=n7G>~8<77FPuVQ>>y*@>Tu!(5S1ZHj9uY)_GRtH)4;<+))^9SBM_r@<?
zezECrfKk?*Uf;;&$(*|9sec7QJUR#*j+Rf2P=Bq8k#ZH(MW>z_3+~ho-PuH<@7h%;
z>`25wK1?7(JE?xW%wPW9KRo;F-#+sfs`y8L{D+_W-0ytmGh_7UizC$6d|&><Kfr93
zFMJ^q`MqlsH<y=JpesL*X`tbIb(`L)Z_|hH)ux+t2^yk?YDkG%$JZh?Mco_=ZuRWk
zfvN^MoX#y)3#5!3TY;w!ix(%}dFLIdPgUH#XV;D$+qP~UvyzeF#1&}@24^YeF$V?J
zs0~E@WdBEz=wx}9B!+|jWpvsjWlr)Q{C=w&Tvec{7X9d5!3OpFJswB)8Uz`I&3KG$
z9Sd%G8=*m8Pd_sDlJwvFo$Y{2BaglX{V)*Up5Bg*z`~DJaq-HPrKJVap0VJ%Cz)Db
z!*+}y*t(4T9;m8uVb&3Lq2faWUFq!_Qbq6)0UniJ8Z*r&FHB5ehcx#rT9BMDyf{dB
z78XDA$<Kc3Q;$FLfGU3HJAeP&bKn1~zZeT<7?5dVPvT(NEC8<9W;inF0}G3xcI>G3
z&Q4XFpIca3T3%Th3*KNaT?O2Y9FjBzlpuC4jvL6=gvCc5`1SkmfAHgvs^b6iy?^=f
zkN@qbKOIw0&ixukljVF0&1q#kJzKA+U~(oSyaf>_u(hvoET}ig3F#yN>S8smqKOU^
zHnP=m%R}EaB8+1@G>_c|%Wa&Fa`->&9l~U}`#3$0sYA_Uk74iZG3=dRVR(I?y|dM@
zceWe%4v%aRt~yy}mUBaEV?-M)c@EB67=KftUBc$2r2-J9p^z0-UKO2mh`B6g)FU~e
z2h)7Jg(OL0!r_DK2<4>MS==~%I%*Cfec95OKdlBK)tEFwlZnY3zlwl!g(Zp05K4bx
zsIi)2*J}*5Z(pmvjN<M(<=>}TIhvGPSORm9Ot0Uq|0(%mP78<L%~&$Wkix(#q19Tk
zH_E*Jm9HGAkE6PKj@tbd%xm$%_eLBG>*fy-IF#%sS;`(Xh+rCsYHQF`ON&L%p`u%$
z%q?oLp(6<i;x0rQ<pvp7l5dcjQx)iMyhk{#cEE?wG~%KN$brT!u%;s8hz*Av8_~n~
zwv(KshKePId4tY|E1!VM4x1X3O)F<IG^##9z!s6e1=|YLR3(nyh-8(;9yG(0034z>
zSj7$o0=lhDEM=F$iNd%ruckqoXMqZaPs24xe~hzHM#zf6xy@AvD-w_i1yFooav(B|
zf}V}3bX8M4iM147uBH)`wWUB<TGHq)!V7T{_*~%E&<hKZx(C@sE0bS<_YWu=6GqOI
z6lo<Vsh*XQS1h5#hftZs4>qKz$!L4%NQX#4)`MWF6Gf_t-fYyoaI<_3l1hxA+NXl%
z!G`fLSFgrsAC#DzN?e6d(cso^g4cN(4+WbhtH33M%)yS4!YqZ%VTBS=`9d6olQoV&
z&n+CO3_CaxM3a=Gc`_bXqmU^~Q+7i20hW&wq<%1TTo`X|8vNLDTq3s@@QvHInPc}I
zzn!z%+(}UZ*s4~8t!g#ww=KtSvndQ6=g09>3nbe$bew%}D%jBR_hzC|UB_?N54w)O
z7ZKa6L|Py$x0E#V?tR=PvcodgS$%!^=FR2R*;t{GNU5@n<^t$8G`~__5*=SS4KAlM
zZ=O7PbsgffF$u*;b&XoxEgfB52eEG(zCl!JDewOMDAe8s0L7jmaKj+$UN*IXM1fi#
zwbnCey}E`A3yz~}*Ho%mqXqEl(W98B@t5R_{^R4f3b!9c(IDkJ2p$FM%~5N0{_>k|
zK8sMbG7ZF!3dnl%Q{eMpgcxHPc5dE*{k3gy*tO}XDghXXQ6P;ts(m~S4+X$>Y$hCW
z%w9&7By4qYHY?zyAb|pvCZi%RUxF@Ts!7V)E48%^w72*A?XnyY&=iTW&`u{;n8PxV
zNI1F#BdVd>0kEKYy__K<8cm~CiL?hfu>nh>2`PGtCc*Ia3y}E;ut}+;0(uZMg;IVD
z39E5_e>)IQK=`z`tG~Pu*u<n*%UDxvK8?^gpF%FCoKa<9e^Begz#__UDn2^LSSO^#
ztC04&iRGLSyP?XA#p!`-z;2=t64t?cj<KsW2l5#jn8L;=2ZMq1KO91R3@22I3Z`p^
zX$dDVRu#oujut>9q5{O*K%hXRd1OQwr`|md8?47+gXeY3U_B1vTr#8PKT{1e@*p2J
zSdW7S&uh!bZE4;z@}4wPKuH21gnl4`Q>$vGR-aWM)+5jRwr}6=Ywl;TODSH|1#<bg
z6)Zc%h$NAeEC}|H+Afg!>Y_~O+N&E8X{g7|#fdH9HhuJ?AMGNk2$rcSUY5(RM{cy(
zc%9gj8JLf#x#N%;qMIZ!6c5?x-|3p5xdzj;D%>iJ$V$_;fZ#>-)U0i-ZD5a}h-vWw
z`q!o}omJgT4F;x6147sP@y~DmTSnHnUsl7UW73&$IDGn+g<%?5)l+UqvZ+`G&>RM4
z82kx`>Mtv5$mfNb0nItg<KVVVCJ^-aHW4%9mm!&Q)7aEi4~A4(tVm!2K~!k6-dpwT
zni>KXNU;cJZa5MIuE%m3h;jgRs1Yi>CISx(VyI?GPnyv)fr%>^C_`atWC*}sSdU_f
z1SMsPTaD(cur`2dWwEwd<n_@LrgMt7p#uYJ$pgJb7>O*1+*q^~sG({NyA5MQp<8kd
zt9@!dUE^VcOj;7)88ZDF1_F>h#anNHMBf)H)@fpid@!a$DYvYKGFiNr*h+k5X>s=Y
z<;7$i)1Yuf(qytA3%EM29iS45SEE6Co#O$f^LS)EhjTKl*Q3&)?hi!gVq|p6)$?ol
zbS1ffeTvQs;#R46c~%k>Z>|u>!|f7JcXm3M;=;m0y6)~&!|i0BQVlFZK2x>A?Vy@Q
zN+&i+x^1dFSldbor-CAbn5uLd@G^%QLbC~c9*Xqe%-=|Nqf<zaVGFM}d|<!wHO&^U
zde~w#7Dc2*5wn%Ldi83Q4r~PyP=`IzX~2}hFA6*sE-OGn4Un&tc@;{B*rD1tV3veY
z%ob5>$Wvs~skxb(H|OU-Evg9kfp=oUxhU0EsPZ?MGG)8fMR#CC7{}&q9)}D&{g7d&
zKVaDDhj8W=*sX&GyLHfDw+<QnMB`3BXxQmS#`6P)oo++}2L5ffQcEt80Bd~>;p=s*
z){W_znbo4gmQvI^$mWUm_SV)hhfLaoJXAhJd?Yir1rjr#@xPcU&72_y?BWFsE&1WM
zzx}sAdEw;A^Kpeu%mN}8=B(}e_UsvRxO`x_>ZjHZLOf~T4%o8LzLezh1WCHL?a<Mq
zN743s^y42taKK|G#a|zcT9}JWuSO!H&IVyj)%2zLNo+|bvoSfT@?XAT?;G0lOB;9K
z*TGKqt>)KPNze~#_X_nYNeD|reyDr*cIprDeCL1s`de>}I<-s{`?LP?3;zs&GCP0q
zpZ{46?XU$qLR};!ylEKQeCLiGyAK{59uBqQC0jb1Q@sl*w4;tXbzn&$8re(&+6`(x
zkx=d68zfcGrs0ImWNgJGnY65-rySe9fufvM;VhygGNYkGn|a;h2TGWC%6RfXPfwQv
zy~JL?+JR>S1*pQ-qVf1BCMFjv*=$1gl5%sSg50he`lEYHlz)(<mOI@@C2c=?^k7#D
za8ID_=B!>+7O_7|Q!_K8GM!6;`D5PJJF9Sw{5-)JT-eZr67ny)UMc_ywYIdhLQ*kF
zf+{a2P$dj=90edSUYaN5$e48l0=zmcfvHgyXIQ~w)nR$PRWb_ZtvBDCkFKNRz69k1
zOTCUq%T=_7j5=$2rUuu6t#_b(SK`e;OodV$;?*+AO_!6<&dF3NzJ@6SRWc&IUO|B~
z%n4>m6vx0F22T}A4?_kto&SGXdlT?D&ht#Ls=BMH@4FjlG#WtTCP)w@c!8uyfutx=
zqN3=qWy^;|*^1?3VmnUOPA0a4>S~B`wBE#<WX4V=o7p(Co5OJ&NtP|kk*JfBD3JsY
z5C?IiarJ%Q-Sd78QY>d5&6Al;k!UpfsIIR1|L^~f_j_NIP~_IjrcyE<p?q~{3<LDy
z<;(B=%P+^q;yGB;!saNod!2TBz{;UV0Px+$rZ$*>n!$=75s98Gb%0{S(hQSA^&R>P
z@d@&XfL=+QSyVk`&B5*<^{quOIgW`zu3H}AxNvS1U}?Wvg>XA1GXkzo9w-Ef>o5yX
zStGSl5`MpvA<$(Boo(g+FR$SPiutbOHGDuZ--*}oVXW-GrkL+aUc(0!^Zmi$TYl;T
ziutbOHN0Oj-|ttf>^(XV^(6E7<^WZ}R+dts*(=wVqNzBR_eg4mOm(iLhBIYiSC_Ho
z6a<aUY=pueLb0-&DsCWbh(@zTHMDeCxyMmR0dtC=s-~uXM^LZ6^mjjhYdScOr0-<#
z+>0;1_<kg-LDk!&Iu8uM>j}N3v!%&vGyCo3{4Q$q_nFYp7D{P0^;mlH7PnPhL3~uQ
z)cepHJYDS?QQy#w<-Mn|4LJ%ougx$X$y68|Kzg#>!l4OeE)qkaRC((hbmtb6HCt<6
zyGw&8L+*)n?CaJR0V2<KR1gxXb{%@)q}Afy{gH2f``aJed)FsF`N<)@V-5Viro@+@
z1cLG24)xWa{_usX(|$W7LH_WM|M-vpWue-8{Ly=N*l4`SJ-&gRJ9;}&=j_<liRh|(
z$DYIc+k5(U>;>oIz8$;K&APL<$IIL;nbd6_1auI@%OybJieNUEy1s~smn@>c68gGo
z(9X#{1K&7#@WAZ^<vF+ww?}*r{l~|2eS=%KgU6w_b0==^_%(Nl8Ip#X?^{2+A1OV(
z&g@cW%T>sjRsSnsG{&dj#2QsbFPg5|tbq)~N97*OX;6?O1HzS1_=l!~sj1WFF^d$b
zYeg##-v%x|uoId%1JRaOvbi+c^8pNjfC_lFv7%NOBP4^e-07Yq%Zd#)iqLW#W~J8D
zG%$SI&SsMl&>x%0hwu-Rp^SX8iEC(v!&HeS*3;!o0Wcx87+%FNN)#D@uFElGG}%B8
zKa&6@DV$5I*o3|2S-uc!^rEX1JLiQ0)`&>T;6Vu7HNP>BE~qsSx{GL&%fduzhk8sn
zdXvECW5Gy@x|1VvPxTk)rh>~bH<c9%UKS(axv9=JHkLrqVr?A?bK~z`%~>JB+jV7O
zYHn_Bb}_>^yjC;p5$C*f8ws*H5zi!M7H9Eg*)_R`MO%55<Y$>8;f1QXOgss2bDjue
zQ+c9A%T>xGpE+VA>^8V!YrNKgu2{bvatEkeo3+qV$s-?7N9)Kv>hL-c-bljN;uT!P
z;`-9WEcj>FXF)(Rv%ZMMcdeM!!H$~PD?o`(E~l&JCLdTn{bsFU&vtNqH0qh;+FURO
z&5VlNQ);xJyA7ugNGTj3Or@ZSBvtheT(yqH+0~h}kYbWJ3;L8jP?^braU9*6EGwA1
zY?K=2L^a3};fgYX+>_qh*|)6?KC`W6!E4Gov&lBT03sS}8m9{9+|_0`p~aSK-^lqr
z=>*tpnNp7Uw@khVw&3$v-mF2-FPrr<2zcrdj(%7;1JhRD^a?wuSNJ_j+@v0_B#en(
zVF#5QOL~PJw4AzS2lWa&s8>WdhEum99K)#(A{=5tz@}a|=+{$RE2@_2u?E-J3U>(k
zSM_kAd}u#+9wkxKkJ&`-2#Pv?z<rPTo}}JocMRUit)o>R%aj(0EJ@8Hxm4z2sI;ol
zxM!?z3xEu(<05(@I4dARNOj_)R56PsuJSTokUVj0EY6t#>{XxVRTnRFJ;*dO2zB8c
z>-Aar8Ae>g1z;N+*W_pFXHkhk?^T>dpCaqARgv}ZwV}Hbt4WXIEcPnA$6m!*RCZVP
zoKk&|_2^V&JzR>_M9FezpPE`oBIvDR@UBJ@urrjKXTyNp7b21nTgS}bh>hBxfBv;4
z#6D%Xh!-XoF`g(LFHDdeS7J&MW-ei2xI8<m17&)hvKmDY?ba3>Z~*4uRv$p$>ITNV
z-zphE+)7RsUWJ$Nr%oN~SzkXwg*TP&%~SVidqKC3hP3uS=#sE6yav$*&b=12l&JID
zb$tiHN~~u@Ym-JoAq^78@XoO5vWxT!9uT|Qh8ng^g%h5C3barzEgEg9wb%r<51o!E
z+F7&UXVt)C87c148%FH|16ynqF(b_iH9ADC1I#{2@DP2Sra=-K8!1=m8nuHNr$CJ|
zaJnuhiJ5>h=AebfLo0x6<@2z0*}|xLZf+?F050s*SO{SUrO5?x9eWEEBq5o_<AuT~
zos7-iD*BT8bh=3WV%ZWzbhRZk*)wHy`<5hhkJ13#JQKRvWR+_Eyc4SJ&}5H*o%wP~
z`a>k<xYMNfz!nm9%nR<1QgW0X<%$e{n$1T2FpiQCC)Xh#zmdQ24hv_P8=F@#F1?D`
z-K+3&ym+k_7r?6+mtMuV^eV=sclg%q_9|w#S24T2irMWQ{$O@9=H+W<<7%A9)}aWh
zqmEy6bwHdek;(<kZ~e&AaBgNEnWmMEh!w6*K#T?<ma`Cy2FwG)(eiOOT6^)|y~gz6
z$=iqa3=Qo+G#mg!7VN=9ewg`zZXY^&@qgbr=1~dK?a!#c_4VKX{cj&(0C*0Vx9&1I
z_W0V{>Az181WQ2lqB8AnYW4=q2>7A>fLIaQT?{eO21K3F)85`~(FM%rhHM&n7d7g4
zD)^uRo&>f8-c<<)-qIhBSR59E(V*90xi#R)R242QTTTVctFvqka$6`)Mq}|B3{*hO
zq^Tb~nF*M$%;xh~mxC+oYb$H(Ip#e)dEvctZ@&5Zd*=h@RD|auh<fRN0c>1&62%w1
zGm7&uecq&cm+G|mAF*Q~2E_B1$FE+!eDQn$q^Yo@^%Oby9#q7i$|G~Hx9TBKgaQm^
zghm7HS`k8hz-<M@#^z3(R#)R@Osqsb99N7UCF((`14O8Y;}|`6C`Qj6iqWG)Jsekz
zp5uzqqeML%Q&_cQiqX^Y{#!Lb&5(gf#3pU#jZ6m6)_kF8xH?Czl}qz8DOfqbXmP+I
z*qj#B5~+HRz)BLsD{HaX`n7ih9e@5zb!7?mZ+T(n*$(gJ^$p0C#FDATzkB&LWWwG$
z^NS#CpkHk5@j-`jORFqic=z)B{KSO|l6dXhh1uCl|M;hYjyoUJcHGzwhN|~8V@%?|
zyY>)xv#<^B;F%-X$y;aP_rCqco3eQ1*zH3@2&X0S$k9VXL$@D08ld*I7c@>VsoZzp
zul?G6gl8Em4>NzGIdov((Eg#Jebr&+XWFlQ^{c35e)&rVWWT?Mit&j55C7<o0J-@6
z+PCGS%=ef-Wu9Tb^{u1KcbGq8{tR{Y?;*r~y8g&Bc;rt49s6$cAeydkgGSf>jvEc_
zuG_$IimkujjXoj2xPk$=j%IOLY-#nPBd@hpg3>CQ>AkHjfsWZ_D!nF?(KzT!im3M@
z@`r4023lO};cyZhI?Nb$5?w$4)?4S6qq1nX0j+qb*)EBmhQa;&5Bpq!j@AwkRKsYi
zdC`?lvUO5QmZ@bNb_>A@ZB7H67+HWA47?wp`gu_;VdU}v9-tYG<y{?tjsr*GaKhe$
z2DdM?DiEzb=z*AUZ$}%-R?Y3bE~ZyPb|_Z@M}95<bz?opAyx(BpA~WghOI{f9kE~y
zUHW-YO=m$RoB+~<h(vN?h(=Z-RVWvcPV<ZIHk7g&THP{u3YWm;u?#o}l4s-N*K_JX
z$K+gWeQkXe^LA}MSDpqOhX&Qs#>xgBU0sPGZoiJ5JpSaDzWUYAKXFPH-+brifBU!3
zzW$~p{>!UB`TM_rF31Kt!t1DzW6NZ+F`j`oGUj@rkZ0Ctl;dcUH8eP2KwE$Tu^_=N
zM#DhXBjF&4QCJh)iv~L0ekD(%AJx{SF$?=9x_9dv^9pc}*d`}Suq%GCzrU}yw|`)}
zEWUT{{AFMq&PifDWIuoIy+DVV7+29Q4UP*Q829>Gj<ty>e(T0UqlKZ6d8F6DfEf_c
zA_}uotpT)OMv{~(RRbMu?eJ_NrD((txQ~bmLxtSC762EdQ>@TH1UHY&b1-MDHXwp0
zP!M#biX>*TKn$oe#ZBw8e^@vJgHqp={kckQ&SQ$Ti+H&QVSSXm+{*sk{ff0q$;-W0
zVSSXm-1`;QN7?`H87q}?xGv$<;HsTBF2ZWW<B4!Adtnm&eNctv(Izh7l%Uii#%LtP
zSL)p<p1(?`BM^_jcJA%>Iy8;10yZ%_JAZY0{V#q(*i5miZ}NByl`2Yok~p&fIM@7p
zlT`QfoXC5<EePA%TJO$B^S{>B*$!$~kGFXI*AW&=;`H>w%F6N#UR#w!VoGYXH~5|!
zX8uwWI(++)qeqY3acr3RD=vIBg05K2{rBB{;>6+ohvG+=|IGYoWSDshyZG^sUpjmC
z_2>Q`ph8K!=bqd5?AfyWo~Jx}iEXN*1Hsomo6)u(T#a2_up9P0`<c7&F4)U7#A>4w
z62C}3;(BZJ=BGUAd^(Y%r9B-&DJlZaNW3bA$(2TLf}iIB&4qpja<Du{W$DUkk4FOv
zIT4(pHg$~2XmD2$M1#)IVg)!C{j>s_pE>Zv0#qW9CcF-xD0}vrD{7<J;_`JEgIvrB
z5EZOPle6JKC+vqLLJI~uN_I#6=&&eTERGKRQI$ROuv!^_vtrSdPNhvC1&AdCu(r7s
z%5#C(7D1bi#}&la0^ucM$8@UxiEnO1BEiL_*_p{XCJRvF6o|gS<r9AWedbNPQEzDN
z1@|J*|F{rQRKDg`!jY#uA!0Uz097`-fwI*)f?#|cs`BBwYzb;Om|0q#p*~>1=7BPH
zG53_`9Su-Q>y-aHE1JbOmPr~OQfmCWufxPjqSxC94FXSVeYD`2NF*6qdCCKz5mtH1
zbb{6Z5+NY+Q3Hv?@dm<$ifEWG6kyrvUrnclqOr$@lc|zDMjo8ZsGB3p=TI57Mw8iK
zaGH%8qnByJ8?)t7EVh(DxepW7<?wCYdRw<kLRealf4YW+Gnjt$txMr4D0^^~>@r<=
zCHa}13QwU!;VE<}=4zM1Q|MC6Rb>xumtwAVDLe%$oJftv9!k>rhQgQ{?I0rzpu<{V
z`+@{bS=|U&&%FCCSdhn;)?r2gFc;zTkKk+}G!(DCbLREe-+cdaz`CCj;f1?>KBSa<
zt=<^&-y=vaP`mf8!EN2$1G{$ym_Mk;I^4!ae3<!b-H8)--FerE<HOUa<Bm{|2U?4M
z>no3c<Ref1_HPEPI|m1CHv14}6m6Ym@O+P8_7Tx6AV5|tgtd|9y|F<P4Jy{G3Z~&S
z9|K>dTRp0Q2UjY^7&KJ#wQ`BYpc{d=ivOZ$L_h@oLAaz&XD+v>hL|qODWw7@-#lnD
zveI3xPUMo;!eNz47f;2~IiyseL?6U{I1CC{<SIIHH<Iaq_59Qn=(;9?3(J5+Z-nB^
zOL!5F0RZStAq+1nmIzo8-XNv}t5J^r<#+%qZte-?t_%c{k^$?bix+{1dkdqvj!-hd
zRU1LU5?4i>pl12&*Cqp2B$}~-4H0$#H98G0$Ib5scL2;{3>UCsmSQtlFjmbvlf{OC
zTJP6M0-UP1G&TyX`UWb&GAx{7Zfq9C__QeEAfF;Wx8Sv|Ha%lej8BVVd|DLa)1nxk
z7RC6qDB>W;sashN$EgqEAW=X(jYU=^ByAn`*j#Od&$lw-0wXN=?&z3)34g~AF-COc
z_8P~9mdDyh_}kAjXMlPZKi=H@*Cx}^qr=Q)?&Hi!37L>**zbK$8m|2|`{ggoLT?k-
z*fD%?g!is9OAQR8U&&@;K>&cpR?uE9F-K(P=c9ruydKhuxe-1aWAy0P)y_@KIqb<1
zKC!@9(Xh*Dy=raJHo~tu7;l(?{GeM<uT)3)_ga|!ON@{%8K7>Q8R4TQ#)h8V`IIlW
z_U!Tqf4+wq1d>`ysY2@Os}^L5iO7s=l+l9mAQ}w9H;Ci0YcjKAbcEQx|1Fs)vtqsf
zpUFh&71!uPGEp}(PJ9Tyti;)3P+lLuJU)Rs!VF0H_8i=ESmLI;7}olAYSjHY^M?}m
z;|CeFd;8AqCnPRr#ic~T38-^*0sLSbz`g>bCNWu20=+jFqA>bXkdI3P@(K@eQQ|x+
z;Py_$5-~iQVbsO(vGEHM=Uv*&%>7$BnoWxHK_l$nv!mHCd~3`ahCdjy44*fZ*I-B4
zbb6GJHRmtFT(YaHqx|i)>^>k8!R0hM%>3`_>iX|7|J&v>I~~AH9)><+X%r`kXFYo*
zK9k@@tR*aT^niZVnqj?Ilrj0LQJseAL9Tq1UsY>pMTQL=<x{+vLFkLb(kOpTYn_Ex
z4W8gpex<BS(QDe<NBOh)1`_CIPoBJy|M<6zDWl>X{yUE;M%fiE+?w|{#~LE@weScV
zL;egv$BPpq>`VuWbi8)x@Ce&AEvXzj$2W(WKOA8n{IR6=xIH^gjIdS=7aC~=jI?s8
ztl>sj0abs{?OMeV)|8YW5m$+(M%c6-cPo{-#SwPJQ@<OJjj$O!nlI(ATo_@Oyb@*K
z0B1%aoyG8}jMQhMV^}zYzv`PqVJ#gBYpG-}aNw0R@*E0l=}=fphr(Jq6*JMHu$B&m
zwbZ`924!V)C4tlr-vf~<C@N}yaA9pD)KXYLrHa4rz7r?zyKhw6o;Mg<(zy<}dq{(a
zLdD{!_GHxKJr<1I2L^dQnH(ESCP%ehHcxY>#nz3{2_jcimMb(4>yuU6*93~_407#W
ziJzWcM4Eq8d+&h7s1AY41+Rbk<#*qG`Q=gVYz&T>u989G213q_jZlWvhCzcg4@GjS
z%who2l#sPqa3bbFri_IgwNCJba--T60kZEpaTx;@;guDAb)zF1<|7P0ES$l~t8cvG
zOl#UU&nT}rqrBpb@`^LcE6(U?nog(DEWJ6;T-#`<@T{dxI?W~$cxGh<H<&i3*_IZ}
z5wg1<*7;*pTy5nXG2&?HY8w^DW>g%Tvdh${I5uUMsZnvY`CzU(i%!1N{Mm5v7w9xN
z%@66*J;>~#le`Kbfjjsxa(HAtWPXRo(n}3zKt#&*uSPAVU}to}qa!;Z^NmLRHh6BE
ze}wZDGF7Mf`66J0^LP|Z%zV586O+cHmvg!WLO5d$-t=Q192U;t>(#f16xZVc#kqJ$
zVJ{xSD}SBQGY=}x#Y2j7p{xo&pg0#wwY!HD=i<chEt`8{_?FG>%>qQ)OoZTo8i6Ot
z<p5nPV>fGgjOL~$O%zc=tR^&3_`;#0>2Co*D}~AyiC%l$0-=nnjLmA)77|G`YE<Rk
zbtK&PICX^EQ4t?ow?)lVJG^EwzmBI&Q|Hg0zh2VqBzSgbe}5aY%B4s&7*3YWpa$N%
z%Rq&~GSdOIn&jdVUR;uU`v6ys#*&1M$`C(skwbZ_q|)kI`ud_#T@zYtnj2J6l!hg)
z2=zD<f<7?V3X$2_*_DV>=QpI+m_#;T(Kn-tY?FH*rL@KL0tHfQhRMmvl-g;krA0@>
z(MKPhoOB&{?6Jpg9|U^?g5b_gh;ETHIvcH~@#mj^{;l!tjX1`YcbU2MSibS_CqD6s
z9=Z1clxqijd_<JhxCPbRJv+Ah+^*)GyN^Baz}~$(w&57J?b^AQ23#ka=THI=42?cC
z(stmGy1Nbx9XN1c3#FbL9cBO;><w}+C2n%5VuF6B@B`srb!TR5zDR#$$Cgkt&DZi-
zN)7<+ne&^<;R0%|kgF?~m#+Tfd0A&?<`-8{702NQdaL1ZXahP{cpC$<#aImL$AF|}
zz#3T%g|a%-@ie7k2>!AJmg<DRg#*ht8X>DV<B@Qth%3bl=xHk;Y=-wyk$c%$bR}jg
zi2MqwiJ2MT)C#5Q!ZLQuLVh|<l7F^hb_Vq>sT0T|90d=+i$TkjaN@6Dk3h$wrqwNO
zMAJqWRg}weFA21oH8lj6;F(1WFcZ(LT`y>uP&9|9To%+xk{Om3b;;p$Ler+k>Nq`;
z=On;s7HxXJp%&M7wl;e>Vw<YUVhH79jXDp>aD7#$vxMe?@BSiG$;@33;Tg9cXzfTe
zt;J-P9H^+`7}3_JH(1yPr2Fh@ivirPrT4aO>2A?NxidH`_oi@c$UfECeM`8D-b%#A
zup*fho`NVfBtP?2H6VL31PakbiWZ4#1?dHiD4?m>pcV;Y!;-*Xx+wR~py5Jq06Q<Z
z+tauPOc9!ydNz|<o|!>W5Huij8{vu`F`m@PvQ!2`eE_^-1vAc=(-NhVsCQQMAb2ls
zpy-{DWsu&LIX?>td2K}{SZ#TbqvK3KI|*ABp`aR<7%Mmqj;{!69#C+=LaON`6uRjH
zL?Gg7wScTDRPt(6hL-)>qG0UojV)w^GE%R=&6Y|b#Hch>kW%ymN>DUt_2K${N-OiS
zE&^yHYXM;h_A^3=*JH!N85p(tc89_OD*0cOy+(K7l}BI!k0~smGUtCxu~OZxuz*U$
z>k)+oRI1@A`z1K^7)i~znOxnVoJcSnoW)-oMIwY|3#-?eB?$sTvIfZ-oEltjKSWA2
zM7Un4%eacN57o_T6*oV5?-F`<-hXHOofq-fr9=^}fK2S%3usVd2M1+0TCnKsibP`O
z<}8_a-gzg<xncH9vJWOBk-*LFfo=V;2))||b|cT<tS7FSyvDnW%8%d(L9$8!`zb)*
zC8HaVTzh#PRlShx1DDI(9BzK+i=X){EYc&N`NHpf?Q37V-5r1V<(FgDBVS{Vg1Is!
zqq;?0ZfFX?F%+`RLr*^WWMBThAN=44mt-HZ^=7DJZQpV5$jOg>^rLqj9@+_n#{e1u
z_w3m{IMC00P6E_Nb^{^@YqhP#g5kt_TinPAxSP>$*wHHc$TZQGOvQ=3N+&P`ge&0=
zB5tupnl-dma)_d3q7y+XOh+i#Vub3%RoRDgrdH#oQIFJ>!C(ep27j4U<Z`mS)rmAQ
z3lcF6tQEcjSWNxK43nv%Aj?7J78z~Xhx4b^;%1=H>GF6yEw<(!P@RCi6vI}fZ|`He
zBo<IYx6^5+vj7@umJKtJ8rC#5M0tb3itMAsjQX<|79&yoimfd#<5x6HRovWqa+L&N
z(Zvgi=&0Y$X^Cc1$MR*YRB<GtZ8nR{fvQ2WF9J?Gomd0Tb#ZZG0v9tlz3%5zOR+_`
z4WrzpOUr(HO(f`vw(|C+Wo$MlEKj5C!)k}VCrZ*MsVfcEh3-OdkTCU?LJ~=$y0-$3
z1f0cDFv}MJQit|3P6Y-fkS_)UZYCzDujA7fu1}4lMQS4}0GY%WHYNax8Aail4!kN6
z?t@jQLqLI{FBEB6t9%;CbrIrw#PR2cxvD@yt1^o4iGc1rI+?-3i?B<r<xZc5CbUWP
zgX^(`Ru8sZM88L=7GTkP4+d|&Oq701#?Rw3G<JTIdqbIpKcKJ&`xG9LvVZCT>;WO*
z_bcqd0fk4T%);+e*n@q;w~!476!u`B!Xp||ctoCX1nMIg*s5G~aVCP?RUAviBIKTn
zD3t(0?RRLoI+VuL0gc;cLphHD6I_)&<JYEVgMc`wLesDPZ1Q?AH2dtc&%SnLIhq3V
zh`R{pk(y0Sh$5rsu3>=18glV>-+lModD+wEv71ZC-KyX;Sxb!0(v9iW*I+^gA4D@8
z(NCc_i{&P+0?VCb8Zkw;ZI!Ke-nP{Tr01Go?da^vFb$m_J&J}8{1ZMk*wW}?x+FK+
zOTj%=(cn`#_1~hG`p@TUdq4NN&wb`G+4IoJ1H0P@Xut2^kvoR=4ISKzKA+wD4&Hu(
z`GN$Q2%H0}yAMY)w6DDjL&68w1Y5K0`P>(FHP9TdM4b2C?J$GK34augEkk<%wiQ3!
zk598}O@7n+|JN^<F>BQv>9;o@kv+(~8%zjP%A(PY6rom45OoK<O&&f1iyk6Jy3RUK
zOst17*7J2_p~)aqi*cg|Rk^a+J#e7A&8|1XpXzS0=`~=vaZ_5F4OhsdrB^ObV-6*?
zDmb=Hjj{(o`bA>G&ZTn6ltG`*gmJavtI!D`LMP&Fg8CX^x}$lbcF<RebBWW)>Y4fY
zwAyc9U5B7Udj}Jp!6Zs7RRk>vs#&|u&m~2{Z;H)sFf?7oHB9ZQRyJgcr6O_(pe_OD
zxMZl7vZ$v+;E4nWC~1kQ!PaCWi|zrGC|J-Br?Q~LTn5P$<_cKIQ>hrR@2MrA(<j53
z95p_=snX6;vn4jx=flM?a$x_xzAz`N3)NJx=m+paZBx&#CQ@0y5S?A08fTC}?Qr4^
z*)kUBwM!t3Cgf`tmqH`T>SSr@jg()TE$e!8&%ZOfwBZ+~UU>f>|AsM2?)&@k(v4ga
zx9|Q1EGito>N>2B)w~(a932+UU^>>f4_nJmDxw)$%ZD*{k1FP_axFiqSj&$n=I+p`
zTXXjg#oXPZn7h4-x$Dy!kiVrXT2-MVS{n>%wNq0op$hH;79AlDFO-91Gz!r91d#<;
z!jc#d(FAY8T*fkNcCuB(5CBA~h+gaLS+n`sXWzY2Ah)!(H2Ey^rUdX0&IlvWKC&Ad
zXqyt2u##V2&^BW!Z<c*P0%S>mDw|HAId^62)|Hh52Rdvus=6?y_5-90oyhyqIm8Ki
zy=+Xd4y@!JOO(WqH)Pw{cc(XiDOd}w%w0Tt_UvPiojrSmrnUCI-YVRS_p2=@N#_%Z
zFXJ3Bpu*e61_xR;&T-qYpdaj*d=)GDMcKD+&$cbCnB%Q|1AB0A4?nzb-;N!FyY|BT
z4DH*!YX|cil2J`(%;?#InZ9?|E_7)&qfr>*C!QNCIx0ODf=fZ}grpy6!}6XXO%j1C
z6zePcS~dWHGza+vSy*GJW0#XqV@KDE?5m>Tin`QQ=orB#(Uil&Ypy$^KzlpE%m&?8
zS)`Sy2KgJ=SgVi<iB4Bv&kNW?UKAiPuM_l;cdAxfTdUQ+zSb5I)4Iah?R`v-WUS=q
zB-G*FP%4n&A6alk?RF-O>zkB)06V4$4~v!pQl`ZkkDn}Huh@#Yc#x8fdh{NOoZ8R9
zkC2UeE`!J?o#6<quaZH1QVEyj#(WMnk<!de2{gD_Rf=5UBpaVcN=ZEE!6E2Wyq`<2
zuFA%PHIf9$TYI}<AvoDaEcyT?ASnR%Uxnf~+!>rv0Omz8Eym;2b6Eo<76j8(6vJwz
zR2l0k<8#;`JO<kU)de(IJ7#Acj?0&qQ!Kd|a91uPG{6|d?g-b8)?2t&Mnf%uwLF|L
zx$2Ag2%gHzsw!wYo`$!DF5ntB%8IH0c(*y61Q{(!weJ92iWgQu$Xzt6#iu!qmJL83
zo3#i5@L+S0k&!{+hu7sd?ZBa7;S8pBeN*<f+@@H=l`KWn+j2YXfU>vcuwo5Aq_6{r
z6n5Y?#Tu^cVmqL)0|yj#z#E#HSPw<h*$qUzbqrM=ZAxYXn_Is=ja6K0wI*<7)?*qh
zt65zg^<T+rX*JKw-pl{|j~6aaudI(<y>h8iD3(%@<;#~nE+#zov*)mqdwjk{K-@3S
zT2Rleh3!NiUM$3Hm|pIf?Dg&)>av5taC<kRAJ_m+M7#5Hu&8Mo+>O;-ySAnVptpZl
zgU*j@QuS-NvZ{a>FQt;b!@v8@2e(+-x_;xK4nDKGwyw5#hlgK(BV|4C<=<htB+t2X
z+K+$y<4=5bumPV8NHUF}oES%}u_Vgg`v!KvQ9p9;$L>GSPjkL==V53l?cTL>VEcCF
zG0B7Gdu*;23;0f}Chr!&>bEwxQSX0O8yfd=slr4eGv9R3GL;1zMm}A^{1z+eNQ!1S
z7&=H!W+zmso?$+UF{3T{NjZqa953l*uhG>AG`WVlHJzC3sP<}&#zL7D%`O+#c5OCG
zjlMcny689QvougK>I;}(c^tW?e}}uJ#bR_d_<DeG*XoQmk0(=5nY?}5z<uwDMyVOk
zp+##Sv^zliNMhT@G%d(R*&AP8Sq3iNl?@df$qIz&tAIa>+G;Jg5kxl5EQ(fqPJAP{
ziua*!4|HYOEO9xRva)w|c5Yg4Ywrv%6&k`UQ!D4ftE(DqwUC^ig^Q2Icw2CJd2wNU
zUQ)3x(TnR9Pg*da%}LptPsFp(8!E&TMaXVI4XIkm=h5l|=RAolE#N0LECXoADMO=<
zCO=!l%7cll3V1ihufY7I<JYF+RW&d$Oc4q+PA6ZCOidse0jZ@5Jc{d=gK2snD1$W>
zp$2B9Mr}<tfMdJJRF`KW!IFcQ^bn!qkb}urL^VsnJuZsQuZqoFU-g63432prTrI(U
zugXpF8kgjXXPzH_E3-|9@2lq2@K0g|ixv!4T8ieKe%0i2|NJ%@vU5<1i(M(9ofYPJ
zvv#z5SU7`8T;KL6y!H>n&g^bOHydWW5<8=0J=m+5@p}|Aez#)fS7K*AlrdyxeraVE
z@y*)W#02!=au}A$m6`Ez1}I|!&$&$~2{mKk#gDq)7%}R8@s+pUdkNjw7cTtdC%Ie{
z8K&IwxnDr2<#|aM+Kn`(ry#LIL-ij%TlWeA?!m#G1N(<TS9WN4xKzU6FO_WGt^1Dv
zjwf6ggMWSvb)s>&i1-l}Be-_evaJ5fmw)pM-@dcXTJ~KaMS&G%zN-V>XCC9D=g6sV
z19}I*%pXg_pZw>)_=~^zf1a1vAO5iZBfLD0)dH$rASNKtZ+-2c5y5fh!NDDS_U>_!
zwyLkEfB(Z~;Dw4qT};<dnc5fBjJwPgL16YPTRNI+^ifSLiR)S^e1|P0{cL(wMmvXI
zW4;l5qbXH~HC!;-Tn<#og*ppf5gdJxp`{-|PjLm74R?2&+fJ=HCKJWnHX9r*Q*+n$
zt&C3+=BTGTYX!g7!sd?+Nh$P6xzo{bYz>}KEVi<O)t46GSUkKmgK;mIsN2MZkFwe7
zKhR8rxvFupkuSkD#=DYGapif5WXO`KY-kBsI>CuBAJGL>`Zj+w8b5l}|MgkJJTaGw
z<wP!lagSvXtsZ%^%jvQ(2K)mk1zscL4u!&zdGN5z;|AK4DtI1fEDg>9-7gI7MJ{BZ
zSArK_{}H-caJ)7<{P0Y=Q2eftg}ibF^+%!Z&IsD?ur(b;&ayhb7L2FAD{NFV;C93@
z7s)>|IKRVITz(dH?9CbW>0#jvb7Ol{F~dHoSW`c%@U1_M*M1T+?9&S0`ccK2`YFW>
z`-EbKeNwTeKC1Ao?^LX*%1S|hFqnv^%Ulkbog(?u8kjO%nQ9eo0$gqU)Y2OWl{eyO
zl3tW7^`Hz5HGq5uqi_~s!KxaZauzhfk|Cxg_YC=DdRFc~dv<PiCC5e97nYOcY8zEm
zWV;YbaRl6i6K<{qFC(13G?O>O1;-ofQ{cimINsBg6T@&UnJLVLMweumv9@A4)*5E%
zX}N#fw#Gs(n?`1$l0_0{6<WanjgVyql5%z14Y&Njfi63{PR@CAhaWO4-MvT}b(u36
zxIS2D{ZN(HNd{vC0*_-st_d!Clid0E<9p(f^%YQ(7S{1$@4P>=u?*LJb$RlA{Pj4z
z^;*llH^OrMp)K6|@Y<UX--iROl|S+bDD@verYVJ^SE&qm(9qBz8NAnChWGxa`T$({
z19Jbv4-dDxbfyMRbK3yE)xO>RTUxM?xAbkVyY%qn_wF8qwc5RV-w^zHcDvW#EeI&(
zI2>Ku;9lYqnZ5m+-u=*!r|#A_d7JTcquehD?w;!F7oDPWEBLCh;5VA6UmcWgK*ZHI
zHb*V(g{)ej)Lj%ULw5j4tbKA2hnon(;^6FPEp^{Npv8zT2-K3Qmix_Sjm4yaas}oU
zjT0=9XkDj3fc`?y9{NiSFgSXhs)886lCA4aRtzMDqlJ`O4Qp+lf>y)?IPaA_G6Gyt
zhiCP2e`~9))ngHmD{HdWcMj=S%u}77oSSMZcCNBD;`%kXfCKH3nqwjCs9b7j!l<)C
zB&{y`lBC=@Y8jHjU8FEjm4U=nvs1=cPv)v7Em151(T5)7wKV0+xg1Di5I5kbn4>p<
zg{?w?!~Ck>$`+FZozEaeOo<3>8Cf$}EXk1OHE=czb<&ljY@eH3O+yUi(!@pt%>a<d
zU5iy@XTAuZzcPzGXV@4Vn`k9bK?RXTve3$vl2O>b8oPV97bo3PK!gI>KFNSY9Xt_l
zp+I4V+>dgC$ip$Ls(9jG02qn_F{lqA@v70J5nV9l91ampv7p!ko+9PftArvUDpPRo
zkeVQe6ahd5d5gLjthNf3msC;i2iJy04?nj8Z9ohhhux@wS{!iFW;_0xL%oX4t{`Kv
zl&slNa&2Co#VO$Rh+yaDX2V)7rT(fFx|oPgBtzcZfUu;YvVj;SB1>9mQj}Sbg9o((
zWLgVazsi7k<S7vC$PoT21=wQDuM*VxnqOV2qT!KZmMU}<AX5Pk2c+bPTqJEq9nP`0
zZ8ug^h;%mMAewGA)hbVMRZw+s6<s#KCMW%Ry*5gDluQ{Xf?^uHnIEMvh_7Y*U?Ux&
zYDNFBa0Z68zV$1taPO&GY%~1|D@<%N<mdD&tZ=`=3U5<b;cW^l+^g_&wkfRehiQLk
z7chTnY0CXbI^4`GETiN@1!w^>>KNKZS%erP&US^9U1u-~N-I-0%M(98^VTb8&M>dy
z#f{rxNZM1fm`oP&;*wfM$q6Z4Z1|H?>DSjidr^+qvvXU&Z-gt4ao{uI5vMb*Ct%Z(
z4F_-58@~P@KJ(cpo?!05PV?`;Y+X^yB6PK|7r2|WQ^d13cZ#On?Wiy8JaG7d$459{
zN2|o|+;iYSKjR`7rC6!gHR&$mCR9BM{UF%Lrc_l_FfjN@q{wB%{#0814OhkKAmFzR
zM7olIM$Ke0!^@yYtw$I&+0_ZRTw`;=L#bB;dfQu($^;#~B!GV~7!2#deg%z5a4=P5
z*9P`n$Wpq$p88)4Ek!mq>PNv+ZcwF{xl9I*G}7PNCA@ZJ8MqFpC?m%|b!~iRX$iF=
zNf0R^*nWr1;aL2T2HQLf6d!D!T3FReLJj;jX59$K3dno{)D0isbsZnV=R!9#_tz$8
z0Of{#k-)5m`C<-;FkCoRz!6AWmOZViK(}fX!c_3jK`nzrgKmY4SU`1Jl{X+gFR|GS
z7-&WrIC}=;=GbmHC7fYyY~EA1n3UQT9!9%jY<J_ezBWD6c8Wd2+<0fZVr+X)iJOlO
zGfbOeY_}^sjCRG?ZasAii_m)N78U`ZMQSACR6@A6JT+aLQt{~plrS|6U2r(OD$TV@
z<=XSlzfgUi*JiK1x|;P{?L5|T-ri3A;8Z|^t=EGUI+Vve$%p2~PFuI?aXs~0?}gO;
zy;LFtQJ?<%-+%E^6vd_Jr5C<`+S=-d{c^XG&Ug2K**w5JBI(g<ZL%ZUvYT`~1psyB
z7r2l3$Ku1$+X3WwxeykUSyX$|*(CZ7S!_7e`sl>Rn;ROOf=3Ya7Q4r8@LN3&Oh<>u
z2SO4bjYe>m>$MP7?7-UH(d^Kk*1~_G#1MT`<XTcoOUtEIC^lxpXyY}nC(ykC&PzZS
z7N+v~DX2s0KumyzA(buaPFqXFAqmDVN+`#9o;blUM=TH}2HCdJ;yi6lR&W57WDq@@
z!EvK;9C%#)u3g<NP_5C}TY7ihIDq<W)u0cfLg7tCgDXN~SH)}|U;Pwl(A`o*PfNN0
zE@FIw2BfW<{_DYEVRJMv40BLnIS(pE*KLZ?Ma)JAU^#D7SkBuNqwAo;aw^r&lsTb;
ziqZ99b)AMVxfkj1GF(*1E3QB*H5Cgda##bdBS>_kn<ovmpoMU{#II3iMWtS&7$v+u
z+Hh?Z>+<Tgv(G*E93&Obtp=xqvlC#*@pC^%tmxKiv#Zx$ef8CAt6A+uDiRBt3m2f%
zF>z_sdt-e1Fg|_z_CbqGRWs=fCMs0!qqODN*jy-wE0n`nU4e_N;&*_7WQT2a)VtMy
zfos@$4+ic%zxR6&o!Bi_TY<|@;UIqxgV_E3@Bi#l1cNwo>1W@6i~M2H@TD(*=}TYg
zeS6ef7pG`ys}JcNJ9<$uL4w570`#|a2ZpzihPRF2874iSX8n*8N0Yb9rO9BVd+W|I
zJRiivXr)=x&j09Vp>RP(<1Y_uXoSQy8VoV&Guh;7*{|x{)2R2e@#RskiK0fG$%Yc6
z&EYU}yv3lm=+y>{9|zDmZkh}ZL~0I;UTA}>0*?$GJw~IsWz^ebhl65oYRB|w@9y@B
zhL#3bi&Nu(x$MSN!CAI9cVen^HruuPsPtRNxk%5vdH1LnRZ%#eNfJxPPi!J7<St*k
zHj#rXNQGJ>h_~`-G%cm`Re=Z1{Kisn134kJX4IoYtFPOxqx=byAKI|4&$$?itefx^
zkVZwtDT{D(C5bwT6@>7p@+`pFs=7yQWwaTCaEMSG-~j~p5~qfgQ<<8E6PSA_E?dy}
z!1JJyb&8Z?B<2`Q&XPFlO;JUnk|OTDwQJXw*Ai+i64P0<kr}RGRvLHh>S?K4i<X{U
zPUHy7rHKiQ+oXNegP4foA|fTk4}&()Y?ZB+7(7~#>+&Vk7lkadN+bsqOdTvIj(U=4
zlu4yO==xeN3hO0Ekuw;FNOe<N48_wBVHT~Z`9c(w#nNTHfp%4P`*tYiw6fc`LouhR
z+t-E_qe(HR|NnIRIutRfWBAsJp?)Psj*y6(=*vH+UMGMnWWWokrv|jr+Uqx6pUESj
zn*4H|ejbuBGUYIcG4e>|ChVee=hultr~dvbI;8}8nE4}Z@urtkJi`1rD~vFIfR|V-
z5P<}U#weQ}+;tN&vGc)unJ4fh*pbxD%|k<I>qLR5UUwDNi3lj0d&;!kdedpK^>;Jf
zcsVla$Ok@U`WWR<>K;nR!zY>JcqWmMaisJ`OtYz*9!Y5Y0x>fo!72l9L{F-(qzPsq
zVq6B#y}|qvPtqv>feC%T7<Usyz(wZ>;zYnl48{7Bm(({M4fXlIA!c2w?W1&wP7w%W
zR!?ILsZkAt=t~Y2eC<=Lv3y!Bs5HbT3;qL{wcEiX{69i^D)mIPit(Yv_#mXGRxv(4
zOix6k@F<i>Po<s+ED3~+rvSVp7!FMGY3Q--C12n)TIs(*Oa5u_(jg6gNFg8sd21Jp
z(rI8Hw`@Vz&1vjrZ4Kt)v;-VIQW&R^#)ht226qTaL62;%aVLj`Gx!Si?WAHp+^tyS
z9#eeZU&kw3@O@7zzVAuJ8h1jm#@(&>zDm~ilZrJ?sb$rzm=Cr|iXW33Sm0qF^GOH<
zUY9Jmxjr>DGdDXqJ2f>qNtD}yiQ-^~MgqqV?wC}v5#*p47)6kH5XemK`UwpD+QJy{
zjxep!g^M?5(odiL=byjyi+}#bv;X{)pD_P~T{Z7QDA8k)1ak-Ocmyb;<|zQlgyOhm
zIk{^Xdl1}RQ1`@&A~ev;u=*j90jY<B!$*!BJu*B@tY1Qv3ZUT<B8edGtOIERC@6%2
zbi5zyF=pg5JglvL&;2(NDkfxZj63hWIZ1!(p1K4C@qj&p1nVE+-*<8EnGvD@gA^U2
zlgk-Nh`xb4=Myr-ji_eW;G)EfN{~B$_mM{)dHCUvK=c?qV8kzf3l4Sn{U3Sw@y~tb
zcYl`|W}e2*+B;}#m4sFwe*3(Vd1z>0V33k5b!^o3PFbtrj2yMhsdx>=G+AgKf+@2M
zRu(Xwb^+w1)@clgo^eOe7;jnzr^{)zTAU!>0(K05Rv{H78x7T;QWn1pzz!f($K_Q)
zQJ7GBa#tS~6T7tuWhFRrD4pCiB_N;g?C@>zk-j6d6T4a`>Vs9Bf*kr}f~hLX-$K2Z
zf^s3Yirf{%r3z;$%ZjCw6=F9HPjGb|Nzsjs1?+(W5<oK%t5`sVp{MGo1{jqJh%o{C
zDa#l=wrMO!!3|<+#|}&72!%-&*r?gyYCHy%;?fi*>@@b{(j!=EYm)>A6;-zEl(`gm
z1i4fYS!q@$GZ8<kzZoDoag8bkQn6R5a1)QAr4F12;cz4ZItxEoj!Y&LKZH&66A}Yh
z{2=-a1g6||9%r~5Swe0e=cgE5zG?O*E?v5C>HPWk-UrH<?4M90<daDy34#-MtQg9O
z3vpudB$-}6KlJN^jnX_HY^1%;a5ccg7#8+X&7NjzPjg_E#z_&t_f!k~K+F_sC6&NL
zM<L-sgk%A_sf}{LogzU21Qk=h(O1?yES!PSsBha9F<PfG|8Pp(h8GOei@Mr2W3*<4
zh1q_Jqj+tep6^%0X#J=7Gk9p8-ns46Erdn?satHfo>RACG|#CIR$MT|QsEjA3e9X4
z*yeKxP_JK~o&)RSh)QTSa1u|mzlJt9%03jsmv0)5=U;l`wHw(7Lpx@F0}=%w9j5DA
zK`etEV_Z{JoYRHFIwT)<fdIX8ge{CwNei7jjO&ZYFl8EsZ_f9xf9<PZ`{Eaw`w<@}
z-o%`~f;L|8O2QFlH+NV+QY1BW*cImT_U(5+_?ZzcU=8ie(7^r<rXI54MN|wxg)+O@
zD-TljMguMIjS{}D05~G%rp;`1ji}0?qmp<L(~rd$Y{z*J4NV_Rx2~49_I4~fl2D-e
zl>y||U?4A-Q=vhPk_*LD{N{{W-&hXcNG=G3UB)qUNZ|QdV2_x3c42iEvt~29a2+ZG
zH?j*h1LjHpAk7oR^lB&eoP_7bRtOzm#|t8}07HTP(HpaYugN$FDnE`gt|_F_)w%VX
zQ-C0WQ&WT>7t{_K{GhQ#rWW-GOdaIjYLsJ8mng?jEj|rnR>f01Jq3o%)2f1)0b2}P
zN&+jO0WWSzd!vf6XIMDH+}M=L0!nuDgNhZBdhGWw=!;Q|-@S?z@<Z!{!?(t-vQ9WK
zd~5vfRIHHhJY-g@r9>D!hUpZ8lfh=FXt6>@%~>amU}_bX!PR5yh@e_FD7zzZn6uRU
zIEG(vxr+FOSsOz!;$7x_36*#eUC=BT1lig<?`&{{0rFHs@5pWgioaP#<7jVhZ`9}D
z>gRN=SRk5_s`6vVv68vQvkX{u`6yPqh{`q~+dWm3{Tb`ld+)t>uRDy-2sa$RvDk5k
zp^1i%gUB>}oQ|tK`Q#4W1jhZi(EFt9-ra%Vu5%Dnnjbs9n*cuhh|6-v4(9Vx1Jdm+
zTMr!Azoo@oMcTh*bJ1#W$nH8#rLIt<RDYFjOH~5%)v!)U&MK2-89;W;U`AInF_b#d
ze597$JZVjUjR0tML94>UY<>N*F?PHO*}D2@t1%`MU!|mdjzJR4Z2+K0XK;f=pwVat
z@HDTsc#xp)U^=7*LQvps405?B(CW%@OrHd!2TOXEV86L6W!A%4(u}U=sALpDLkcW2
z5HEnP7OR<BBvNB3&5o9{h|H!%zay4OVA)vBLXh5EO|K)T9tKkvJ__U?m<=T^!y=Gl
z!BN?w<(XyKUDtodb;Q>%R8&|~xe8^=^TgFb&^rksoTNuOyvk#-;j1N}sk1DV?n_h)
z2<JqM3?aXYQ4#{k1fNvfJQeV)W@ch#6V0zmaz<t=fN<v}JvnO-Z3f{5=<-1^TahHJ
z9ayozOs^3cvavNrA7BdxzbVQhI?b<^=@#tLb(UGY9NnO_-av?4V`0ejRT=mH8s7fS
zw*N6kPl>lbHhgOZQS#0zF?z}wIH;I`3cP(?MsziTY|OvL+k=TjiMQ9>#M>L-tcthr
z_W$(W<%`Hhzjy5{7MT|=Ckby~i@#UL+qbvh!rK#2$8r;I-+&4FD|q|9K3MRczJ9>%
zZ{Y2Vn&vv*9(egpygeH*7P2-^9d92d*HnSG|NNtm0&oBDqfY>C|FuJPynV`gdmV4T
zv_yD&6E2IYj<-*2^xRg*+h4(~eP4DtZ>*$L6{V|Pzu{C)TB>#&90mY?Umbr>@cV(!
zIR$2joJ&I8dnm!<ZpJ)jK0w?T3h63MV}YY}j1T~{Z6fZW%0&runaRnBXX=1^E<*L^
zUj^Ljk$^CX7M#X^1-QqVxB<9FTF`GOvZ-5u`@jcy`yGwWM$7>(;D*>d8p7MF^}agZ
z9!G$b2q7n7OYv2+T&Rkxxrw*OQQTY?XJ$4ijT2v8oW-wDm=JyWjWtT+01`lW`whRn
zsv^!%>n7fQMQ6ao=Qr{8&2Ta&F08}xoCTH67#7g^$uLe>bbe`(I(QMh19Ly;x2IKM
z9ED>Ob3bL$U{%GaxVeTV>yUfY#Xw0!`a4R@y$Zz$R41P{a;gHA$4VRkhrfcjpPHG4
zxq(JIR#zbIdE}DRn}~bF(K2iwVZq6AA(yO)Q4uVmGQ&F90lEjhHw(~x72Y^u?m3|E
zK{{Q&u`Hvms;ctE3S0!zVK|LHbetaywbg=u6L=3^-9Wv;0;NSiD{5s;$&e;5i?Pd$
zxLE<XV^}!D+}M=-TSpY}>#wlSw{6;nV~W-JxMFoy+J-xnwn5=t9#eRiN=|B}7PD^!
zON0guh&Ve?V<8$QdPJ3uBBEVMFgk?b5;|WgPfF+wwv<jwh73ng0<$^`BOI4~?_e1;
zs=#-NptHn-)W}MYsDe`nW#5^rS^*!BAaX;&6F`;N2_W>6VO>p#0k0;6s{K4VNRZ@P
z4&nMEX%-Iw0k*saqp@Q2VO?#vLhq&-2ZFT$g~z}RTtIXQhGBzifRS*^zE8aN+H0?0
z3I>;!mV(zWy@|g*0nlK<d*Ykl{N~B-;@f}$NT!*YD2}2~_s!~+|K`b8U>Po`2Vo_K
zWV;QO53E;Im&0+wiooZ#-Mei|dy5EKbA+e;eOtPFw*AJ4RgJ{XmIH%B%}oT_MMDnb
z!zVAz&4jLEIhvUU{l(@sGjR<MoS&Rqq7|N7UCjg-geU;+`t@85=Zps_7RqO`k2q%W
z`BXxNpMpQCCM;N0jTRxRMF)yH7s4EL%OdAV!x;;vWDr%f-sj6IObCta^Wsgcz=Ob5
z%jik(vFgPq)NFPbT%S`_CSMslrNje7p0N`UQAq}qnwHZ<0g4gL7TLFqw^T|g0vZ<c
zMU*7U^+&SATbxbj%H+9mdWhF>7!jB+i3IA)3`M0JLxK+(**A?`DOcPe>@YZxi^!Ye
zkwUT-gO$kU!v$b>CC$NuJ{$*5q@T;th%jyKf=%GcA$(2_*8;|wt^#4O=of`6gmyxC
zT@A1~Ro5%oI0tnY9-#^ZVxXUhrazOZkYb#U`djO7gX35K&9S@#c7Yi4K-b!^fV0Z2
zUcI`yF=980^a@OZ0+XXcxivb&v?6+d(^%y3i`A<kmsa0sNZ@f^#mN%kdI`@fK!*l^
zLBtbiJ4COT+)Cb>Mx91ci|5=LB7mihL+2mT(|Uo&d(r+I03ECt1IB{Upc8|G<_)Nn
zZus*`9v&qRsgj3B$@jPo)};sje3!yvD0xV?C^BAs3XAb?(IahDcoU8o+Bp{Cz}ITH
znVMT&TwVj|qu_0AYirYoDWu9j?U<Q(=iN6j{i{{nJoobZZ@hgGEDyo~K=_7T*JL!$
z#wk(Y7#zfM3o}s9P7Uqe156FGT@v2G%zZnUApH*Y(~ke}A3pQ=<2OUl-}~zCeCbQS
z#XKnqPX%OIesfL+^At=oD?5%KJuozQGljHs-=V`t?qoiJbQ!b?TbgW=c4%nZwn1{!
z_sR~fIyA2U>Lp6Htzf2QlTb@n1&|(4qX{!4J9v%7Y{j7AX+?3_brzErp|Ox6@3`C`
z10pXz?a-TBykJq<s@39VYlpM7*$!Z*utGqA{1%x56s3NAvkQ?7<#%c|+^hx{7iY#G
z!z`eu6zF_}ftb>M%m-PVnn{;pupW|bX=xE0baPi<Lqns`L(`+TM-~$asyqrt*%6H<
zVniTaPtnA{Z<VC%sX$c47Og<LL}ZELHQ?)$698v!HmF^l97kS~m`?jp``OlDkp<Wp
znk4}Tw8aaGGz%sj$}VVqV9D^(vPeg$&P8J>)zbn5CbUJgy-=48Q>d?k^=Nv85FPgq
z3uiDW>)V5hoUM|V{Xs=U`XF9O9rzC@M(~4*HSYn%2>!4Rd?hdYuPY+bU*To1#a1`!
zMEt6C>Lvy;((-&HpNfZ(gqvAf!&Tb=7zxR;w%W=D3}Zos<|(%gq|5LgbR8aA`*dQh
zkgTu(0mwa-+4EPXlXy}X%OC?&p1XARm8sau`~)hJFTQyJbxO3Pm6;c$uF89t(SVi|
zOzxe7oh}#NqIDc6OqthitR|L=WP)mCxhKlQ%g7<uibf82mKJAIXS>mAv$kWY^EI~n
zd_F6f&Vlka@mu?QdU_hQ<+bJcxe$2IE4ArK%*&MwYjHL-pbCze(KDeh>l#R%BMolb
z_4Ur}2kt-V?e6Km7b2V|_TGE<-FJ6cR1v04>N1>q0^#glNB-T{UVLGUa)8CkkN@r;
z{^1|qTID*n?;h;);0QUnr@`0KSzizbwo$Le?!(7UoVb1X@NEb2Wp?fvK5^p2zO5Y|
zlmWU_4yu7#OrUKuIepuKfgjqB#3|&gI{^%7_o4v|`473L@!>t&ZzF8{mfmjM>~`(>
z_)w{1yK5`{aCm!h+i_H10*{C3n+H9(Y&vkQ@inHP_nY4P%jq?&QiT%qe)U>pbMBIR
z1dH2Yq6%BJff7O$t=S3>8!k19pPmLYjK5Vcs_~V5H6w|!F{toG(ML}JwQ_b1RDfU!
z$(I?i40;2Y^d7ypzpL4T>s#5P!x5M5&Fyfw%?@W%Q`4@kUR;G%r%7ZENF$vdJFR0V
z+0HLSv(ztCh+bL5uu7(r1<q8+Qn6bt_lWDMDo0DTz9izPYT8OH=N5BXRQmI3hC&Lq
zq6bg2WC}xc9NOCPQcZ7%<h9=}I`!0}YZ3W!HiC{d`V6^8cWtA<6mf`I$b7SGQe9k$
zb!jp@NuZTci4TW!P;~+n*|c5=;dthPMM3Y<nhV&WLq&*xmxjwkR+g4CczZ_f;%giS
z@+7o!)v8$aDqyqAZ?^WqOC$Bp0z!CR?yRC&78u(a%mG$672eD-SY%-x(K%l#LrM}4
z1$s;s2vz8jj!;)hILb^a7ThS~YZ5+UX+22CSL1>Fl}x2sa2qU!OMC-#5Ud)%O~sNG
zZ*k~UAQz4&iJd;s!bY`Xf!60T18=6VoD2mM)yPIJjD1$J36K&N_2A`_Ow)-t#z(1C
zMvow;&iT#ucC#L12%SI`kgk=0Y}=4~xCy%@js(3>V6zBIURxY{W4?5CEOZ6%($d--
zz5<_YfO?%|`ti(l6jpEwpv^33!+!IYlRlKowMIcKu&D229lv;E9p5`FoPlAhZ_2!!
z62GtPx+VPnj{k+c+>YT}dAU7`%GFMV6;$%+xu<65=EH~#0Rt<70QEW+hlz=4^k7_-
zG(26xT$s@Nx|#&H5cpbvc*C;$xnI6~W&$N4RQA(9`q9sS{-YoL=qLa5(-&T1{$A2(
z=~6_m5q{rZku*a?7cU@JFg78J`*wG<=x_xjFftDh@7e_~U}zVBZdmIzb(<$z3BX^o
zNSg6+;B1i~=#%x|_^p#i?D#CG2&RuvS&9A1SB}ze<{9BXe)$WJJq|Ab_-6RXmM#MC
zS34xl4}aKw>{Flm)F(ex2cpwJB<GPFIRMe`zVp!jJ};WR58ZVLRGN>OIRe!;bPcul
zp@qodWZdno>gX-EfZFb|F_3s<nJ$Ul;|3aT1I6xnnGL4>tgb_LyBrM=cR<HAj8S7F
zTIjKXQOHT$0i}vxC0Yo-pU2sV#~l_-a=j?Kw{>sb)&_swZa10wK|KH$2+U*K`#@x_
z$y4-gY$p7E0`FQ_=xBj`aam+H%14ykLc~D+L%laXnJF@aSyjiVhFAyhvpTJWtXvfo
zkFn^A?4G_7s!^Al3XtA)aKyv<CkiFCidt&d(g=G6!ta}GlE&jv<*)z-r)704k;#{z
zGD5Qz1aDz<@*ugLuKNJ0Y7xY{z|Kn=gP}w?R`4Xb$0vgu1xzPcHTC)P6BDTJT)ql=
z67up1CR0fGd=guZN*bRpu?B$Z{JcEU2=+hnPZS$i4GUR@mmu(iM7s{6-MlQQsbo{m
z%4!7t7V*0Rhfj?_Y5_#Hepcg>S*KnWv=m(CLO14I-znh?b7SjQ)N=ZiwH$@#vAt~*
zOWLRKJhmx3j{$|}F`)3Bdlhp|i6!+a=G+#A?@V%kD7oN_)W;->IaLO!h@~RWFD#5e
z7f;7%5s77ZsV<OLugz?}6tEagx%T3VFTR!5>0WzvMAvAjIT$OtU^jGVMWh!|nFv>a
z<DiTX3dPbxLqasVt8;{{)IgQRR0kZK<ofF5<iyyeX{t(o>s#OY*iI9uc)m*YoEtdD
z3aXxEiiP{tqc=qQu-nZkWZb=bM|Zmg32qc?ANuTwL5Jdh!w^DWSJTiYpcFz(gk{IJ
z5du<s6Htn%9eI&_QW7?zv~C0YYxNsAFhb%l-~eq9XMuWy13@Jr|4GSD$WwJuD2`%%
zHr6;W3t<R@<kIKV__;O;V#P>=a9??J#w5*f$n@D!R|s>xQmoLRg0(84{ea^_Xw}47
zL92w{P(g3dS_J`W0ofT@T*S$OTAaqO$5P0bX$lbr!2v(6-f3K#WZ8=Z^uGKWUhYbQ
zM|ty@seda|q|9Fu&Njs{@Q!)vD=$??U6VL+i`7JO*63(ijFs^BB*9b>V^T?oUK_<#
zk5@)zLSM3@kh7|trWP`sCQ#L~dNcMpI)Wk1ptThwdAfRQO8`ff%h5`z#f`g__64W?
z#+X+khCWOmpi434+c7`>UG)JJWByn40TvcD>e)0gX{3^I0a&YmII{#Uq|o9_z<lOa
zlknoo(md+Z3$t409G-mf&GDI;@i$%!m=E6*FCD|84-)W}wj4aGfViu_)8}jJ9R$<*
zcbLCnXP^%Kr`n^(jvYC2`_VhYsIN+R(QiF*|2_BI`N&rS=11@Ca-c^8KIi@e2M;k{
zlOXM*8yae9a@cJ4M(>bJLSWcxMF~w3@O3nJyTQ3<_wMahL%?iAQv?{s!JmyQUxCdD
zh``Z-+}Q36n423)6(4|wCX>-*Dc3po;Q?AKu8!V-IT);!7n8{}7^7qHGTN8|VrYE{
z>N+c-fO&GdQk($0RwS~vzEOhoNkF`M`K=2V-Wj_VFh@gB2mpI4e87B8h5AWAOr}XH
zJqzK13vU`#?}0N1Os?x|B6A5(PR@c&cx`DqV5ZyxMl|uPqIr4qs}L4dZ^2i=Xw(ti
zDzeScnt{wmK=d?Q_4=lE&t~=F-=Yxkh+_QQi}7;@{FLJgo2krD{?94|99N8=;|iPE
zaqg`+H5IRehiXm`m*JS<q$U!TOC$k5Jv}uYsq@s^i9DbIs)$(TLg6q-+$C`XScS;O
z+D4$`KRq*d<=WNDmyn5j*<d`22@gu{g~j3ze@1nTpFaP>B=grGRPS=b%k1BR5PR&>
z)oa%-o`XWbWzelpUb%QV&~f5EzOAjb6(h3sP^vuK)`p?j=4<2c-Z3z+1OEn$%yI1G
z^*1hFxpMyXH)V1A*6z;EzJUQr92nfz+1a~&0OR(*GC$Jj?z-!a<HwF3y<?a;%`QRY
z;{VXxb=Qd#pcuYWH_ZIs+An?K3t#-gm%i|MFGlnaBtJpveqZ%xfAv@YC*Av&EPn2>
zkKTX(r@!!dN&Ng*9>4$oM}Fh;f%b1adDoqH9Y21@9mkFx^*MI!-i;c@p1peyJp9Nb
zsFr-<6QBGfcJ>U-0MTY`LV)71OOBx-uLo^Q4b5KMBU&Ms2eYCBt{S{5kewm<M*}er
z1xQHB<>5n@A>)Rp;Sc!1j2;4KLJ5@oMsH_lm)$6dMq5jFcemL{(f}qSk&h7Av|7~F
zndkv}WZkX?7m_KB4Q7CC{9=`Qlh8aWL%af;0WF21RzOsQwvj-`!DCI0&IXipn%pg=
ztP^q^h$0OJ)s8+uZMJUf-`Wf%EWcP(0~;RA<z*2V9(*0Q3!LF50A`#nd!Xae7={B#
z{jn|9xRp2rH<GDDqA)o(4_9PiaV`vqpI;Ppi0%YV07wF?<}g?>NlZjhj>r`gfsR*R
zSwLWYeP(8M?rNzziG8iFZLF?@E?&AkcJboarSl8SzhEarhan2Fea9YIymAEtXL{<2
zBwo3Qu{6DKCD0KGF*LKG2#}AdIkdlmZVp>5OpNNJSx`kP%`e*E7(&z+;sAggWWiXT
zl0@jKpi3i_3Ur)1%iyEICl}fn)2q&}!Zn9`zE*j6b{0p6tpJna7Y7G>J3G5~?tq%$
zEQAE+rl%!wdSYgIdExqWpo1I+vV4SnN2M8F3E`&d<#+<bs{xwfv6CXG)su+xaCHn=
zgHa%mL@3;YWlFCLbYT5f(IQUVaVW}C@k=9W!2O1OV&M`YMWV+}k{cjn3MC-u?rH+B
zyVj1Y<FcELMyK0#1AU|9CQ>Q{?EjGZ2yqh)w&|Hch4tB`@Ys~xL`n?%euc-jUlAqk
zRal?B3hUz;zj7%D;8Q4sH0KQ3%*KPOYa8Hh4;6ua96=}z=?aioqp=QUWJ!eglLkmX
z8}R(Y|NFzp^{MMuufB2i!Y@Ro`Va5C4=u&3SI5)Lvv?!=`>hU>%T?qofQEv9KZF__
zb{p_K`uHgu0-(OW-oE}j^SRPJgCG>xiNucs*_071LLy!miL5NI5lTmFM%3YK@OT49
znTyOgb4AnhsZW3U(MKQo)Dy$Zf8nB`^f2>7?N@&LYrpxMUwHEK{V)NqU?;c$Z)3H&
z_SUQC>TKP&@5TOi-F774`HhF37(RUHwu7J`8ro~?wC_7`8wBVN-#&bd`3AZ&TJe4L
z(9_mww2~e+V_;ivPtTVAfg#yyq4GJ8VO4iVaR*vx*&?{wGjWiYfSx5=gj6ZKFOXfp
z>$6LZW{aIfd(p&f(VLN9a2R!{?W1!JNMA`7s}&S3k!J(9wHkR~6&LWdb@XVBW~0sC
z-rCRtO_424E>J93tQHmlmn@bG==8PfDghB4vIY!TA>dhFS)c}uL?W~i3vrd&Dv05+
zf&f$iSA=A=MJtd-R;>ZNPxu211~y27daho-oDCsd0(Jk!JX@&D;$8?s9MLQy<ocBd
zXuhkfyQh<i4>Yv^`J9-+CoU~RskxpJNr&M&hX?~sMa?2Asv|_Yj}6FgExsqNd>$GB
zWLpECpFa1~<SY<;b09E#ThQ=lCxNJ+n3|r7)hXKZlIXD8Oi<*5^a1v=9)X>TZmb79
z8>tA)3OWank|{xdA(g5ZQ<0;ohi!NxrZ~Js70G<mr#+Bxo{P)lsMg>=;=GKlq=sdH
zouJBF{mj7nQTqw7U8L+meWU<}Z2Afx)^Vbot#>JWh1)P&hu|w5RLs_cirIQV5nmlp
z#8(FuvsKw~@?k6_&2#4_)>B}=10E{_{C8D76R9hz#9|ye_C`$8<UJz@pln7g30C~|
z`K1u_mR1AJzx<PbytuTwzP>QGv^u{LE($-p25ks%mQHi%-y1Q#KqYjRyFe+8*<~<2
zT{`pD)vJ?N&j*_KAHQpFPpgSHSzXO`gRYjp!wa{dwXLJ8K+*yf&1yJxKM|7pn*HL*
zBfEF(7&?Bkt}*a^<}Z!k_}KAQLtEG2;jNyAYIK<SPrBi|?z!vuUH3g0C%FM5PjFea
z=84aoI(6!v!~P@8e`Eeg_1j<k;x~^l-)H_?p!rk3e(%Bl?gndvr(?^O9lN*M_w3sb
z*wcYShi}LGn}*B+Pyv;iomlqmjcBdvZTGm{-p<}3xw%DW_ic3~XREr--JLGVvAN)H
zd)qp@TbNE9`+Lji3~jcfp*~jgi#wZ<dPeJWpxM&y)N(2jr8M*#ivnAPM1g>|big0L
zxiVtvt(VPM;`2A_wHU3O(S-GbQwQ9>V|@-SNJ~(P(>Z}5t@>P`9d+8x&}jhezv)g0
zTmcE+L;|P|8#EM<ngEfBMjvQS)>7G2S*0uIQ;`CKeq9vUIjT}-wIoo$ZZrC|)hbdS
zu^1yldgapG{OaoX<*`6>R2xmCYUYM=DITtfW`ixpmyy)06tWi3K##EZYQWrCUIJy{
zVqORRf)_8nJvR38OTWZthBl(f3>ugV@PSAg2jL@0`sA`I;QL2RIdDo~_L0$mk`GMC
zdIYmQ9$F7HUpxEe#p{rIjYq?4@k~aoJs+w2v8zE1s$nCh$U3ZHEH-u#36m>Rc<bx$
zUz?h`{PydCX0_d*0V!Fj!KnoYEC=Z^go^d^0)P^ZcZ<`n74-F5BpS@%sF0V2a3jzx
zZf&x&wOD%RfUTl8s!L)`rzXKX0TQGQc;_ek{aRy_h*S+orsgGaj?Pwae(uIfY#tWQ
zV7k^fv!ZHaR;<J}#oQ)+1t(Twvtn+W6?5CHnA>K>+%_xbwpp<fn-wdu`PNEIy&bTn
zXjK&FDu$gJgId4L<eMQ3_%FrA&sZAOuD6-^kR*5>Xe(bXy44r@n9gwtJ#Nf%>O1rQ
zCAm-iC!c2S|Dhz@ciVlAt<KL1?GDD$Im9sfm#)73b~Zb{vGEe~bBQ@8Gy6{qNnJ5B
zQ;eup7N&{}!@4UMc_lNi=31EAq9mwt4VwQ>-J5{PbzXJexAuMOs_yE2Z*^;FNo~oN
zWJOlXNu0!FBTi!D7*7-Og(2Y~$rm7jj~TkE+V%hg!SLk^10)QYfdMAT1PE~;G3nUx
z7B8|aYhPNuZ&h9UzRmC4E32>bARYpQkGWFcs;<6Ob?>?Fd)~AB&;NAQ1LpR$vH(>_
zXtiBAQg1Vlttu~c5V}||8r{Z{*#}3ai<rlER!sxe4fC#R$^xKkM-x`TYQPLdGp$>!
zp+=v<k{>aT*p(DDG}9jCx0Jgkt+NPK-R{!efxC2f;H|nl@Meyb+K#()ci=AF9ngDX
zdagHpt%JT-n_YJY2G(+-_Fmg^Yio<BPBDQ*g<^M7oi^P|Q=ELm>B-XJ9`&cRwYCT|
zPqRradpVteD)r>L*qX0x>nBe>&4_>L)alcw<niQ5X&lmP+DdHHLY*t|iXj}TD|>bh
z6NiB*xt?CmEL=DXVQV{!5U#lR<0NFMm6i?CR@K!xbQ=hd>DH#914h3zJP4NM8nDup
zcq$|S^IB@%*V@$`>;Keks-NLiBQ(x~pZe4<$Od)m&&lI2eF_ul*Z7=<=}<MZG&j`S
z;(V%PRGxa~^p){m$~THvUmVzb^cd8w0}|||)1dm$Pu^MGh~>(*Z?E#!NW^7uHS3kK
z;8k;th&7ihmK|0jWf$eV%|UfAu+jnPGcn*Gl*UFDRyIr`fo_U5B#0c0Es_}1y$!q3
zZLSny;%-!n1|^-%87Sf>@aGPhoP63qP%5|8Jcm3u=?D~JBl{*KW}%iKy;-Jv>ppA9
zmP`5FhI%PwQkK`&jhPC!#vB^5w1i<nO$v7D##T-ySwr!e*yIt-N>x)2+OTPJ6w3{Q
z%ivBuZh|Mo-Jm<59yUX{RtZcc_Dw8^)3^mT>l#&j^YTb06da7Jk{#%DI7-F%y2l#v
zb<q(aktb<o^7kySEiZ!$6WDMA0Eu8o8Ws6^*)m!|T`EmvB<d`~d2GQ~MKToD*ezx<
zJVcx=wrZtRgpf5Ma*(`_Y+GbFWW%O9Cy!^&DknLSW&${o8<OpME5oFfo{vyWG0ELQ
za7Y`m|Mpo)eH$ook-97Uq;;0*rfzoK+;mQDvlO^=bJN+c%}u**ZrXKo(>Z0ERX=P}
zQJhoT7*D%SJ36;<Tr~c{V@udFnA(c*oO@Xw70YBGFi8;ikvplr8BzXHd+|UI6vn*B
z7=tT?J}8EKk<ciOh_`a`s94e_QyNt4BMP>W@fy2FjEU-o_U@Om*_W_;H0IbJR3qKR
zCH+Gh=}z66aF=dP(07l#OSdNId+z9ZZzuzsM0(<JD$j*mNb63=Bl@8vuWxRmo%%e^
z1}&qE3O-XgD=k$Uc)KtVDNPqsfIjmBXDRSLcP<ICh-K2wyH)BxD#erPAI_qk`Z_~3
z`f`yrxo{z~oMxKVi4yPGxkstDh7FbYN^C%lG9KCCa7ad1h&t2<cG6A#$dSWnr#|UK
z*bT(EyDQ|4XGry!eC@yvmK8&d1}R>DtpAt)<FBy2FBtTTkA#gR%=EIoS6=^*zpQGf
zzPY7z=@{$zv7>wXPR|$67z4LnIsMF2im~*ZJ<vN88`w|X?!?4cR~L=wUbl^@f7p+9
zvXr6p@ED}GuER<LZYGY+RVKR<u{82VJTpx_(VS#J>--1Rnxt6)JBcxb1w`2yK?52<
zqMrJS6|>u5Zz#~Lnu2adk)c*Fq_SznP@oZ&)e#$zkhs%HGEWHGC8mk5oXgR74wiT}
zH|nV`m9w>){dJ{1+-V&MiV;~#85h=;6;qPXw;QC2+AcK(6?zlq5;lVG5xc;~`2(uS
z;sBXJF=jYJIKC)2IWZiF(JD=NB0!_X2Fj$FNCDLAUgAo`ms;rn0%#a|2YJ0#MnB=5
zwfASKivwl8-0ep(H1qK;IIkiWt9NaaNYem;UA8<bn^2jmx8;#dN~ZXuG^wV6o3R+R
z7E6^HPx+8)S!}V0#fW!H%xmCP0+OdsFCbI-YO&$uk!?Z!!>ed03wajP25OB~U3tHY
zQ)%Q9ZhxpXVlf4=Uvn{#>q2sA_8Z6<DC)mQPzy?PTD2!`pR~^Mo4V<FpKsUM6SwPh
z)}elF_TH}3S$f`Qy|<?4ebzI`>3N^^_5_5A=N6U=Mx|CMmkL36?MsQ(^^4aQ0g+va
zbR^&^_1T4^)dfO>rZ0rPr5Qsa5$pQwXTSX2=Qknwhm$Nmvcr>4U3&4<*Jhu7_9T5|
zIxbZ4TKr~VH|iZ7bpUu+-JB<$a^XS@yiSl9B)!D~RIk&05U0f@*bkzZt<WwT_?q|{
z9n7TjUYQt{!|i3s^f+T($L`qG-7_%M)3*a2s7%(<MoZXsnk7(`zc13!W@I@#^Zawq
zJoC)SbLY~8>_VOWL_d4lBpSj5kSw}ZVa0=gaHzMtr>nbnAjpL52#0R<Ta+>!W&q~u
zCW{nO5kXP9L|1q19UtxtgF03}1tf~e;%f^H_x1F2Pz&7QHzJcd6-X3n5D5oD?zBna
zyU!2D^m|V18*}AhL^hgj3-ej4qibxKZ2N(6pfer4W}+Kan+$Y{I;zBBTf8Bp(bF62
zx_o&l&f2dCV597I(~&5bOc83@O5!1PWE-e53jiBpe{Q#&K(U<XW5B7qb9vhF8LAMK
zCD+#@?qVjFuNAS?X{{h><7U(fH3w77MfpV3T1g7uOJ>IJ(?Ug(nkUJ~EcFp@##1dD
zKzn088mrS@v^kw3Ek?LE`HRxExgk^tIl_{uL_(U8N&FQ3g29=Jbd(fip%Ns80u+q!
z7W5gnw@`{bsu+H4MlpO&nRY5a!;-nZUR!iy-@+`h5UH@}#=b?jUR!kQvPHK-S#&nD
zW!r0^F4h={O%tbMXOP|hl3nxlyN3L#?rLNcRXbyF(mKnjsN1m4&e)+l?;X1H-ocSh
ze1ILg^WLF5?+%@v(W|pFMy9q=BO|)&@nteK1K41{%}~pvTRiYKd!%l;#UpHARChe&
zTU;y}y+DS%#^U1qQ0GR>*D(zEYq*2L=9&k)tr-g(JUAS(5Ph?Rh7TT2mG&uP5#QS7
zQ>RW{QT+;7*qGUYpZmFYjXMcDImh4ibN}H=@~4&iBEIMU;&Y$-++RJv%<{6>Xq-J8
z3+&xH+Skq*wfBwg-R}$Tp?8pPe2h{rs9jlKZ>d)I?1^C@xh)LNcr?&t8BnPr1m~Q|
z*BOewiVBt{MNFbtLe{YW`Z=E_wUov<qJvkRG9q6gjV?$RDtvd<12-DP0#qzAM2*&h
zfxc0$ven%pRjN%o-!sW&^zw-aBx2sYY?xm(dt19(?K4thDSsd!N=0P00NAivNL#W5
z0!VI{A|}pE30%CmoT;<?K@)TFjMpaJFKjIxTvtbnJ!*D>4!+*e=<Z4DEVo(R?$(Wo
zyLDsYZrzx;n<It4|82T4akp+v+^w_1^fmBz>&E!qx-s!K-57tnZj2A11+<lGeSLZH
zS}wiC<I2Y6^8`=J<u#Jvs{}p=YD%3LhQ(CFWwAL12KxIscu_h*)aHhUz0Kt1*pO5i
zv!zlePd@w9<I8gwc>La}zy9*eCr_qQFa61%{K*R}hy$f2tY~H@RUJl?r{&HQlgFQX
z`rA+EFp5imch_6H8&|#&8|vurV5I=tB#u5j-rcuj*RFwZXlQ`Pj*hW|2M>-a1K2f2
zsOYUOau{gd>X}zgzlxsRMXwo)W#a7lElc<Q*bs>^GzhWo2OjvbcmL$EH^29R2i|&c
z&pY0B&jSw}K78LNKl#afq2d~#WlhuWZKn^r*{J0I>+k)+7e4WcpM1~(O2+*&U;G~z
z+{Zr>8={{th8!WZodR(j8V2S#GSD|N0_bsIU<{{mOnDoXLfD67ab?^@LJf&3(L*$-
zW@_3JTP35XEjEPqeQg{5k#`M-oM>Zr*E`?b|Jths<&%+LCGGay?>@drab?|e`}>CK
zjbD$Lg<8`bA@NIc4Ats#1%m$0Ubl-#1+2+EUNEHt#F`A%8Z`x`Mzd0mQ}pfeg#s2U
z%z44})uQ6y3``~m*8){%dwbvD4wo;`-aa@oaLes@!zNQFAnR^uga<4N!IE;OY>{4V
z*^8GhU+(PQ(GT9SZW%uFN>XXr6&r&2odIO7R9Lf@H>x!rDlW@Lev`*akvwf4gwp^^
zoz3ZU06uIg*;K{k^&~PTTT2^jV7#S0(5!4=tr{$}95NU#T{`pFx0lw*cxCE^@1A<$
z(j~?iOLbZK)5tWTN^_v!+lYi~4gb#Fy{#=P8(SCVSZS5D@X)X$zZhdci(8GYn+4*R
zCAdKv4%&4|zftmq7n+A_7%kq5Zz`4_CKp^^Zg+;xsPF@zZd@)4Y!I;_P%4Zi>=zP^
zD_1vG7wIFMNG-1{%*`bdDzOx1;y|roWYsNljl!cpI6O3T{`{4>2CY_V7YF*hwT+80
zBS`OP5A^7mD8~4AUR+2dHqX6W5sE{)bFqR~1%_=k0lu^}43U7z5T7&Es|}a0)jQhj
zFaZZJQC?|}8PA`;8nwaMd;WaVd}gxw^P$iD-TCvc{PE{<jg-8YBb<>V|1xd0c<p9a
z-5d$qO{X8Tl?%1@!F@gVzOluk1Pz9uxfHmLJo(3XhkBg1c!$ExakF^Un{;|<a&p@z
zezR_^(tC&cj=}vpy)?K)A82%VF2}B%Pi`%2tR^zjfoyr1-NiFYs3qvZQ+1=)o6A|P
ztQp4MURF83BbW1fO@)=ErP$!pD=T@N%H?HtsnyFDzVpfp7v|4?>s#M?<{5T>`KM1y
z6v1)wTE*1WwYKJlcC2AKDlq8&mbEp?Q{yi@`)q7*A`p;b5a}0a2@DJ!x@~Y^X!ot)
zAXPBrTi-K*I*K@UjdZsa3hnKcMl?_<o<0qM!eYL?y-;W!L_Ne>e`aK)1C25=!fwag
z-uX+P`jNN2Yl<eOa2qSXVfe%+-lRQK{z&<{@n?h~(DA@MckEwZzxCEkEgHzgKmYmP
z`@P?rUA^_z_4R#k|EUjuI5xPar>BcMPCt$I_TG^l`}UI2+O?Ou%yFsCJalxAa+FUA
zVhvZTq&b_>K)n{1TJ8+LR;x~_T!g7jIvmMnb~*|jZy6^u9xoIlrtkdb-(HFhdMWzC
zCIA^v_}pMM`aC{|0d^QN!0bqaN<V7{8We73I+awT0h7XTCqoY~j{e#Ths6ea{C+w^
zRssQbR-4b!-`Uq<^I(8<b+H@X*&`KVj&>KRfrQgpf~n48xONS*BAs_S6N$93qo*fk
z0vZfwU!f3fOK+_%uY2iQkYk;S$Js3}#9`8mIFfn1SU6Q^JQZjg9~0`=HWnL?$5>{0
zieYFfmPgu>8<(Cw<qjz2Epi5_6uYIl6fJ%tj^)j~qoV^?&KM00o;b1#%QvW$N*x{O
z(v=m8P_gqhvp__49T8|SwPr}t5EFo{H-*zf6L4}0>vZ%bHf7?oTt=yMDVw06%PNBx
zvst0s&Su$VR+i43U0GSWdX{La3cq}2_M$?SmSb)a%6&VQGN)p(4N3d=up^PM+mp+b
z0LPRA|Jl|y+(W0iBF%=v;i%c58~~L2o7VWbl4!O^6etWn@t<uI?>e!Tq1j!Ou39t3
zPbeSekXQeBi`ZW6H?^qshbFDFOl)=gu+BR9kj^^!u+BR9K)+_Oen@AXd{}3l{9igP
z@L`=6_{qs_i}gcO+x!^;oprJg@e&wg9c>9P$UMFPm1(M|jj%isa1dH9V-3i9!vN8c
z+Y)oN_@%a9I!{w3IsjZ)fq`4{#;GJRMv5C*cPM#N5O}t#*j%w`NHHOqrfg=QUn=ao
z`v)ji?`pDgE7#^009Y=}T{GnIbjnS;5WQjlyN3F^cuE>usW(_1>56h?ZUJL+VeX1z
za@dp#czQXs#A^kGm3}%XYXU<=*&w+@E;GKNn2eEjiDI>dgt)sU)TW4`ZdEG$y&T&Y
zPY5SxDiIgVvqE;P5fZG02e+s}q!feIOi3?QI}B^9QclLE_gCP!r1_uW<Y_>=SI(b4
zX|S3>MuYU37#|xN8X6m)X!>~cG&B62h)!hR>9dzvnlGO{O-p*=WGmIicMf4d4DB4R
zmCBS1+3aT4U&RY*)2pN}#d^BA0~pG(iC@gPm%Zxzp`W|kS}D$J1Kr~zm<&XywY9Ck
zkD{`Uo}h0}H!uRA1cEGJwRPC>2^~lPgU@8A0>P-zokxuReYC&j1}aU0Oe$uM*b*;E
z6uF7}N_3AsH5WFxZi!}<>M;k$VSW&bYDR`wyD5!y(GP+69pygUUU4jeA@E(i*+h|u
z>b^<8B||e2r*<!sj6;M#kf~8?DlMTFq{_ZYpCg~iAfpAYfylm%M2e@W#0E4b1j*qi
zXls?`5W&_q10Sz|+=IKKrkHt~RVl(C+Ki5K)?BPpu&;3cs@H*)(gaz6nTHcBnxcU1
zfJ@Hsjxc`JL-D$WI>Bg+*f|pSm}4VqMussA5?rbCT3s>QViN_Jj?lB<sVVWLqRgr!
zasU&#sQkj^%U7?`mv130s&O@qkjhnMA+nFi6P90V&|3xJ&TUkz*#sEzt#~3!tp(Gr
zVWhZ&v5b7HwA+qN?-gN5Sc=dpizx9`^&au6Qo%)+t<sbxnN+RtcVny<u$UZZwQ!Tw
z_#ND9sG1tl0T}~PPoqi9moy0PQH+*Yf1m1y$z9=$)V(^oG&ReWnMhL6mP85oK#zHS
z0iJUdb3B(zC964$yV>XWVHEqto)a__2r=>)DO|fILDFj0qL2jmZN>2Wzor;aiv03>
z8Z+66N$ad~eLJDkd-}@m6FR+jf@38%enO}BCUtu6gii12vvtRH*3Su@SEi4y=_3!6
zpcbLIEEWUibA(G6G`X~I`CLAaLCudqQEZ`5spNK3p<r8_U!nnN99p|n%Iz+dLZO*H
zyFDJ4pFZoCmN)R|)>p4}J@cj2)!AA3!Rnc|jgF>L;qcsC#P;-eo;`DB{`_~zC(nh$
zsnqD`OrP|zlAmO5Z+91=rf_SZdhpgAJ77TN2ZLuCGGvE?)*&{4gI<Dj?E&CTHqOD}
z$Yf^v=I0v?`MI?G;bTXoIpf}u!Y6<Jz3=_RC*%kFX4*DC9}Hf(0(8LE(@Tu**3q!E
z7`t*M7@VJ<>GRQEL4Lgc-GhVuY<)c;;s~ST6wQr~W7<rEdpDb5?*$7&;7_KIB|@<T
z4hbH~3<|VQ;&C+faysQFr*vD4WFT=GGw#laArOd|0s-uoX-=B7LkR*wTSr$L#n`^C
z2q5+n$%#~IhKiVA1k&5M;a0cJ2{6*ry3u)y#WFZ3KUgl)w#7xKGn?(~jM&C+A#U&Q
z+8?oXc4o6qia=*5M#kF}x=h2OP~jFz#hfj^2+n>(elSU<VLqx>ZMJ+K5Yr~sQ$8Dy
z@SBa+p>Fp~9~|y3`3Wm?m2$CGWdd~9S6L`nEog*P=L4F}rKM+|{mNG&w!iwTul@O-
z|M{Q(Ma1@%uRQzg(h_i?P*9yrGQDn0Eu%3=sl35rrd401Qib|3pUG#6W^<j=b7^T_
zuGS-_2ERu7q<T_*JWkrcs!o2^bndLyq4E5AjFoAe(K2yISQc$qKo~z6fJ<`n<+95)
z^98C<e@iiZ<_n4?@<-E>iwjO!XPHdu7M$8<Rd(wvj(~3F2|tm<$lSV_=hn?U@6>iK
z&O5d3cer&HhkJYG(SQ~s&L|J8WoD3Lw#>AMMtSWe_c=0j+DqoZWMJ~$@TM8)us-re
zHBa{&%3qr24Te36x#vL7fp;sFh`}LinOO^9ne&Fc0a+5qQp{VnEnCh^ML<DO9Fn)Y
zp1b>X1#G#2Y9Zr1Pk!B8O;i&bQixMg%-NT+FMS8Fh#{qEs_3M377?ghRHvz8I(a>;
zlUIx*--Em!(#h)~oxC2>X{v`Ox8?OKI(bF6<)z%Ov(Vl-<>}|+C;6uwr~jiEB+kwO
zA5mxF6bkPYg09vMi21PMAy^dRA!!p>D`z=2VJ0h`OegB3xP#tsjHz18)}pPY)Fm<a
zla;EqVwLze>yXt#TV+cRUR`&qwVaXe0?m4Bz}n2EG8>ta)#-P~j-S7TU6WNpx4yBb
z-BI*oCGY*w5C+e#TXq3>avCd}OZA4)oCFD8Os{h6MY~u+3l}Ou?3=E=F>^M*wOow0
zrmuZ{meTdBxxAa=e@W^2!5Kt*&Cc78;1ce1WtQU5AvCHx2i^6xYfGn>Qtn`XI2PKq
zb8Kv^uQlv3d!0R<(!J4pyEnSCTBu-!Q_tPCqqV&y(8afnbPowS)E7pbb-F@=?6-xL
zK?v^bR)--90AhHIKLx$!>LNA*eT%8utVet6l}i^1f+UI*o6@P<W>2K5W@oS~+(Jks
zACI*>c>j<6*pIz=-+^vNU--@=BiK8AlLWB)qdW5(;$?UTMvmRH@3zsAH@t`K_&aH(
z@!;UWyY9N{_KxvEw7dVH^7aU<?cSg<+S)L_>&M>mmbdKca};KmR~k9GSZ8q`daIeQ
zeCcoh_HWO|3qJUVvCPk1DcIX~9z8JXHP+Tn$Bsh-31|JTeWQarMnRVn2OT}SgX`((
z?!nC)8XetraNjMv#^`fCF)=QcNC!rD176)TvU3#K4DB{3cSVFC!W?TQN&%?M2jZfU
ztyJMBAzD*w#(L_g7EsM_++${tzJ#I7XtBFNvMJ4KG1lG1{CRCtjR~VlG|o#Vhp%gR
z?{J%=`|U^eN>j+OVSw*%`}v>n4^hrMJQ}lh?t^fe)x-!^IBNOcXP+du7d_4}6tb_>
z;?+btSI0q3EI*w^2_~=$>E}^xLYG*rl!f!Af(K!-*h<p0%I<GuBsRThfLo3;wNWY6
zYWH`wGC5pEbJa_@s6jH5tVy(&E^-8i66u=VO(P;K(iD!0!-c0z!wEV{92Y0RQ!gw%
z|HRz#W>pA#UjF<lM*Nj?@aQk*ig0I$9n5+bpa@UAp)}+@es520je_#!7ciF?WL8he
z9&Pn>PmD4@S}pcsdkyEl2(x~<M6ddafY7fjSG;X*8(d+^(t6S04|#e5u6$}eA3Lt*
zHx-YiQH!S<ZnZyJpNdNq{GU%rCD)TJ?rKVmM`B{woFzL+vU0U#a&cas5auP_q-X|G
zkG6((`|?C0azvDC+%l0H_cPjC%hz0tN1v$*99B$!4_ypPH1;f3S+{Mm<1b37ao%Z2
ztv~ll)-5sG_;)Gu1b8Gq;o_?&pMBY5UZP;+%$fDen~ar98*?wb0QJ>!0m)l(2CS!^
z1{S@PpmiN;FCo8pwrLt}x0#$RUNVhl&Z1ItF?!uDOQTt+G_%R>9uFQxEpaVR1D{}w
zr5#6<Rxee|SaMiI|EgP(uVy`o4)Gdjg?zap{i^a3fyD1D^Rz@YHIuPXru57tZO$KR
z$$@VGn%Fejaa6^vB4f}it1ZLHYJ@is71F4afF_9s+E`pbORV$q)j0`9u4Sv)-10^W
zQ#$){mIDdVM~BLp^ybx#<s|I)Y-@`I3$9RIy}Z1U-;%<<@+N5ttfXo=hHbQP4SzM2
zubJ9Nh)@kcHq#jGHCTH4aEyI6QxzYJ;q7&sXeqOq$W#@h!yoe+#3wgclnPAW1cvB?
z0{e+zUD+7GO=HdQkWKp)n_rSC+D7p85v#>s5qkNkT7CDQpu~5I%K-Pb!SMffcBnXX
z^=NGZUw<?6w*yF4w%9gYkVy_~pEz&RL_*qN$VIKLV0MZ7KrJ5rl*JYdQ|uMhR?mqk
z>#TBp)7Nny(5;?_b*tyTe$CoAIAyre!{KK9inr-j&s(Op;~Tf=;v4=cv0t<m)2>@R
zeO}2xNxVbuJDa!IC~YinIs;HvSQ^%pH+}WY87Z4uU6MzoV@|5R6OdFq^USL){pilY
zARSD~4h)F!!osO%zJ=-ct!ISD>!lmdV;wuY(FHxbZoTu)I}h5Vy14FWMJ<PvJuvw=
z1D$At&VVCocLX}rr}i1!{l|HB;(?#PQ~7QA=lwZ<fr70{a4!qP9_53)uWiSXcf8{r
zM|K3G_Rx;Q>eH4PpO*nDSv9Ul%uS=0$im)(2SYwzXaC4Z-(<w;_PfoB+3n{cg2m+a
zU>V1wB$U-RTvy-tZaxVY*c`buY9g5}=S`G|bq)-4@}NB`9R%uu;kbk++!tR#DK2iN
zP(I*?BeZwfv3ug!v11dvM=>9E-gr(iXp#9+%xs~ZlO|Ch4jMrSKX@S$mKBE{-gT2z
zcqIsrTz?+x*xX|3B;%`m3yqAJYX!BvS_0@*xVN`G;9`|<2g1E9>_IorJ;9ECt)ZIS
zT6JQJJbXFgZaI1;6Ez_JUCBmV)l#8EjV}R#60OB)TqkusGA7u`JFacy&|no4nR}>)
zQ&%FU_;S1q1c-8D9<3G-BtU}U(-24fA^aXUq64A~kIP3Ut+R|gb^D0UZv1K8$p2~G
z$o~jOzE5%SzU`6!5uM%m5uM%mle&@rA>GLTX`S6TrL!BSCb#Xz1NAf_Ox5fN-cb{h
zyJk%&t;%2rlsb0?cu~3Lu+&Q%FTecqX2nQRWFazP<|?Im0TD3JIqs%(9?v!1#(7xX
z7t#$Pw;i25`vgA~sxG7TUpg5(P`t*cU(J&x$ocYB7KCbE2qjWz(|VC~_Bt{x_-)0l
zQ(ySP7fz>*PA_@n3EIatGN|U9;<lSi;l?T_y4nbvo_ONPC!d_J2Kb7DM;@H|;0HfA
zTKL}Y{_gMo{^w)1;s&1{uR5Y*wz3-7DN6}HUsf+~VcI70=x;(3P<i_Orc#;cWLhrC
z+>lGE;(Fj2D0QGHXtlH!L~jatrq>^*ZgdT(6#>W~m1T*ODE8C&V06rvHuHCL`U;Sv
zD^!rAFMQ`a-#NRQE>!22Hn!|oIo7T8m5XHIxFQFw{In~Yo3klpG(fRon>&A=wItmT
zX3zfNS6_nTX1UhJ<?R}Y9cXbg3p}AtzPBS7M!I1w90?*d=w*fS1Yln9`2#Is!iV9O
zAk%*&GQsF2@WQ6hAP7)Oldu2_7l~$66|~RH4x5e078T=Ah6q$Pc7VzC_inepr{mgX
z{xbi(`yGdC{_MGBemVPMqr(h7@N>3byqiH&foE6w`egGL++VxMv|%i<-}UC$0ZS`i
z)oLLzVaZ!nR#vM_Qx|vuqn+#Z`$&^jn^tElOiCd;5kyj`6WH8FA)i4+RiiOyaH9h}
zhMaMD7?U7iEMPFq&#5TX6rG`HF25&sz&(l{8FMGOnxseAP)(jzUTG!VY4OuFp{Kjk
z58~Am8hiJ<-#r?T78K#g1ldWGpSO6FEY9MFv7K+~Fm9NSA4hTZnv*AKjPeW>u3!7w
zqH{NP`@7#AJ5aN8kPBb2T1`svQKeYLkYv`ZC7Yt!n`TS8;50z9%581B6l)mg)MYZ&
zo8)opgnLbqp=?uld)&>e62Ha>t(6^&$d<N18&-O&y&y(lnpkN#YV1~)qdQiW48t#J
zlolv{<7UAw_KrK~-bxb{aT)lYM%dB5H%32H#T5<Pm7)?3XA~dP*so;5nKZY<X0S%R
zZj?8JsKr&o8c9^u(4VL{i7jjYL|4kX!Dcjq+~}i^nOPVRBn(XSk>$Zcg*1R=VvRL0
zdi2U`%Ha)5B!n$VFxFy$AeN2lG&7z9{cJIZeWr4BtO^S)K}U-WYH6}!p@y%`=b(7p
z<+NKHSZVY-aeEYZWP%ICmcqYKYCyCY$Y>8>@l=d+S1pPV-{f-sfTYolCGlso$V>WR
zOXugJqB71}qMddhacgR4sET#CeMP!}^W4U=pD!V;oB|_)OM$?hSZlP$s#F!1TnqH4
z+@4xN?X)E^Y=Oh@`5f(6a#3SKp_dMXztPUXAVF(ssTuNxItJq_Mz7f8gZ+lpEk1t*
zt_EX=vPFY!#S!iCD0!t_j4LbMy=%3?MnL+)Sn(hm4f<!O>&1^wT4z}T)a^%g>&1`i
z){7t2trzd)$eqL)^t@j`s#`DgykGCqtrzc_+_se7sar4f>>FX-dNCU3RF!<Lz>Ohd
z&u9QVDR&vLaI-2o&CMk2PZ+k5p|&<PqbV(!@V<TIBt(KuQ`1G6Q%%}4y4zx-=eTNR
zeRY!=)R01?YBs)xhAM&^ZWPYrJ)FI=$q`TUfxCBi$*|<Fm8u7|(cQ`SHyV}(fpm9K
z?33_rShX<IlGGbB#F|9Y3N@>N7JgO-sgblRjOqxt&}V}Js|c_O7266<*J>{E_N}x{
z;IQ>vv05{`eM~cRAvSt|iFIjyQ>uvT<~bT4d5xuP(-Ycr;J{q_EpLDO+YgMo=H`?U
zJ`fg3P6&cCVwVXL&*$fSR$eGC$8$wOGgMmG*JGpoA`BlYI}~cg(g}v!{O;~9X(-U|
z>k{x|e{VZ}+yTfu$XsE~OL~*;z{PydZi>1akoMzY5bARot1)WBF=}pXZco9ObB^WD
zE^}ujonu-$_1`GSDMm)UGAEgFtaQc(Pfb>*M@Yb-y|fr5bLVrTZh@RchF~U=Tctt@
zg+r@YV%?C*jipo)4oOos5gVoUzyW)7D^tltYarTax3tq(%WUoJbeKDs(_LXd9GV!n
zL-6Aw2NDjL3nf7((I=97*$}?utVyuq8*{NyLR3wPyQOMD23H}TntL%zLlDBN%{t|$
zq#ZF%Fbg6>gh)6c;n89Mpt}9uFtOLBfgk}jmI6+;fjNsiNkLH-676o#<2$#Mc;#Dp
zb9rF}s{Xumci7B>8e;*A1eva!PZ{p)Y$1eh?CczCiMkCHx6M+irpVr`Z^cFlbEE21
zvydLt<Tq<*Bw`|rT{9?RVS(ahT&swTQ|X>91C*4IoD<|JlBvUem9wKa;OG`Qj4+bu
zH$ww%S3?11*Q^vskh|4h7h9Q{+byLcSgEF%o5@kFOP<o}0^H!HX3%URYCymOOv-PP
zldFTqZ{{<V-}+U>@Gz#c1I~LhX_jC6O-IF2?&vnw*B7$C^{B}c47uRqCF?A<Y44<U
z7WJWSy*gbJ(CHdIPO_IHB?jE9vrT(-x+b8rO#?bz6VU0JfKJyqr~ZDg%=7d@V&Umm
zHmLL3$iuZH)PXm)nCI7@yzu0&|M%1OKKto)<xAiH*L!#M?0Wy*yX(pN?jGgMk<U=G
zZM^@E`%fs3D_^ueSh`Sp;23`3?|uK<j*ShC9Xqr$<PGf{RDL8vw10bx;U!sZ#+Ab5
zsAn+f3J!FDW2`&PSP(9mEw61c&*X6H@Z|p1YP{NNS9X8@Usvd(ypl|tob)Cmn*ABi
z>0+UT*+@0Y)vL;BURcc*v#Xmq(gLv1CwSpo*EX&_{>+@oYnt0sz8Cq7b|%>BQM?R~
zfqccZMDv}K)>&?jx_NYW(y6<XPTi^@_+81PIdykZAI*2_?xa4N@6_E%=k}chKhL-~
z)r%`vOwZ5$55-hTyzsZmXHPVLrTNZjQ^wTNYO-X5ifO?*w$J2V+^LxS;oe(K#tOX>
z4T?>YM5uz+9@D`$y;m{0{5x(n{P?FS<()P)%E@)p<ugw!%Cw=g^I@_<t7|X57&Do1
z7(v=q6%$@U%2ab^I6}s>Wzss!#i^S`Cy9SLW_dfWVbqQ3n_-!aliOq3s9Qg&=8DWj
zD2`xfmYqX(<Fbp(&LBIZ?3$688SNoLVu|N7THW|ZC#|!}_3dN2EBm<a9)DbSk3Y__
zZ{r?+Om~kzuA8kNo7}##59zM#XLR@YW83#w*{i#<TXk2~r`5BRW!<GYFFIbLp)?K6
z<G3l+tt}ceR0#@DdXUfaXNwu_XS3i<KEkAq?DTj*Uts#-Qqtnc5#X;_o_Ht@(VuMX
ze6ZQ!Zf}nr(yHiGY)K}*EP>T{iM6P-*5)zSvllPc>t)f3ID4zBD;F=?=!VkjvdOx^
zszP+j7}*JszL_K9mTS5?O{TygYdyWJ(Z>NPoPgqIKkD2b2=Ct?I|OYIKp_f!1PU*m
zmCN9r$<rAZ6Od2hFl?y(^Ds*3TS?+htn_pPr!peObab2@@mE0$2yy@`-{FMooHJ%|
zFw`3arHyv)I%}X(NvyBO4#n5iSZGB+Oz|{}OFF)a4YF$a_L-#`RW&D1mW1e~v$uDs
zJK%7X=kXQis`!>HJ7!~aT#z@?qsGosLCfS6WG=!P5egweBi=mAQA_Vjgn|tjz)rD4
zEo~ea4*FqzfiMMG1zK7#QG#J<z!`>s-wi`wdpk8CJ>6haLnQfuL@F3O#)iQZ9cT4o
zA?C)hkZ}`1g<AxxCTTZ`g@`F_wiZ}BK}{42v37b)u*u8pw0~w+bE7j12Dji`V7CC@
zMGEVl|GXtWjYngPVAYo*hGc-0aZ)Ol4%sEy>~z2>1`5|pSlO#K(zZG&Lo%3w=D>P^
z%n=#HG=V@(K>+nCzGakgKuefLWG9_*)i}LHspbg?K_>$ujKj*%QnHl_Td1^JxdLYG
zkZQ37p(O(d)YgS1+0{m?rKT$c7~bUU>w_&rqE#+3CjL-gpW5|;ucOB=13<p79@$By
z9elN+ki!6jcR4<f&jMc`UQDJY^q-mJ9F|!*m!F%99jZu`7%^Yjmt+hQxJG8xB4{D%
za|txpWJd9Jz%1D;E}6x`H&x{F3{fB6x1zF+a!uG%4oazDShPo^br;;*>PDFu&Zq^W
z0>7p)Lutt_Bczp(h#I9;v9r|bf<i7yU0<`v2}o`PG*@z!E-7A2l9+H78=_n>cq{%`
zQtZKq*+<UMJ_EbE0DiEA10qx#xrf+6tW8EcCy7+G0iabKHmN)1p5O%u#6;@4AW6cU
z<IY;mqAJyy+s+~KP9_Z-d0viG&B(@#Pu>ku%f|IkV_>tz4%x&mwBl8g^s$N2W`=-=
zGM`4+=LBg~gI=F~t%y1*KuSQdYLJ>cyv_(CBQ{R+6uelhIkp<l7z`3Xq2VT8FSQSx
zLAelMj3^ekPY@ry41hXCjZASmuL!=y^r+JOO$mgn9;r0_rr9wES-v=}WTK`rYhJ{N
zn=X#0DXQ2we1<Yv@!xIYW70^0aGP{ZasH0d{0((wb52=jQR(XDoZ8OV>#Jv-Q|5jS
zn3RL;{D`%7v+7y9PXFt>7V4{K?K=H$pW0s8bTM>^9LODoAig@Sq}6B6!nCrWKHF@C
zFGqd$%HC;Zzi}>eYTDqGRo`-=In|h@A56VIP3m6KE7OL6Vyya{(}sd#ELdyPhDF8b
zY}je4r5M{w{%HenLf&a;-6a#tV%YltRsXW;@1C;Ga=GfJ=dA3T5=%#u$AnHcxANkI
z;!^fc8E)hk^!>+nPi?P_x9Zl$-Ba6M^WfAre$uO38@qICqckAX5PMPrV|IHOY0~=C
zra0V?=3qjW6f@DMnwctaHK8Le9mg6h9(Q<XXo$E#+Fkdx23-RKL3=aRv<ExTg*2IF
z@lZEH<iPEM#)`?_ByXCt`Kk)>4fz=4t{P@W6Y9}s^W&IN(c#ZPq1}L2MH(}$<b4Bh
zE#UT$^Xu%8Ix`5vaIvYe<6Og7DByS0NlS@3Qv#HoC{_^nbQ5Z#zZ%e1g10RQaT9Pr
z_R@402Uf8}IUhzcdNyi=j6iY|D$AxeV7N>#3I`%0Gx-34<rEyrLd^zUDH%VQEJY+-
zf*@ujKxMReGNj-)S?@E2N-nkKSxlA{Hy}*XDKNQu+;TJrb6Kbwyd+RZ#1`<%EjDWW
zOu%+PZ<4iA45dmm0PzXw<3dqdoKeHif)W7<6c(VOBv6^VETdLKRdURLL}PL<C9T4}
z5!qs=IZ!$Es%YEhw2R!TBn~LEGtsCG#}3US$2l4mfD^dg&Bip5LpnlM6o>M#()=Be
za7_9crTH*LZ9I^T`wZrv;HG$PoRL;ZGg?JkXwo{%kX5&k&h`uGY`>7s_5&xQ&i#<i
z_6zB3zmRV3cTR1iPePO1<2$rH_n|Ukj;ot}u~Muou3+igDejnCm{Zmi`%}3@?x`2B
z`R$42#N*$6Tsf)OyQ-FISBojoYNws}f$;-MzhXa{bLNhYS$FKS?>f5c6Ce77a+hKs
z47LXcdvOOKopOX*!-`j6JlE^c?5!*)t*y8Qc8W8CfgruT>|>BvjqSimu-o1C;r?Nm
zIPHW`Yt&yR*U7?{*W>F-QnA}!J85&)qj<7W8!_8!Ti28od&$r+z!hAr(igk}vnKIU
z`=+I4+05Wf*wdTo^Ow(aT|az}!ZNun`<r<bH>-|}z@au1p?fU5A=$lCc5jefRd(I7
zJ0QDDvP;OWAiE{mnPrC$@_*tro{)1tD7&5;&(6xTdD(4WV@iJI;<amZOj>7|7V75E
z%^{C&4taEQ$itE1BYSjn$fKJ>j>+vc!lS#7`mVp8?Kz~}>^@qO2AkAxKVrFJ^hh~2
z9eyt-2BbNim?M_fubz1;v4jXH-k7D+;u)b7Sv88(B@oxy;&nE>YL{d9Y%N{BdbfIn
z{6Zu_>W?1*A*gaxs2!Xw4X34mvG|Ck+~Zq8=S7$(F;r3H5p}25y&s>n&LRMHJFb(K
zzV7{)PFj;3DbhNwlh$#aw2tefbxbEMeLuG2I%(-w)Lzv7#j_O9QB#-NSe*x0-E2x1
zwk>MoEVw_@#!DNnh}$J?VXy|V9{~|rd!+Sz-ZaxYJ3ITeFIDP5r)%@4UwY!3k3H6C
zJoeaQ-?)@viBSHIw}1WBaKzmT{7MRRC9r6TSdXkc@x&AB)|uY@`}a>Az{X7^vIa-@
z1j!`n)_hxU&_d)`0f=j8bHz-=0<r$c2*<2}F5c1|n(6(>M?UhipE!4xQ1+6k_4v<z
z>eHW|oBQ;qKmEp?ZqlBVD^43GI-;O!=#v{YFFf@W?yz;_*hfG5(L46c^a@Vw9>MK`
z+}*u*-@fbJeRuDd*OaM<>9F5nj<g9Sg0O({{hOPI4-W~WVduc%7^9<C0xP|EN9|p9
zV7ZjR0~u;*ZM9f9rpsetZKY}Gw6Qmsr!AGNmAt~of#I-TquMH9D$Vp_gp42X!nSR8
zb`ACQ508yG9H8xPq4b}(@8Ru-2ICR;7RY*%bw;~~3g(FQ8E1cgzb!M<i-=a2B!+Bk
z(iKtCsM5814d4tXBn9rqwTwMN2o#r140%j{gwP_MNXa-8z)@daA@phnoMXz+%|&f6
zx{#~kYnq9nMGV$T#9WaEXHj!-VBq}ui1n<n5uAH|rk7-JR*0u9)b+up1PhPaaFisl
z44V?)O%{O8N3u@Km21t;#N{u~^b%aSZ~><dK!Q@)xNzor_m|B~1)rHprD<cf+Kjj{
zDI~UQpdS{WWlcyk>-DV}oFhW9kMaZL{a2?YMmIENon?}!+tAdu{XVF(QAcz(s;uEM
zqlTuoZPXo8+dXmzr?&M^NH?Q~r~ZL8T!l6O<R=R#DFI1V$qyZ#Sqvcho)HI9nzaSG
zXdh^^b$3IX(9;LC9Rr=z37G8}fIm?sK;4?GuVUh0<Q(qU?RJ>WZ3p&E+n1Gv<wQ|g
zRw&`tj*x?#|IeX+*BP|idnZ2r)6<rxl*hk&HW4vArP%ik?Ck0c_m7{Lw&j#e4su*E
z@&ht<U3dzbZ-H0uoWDkVJP!Bu#v<A5hT^bMn56_r(LTSry09R$>{l<-8u>+un^D>t
zF?-!81X}NKIX2+r24I0|84HChKzkKS1k(`1E2dat=9GI$F^PVhwsk2~%PC!)zxMUq
zUX#h0D(5iw7^CSd0UJAC4^}H;Ka-dvZ;?EIY1-DRw71%n*6Vh|%@EeTy7i`4r$M{>
zwfo(zyWjfgx}Jp~IJIpzbnEVSuTF#BgbPl=--hml4#Gi4&SJiOxO2Dm5@fXgA^)<=
z{K>Z-c&p+GJ8<5e9XpR4IWh(jqpMIbc{@fZq4XLHG0%Y@6SVE{{m|;%2Th`Decje~
z7=?AH&%7>_Dq^#<+4@^rI>+{pz0p<$n-j2tU6Zgix0YkLv+6O$WRmzsDQ<i2<g1r1
zoqA63WTYSQR$2x5px#}7_=kV?zrKbx{_FqsXMd>j35b~wRL<$dS1?;gy4wBiUFub!
zRLuAvi;L!9qu|5_<O@ywGumM3D(6x;5`79d#imK|Y?Z~UPh11JF%L@-Arg?h1mF_+
zhCTKfmz4QPAb|{YkzdhAioiddN-=)DcK6Vfbym5)9n#I{+jKMfkZwj#^eak0aVdv&
zclfYwMjzJA=-YI6_*UH=)}z`+rnWtD|F+jjK8_J98~#%=S&fD)O&3{w`u9-H(dt+G
zwGoM)ZliQf?TSGoAabjKLj+d<PpRZ1iqVj>(T3k>1(mRqB71H;UJqKcjaY37Xehb5
zjIf%eamQqvQ9Aqk2k{+43dPbC=}8ed#o)L_CbY|Rh+-_W+OxXoq2Ak#|H*86Sn0g$
zuD9QL=bd|$pt%B7tg*~zmKhrqRJFn-*Vf{*mn9Du@9FO9>IyogGhg!|l>kLFFB=sE
z3?<*#&e5Tc{*Ly}aA#X*XV*b6<VK0%NHp3Qvm5F%pBsi^RJ>wCMCr8K!HyR5N=D=W
z0VGR&N=@Wq3r)A-!!erJ@W<tW=`I_W>GKH{M#8XGsFrK#xD-S$u4jo|5y78sv)L(f
zVQA4w5bp&NI%wqCcpqFe$ccz)!@vL(AO%PYfxfAC17w5{w_v|;BV<#9UBu=(RRZcu
zYt>|>S*=rz#7QTX*0T`lz{_gRK(JYlc^d2R>&CMciK|(xGfJC!M``O+XMy8-)ssh9
zxS5gZfPA*RM2u55B+Ba#DQ#4%v1DgVv?DSQLBkr5FadhD%9{kSWs+->)-KX^xbdqV
zmTtKNvJl{TyA7rq09jd2jfPN+*c_>i7^Fntv1~5m9%)5-9U1q-%+&nz{Hn6}4X0%{
zCcFD&r}`Wjd8VdtTIJbQ*{#SfFS`ZVS!CxDpF`Lv4^CQVmFwF<ofWO`D}GS72He82
z60<v~v!V~`tmp%i+iU)T$?Y{@zg|P=)&PBdTZhUCSjkDpyL?fg@pNEfN;hCrjTo)u
zD}2qGi5}w+Z4q@Mi{OiOq$CENS)n)Vm9_XhRx1RPyr-=E4exQ0bMV!RR;9Ps-JmRP
zK5g{%#yXrbq)6nDOb<Fj*ot9ilaVO|s)YOGdl>%8;$p$*0vPH9&lT$kQ~gyk2S=pL
zqjmhg`|djsZlITIxOwCn<a=r~o0^^7G<O_3b}Ve(oQ-vKg$bvJJ9`EO26{XD_@4f*
zRzUi#%54$MuNYx)*e<d)LTMgs-C8!Lfn5a~(ZL#sJ?xNLRcP0V{ir3J=&4@5kAmK)
z&j>>t+6%@%n0JZc#5x=@UtI#;2zk6M#LLKB@rq5nEh9kmsLyPxDcJG`!3^5##Y`+%
zkyZc|A)(I}OF1G{AWfshh1YotYZxN08x_`=reNpkz((614hU3Ba+k8DErhyNQZU6O
zHiaaJF#F(wAz+8xFms8!cf_=CpDc-@4+*h(={#nX(guP}xIGo3N)d-au{SARrHr+s
zsJc>RiRx#{Dfy0~0Yldy{Q0m>`ivCXwzbi_oIwIYu`TxdzX7g5k!aKp12@p48`XN;
zK+oj1C9B5`cy;TZE)uPHPHir1o_ad(H~Vwz8g2l%+V%f2&lk@=dG?FHzR_pzTRWxU
z2EfN({~z<*-My>l?)Uek>gk@{ii#WfqVeec$4)3;R35k9ajAIajt5@D4d9|&{~z-l
z8XOxubZp2Q@(u0$hj0U(o}jmLz?84&%q|T#fbVhrf6Q}B$8g6jlh$~3)83}x1}dN`
zwf`~C7Cm>jR?1G3vy>8_hgIga|1r-gk{GYNa#3j*E?=Ri$!9#9#N{?ui?k&uW+d~;
zy?^b0%=66VwasT9-|(2+8*_puu$UqEGubGhsWxd1EXG-hC0_2bd(t|KI#M^cPIuXL
z_N$()Q}PXVtecxv2>!tNhRJQ~#=dRcP*nB1lg&3zPd5H6^01-#&B^9lwddye-};qZ
zk%yJjlg$qshm;2+51WhEY%pCtJZ)NEqf5oZ2J0_RDvwQ18h(W5&L4;4pXc53_YWR|
z?ek%?VSfj4mxs-kko4$y*zCV8hyBUlJFJRT9uE;o<nbRXAG=Psi+o()Cm*Lyx4U$+
zz@^jeH_gZB<l}msd_dy<95ShMqRMwBn;+--5*HJH#;f%6cskOryoJZ&f;3#@qQdLM
z1Q{eTgY^TG$|KX01cx3rIqvyI27E#e*f%D65uG}1vWF!n$5XR~zCA^e(ViR?Jsf5B
ziR`9L(6;VW57D&6KV}^1u_-^uIQl{5^ty3$qWOO}oybN8L-PxhO`G<7+Vr>`EZoD>
zlg*FPS?iEo(u!Go9Bl!{@$j@Lg)BqoE4<V23zNzPo_|`7J9tpJ7m*kWSk!R$nP;X=
zfjUq5(?prH2#@wErWA(+VYudZ8A%ULT4$B(+fV3b+Jm~8_EWl%^dQIH&q(@lot5wt
zx{>sNZY2G<ZX`XR)29#Wtb_-2Bk4iiNE$!&@@7dg?L$ZI!V&Vfz{I|`77AKf7B+Lu
zbjmF0sk+&TSK(l!>|Wf$s)YWqfA2&)NhwFAX0o;I*f;7gCs|}JoNP4gzBU3wZ9aP=
z=J>B)cr_tJt#AAoq|t+fsd@(J2=LNNBg0M*lxJ3I*RER1g#L<_meJ8sKat$sPhG;a
z$fnyTKk$?LT0*UXY{}}`{f-}hXJ7gXu=~IKe68l|*?s)@@!dVXT5NplYNAxYHm`((
z?3b2;G??<=`Njiyv0k%nGgWo~Zm^d(3E6Bgly|Qr#Q65@n0)u-SXanyv*b;#j-3Z~
zj`Z!Jta7-Wrl1@1SS8ms3N!`2@U^pB8{hcGH!=ryef{fSfAWc4`-X>yPf)A#*|v}0
zbI(1!4&N)6Q>_FFTT-XK{N*pd3_FhPnX?F}I`}>z9r{b<GyV4+9S``OYu5I|_kZF8
z_q^$YAN$zH-gT?Vv~cp9pa1;l|K{X|DK<V5>K+>89`xRNf=CPv1P)QQ`K~t~p&!E7
z?pt^4*)@TOKCx>E*Jx0APh|JSOWdPG-8**Z_KDqlcI_GK>Khyz9qA2V#ZWVog6wa6
zCnl2+|HZ~FVcUj~bKLs=x2gVt%DHyuTd7sBZ*4Zx3u?Rsz7T%5p&<>w@Rpb*-*M-C
zZ|IETBSBQyw&xAI+A5M>9Jw=Mham-f2N?g1^OnP%E@{U&|J`py`^rU+7qjW|l>~lY
zi;E89O)1d?5{WAV=XqrJP#Y$T)wFTy?`G#x>0H4=d-A1IPn}$CSh#83WB4gWu~)Li
zsxjuc?}Ot(i4HvX*~#Xw4Duwi)h<O;PkeWtTiO?D4i47EqM>At_f&~p?S9JyUmfz!
z|JCpO_V-rlGT`#ov!}oMg|A++N_+P=+yiYvY7H}YJyk;LmoF@A3GR3K<O*k4EY2@7
zfKNX6BKvIO%5pX>?T!;^kR!E%^5uwOWh-j0Gz)8IlVxBFzD5Jge10?4sBVy5Tueqt
zRndB+-Rri`jOWU!%o?zqZ~VcRFblJ(^B3XM{`22@l%b!_%$fbG*N8nXtV&unseCcg
zhyO)AqHp1AfAU1yZmF6KO}C@D`NX&8ElJKd?xLGyK&r`F>AE&f8zvgD5yMTV*jq8H
zaU@q(X*imrRMKW?3Y?gdS^j9jh%mSv(N04>yEab=BGBn32>pDLaxc|nmDZbPt5j%_
zWu6&t8--Jt5J>gPWv-<qkci_2KmK<wF}ZS;Jh)sTgUTB~YPEY<E_e4(L~JnUuRi$~
zkDpsv&*dAQdT!~=3umsZ(Cy{oI&g7kAk0u~57?Tq@fMn#X7B=*&Rs#OO|aWU4;B~V
zyre)My{f`tz?w;@f!S&ZdZV52W6qyng48q>Pr|s9U0)>dsBxc1?2WRR-T88DW_;{T
zZKZ37{K-H5D?YAfDrYdozx}N<3=XAu^33<L!umt77%62if_LxgW#sO0E`IZWd}n@R
z<?5@K8uik`OS5M;3`x$dMij7`UM3j5mM%0k+`etnI*VFXH=9m}+jKfykIt}hqzxTz
z)9G-VPKVocI^3qy;m)aTo7kq);WnKPx9N2FG|-c+$V1a4;OFGQhj;Xl>YWdMiuk>}
z{w8_d4BD87GBHpda`>_8i)neNE6-kkPmM|v-jl<)=5^@~%!3Du;2~|T|3^tdx03zq
zNx`K_p;e?{GPH;kOvW+VGEIwF1Hep`f>o13N|VB}CIu6KJ}&dp4JlMa3Z`aSqyPw2
zq+n`*$oPSzFtv@;`PY*|Ns~fK8w<f3V_~;87OqRdqDg^_i*}dQu~5^buz5oY*T+KU
zbz?yqJpUkL;a^w^mLFtBNam3HYPul>n<j<2HWtd76u^PVQGmVVA*D&-@(n2%WGqBA
z8AziEjtTz%D}#TWRuEsGb2Vx*u-uS=OOt^~lL2*cauk>rc>oM24^>SDi5oI#Xj-AF
zNdb(U97T!oYa`+Plh#?(ow~hWryK9p>Ba|jTH#)f+}-a|?$znWdv&_;{W{%vuTD4K
ztFv$K)s2KZbh`1-l&7DMpX8siYtCG)BtmMXPF=bZmD6iAp$ri4kIB@uf^q^73Lq8o
zhKQlBFA{*K3`~=tOzTxiK^n|a4`4;Jp{1jn;!JpcV!OU+&1TMxbU9h4N^1L$xfk<W
z7-d^|!8%nPjS_?esg3n3$Ub7Y<Bmw6R;&X7hFslPDbRu5X0$=lWpvt&!?zrsnAp2>
zhcUM6$d>t*H&wHg+c;XgN3j9#cnfUk0|P>9-qF!rB{tp-dW&YlxACbLFGdFG8D)^V
zLc3z~!skm(tHi;ZwTkV9mtH-0?##<C*<z+&x#0NON#%2{++r0|eDAS);pCO}uwMut
zzw_?9?|$>-Bq6yw3di2?hGR#L-hSkl(U=j#|NNhk!JgiLF^I_(Q2c#x{FWM4L54O;
z8UJtm_80#6kN@a%kNRV~_IumMZw>lGoEKIorJA?gHZ+9!&HFg@q0r#<Z6CueVgM>W
zNE}W@m=V4JLax#GnZQ=nO>65kB#m#Zo2Yyu-t09?>_!63W+5xCR8q7p0f1h~3YyAV
zZLZI)R23>c%|&G^FP11N2^RmlnV25qz9xV(C>V&c6ChV3DiK3G9vOr*O%`~9GlY3S
z12iSo!E1CX$irHZuT<-?T|*{E-m<VI&0gp(#U~j&l&o{|bpePMD+Smnn?}gjnKBVL
zb@^B$J&X7xirq|79@!8)IlaI^@@_8B2sE9q#&#_?%Z0ejEali`!S)tX8zt%-bB&T@
zW-1IvO4dvHTuMc45ETqG>tqu6Sk6NL5)!IsK$5z!JA>WbVXvJ5`Fu8U^(@4KSVL>e
zb2u<3Pc1K8y?S+X1><yetq|W_TV8?I^%Z8c+6Nt~iCP7^+^rk{WMd=<RF0D%ccJ7%
zUBkECHa;B8$9APG&2)l<vYc5-E_(}GO^ju=%(w)r02_HF(V6sRc1e9GwdG<z3A3Wy
z1gVmWK+Q?#0*p-9!W*$&r@giF-?KO=TrQ_Jh2{6;v+I<IudJ-EW3FwONl&QTtEd}w
zQVxO_RHQ3L87Mc5!IW?_Z9xfJsw9L42H?U$v`t!}8!Z&J$)@g+7PDOao%Dr8(j1g}
z8c<&<)&{zJtK?GP+k?N0FqvQ@Ku?P`E<Xliux@XfKt@;~oub-|(s<}+NCx~T3)n+<
z6IL+s?)OYtXO-*Q#ME})zf-6EMs?b6PrsG}*g3VG_un(Mo%i1}wVealGqs%q=+tSy
zPM!8^nc9w{Ik&YRa7ivf-Q+=OJ#R8T_0+e&t^Lf;FK?WK=x&L|klo#hgo`%c5ldTJ
zcd69P{M&x3e1_?(R@1ND+58X9Uv2&e>#siXz0+TL;@PP4(1o@qls$V6r4A|Xw^yzA
zeDr-Eeb30DyGPy}b-dKNc#CrBlJzCD@ShrTo;N9vDO<|7`1!iwo?p6C`R~d-%72ME
z9^E(lv&xsh?0u9bX-9$`Z+OF7-g4~NTi$Z?=;-LaU57_UiML9_Vqty@ha;9Gr9!6l
z7*T$|h2&u^s$HUbhvhWgEzR1{;NWn`<qSc?<H&gG0VSWI54qAh+^F1n=NsQBKW}=|
zjve99jvYJb^Bl9StVq|3{{Dz%V`IhTT8SyG^Yz-Rubw=~G~#D<bv=G<b(MgA%+}J9
z&Dw0}5aRzW)oKgJo~<0(qG5yfW4EV<m%t8eaqPfAD&_GkE=E9M@N^*N-Y_)Q7FHM5
z3#rXQBI@u~>}fIsAiLb(wN$_TrN_TCyLjfQ#qUKOqsg`lN>5L9RH3gM{d&-VRxmCA
zU91ml7tdUZs$=gTV~^W(V^1tmpb^Rs>Xq1ZWAA46hi>fQLIgD{VTV`=)52XN4-Fc$
z@=$|Y@S$nLii{5VJw-f{hk2lV>OrbGZXspQZxn9JLy;;G9*93*_f%TKWPkoa8R#p*
z^q!do8T?Z`Gku&^FN2%m{=}wKuPaTc`JpICEX^-#-lkfVhva%BX2=7CtMWh@wLAb|
zkcS|tN8ToJM)6<_1mGSb<QQY;h+VhAZ<b^Im-b43&})y%l}F{e#RPrr$}Mu`awY1u
zSG8*g5++Aof4F|_nb%)?L%VjPTss2zhwuBp^tIp2Bft55-_q{;CGGmnH?H6Qy6dlK
z*B{WXzfXG*q<|_j?mdeTB+8f|$V_UZxp<RE!2WMV0ynFLl<BID{DdX}SP`yY&6*~G
znl=KAngrb1rPFgvF1?~jz$_y`m4I23fCQi)lI`Ed-Pgxs^vtqS&~`ztBS|M~9^7QO
zwd?5q_v)Rr0yW_Ex_0drrBi-$D*NT3Ar~#b&0T*_eM@~$f!H{&Q)I*gV77lFGSJTe
zeJ!jES5*cLO$NRjG8oikVAEvK)MQZCWKh*)(9~qGc0&d=O$IrUfxuK40{@`i|JR!T
zHy;5B?dmURSMR@Z^&{HV+qJ82XjkvmuD(;d`hs@#rSHG`?CVCrzq$^*nf|}I3<{bI
zHZ>U-Zpgr*$-tz^z^ci>p~)bi$sn)EpdvDeVoYi4UtN;`HA*rEYOl?KBa_xy7Ibwx
zGP!Mi>k&A2Ol`;F_VsJl_Yqy};fOBwa99_6I5N3yed`f82d5nU%B(~f6y+w?x6(z5
zfP_q3kTomomoL}rmoLv}F~oB#7~RuQbHw48p`tP3?u*C0UJ?&UgRieI)>W(7Y_;0C
zCm;fS;g!c8t5hC)?1>c|nY9;i-=<AnUFXk7jiA6H?qlcAcXa`qylU(_b}ZJFC+v{V
zkL`s2bkDw{M|*pZ9vw20U#s+xADK3-u6A@h;(n>4V|A5mSC?{)3gMOjcC&yj#YIq^
z9*~r4OKbN%_}~Zs{hdlo;m2y>Ofo0#HavG&pk<E3&;9JrzCrn$M<10kG~NX92QGr@
zFhPzJ7=sCJXo7rEaOkKZ?~d8s`LJ6_udhqlj|Xrm@En}6NSG$?K>^u7Q(GlA(dy<s
z-WH7VX{Zx1aB-s>5qDA;j={%J>Xl5!NGeGMSIaQjvCh!QNU21Fpf=3m_5ny<r%mE0
zM2+xgM%?q^a5mfD-`~=pOduA*TL+Dp5xVwddTp)ISX+w&6okr-0S4wRo29hVV2HRw
zS>V6Gneql#2!LBlOC;RVvT_;UIu5{``ft2{PCJ<(bT&<4c`6k(#tVF5uaJWSFNH<2
zw^uMbs$@ktJRzQ8GMgv_&L&GqsIp5%gRLBOkVdvaS>y030lyp%m_<EYm8ReBw9n67
zxpZp%RD%$ZWqrjEjL$gY!3!5Ql@8n^5Qu=<K`~n0)V1>??g1hu8WYu4$$u^T@CUV#
zqGH@fm9NUGR#rx@uXgG8tE*i}IVP{?HQivK@`c|Fps;wjs_BMHH}oS!&|)7sK<A+r
z3}PQ)CjM}21dC2L{PS`)e$AcfhZ~)XDvFPz+B$K&dNno5GI`ymnNL|jx%{>!VcDn_
zqBW8r)81hsipBNQyi<-bX`gEa$^S!=!4I0Z(%T5H&s()?=ekdm0hHX=uPCF*psvZl
zp~+xFlfeZoG)?`sT<x_RQZQ&zu!s~Wx0XLrV(@Q82KrU<^)j$%=jzmCp!&M%ILK=<
zXlOF9Yci;5GAL^@C}}cCeZLIM+DI^JpKSR*K?>JrL!Tyv%^M@(lqQ9&CWWddg@Pu9
zgeHZACWVC?Qm|<wA*e~gs!74~e}WXe+PQXXQb^p8!Wm5pWlak3)5+*AX;QeJt}1F$
zpw9LB9I|Lq@M%(@4Y|Chu1P^^m2Soib+g(PVTO`grJFHB_3AWZm(FVH)y0kUwJV-@
zG7VHXos3_)dWqUdSEwaqR2qq70^Y5d=iJo=bHluF_1s^7^RFqGbd3&;Ql)X>$_1*^
zV;+~=MKG8S@dJZ{R1mnRB>~<@b^}y>%+t};K`gnotLN^wzg^iEaeeo@-z5_O1O(!d
zm<JRM8I#Vg?h)dDw?^cH2vG~3f>KO$hFZJgfeD0AvfJzLrtG9A;>zZ;#N54ZauUs$
zr>~>cXg9WX^d1<$MLuIau}+(ru5g#l*ob*D`2yOA7Obo55;f#x-3FzZ&1I?frcqrY
z5v3Wz7LX+DSz}8JtQyVuR=oL;hcG+QXc#i6vB$_2$PKmtk#6=e4`Fv8T2PP^$R{}<
z93I$&fEtKc$5br(2PUnv+$ME<KxYX*po>FKO>SGl4{)TLd-`KKOZWpiOZa9ev-@=S
z^Z{KQT8~8^Z{(qeB$Y+a9m*u6O${|x7E`mc)oCs-EiJ7j+SU?PbC57>52Mp&ZxjjE
z1DJ;E%|Nu%WQ>JO9o^7ndYgsy<$?Ih!oot{>g$R5%c}*av_@kbIPFlUH9&jY&Gm_~
zpf&l_Q%{{dzw^cOIqNXVts_h&o4>XN3!u>$?Qb@WG}*SQy-95ohwr%Kj_yYMmFMm}
z_u`XJKDqAdy*)PW^3li;QOoHX8o|~8&~mfU?w(sNn!+T?cK2_N?`W~C1Le8Q1ho~a
z9@_6V8&OI^nu#>D`Nn9dGIxO-OuX*hb@0iKq4DwYw#M4?vGMkS%=#vVrKBE>wcY!6
z0Qa(+16^N#Dq%hNi@*4bQ+J*E(EG-mFFyL{qklm;jcudQLs@2{8f~*U8)xU{6D1*I
z&VBvQ{@@S(;B=+`$3HpQ{6+hrcYNqWAKG7i{?}sTT|H9$+0p`lr>(8EuU~rgg~J_P
zHfKwC03z#M!|q+9z3swiW<i(Ostvk8Ff^kS|0~5Z+=GT_sGi;;`BH3JgY8Q$X<z4T
z=GS5rXSO?CCh}GB*f>-!bt(KIp9+T!2_!aX*Bi+U9gV~cb*9{qqviyrhL*BcO%_r@
z&4;A>wrtT*Q*C5gqLZ~d?eSyW)7&l-8#nmeHR)JPLmr6VwNC07)Ahx*Y{ksP4Y#gz
zv>3~qP)A-x``e0EXSq~qG-rC5!pvW}X|<(mB)(E6S6jzIhg1$Yi>c+<c&$*Q$VUWE
zwm_<BIS+;Ol#l9`G8df8xVJJ@gAn7lpi6;KRaA34)<@GNNeRh`n`kEnzfZHAPPAoG
zysKn#20<aFAuB_VWL6S1GRH$8ua?ZE<9>HJd6kNatLu#mm*V+`Tqn+k&EcxiPs`4L
zETpS0gRzVS3r^h;pt8zm%+FowO48kPv0S%?W43x#I+7WUGyR6DN^K8-vF?D(Qi`au
zMQbi!ZBY5>rK=Sk&y7;;HN!xsnG}2^B5$L^rItt3bLp0{Pz}LN<BN?Kb5#DIVdN0S
zkV*<|J-N$bXUN(}AmA&jfh!A{ngBDqskXG)O$B&+AO*5R%;R&rY%l_cES-HoBK@56
zx%~-gnU^#McR?Lw`1Ajd<k}C%2LI>SpRbS86}1FILi0lG_{f??-Ey~TQJd8y1ry|Y
zguYjnP>&Y4ENNbd3a(J?wR%x~kM_C*C#IFc56cVrmy<w4lR!<Afa`_?+BFGSGzpkA
z2{eI-BY~zSfwCrn`5S&1EzQLb(c)K1StOADw=aRXCV_LB1l%_y(DgbAT#r)+Gzs)+
z5=dzhNZ*ja^)YZ=0#%Vf{+}uV3v2VgPL3+CNnl-*K;wo4sv?1?HUfl5m0R!DuD|Vd
z*Pqp*bj8T@^(>V{u$7`*ed3>b^?x5;&Z4tSe$W|kbN|b(;h+54z3ik8TGIhXKBkUl
zxAI20aQcSGLt3?_l~t|{SuD#-Tgo@DzoV#Oq&8lgQr8{(e(^!2QgHvIb(Wi|Zu@oC
z*?ygMHmS4D_V;UX%KbX)Y`+dAuwRD~*r&6&cTH{MNB7^vItyR9(rjM2vbucX!i9z9
zD_1tf2F@n{K`G9dpCz3_IH$7%TcvFAc67wTk3CkaJ@(iO&wll*U;WNAk3DvJnPb+^
zap#p#%+J#2^msy{37{MqXV1h$EPV86K7aJ+*b%CJZyP^)bR+;!#MzB>m1NA%s$;HD
zDtCz`-Bw<|bSZX%Kx53Xwx&Ja_bYcQza#$)pZZDl75jU3faYyGMjg6xiH;9GpEI*^
z>C#t@9zE($o&3sIuE*L~L?zCKooVz=1SZC4f3$bk1oRk#Z;S{Txe;`b8{|t;4Mb92
zM<9~Wo>`hQ5$X&1;2Ct<KzleKnu22|CVi$@bF0;ite`Y!$=vuRRp}ErHF`(vBi-Sh
zJNtV_!VX8fHR8sX$O9>BZ+BEyu184a#Q2XHVf3yxR<{y#iixkL>ZNoc;>I=-F2hX5
z1Wf}}?-BRh-1(P?8qX)^=C+bi)ABqHl48T~Etfa51c%!w&%o|!YZJ;UxnQ|uiNm^+
zrX;*sTiImQR7yvjV&@n^h&QN6J9Wx#KXq#UG(8*6UO9DY5#9_deQM4}6i>`A7M#W5
z@$_KSR4oBo0sogrRDugF({kUWbym5)-LD(F@7ImpkLbqk`#5&&`#g*Lb@TULowxXY
z-PpZXH+J8r8@u~-2$#;uZG2yAc6DWOInKSMyQ>6F%PAu5m!mDkr1UCTUtYcpbp71o
z>K3!LueP*=r<iRR96n4PtA~)PQ)-)~1Bn8jDq^Z->a{5Kk-L{(c>bwp&hWYED_7)m
zlUH7*1O#!$FMW?-_{+~e``6$6<~P6e<O`RS=Oa5y&pi9wbI+~R3@yEJI`VbW+MyMS
zQ=^qxqF4=nn6H;AB@C@vZ1<i+6QjfJj3-)}bYZu(5AMOOz>RZ`yy3m?eeb>Z-+wO;
zlM@HWm3PqKe&-$x_ij&PWzJ#RTDwBo%(Z01yNIqa<Pu4Y_A1WOBb^U^`Xldq=RxMv
z#EBEP<5t}A)_?b@PkoAOZ++K~pv1qS{`<D_H2=P>Jf{Bp&!&%l>?cTJd?^yDe&B;Y
z^;17}tf%_SH-fec-}}qo|NY<p=A}r>x36*y%V#de)0w={LxV>cR(BshcI4o}3FvS3
z@B81>y$PILS9vFT&b@VS?OS*CzPHrYzRQwqSyp?;3j}NsX0t^I5J<2gc?t90<PBYQ
zrHBL=!pjT9Fu!cfyi8{J5yBA600CiRyvnj9Th^{#)LZpd`(Ab5|2yZZ`%2JCOI|P~
zyKdLg)pgGK&Ue1`|KA`k8-ZK19$T_|Q$L6o-hR(LZ^z}<?KfV}ekU3+;XpJr_(3O^
zbnrr!Z000@KGTSNm+}Q_oyA@}Aj)_!BBc{|98!E!m%9-Vsfs>%Y+C#Hns)5NeSAAx
z!#zGQ7GoO#t}!nrmpYU1D&YU&93y;Bq)q^V)Zm--fdoWUEP|mH1(&=EJw;=1QfDw4
z{!xsngB=J!Y{nW#Lvwdm3sw1rLc~d;1{)DDz-ReG0GDq<)`18*)^#;{;h3#*b&+f3
zL9cEmpaP!`+YvzcHLn8Qp*x&8hw5ooP_@GyhIjhu!!u?p{;ZNt8*Sj{LqQ(osF0e0
zdo(vQGlq-mtYx8l`<gp+6u`~q$ge^6h)O$ADhS3a`~sX6(9Zy6H5+3-qha{}``(1P
z93Dj&><2Ul1>)I`)d6Z0!-R4ig?r%l;K)iu8}<4!{E3My4~9^`S0Pu*4`PCSDo{!D
zQNX&VNuE?tyO9Sa6$(8;`U?L+xxg`3+JL=JO9l@Om5sRs2ruRUCNMFXN~EU;g7AM*
z73T5)Q$r7E%oWv9GzX+jGrH#N%V#F1GgR&ukI&L&;yfB+;3*czUPkunCqMepPjESM
z=Hz+yR5YRt0{-btJf}oji?u*~J3NdQf0Q@*Vs1|`0R0T$&gua`4dN@}YkAQPO?p3&
z&y;wTkm6AYYF4?H64jX0$;c5Zog2@prSRXXr3$Ya`VhziP@(zvIF6*3;@Ybpgwhf>
z*WQIJqHfc0x=q9Bcqhffbld5y+cccZb~@{O7qW<Mn}*YE8g3EnO*%GURC}<BFe6YA
zgd_)6f~P=8bQ2$ByzU{sg5i}aa*F#oqQ*d-m<@n649}IwT*2-~g*Wce^viVMHN=6z
zDPBal9oIBg3RkLQd?V+;Wt#)Nf5Ado`W%F<Ip`I0poux~h&iaY<^Xhhn1dNH2ZPoe
zfVo8s^Bm0rFrv85c-5K$k#)fo%+eIRZZqKCyHLq#mx9+m1K=zaW2uT6(8Ub+FPVXw
zm;sY!04pBAii0L#KuKAXFe@g(ykrtY+C{wQH$)EH)-2SCS;&c5m=v?%w&Wl!W}ztL
zAY;kF*d=n{5L4i_<Nz^cF|UAHcpc?H?|-A@z-7%qP|QGH%)pG8fuJ=5x|o5In1P%%
z1HyU1LMMa}sA2}3)(qsV8HoRe%s|nafs~kmkeGqxVg_2Q8K{UEP{a&qm(4&%%s^Sp
zK>AmyL!k@y_3H<r<i+hk|H6q7vz-VBY$w72yz{*{5f0c+gabAi_*0wBYxFOi2>Wc>
zaKG(Dcw7HMRrj4Xn|C+b7E~`lOFV!pfv@3(2^0i@nxi2MgnIY^nm6Qu;g(922>&E~
z-SXxD%QWO>krV;yQbPkrxE;PiObxZS`;E;&KriInuxHv@H5~IiJvIisaWos$*PEjh
zr_bkIc-4<?Y<DF=sTP;98{k1&19;IQbsj&glty&ec7%YHvbr~nmIy$PHFed)EE^e2
zgETTSdf(eNw3!pDrcXcr{PTk;b=4{k<+R&Pf%u;7+uP{KE+o^5={lIg+konXzd!c;
z^JBPFN_~CRXP<fIrIWL>LA=_!Y{lwu;XKUke8|{c2TnPlIwfJ3<k6mxoB<oG;&nT?
z+v}+SaL}U`DYetv7p|o%O3zD2M$=kH+>F4sYY*{woTJnb_JNAF)(kjZoSN4c$iZ<K
zpKJ2Q)F8sKF_iJd;~KDMR;&Ou4lL><x>k8zJMtDG#n`<fG<{+Y5dHvhnZk>MuN*#n
z&e7c9QR|zV@~H7?bS5eY$=~<Db(N94cF$M;`l%7$Er)CC-v9ph-@HsYe3;{0-Yw#^
zV}}lnVII_=x23Hs{=M&g@0nAZTQCE?x82rD6Hz&Q*!#W*AKbG?*Dt^qIhRVNlodC>
z=RNOP<}h}D>Jty%bJq>qwryV12kfd~YcEKG*R5IB+19>p<K~<C`|o)BJ3k22$$Q`a
z&imi<(8un*|6T8V`+fIr#x$&2wPxLh&6_#<ljv@Z`o{sNPUfa7+`Mdg-wM3GqHp_F
zG@$R;wrvM4t2-hQjHj+1ZM}VXwXY3$(v1<=p$#pT{fI9sIJR)5o5k(o^tG97<>zwX
zcm%zsb7khm^B{=L<qo|v@+=(jexQEb0oO}FE)Tx=_fKIeuryJ=?t$2DGJy-g`zsNP
zUj;zGU}!)mP#J`g!1V${RW=Q1|B9voPPLeGOvDp8(~<OmwISeAs>vh)=kG4VJK!0l
zHgI8J9&_kG{-2$h%2DT#3wAUvikiu=Ab2woqNw22Jn|HIlgJiW!PspAPb;OAOW8DR
z*dq96sX;uS&7U5e$x$98Gd-Ea^Ioq55raARu~$dtOxIXlGj>l<tBj3t;6dyzRIxWF
zPn{z20U(1rUEU1j=IrTN@(+WciNeJJ`~|bKtE(j(2o&*Z;==Ixgc(9Ej3<rV0nLA%
z4#Y7hC=lRqICan#Cuhe`<Q>^e8Ah?<5?*aCTW(q1wl?3=9CVole~}24!HD1ob&(eB
zo+Lshe_fp$7tj`gi=L<p;3)(#Jw=Q>)@FjZ$efv-od6*!LL_x=Y!39i!$YZRhS#Hp
zRx@xAHn@tV*yb9TFOq}jfBr9H`I&L>9i-z$YH=z}$8#;4HryO<YYm#|3+|aXMl+GY
zo3SGN>`bi952^+H#R}@+s`)-7KpH{rfG2?Jkie^`zDmJqA4HEn@G9Hfb&buAatfMk
zuxemMRrK!wIux!7lnqUWS}UOmtW>H}V;2-9b@Jr_y9A=Jyw4A3s-P*9swtumUgIQR
zDvtpt3WNunL4XHJI;aax%@G+x1%2eWaMY^R&@u=Z1JP6u1Dn^NGIIcgGIpm*u8;=q
z0k4K6Aub3`d8?^BI2=-We3=rwEe@F&9Zqo&<c%#`R`01y2Gta*{if0;Au{o3i$)<F
zXE2C7KL`F>A)j+1HWBnpWMgUuC|)s;qlH2hICx`F5gv5kdy&SfCgbqx(p5vN)VyuX
z@p<qPxX~dN2&85UI{%{T^i2#N;4}Fz@Ki3wxOkmbyPC@24}F1>%h^fX#gNp7GxX<L
zvD|zUbA8cW(e;jwp;Mq){Gu9Yef|dr`0=SP@Zm|g%AY6ZE4r17BctL|F!keyF#9p2
zu5;PSpD#V@b9rCNwZyxfw$szzlVOkeUfP#3BMRx2ld_t$NF@;z+3llCk$r+Lt?biu
zsly?KOCJ@l4=7v7))-KB${tv+EK+a6md2Ct1Fa}<Gf1qj-J8;v=us}km(Xo7Gkx!T
z%*^sAMLPkkK~Yr8E8vS^Jl`ig%7@9LjM4Z|@j(8h)*}5$QH_S*sRJ4iyin{ac%f->
zCu72X1gtD3<IVIWug#m*NdhnqABg}r#n`K2?Db;o)UiUNFN@LVFB^S=MvoB#E|L6c
zE+&8`QaTYJm8TEC(k!_5E^t=3_d2>^IQHXz_Ik$@>=Ix@QL`i<W6i=i%>u>~#&}W&
ze(1vwg9eXSb3r!Je(n`>(P+(uNi|4#>#vvzDGHP({CDT!^@y!3WhY!Ywo<j`p(vyw
zC8S|cNJG$?0k@a|r<ei1H3Ky<10*T57aU?Qcr8&7ReX@I{F}ZX7K^OdCE=HKK^{B<
zv>#?bHL#z%R*)_T?;%~F?z$LVLjI3C+ejM(HcM?#6{|m>v<V-q2I5u5%flkL1d|${
zM~zxn+y`&g`m0yegf(mQ6)}2`7=4o%y~7&4=u+XP7`<tYzGjWSXd8V&jD9~2-MpCj
z{B_6FuDtTo*4SSaWA}-%w~DcA*4Ral3WtY{mG891p0&m<O0IcTtbG2Gm8UMXD`~*R
zRvujyOOC28W#?ac^jT~4lVbE$G5QjX9-3_zl;8@Aorwk&?h_NxaM=WS#o}`@0g5#N
zH6i*){>wAKj{Npe|3VbOj{No!TNHti-|mGK@Q^Kv@F80i;X}44!uxDdg!kF(AbU;T
zJNg%*2;2MTtpK(Tu&6*4&_T_t6N*x9ZXE6RlS$CQqLivo)w5GTaGC%aE;$SrqHBof
z+2aMJoyS`QNnTE6g-I~15D^1RNTt@^?l!@VFq-Cpc4Hkd^<n>ez+d1_j9nO+JpKH0
zVA?)EH3Od@KU4IKzx>_re)rHw8MzgcJsVw<$(eyjW2xebG^SFs@oAkUjwP}%-jPp1
zwx+UudtL1Uoc>XzW4p1Ax?Hk_sdMLN^TA-%QPn$^gI&BONcCwzQ%DDwAv3%@2$yTD
z#JZwu%vw2<L~Oj8h%+9k^A|N&K=^wq`~pBw962)MXhfc^Nt-%i^b8M=j*re9{_gi)
zjdynz^t^A^J05=c;p;mcRL?ekVW{)oTUnI;x!&HHMZIB)-5Fg|tz^f}kE1y4>`SJ)
zc13&ATi@Lm#)s<x1!Jx}_Sh?~O-QnB_8fi8Kt<r1zOL@py2j<}wryIrysc-$4R_pe
z$F{Xy@S{=lxN_|}<k!}(T?HVGRqQ>{HOOrt&=U!IOw`OZG}VFe4w(>4zUC$#Qy+ju
zTz+JM00vPqS^#4Qk4UDR@e?=$apYqbRkb<bfpd>el#*FMW>^OpiKdp2XRE*iGu(jk
z=2f^i(A*A`%c1xjuoH;tsEQNx4W5wS8?38?KzN*P%5?eN@Oki8gT%vIQwih^I4PA<
z5x!ipq*04Lc!BFlJd_H-We{m|#dP5t>qvbY_;l492!asY=kPalwl#M4El2LMF;s`~
z23kUDT{AkFx|+P0MkkP(+q@nJkaitfIh{orr_Wn8y}j^)k^Kdvu1}-Y4pMHbnjACM
zq2d6)r#Q@9CJ)xiN@^Ou>}*CnTS)<ZBME7p%@TBY4OMw<sD{H(Yo_Y;!y7JC6tk2<
zjDe`8dCUg~SU2<Vee>K?XEc|J`E-K$lxkvf2-*DN#LF+Ergb)1jD?GHrCKhIuB)*G
zka@K{HcxY<ta!t18drUx3<wVL9;60Y86k`PzEVerpXcGoWow=e@DRgyMS-0L_Fph1
zAbXKbq6#C0>P2)fRjTD&8kG=$$RpCNWRxm^Q8ZgI6&KJc${;Jm=B?JyrM1t;G0Uth
z>-_>W9mOirV-2B7YGk5ZP%C4nUwY}K;TfROxS$BiGXnQ;rbtx*(2K3$c6WnC#&p!T
zdY$Q1Q3o)IaEndQR;zt|A(o(eKeMjSSdD>Tam{iCSSv^t5?wq!mbVK0@P!-2bX2bo
z#g7j1&^bLOw^sm#fFn!)vI-9HTFjd-qMB59x=iMB{2ADri(gh-Tk9M#6hu}4eak`2
zK*g&>^9KNR|Cg_L-q<bfYt7=l_VY#um^;~7KK3(VJuep)H#gr&rdH^;rKu%~?Rc?~
z4&3w#X==r({0hH#66EXq5gQSX*9B>6iIe8vuQjw|`r0vT0p-fb@AmBF^E`Q;y$hL(
z#VW1r{h)RZL3_8)rPY>ISz=WLd&mA50Fueuh=IOp0L})vB)sK!F#`jNM%K1?LaoOn
zh@bRjm<a0VK?02Y&pG-C!bQ;W5i_`kajnWHug&tf8sBRvl5l08L-e*|KrWgLt~Qay
zt#2VQXr)QOD^BTw(hTqdjULZ|`c;TQlEx2UA(6|Rk?CASy~Jx}Ov_ti2JE)iFMFQ?
z-vMJ95i{TrGvK~t2EZqXQToLUG+Q%pG4I303;-DcK1WT=fLMNf9>MayHO7Bs38>I+
z!1v9I@u$W3FNpC6EeR-!@w>$M{nq$r=ks190h$=U&yoP3mWfYv{)Wsz*_wf@n1P&_
zfk`m~4b}_<Y%>tNOafFP0jih*mo)=`&9~;1WPoZeckR^=GV6A;&HBF47J<3hW_|C%
zd#NL4mrWbqY_q<%+p0R&?_J2@-LQ9|qG6XUhiC7Isjq`&g(HhBGSM?lKhz=DgiONp
z@VWfhP^OZdy)bmPE?F=OQwR```ZIN1^>~}kI)41)7XgEsN{yZP`Hx?inR$WAWhP+a
z#LqnY1RA8;h7vHr=0=XAj^=r4@LskN-7OpYnqfBh(BzHsHu}?K2%?sU?!&DxraZw`
zwXUtrQ!aagZ4F^9mxDd$n)V{H40;HjVI4Qz(AVU`-*q<i+^|yDSE81)$%O#Av#EC{
znycD86%;>JJ#DA~t3P(Ex%vFzpZ@fxN6shkcgKy6-rkNj!7|#`4hG1k&V|Pvy=a_j
z64WTLLs4ku$mc=COZ^F89YJ)BT25dV%9azFJ8BLRBTx|Ur=RLtTm7I|ZEbZmG}R;5
z7i?<ks0+9qc&4?v=uS-nx|J~DIyP?X>ug3=tg&;$#_K|%>(;F4ZHvIftZQ4f2H&Es
zC5UuSsJRPcSd&hN!=gIr{Fs2cHqe%hDHC%i3plwFiYM~r^mM#9H=RH^)a>+R2#!!{
zdV0>44@E*SXB=QQ#e`$J@xQog8O^ViGg0g6clb<@>;%%9p8>ZQ3p77Ikqn>(DikPx
zQ7M>$fD}KJeMmro1+G-ns^Dyi;m@F6Go7!&%&g_J;I^!#79MA&pe&k1LW84P3yeFV
zP(JSq!{rM5G@=0eTQHaXXT)k`ee#F;^@9+9akG1>AF}1UAF}Ng@>FTBe5ilHa(KwL
zS3YR-RP7k$c2CugQ69E=s_T*{6r7rZu?`-bJo*BW*GqsDrxI{gvT-=3L*tI~BeNNk
zGJMb@8j_6F5|8yNT5(R;pb!wuT(E&M*Jf^fsADb;b3e=6&Bi(c$UAmy495KQtJBEk
zluC2w#-^vTEy4W6QTU}leL?^6&rgk2C<g=Ow5CDfr3_iLnkRKOR|1GNKE0Tzb*`a=
zbZzFvpWSfoWjLpktbT*BF3{f9+uPgf^8#rbHH`37P4wBg&G;PiwxBX}^|JJe?s{(-
z&gnGFAZ?D&3C&n<wWtI&G`>O9(9>U@z5w$&=LoOd{AyDt{J@YSH)yQu-gU=)_uY46
zTXTK5Ef)vZ-b6JFM)K<6Q><nCr#|(m550Y4&)sWUGEYDK^eaHzSaYgUsyTpV$%{!x
zk1yc&pjlA$*5{5r@h|`KFLBp(?|byWZM_{>=6$aC|2Eb=_`rKV@PQB9djkN`J0k7G
zGq`g5O?TY=TY!b!u?1g!<HlRIZr!#6`Q-k7_6N~5TQ{ukX%Apxm|9jmf#%LNH{N*T
zj%_=UEnm43u3Tql2URGB8{ySm+CqkwBxK7Vx7c_dF4CCrDxF%f>TqEnH`NDOW4+(4
zlCXnwKr7)-XqY6ks{2)5rE1F>8Z`6d4WakdAD$C+2)bE<TUp=IjE?|3z0cnjQ9%0V
z_BX?Ab*2h>upNPdzV_P6<;@`n)R+hlWMO=HpqzQN=xfnIt3oJ_4v#uF4liz&xm&u2
z>Y9;!^_v;^l^JX$unH6KArv*-t!goYM`bWyq0?-1baIwYPNj1-s&Yq976^vnq=-f=
zwVVNEmSQy4%BBaNG?K5S#8h221xW-gIGVDK42~cOGcgO?#u-);wCoe{WO7s|Tzb_0
zo*m7-{OX1243ro6b)w-sb%>HQx_ou4m^U4zSYtjl>I%UNc4^2ucIM_FXBF;gLknD<
zxSNqEC$|{C2K-a_id9o{nAIXwd?u@A^VmG_05#YURKU8QIs?gZ2YFOutqQUz{AGY!
zX477g0R`fy3o{ZQhx0p`%@vAy6)qbbN~~J}U1GKTG&&5<UvLeNCGsjp?1#0!2H>6?
z)IA6tIanUm^<`?ttCSqU254?)H9d5yYjy&kn65gTjc+o(A36$p>Mx0Ro&V{Tb1REQ
z7GH1s-frFgazwoZqFS=<(&XuJeL30p0paE~d_>y!GOp@~kbRGcyRh$TEG~Y_C&G%R
z2rE`bq?;!oEd=`4wZv6v^lx5nkz1oz#OU2(^bs-oMlt#rxwE_?#$LK?>~S%68B;D=
zV;8}6ROP=l?D{LO{G2uRvtsNXG4>|g*vUho(FernTdmROtd%c`(aT&)$r`=Pr4aJn
zwXXb9>y($`*Is$_1#9$kV)PX;`n(u@*phpv7`<DJK5UIXYmL4lMz09DcUYsZig0@A
zEi(Em`*bxczEc*XZ{AG1e%qtu)ptEAcl~v2Io7@$rd?m`mb>0dI2O<q1z-i>wKVy(
zb7!PiuMpZLUUR@ukn4Y2zkU##S=?^7c{KetEA4ihm3BMc*^l_nZT$;Y+U+(g?KYd0
zcAG7qaH}n!aGTAeS#Pt_Hrw(E3apiAJMK=7Pmx(NK6BwL9!-@{MC9Ye@iRECKrL&y
zlF1y-E2<aqySS^21GC6|u+p4HkLa+$-FIF%_R^t4hhBK~>BsTtSgHg=#7w;KefD&e
z_x2hsLqpT}2%N7tHo{6M3)3s5G{F`N7(Excn_-%)q2jgG>$c$5?kx@v50_l+ThPJC
z(TJh=d^!%3eg0yu4m7wM>MPS|)SfhYMAr=N{^)lfdKfi&?|tZ_e}LPrmc&nf@{@FU
z_aCrZqkIH(cCD=-o8_wLXivsh+=S5n>cY#9J@(ikqet|^;BMoM{r8|g@2*|jHzMM{
zVe^*jaoe<E9s5`mhpf@EaU&Jht?3MrG1J!FiUO>b_MT<SmUS9EIH|?0Sj^OLAOpXE
zcs0>^FK%WIt}*)M45hi*XQ0^<WhfqkGFE0pK-B2LlsO!@Yxaru?|>^9!6U!wz~Rre
zPy=8yXdarqUaEUT5EY{-@k|W{wZclU2KMz}`rK~Zt#4^)hCR_y*Ga%)Z7w%XY=^gJ
zHR}^!p#^CNd<0H>7!_G%3YnmG2g_n%YetV~cER1*v+*fh663>Xafwe;;;0ax7)K@%
zC0+(dOyjZonwq5*<yr*>(U`{vdqFdlq2b|Z`|$A4tA{61nR#w#@RgUamV+m!F>AAf
zBf}tRMAMF;96fqIR-aKxH0rC*9EJUGD&T_Q384Uosl$-~jcF>KhS7%(84Qr18epoR
zCxB2>;C`Xkz6#V7grW_<q81BqMav2i{XsNEy9(}JJ$3dhj6x8UpTI4i(_m<-rT7WZ
zMT1+}03tT}$6)l~V>H)X98G*lHHZe5dgB1lPBcRW|7X=eaV?PFYJ4B6It_&EO}KIn
zL#=5g5E+A-Sv3x*Rn3FSv|_1Rj48;e0PwAX_ZJEV@oUC_7GSu_z6_jn&gu;`2mS_}
z4jD^7P6++z75cG7=*KooKduw{(Ixa_(9(~BoC7-0BlKfU=*Obak1?SgDV8jC<5IAY
z?Kr?r=tehmqh`~MZwy0A2?-_yu0^Z#fYLtC#js0qG2F;*$IJcfZw9C`Jtnyrs7zD*
z4vq(klRjfb#i>^d(=jCL&}L<4@<}GDkH|vM_v!~RFmcoOE@YgqWEm49=~6nGmSQ1X
z>5Pnt_+?C-^8rz{-zBQ{@03;h{p_y?MBRQ>)a_TSy8TJ3cVkr4?H5Gd{)|<(KP(5X
z{A9j!;aa5NS}G40L%eg^PRL8KzN%6R1gs_HIlxduaV2gsawtLy@H}LIavdsNR4D}(
zH_ODl6j+QL6)6Q)e>%Xz$y|6V*ojw?0<vdhCc`Nt!QR2*xB541olLxD$-%`orYRu@
zvWLfQ$-%{5uIa0igEy-J^-?(?5Ev}20QntIPLUi8DBlL}1}?Lg2!Sqzz%7M9k%(sn
z5(3I13dPVVC4fskAYj&|1T1AA{CdXUNUJ}ftfR#rP+nziboobi6J6@T>WK@LoZylZ
ztEo)MLfi?`1C%lm8^k98&^pO^Ag>CdPgR&`;ad9mf7NMlwaEC3=>dBt^wRaOlWVn1
zer1g=LJ#;*768qzN^txd?DqdoV?rc|E`yhV<Bt=}g!rv0!r}NWfsZdvL_(3qk@%aT
z2V^C#Q`BDOMeXIZsJ(Q4LV8RJm16U%sJ*N<OOHut4GejXM4zK}1s+o{D?KJ+aV3w5
zSX|#4R>9(O001gl*qW3B=e!&Qf0Y~vKz-U6f+8U+H-Bzk3eaY7xfJl<6e&nr6}ZDf
z3JO9B<}Q%}E~FqNq@cr+0+ZASR@xL&;Jic%T$U7sU$Ycktv0aNMJ(2jaH%#RtPw~-
zvy_4bB-kk_1r}Atyf!FEZIG05P?d5ZaGa>}dH|tP(jZRyNR#Yiy8MP{13~hD6|D$4
zm=JRCypRKai8gS`N^DCGbW09&AqUj<hboH8v_aramxHT66+l`=t5uM4;HHbv?-3~n
z5{rvhE}jbT(&_D*l!LUC1A*lveyc3?L53v3Iu%}{K6pLj$5*xv=PZ42R>(m~$U#QP
zfm_HyOlX6!kb)jd3d)ug2!q%<6MU8wT+{}k*CYk6r;lJi6E3Zinw5r+pdX~Zq8>{M
zTJEv*`%YT*dFGHhdei~rb6f_cS@|NxV1*2nBqE!{DHGNB3%oIUzkX1-h`4jv;)r%H
z(OxGe@+a_>7xNNzTO9E<dWrm}2T_H3i}|0-C@(VJvkQ;d-TmzI^k{cK`m5M0{pQ<o
z<=ZxKlmdSE1KfpTIpp0Lv<Ig-<K;;_;&V?T(u(KYgi(fTgnb_~MgGxZxafAyAg$lg
zjp^yf|4bAAUm7d0Ba+#X!8KbPRkOuW?c9}%NkA0qzb^_4A9p=;cMsj|q`PUltE0PK
zx|^lDG~MOtZjA1Hbk`c)CvCrX_v;7owZ+ZO%6PvmR{R0m828|vcVUh9*y163`WI>e
z-`(##C_b#8u?K8peAnKE>K8j|(`K6|e7!AJyb2wiNXq)aBZ(Lu2ha^}NRhioM=#(f
zmYzX|e{9O6{sM43M^Q)YG`t9zb6(D7gTY)b8p!36S^$y8fJ#N@v&O1lJpDA4cqlb0
zw>C>4-9jg(HyC{S>0jWd+Q<nc_MdyX90bA)@92ou`FtXAjl%*3mGO87Dk-9Ysi`4%
zI|9k=`Urx`XN*<r*Q`PQbRv<<BaffUq^9s_e0*$d&6@Q{)S7`_B)pf^u}M@X^HeH|
z`sM<fnD^<r*PBX#IRJ=aq1g)vEysBTVdgfY`(qD3jO6@tXW~<clE=q}j^NQV&piF~
z!w-K9G4JYpak=)6mFy6EUz86GMeEL=pF?D{jIYW$V5^3PR<4W&R<2xj@@I%Rzoe{1
z^m(VT>ft?m@ZGOpw~EThyH{`AhDZ0`zkU0jJrD2Lv19wzEhsAAyk+|ir0#iha}>a5
zH2?ngRfs}w+q}8CxwkhOpc0)f#Gt#{n<yS_tjfudvlap{ZVt2M!sDqadXiq@MS41w
zRjE(HP$njFsNsz%&gSMn^H3-n9xR2Wja66#q>(GA;?Xn>#}=ZVC;&#wGZqIz;PwDt
zDHP(A?dRESv<^XO3|1tckz{sdv$`G)pvp%Cr;Al8BKH`pkd>!MGH4l*nAW@s<*Mn1
z=kcj(eFQWS-CbG@TZX6~>#EfPqSU-Z@6m(7>1m%Y8USlJ%Rq`!WgsH7*Bh&*M@JDR
z2f7n=2UJlGfO{{h&__q7@l#o(`Ey{2#5skiZxqykDu%2$Vmcz{Zg;U54HS!6#f<>A
zstA@v!wn#@a=B8iOqY$eLbi&ucL=C!hz}#0p5{pem2+y6YPva??p!-}QdhJ`)na;P
ze7vctQi%pCmGDY}3|7!dec?jEXl-Glo=dQIAdW;g{1ONxxZ0A=pq!n+Zb5H|9&=ZQ
z(j|#R+026O5be$}YO+TEM;;k?-4!rVD9%=$K6eglUWe{?1jYdX7{a6W_DJO1xziX5
zV)`hXxsW#N5XYr`iH2t#p8{5mm<~MPU@#t!2IBE-pb-)8u!#|$oidnXAK;M-h;BQ<
zTuDK4oJ4@!Lc}`;XWamhg}RT`5Z|s=zXbo?Jiy%hP+~BP=yy4&=rIlw4(5&_pl&EG
zH$VYE+J|mveIG+mJY6V!2__SMNoe(@#5~?Cpa0TxeNLKd=OlQ$Z=MgURq|nN5s;ew
z?Ef90{OEuZLJ|R&HhD==AtafGs2LR}I}j+y+Y^QoegoN2_VUG!qig9nd$Z!d#OWbD
z{<yI15a~ybv`*M|cgk+de)bKJ```rk2>Y(y>bJ~U{g!#^J>!IW$9U4}x11nb8PoCn
ze81(j$ibUq-=(D-j7mB9C0?|$gjTieJ4*^Wq!d`paDpC7NP)$R=AkJafa8a|dFGRA
zk%HH=PT<NGe$kSGq>uu8&u!pWbR9=7={lw$-$Ku=&ys<Q7*56C02wGt8OTZ*NYCqn
z3sM)9qzqW>h;F&~mMDnEbh2kJY643Jyix`PJK#J!+*?})1f3;zEf+G75SrkO&;))<
z24ok$#2|25GN4;}z-5yGza;}AkcLmJT$K#GkumVatbA%K74AE#f2C#@5EBWR3Q(i~
zSfI<O9i+G9<YiJG1ydvd)Dc3J?ntKy4S+f+8!y^Ybl@8~_QmsH<KpWohiTyll(<CT
zc!>!Fjt2HHJ^73rW|s{7Z)Gj?<PJGmzeh_?y)$LH)XQu@J)Hpq$|_p=YqtfKdIs1%
zyro2XF0}=w<l4U?hojH$f4|)Ss$71H8Ma=o`!adS)4asycRzZ7$POsmcE9tr*a7-A
z<bkgZgX3b%cS!7hMeKe}?EVI^`z8JeIMm?wwOM;#@c&@ACJ6v~v@HY<lmrMwODp$<
zc>2F919mU}a(i&8GGOQbvPXUGUjE{HASL&}2n}CUFo+YKZxQQRlX~Dqwu)q0rZNy9
zZlp&|6zCdImQmV^asqVl6GtMR<1!Vdu$M0GfnWCtaOG-2ft`T$Ou{GM&+FUC7F=~R
z)yuVfRAzr7!V+|dW=OYHEhzd3@mp1j>F|uG1{j@^RkGsf13d1vXMV0_^%v6si?4oO
zuKtYFfGG;li}fFp>tFa)>)&+A`ghY>ODnJ>WX3CHK-3V^5%?P-12rpdTNX0l5HjEv
zGEjes45&f|oR`UfD5c;<Ap;3Z24DjLfJ1+a$bj7fxHRu037sLv;uK8G%fMMF19>R}
zhouhCMd%tO140LMN*%CzUIsKN13r?0nA8I1Z;Aw5%-?v01SmoRG$8?XmIO2iEl?2>
zaIs$eVh61zw1AX=q$L4@9G61fOO6Trdh8&V)B+(X0reyS1Iik-MB~yamw!|)e^xI4
zv|Rp^a`~%rp|jGO7?b-yC7&EzSpARo>j#;2`<N}#{}Edh`1fp4;E&?Hdl3cxs4WWo
zF<TV)cWhDMhiy^dkMu7@fj?%e7{1FE1-{!B1s>QqeSCOyG?~a$lzc9gE>RTNh2tK9
zJJiFv@Q9+sW`_E`;)yCngChtxS&edh0z7D=vnZrhK}qC7x{IUR3Usk<3gT({oCphV
zGGG0lPd@$h`Ez4=WoB~dLJHx=pkJ+V1c}QfC4fg1Hm;5yLwNY;*#d=!yQxi5)A50d
za`<_~flpJlFam~U0nnF29MN|++=bw(+jov$Ha3;Z?JL)=Z3aR@2F04y9BN$0Clfh>
zDaod1C-G=4!o^I4i~H*NBx{dqskXLM`?8qVtX;Pfb+vuLY!(46gt=mh=J7;*{+VIK
zjYpMM#En~xm6_bG2S5Db>k~7RV;avDC-H}$J#;pHfoiQUoIHd_A4dGx?7YtcC(#~Q
zr5s{6N4p1ax@qv{cVIMT<=yXl=%I(+g`(UvMx&}eJn2KU(bw_nPY_3b%5fv&$Tu3B
zR<FBh_ntldU5%bVQ(JrY28?w3)^)2o5moM7z5aSU+JkuVwym4d61H_K;>jP4YTMuQ
zp6%;9V%O<<Ya^nDeQQy%jAaaVtV4u++m<amcC?AGa%%_TiIHYw6HqOtb-iUp?a7xK
zoDFL_DWL3Z4iK(lO%Xw6dWM4sESCeOCv}4xd=}NUxA!x{{qfEC?nz+W)0DYGBH+Bw
zjd*iW_aolyFgB^peGS2&D->|49&ga^BB27lr-JA+!9>z`Lo64KQz(lDm}M1PE20Cg
z1<YIsOjmt=1eo1ul>$4OQlNM-fKjn1L;{jhN*=uGH8$z1Z(rHfRoB%P((4*JTEpUx
z0I~+bXph%PkGk+jB#uc_qq7R4+in-|bmyk<ft7MoD?~M10OSWo<494vD!@FWzLpXt
zHPmc9UT!cpnW+m?h)(Bg0rzBr+G8mQJ&{2na8=2J699o}{9i)j7v7c2k%2To>EFR|
zM0raoR6i%O2)9xXn!Cb*9Fk5)eW3qBOxI@?P-~qsni~AM+4JYeGbNAb=!y7DiC{$3
ziMguLP$;2Xxq1$NA<O5eA+DMv)63weCu3oyoFZIdlW*PHfiZ-Nj+l}i8;kntmlKpr
zN0F%h3ba9zbLh4Mtr~*<paG=#vJ)7rxB-Zj;>{GGW|cg()|E{sYP+<`^fVgHVqR4T
zd`l*i&I4&EhF~*d#b{iM`f7+<V~uK5s9iEP74v70BTo`SD`=^TJ~fD0q~7oHK!<od
z!FoJ84~9sd8$%F#BxTmKsc3iQ=+VlBbC?&+J2iIx{P}a!Za3QAFko770Dwk)g<un+
z*-cfd<p!UTyR76Zye$HLI72maMR!c~fkW+2xycR1bd>iQyadV?-BB=Oj&hCa!4cU8
zB8$2oM0;SgE(56mACq-V=lM<R{k1eA<MBj&OhqGQ^-q<W1MjMOa`>Fo$(Yyco~7ov
zYz5Oo(Qf><wx6Qqnh73=qOAH}il_g2csYyNxpo`pQcrgV#rZhQPO%@;rEZ=Be#IXO
zn^l$UN);LN4zLKltCfjBKtUd4g4aOUxn)`RoEH2_GTJE)`YTnty7n$0E!uHkT;1r0
z!x`t=yU-Qm+PjeHv}dz*+ZpHDyKu(2_AYS1U)j%@wCdiEP~AH`m$1lC_uWI8Y^nzT
zF#H%F`WEO>h^zoyyXfHOiD}AmqYqBJ(<F9RyjCLrA2x15Sh{nTozvd0A7s|8-FD8m
z+s^sxZ0CGC-b-=+cH24MZae4OZRh;Ty&8S?Amzf_ZRdQu?VR`RT|gSMA+8FBB9WUC
zcfMM<c19h1aZo*TMm;y+b;lY0xmh^vX1+>K<#GMsHxBBLKd%3Hz#D#<;a`~bj)s{p
zo6hbm?7n4pVdu`m)&Xz1p5b4a4Yrn<0>1jYm|@PbFR(AOFW^dSQgeSe;LWXJ_?Kfp
zydlSYpr+qchi0I<O`Ga&8}QcLDE@cXSjtx;KB$N$_@I1RTB~P)?f|Q=XORJKA;j<x
zWV>2{`COB(KC}I%cC)X~>>Kc=I~o3^S;CiQKGS1PC{yRAkOEcW170n~@K0mjyvBUs
zcwD%7gDf}`NwaihW+pP=iR2jmMKA#oA6RMTROn-MZca@OcoEmZKZUsq3jVgobwmg2
zsD9*#eqz9@CK>*Lm2+BU4%MgVnhKuTCPR*-wRLMuM!|0G*AFu5W=Fu-Zrd5}+`CZc
zaAP-PTd^}xXEBclwA&^XyKPdj+qN^Vx9yA@Z98MD&HCGFv;I0~U`=>T^e|0$L0#|l
zPE0rmU~Oa~0ft;`n3#s-eb6@>RYk(zo67}*Gc$1<1T#6K^Hn5x!xaXLCxX7FNaWBV
zUB`o;A3A&T)mO32Vp;>Rq?=DiRgu{DPEB=moIH69f8g|#fOG%|#>E@*r3zB9?Q8B*
znR?fqcinaC&AWE39|+F<{O5U=LlsG`Ms578z7Do04hQS^=qDgUq*6D1@D}zB_6@~R
zb=-{~9-{}i|1vwk_T%5j2iWOb%s(;zB=DmtHi?>t$x1p-txt87f`w`$cnP#)(}yeJ
zTW+~!_wHT0IvYB7weQ+}*TWA#IuL51?yF|j!8%%3uiM<$#yVjW0r{NZ(=WMYGPxvj
z^wZI(UPs1IP5lBjh{brJY;>YFA(<|wapIx_3N26$$K)g)xWN>SIC33+$6?}oR3p(a
z_}swu<nd%O_4SQdg$BRT>Bij6<Y$2X1{5{i{QlFY{r*5>$brHQq}QXmi<+m3eNlC4
z3Y8Duy1J>UWy@BhrTe;Oqca7INHJ&8u8(scUH@})oZ~^RFoj+$@r{cWuh*MVqpC=t
z17y(co|ysGei49U-YNY0+|0|s8bQ82<aWp7D5;2pclq4#)D%wgs9x`f5#9aHs49}>
z-bw|?f@TO`x1~)iI0iYta+vR!KR-1E#P6y2)D(c>(gQ&d6}TPDfsQ^0K*cq=JXn>B
z%T2!@hV6Lv*=JF+^6b;kKKuMjM~<8x2nD+~w*Ww^#%dnG@qx>#lX}}L0Fa{_)i_wU
ziUwLDjxxWfUaO-0o|#|3d&)7cX-JC4v|`bT8I0n$qi8M!=shf%00Sp9V%uQR1)?4R
z?!N%DlG^0F==)o;fBQzB{`M%>rKf+MoumVOmVK8l=KSf;e^;FTsPUrblk)U;qizY0
zf@~vQre%I3PTsvZ{gqkqJBsv`og(&6fj&70Z|yi|&cYd;7C572fis#DD61t4WmU`p
z_X?2FdJAN9N<_ISxQ~D@S4CH}Zh?%-IH&h2A{>`X0QJ2&Z94w->U+CX0%oNIoRJdH
zJTC#;r3Bn4B%q&t)v9{%OBraAGB77)V1ZvXD`h~$%t=Hj|HF>H78!Uw>mIIb1I}17
za7xHPM99EeAp_f`4D_?FiCN%5Aq8!g6wF#uz=ag#gcM9zQV<vR-%GDS3f`z__oY&h
zl2R}tr9hdN0!>PRBK3ek#Gq`4&;!j<1|*j*szxsA0aMCAP3i$t%7DP!y^<ebuWGgX
z0ivoEHt=Fqtyjz6b!8byS~4(nIo>cgFF{+D63~7b*szF`atSu9S`r|UG2l-w`6RGM
zI;p1hS|ng8oC}vqz_gTr6H)>iNCF0w4eWO*S}hI%Yw^Q!@w?>WXQTp9Y4NFfRwTJZ
zlgNNFCRhF!7kB?sd|><7srPrOW4C8}7aRNHKJWys`haqT7M;$w6?9p~_Rz(N0#957
zBnYLl+vriR9KGNf5EVU?&VlDQpkxH+FtE{}_cB*A^2@dVwT%4gz5kM2^|V}dKELm+
z^PkJ5w+64vrT5CgizHv{@?CGzuBW^&#xGz|d~6?c_v;6-nBwNP`MqwN-|M#dy}oXV
zG48gVer}tG<F<J?E}Mtrw)wqoo8OC&*6Gt&;{yOe{{Hu|$_KP$a@#hn^8xMr`Okh9
zD}4a?aWEr;>vypoQKV@Rz@3i5nrm#tiXQ+#)v8sXMm~T~nwWsTKM+-ihoSEefZ8UR
z1hm5eAS53@PS0F%pD#AztC4kkR(mm7w_ALd=Cp>{6C|fUX9g~O1HuIZ^uxzlKkuLy
zy4ioA%fF&f9hWdwKG2gO-5yZRuz#k@3HDcXNrCcMJoz_tnUJLthp0K?m#tp=syl6~
zZkKvD<YTE)zmz%f{OV{2qBDotKjAC$zhV96{q)^$MtEG<u(z;3hhICu@4&QRepJs-
z*uT;nIv^CdY$tW7hN=`SQavHr`J0weu#@a37wzBzVnM<pcFdtz`ik;kp9`PO$A9zW
zAtB>`=h?r}2)D3z$x*OR_p^T$_Iw9>FTL`pym02BM-CYXJjagFqhmC7(tT5OImdoZ
z7msXhYZf`PH~Qqa^S53b!^Wl7pX6C+6V{(@o%|9N>QdV;BW*txGSC4lEWe8^3lbHn
zcopZqT?4*(>pur<f3awPNtbT68y9{j<o`?bxQo4wE;WK}rL(Y)E<xD<e}cV2kDg}-
z=~5uH*8%i_zepF(f^<;<?f)yZfzx&d*muCSp8iYG28(ON5jg|DU}6TE*$wo~uV<g5
z%Ubq3bP-|Q0i}^$M~_yrJLodbUZ%^0jGR|wky}c{zTpx2>9rh#PL&#<qhCJ=1t)I3
zw()n^v|+F94D7-?soJ;Ib_RCX&cF`a8Q9UU9mLy3?6;#|W$YkDff?(tpMkb0pWX6f
zXQE!9K+XQ-2S1%Va|TlZD&|5IrEEZNGIa2%1K;W7t>*t}K4Shy#~GZSe~EV_5>Yhz
z1HRq}Y@?HOTlLOAzNLy2^#;6Ht3{bEe;xGZ0BS1T%D#?b@Gm<`IBGwKcc4`Q^Fxq8
zfepdnh7B7xz5BP`y=CJD_HhJJcI;?x-?5`B%DcJ@$Wegj9MOP4N{ZC4zixdv(tuSk
zK=-|m=krEjl>k6m{@#1v3p6Awj6rP=^!1ZTBLEt2Bz99r4<Ad9kBhOD%i=`}=L|=^
z!^1-}zxesnnW15vYzA21#IP{%K$6b&gfeq(R!I;+w?Sba8gs2?1i*`Z{P-)5=l|ib
z`pR)gfdSJY3Y!NXV0;N36Myj~7K;9bTz7jHpKe?CEBQN=_gKu|SuF2y4O)*E(m0=Z
zVhk;-e03l9GXB8_cr)XTyQpW+F-^}`00arvAf4{>d9I*~?>xPl&JhpAxnU4@GuV2H
zLHCYp$2f9d!N+s&bsi*nCaJdPdKMeA({}PZ_s%n_(3y<W|57#~?+Rcj^X5H#6fA1H
zXf%X<H~`jhq7%Y!Ynw4#JUNahxxuG~>B&kKI0qcM9u(*JXEGmMYOH<9r~MnL>lXKP
zl2S_zNw>`{^?8InK+38Oj5@eDWU$XKd!3uGmGR`H^lr{bKd&Y`ngtZ1tm9(-tMPT-
z$gwLnJ*V`~uRYdXobZ(C6kcAv^zzn7FRx3EodWY1tzUY1&C==>XFLT#MO9~6(g})3
z`*D-I{A#0{l-(rl{zhase_7&(Y1J_UPtvl}PRCyU&;!`}cy0xa9M>Pw&~X*WC%E>~
z!t-pNG(_b*egn^?Y29%>OH+aDCZd}p_AQWqA@@tsb(eQ6zplE@w)XnM+S9)0&mW?G
zq_2LRwA{VdV@uz{{u}!v?q+=5jik>Gy+V7rr;j?AZ@P^GaQL|&@Dk&%{7;@_e4H$K
ze()#<duujH@0lFL^GhD}<q@sdbJSPRcKl?Tk1_t;G5$R2c7=w2{{y@QJYl;y8bzO-
z=7)g9ppeerr1N!9c6r{-xOtx60PU8e(T)%Ew9s)rk!WM>Y;wt?wy(7d>ie~h+RkF4
zUtz6Zd5*OCKm8Sdj`8366i;BSzr#}e3}YYeX9w_@`}{QW&Tihr`1YMN+S4caN=U)a
z_-`@(@^kQf*kARVf5M$u=~2E6uRO`$F4w!KUq6V!h+9wp0(x7I&5~PXv*dd4PTK3;
z{d_)O+ta^L$<WikaJu!{EV&+=CD&uK<QD1MV!_k3ny;l+J98#8e&)<+?0L}mG^vTG
zc5=L&9U3x%-$%-AbEWe5;}b7F{`mKy45Dh|I&CnjefP!O<P%RA!4*J4pUGx-?(E#S
zbLR@24pH^YM13Ht^?A;xH*YrdJrfhP;}a9Ni1ht!zbCHB9-JRh^*hh4?uu&nH~wJc
zkw=W+Ce)HOwYBZsxqjQuotxNQc*9)Qtw*)6mMk?jk!2U;&4FmJ70J$N2e_M5q$68#
z=){yn-WS!{8v{Xrkp?$7ol~cs&gIMXhULpQ0A(wx)<)8eQElsr=GN|RBX~BGspy#u
zN`FRC|ATtXsOk*xY*YieQ(=1A2p-Sp$J6=z@#AL>10E6(B!14r&P0mybA!1mkV1nw
zv_FFpJ&`D+QN#l!hl$fmm8h1jdSC_`!3%)Y4tqSuj>XTQy%r%3B(3X{_!}dIR?o?k
zax|e31&)Gz*|MnEA$E(u!zL$oi@(DrCmoiYblBwNwOIU%$%+30O1Z$fe&Ir9@&Yt@
zRBZzTdQ_dr2Xw>#l;1yE^8259YV@V2P-z)euMeCrMAgGH?LNc54ZYLAA>X#GW9>E}
z9Y-#>t5J1XXgY8BKRY;Bk0$BQe)g6Rf0o^k-~8GW^`)r#j%CND4galZS8ran?ABXv
zyZcu55xh7RFPTv_6f(;+dw%YYME%}!*{zn#UN3ifVL?aL6!U9QHQ*>z4S!3aQ12=f
zT3WQa7PwVWb&R#T@ZH^slHpIdTxCFoqI)`%fT<Ey!&p0rT+!_?{G+N`00kKeSw}{J
zP>J8Ehb6C$CpFFRr_prna5~fJYB7xhM*KCmsYKOmSyv4InQ*x34u`R$CeNVnJE~sS
zTyaFzkxW>Z-`XYC930rznlB~BZI5|ftDk@MkzSW{OhfEDWZ}5T`Vr@1-5x7zD~vxb
z4ItsSlErjAy;%?eQS=W%e(^g%zveIlMA~zJYUQj#r#CvvvlP^lE9Z9tR-IQn3Q&OX
zEzqyK1^RWXMeY@(8Q?RblKs5Z%OFx87_cPwst9tgtVQmXC&O3tchl&Xvi@(R^}D#`
zpO@=DBiFx9TE8o#_1iA3U#p!BlqFI`#Ntm#SK)-T{4MJ@Eo@;{p_LaC@YWvt7_It%
z@&YY7S@+B7(!t(ImsRYy=`te)zfqR&uawi{mrphmryB)<VEs~QA0pi33gS*QvMhD%
zzn*<Bi!qf^x$eICeGd*<+QSaH^j3z)BbUBT?)x#h^a~Xph;Y*H<mKv%eLv5ldbJ+V
zo151yTKhgJ_I;h$_bbJ|Z@2cnSZmJ3zIRyro~oY6-<co*K<@&15GiZlUs~C@*uJ-S
zG5$K@yQ-<v##L)R_EQX@6WM6xU2()w{sB+sUS$vB^6hW4uj5iQDQ2r?!N!COhKhz|
zRAEs*Q_W`BI$U0<upi(ue3W*O`p^H&zD?6ZEME8Y>jz=Jh}#1;TjySzP5iLU*0~4o
zB%Amio2~P9n@xPL%_hFbW)t6Svx)Dq+r&0+pzl<r@~=6-$P|bg6d2$`@ibQo+1bgW
zq6`lWo;iE^)G25~!}<IZPoaO~2Y(yogNazER5*QZXlQ7byWA*t4{W;EP#&*T`prjr
z64hEdlSiG~_rCYNU!0iKUFn&@<2je>nO{8lqksG1<BtOb)X=`V@6Z3?AO8Lp^HKBW
zXyo7^>c7%+-~Z7QPdsskhr<3)r~|&oSB<_c+3d!dVg&{9sFU2hdGqRJtpP3QcWRYv
z?&cj^HWL;;HmTwK*t_4gckc)G?1?rwsdGlrR}!{+1OLl!{Qckk-Pix}FO0U&OiX<8
zm1JRL1Yk|0k390oL+`ku%iG%?^5n-S``Mql{_jse`Wf7y<Bhx6F#F%^f3a8a?>Y8U
z<ZJvPH}aiY;KBEQ@Pi-RsNQ7;%x-goxd#8b@UzS4TNe(m_18y2;s$j5RoC^lH+QtR
zG)KbW%><W^8?=Yv+;Cmr+O?}!tcZe7D;DBv9g6ttJ^aO^ue|*7krxk<rPN31)V^k?
zb5~Gv_<U6H59+3RpH{A_&QK$8!F+*mLqk(DYAErEP1h~2uW#6Rca(PqV<8O<EBHiT
zjo^+V!P!@gzEv*Q?=@+Ta0tjiKJW!~*SoTLhqq;!r&eod>AG(D3Iv1k-SiD_yM4uq
z)$i+P`=brpS}~7a-^SJG7HF(3@9OI8Y&i36qc6_+QB?f__Z>Gh0nKGg4h<MW8B@~|
zb2DJMijxjBoM&G>IW#o*(!prM6xH{YOB0i5k;yPkb7-2UYm<RoTJLOq5YS0f8HjF$
z;pySyFCRI2K0Z?^zi{}(IrJ}_6Cd?Y-~P9!p8DZ8|4WoRFlWBT+|2OsaF+e{!|%H5
zuDjm(Zlf=yswoXHL81Wzb)g_Is-R*KI83TKOE~$sArxgeM<ymmN5>|BZeKHvU=3xX
zf-|Wd6{($F-A3ODm+MqeBk(2Mup7=_n9f!*xl%=SyAB`26SzU48_s|J>A~-P?*~8r
zw<s@HW1(7kXb=OKGxz+~J@?)B&OHwr|M-|-_xZf^g74_p4`LIG+a0zYf2(cB+gUE&
zhId|v9e<l`$KPq&@weM{{Oz_KzuUIsZ?*0C4%?1zU5NFthM}P(*F5OdFiorq(XPdj
z--vo}ck0~8$j}gu0-h<xfOR!EeD2&i^rwZ<#N$;ACt5+UY^G`S9>fNAhFi+uKGM+$
z<0?%bMIJ;XL;lwffBy4>2XT(@iDWETtN!%KAOHBrXB1yAny#80h7&Aq_>fxF=-s$+
zIS8+Tr=-@h)Js+Nv?Em_@+DihY}vYTBh)AlyJG=W?Ss6o>S->HLLW`<10s}yc9ea+
zpZw&zw)g5vL%m)eM^DVLY}4*}_KVMa`VT+(N!T#FuRa!VI`4lkxG>&!eex-^iM_lJ
z3XGa$oZRTW|NgsnZd<!*{f3R8x4>=l#trlA7dPB;&;9qq0E*~&$o<p|3X&@o)!W$v
zbg`c9sC&nb_3McMV|}mT^CA_48VLt^01ni8=c-xUWwZI|0kzqOlnzH3vojpl&|;T1
zqs<C!0S;gMBF{xrggkl}Slp@Y^EcE3P0U>YhjJ=at{G@8Qn95tzVNbT-dt*K(gX|{
zRXZzAe;X!8q<Pk^=<Hm!3`lN~fEU%ds=8(c(8KD}#aU>;96rVGM}>yTRiif^&(yfX
zSp_nfs1GislSl=Ld{BJq0`2JOD2lF04B~hc&wyYI-BvF22!ZV{#ub;*FfuZk9XUO8
z{LEN3OW$Pt+z57Q)H6IhboTU#6C)$A3&3F)3%WgN;;x&j)cMd+wQjSafFm)+)dr&%
zq+R(ED4#1erjR)DY5@&Y7S{#sV_22ET#EtfE-w)53W^gwQ~CkSGvD8P>eS$5qFezd
z7<ZB)RtuB!L>H)|$3b=h(p-uKYSqyT_;TY@S_JAX1Vk@%VFBkZ%J>)YvvNSKIm(s&
zUjmul=Rqt6eu|oAd|3h9+X1x%<%w6ysn5fQuEcoReeGRKZuZ7htzKHi;v~>iGUY{@
znX0d)XX<hb3w0xzD+B%P?@@#$ZT13PEJ)@AqDXioavH*)EkW*J=4E7-J1#%_2qF-$
zZm!j*eLd?|7m4K1cgNRGlbMd|m|$u336|Ejt$dL2`y@+iKl@vW*X0vTwGoS_HDw|E
z7X?o%@XBD_&RRUJlNL|w3j)FYt>ED-p1=3V^@>PYn3<P_<5Ct1LKYD55Ry=qko0*8
z##@k*FhkibAqnWTAV~;HNigLn*It_>ke$0&Huq|)SFbDyc}o&z?0mgK5+W8~uVieN
za?p4gUvJIE*XzEFueUfa2TRHEyph?CE5-eros`+y7^KYfu!Da7H#g;NitFg-c3?%q
ze=A^x`Gq8**399IWc*Z~eikdw!_@u3smTNHgem*h$nacg%-R@@&2xyx7H^{5#!FlI
zS;oQ8d>wK-6?z^l?Z|Mc%Ls!vk)W|n&e52GOosf1cZS!2!5qgV<1+;s^W`4hy*B&q
z4x4@VZktDU2kbl2dH34vyZdbRo!z6evzWbY??S!G9X9*U9?9xUm5-MKXkv2fuELpe
z3Ov5z|6pT-KacL^1gJWLz@dr)ZxS|&fz)NBt7~@F=NlU8MjKjJz?{X|I5=qZ4X6J{
zvW42#JpS3o(?dhYj}H&y|F+dDo2H(6>Zx<#j@~x7ARqyT9igJC!559}+I9MLbMq5V
z?A{H+=Jwi|C!c)sX9tbGrm;Z~+2-^4a%pm8s<CmyhL)BM8=6LQDr>*>)?2$cPmdDL
z5eg`(`y(&DSYJOlxOwxBpLqJ|rzdI+u&Q?5Vzh1k#Sc$qiZBkdsTU3&-L&ZwpV+bE
z6Q9`pRNTdO-OBzS`lsKaC>Ndr=xU5?8?{#2@BGSF)~xyA4<C8t7W0$lAG>0)*z=Y3
zpZnbBZegEiUorZ+J<dRV1jbCH-s|>tcduE~(*ulEPq?YEck9-z%YowRp&DNJW#<0K
z<fPl3N;NeNT|k$3)^wvAti6+(6q^E~-LlW++v3eomshzIT<fK-aJsn)Gx4;7C2{7G
zDJuR#(GS|9O%Q;VqLH~dpRZaChtnyzE=7ep^#gvRFVysbh8YkB=ZpEacQk~<p-?ag
zqb4(WdP*m7+2q(nhB6X5I>dRUhR@1IBSS;Y&BbDO_xOd8k&%?z1Y^Ce&FIUPMoLbi
zNCgqtL@AR=CbL=m@AUih0ud8C+#V;2715-QSwpxE=K{RPblT;bo{pd&F#_BQyl;BS
z7;v=JX)w1HSEPe#c%s2#k+nsfY61zRwBn4kA!?$yV3M2BNM|RFZDa(!i=CZ8B?Gw{
z9x|Gn7+Jey9LsLB`3J$G)1yHsb(da3Z=XwzBCw)3T%Z?&p=$U8Wp^@yi6|u!bF-{#
zHqzqPfMeiPwYtXe+}!EYGc%`8&o;QKZ0dy<UYLlgo(4jcLo`y^A6c;?nQU%8dGdO4
z$Lo~@T!h0f7=O+9m;O;|u21*t2eC25?GJ3b_z~MK{;X{m{~vhgTI}M_*mm(B*mm)!
zZC=_VHZSc{HZScnwq4v~^U~UEUfT9D=z$qlMycfsz%3}uWk63?G&Kbwo2kj9sW@F-
z9q=V)rZbb^ryWZ(ND#-!Ie>B1KxbzlwhAdbO!L(6Fxt*JE2A5D6dboRc{d~^m<RAQ
z&y!oA1lx`6*;1uq7Hgp8o=E^$Byn!M28ubP_u#|4a&)+=2Ew~;=<y^^y*hCOI3q8N
zG5F7%rJ~n+30I_J=gtmXApQ7L$De$17#A~#9^+@9dFJS;*)V*+&RKv`D>Fd(n09n*
zH@189YF<+T15xEBFh)w{ECfH7O_$*Wban^KY;x{}L&I~tt;5?50FHKV9@3VD;lVvx
zOw9nK*APA&$8Z9%_L>=wYl5{|&A=~DsYi~?Xarc@=!hRN)-(i4Gd@?TlrJk)w1K8F
z<8u)0@sSMTBe&hvRh>9@@=IU-$!YbbTUze4;744$TV^oS2~6tsO+Jin{P5ukj0>2?
zxHatB1r3Hxc=)jQeGfkPzW3>4@PLQ)#~yptv-T68_{1jHOOF}b{=*-A^!*Rsch_CF
zZQr;I-NHTVw%mH#?RVb)zK{R$AOG=t_Pqb04}bjkL0A3Yo;~l`x*5>c8v#WESQ5k^
zKOeo`P3RkdnIOL}BzUP24!a(Dadig}j!Atr^;`$f?>cy+Jsm`K-O|~;%m|`P1Gf;Y
zJGwdjf#AwuM$6^Y3`-5>a?|`j-nEaRN3-u;vF&Ku)u6@|6TuE(m3Zoc4!6tWfEra*
zf4~do<Z3dNH=SOeI{==*I*$qmSV0M&t5C*=XD27Ku~i5o;+xh1gaqG|YnhA*rR8-x
zOX#u9I>Ay{Q_;k#R`V%iyXMec3=G~iM<{@JOSrpD4+g@nnu#sl(i%~Lgf%jjH2n=t
zp*Fa#J#~&kq2R#Tb$traNoDF)(47PAJYT?HL_uRc{-T0b+FEB<S7RuU!^%$wMn@A>
z7sS(5PK+8`XHq4Wrk%u!^fk-bJi<g}c+c2Y$>bEvSM><SRnDXe321n5aU-5V)rx^B
zg5vfdREG=ZBc_6yJ{M~@t3IDOGmA#xl7?0Al)!?`i|BbTa(A8Ktyc6vHS2WMX=Nq0
zvIG`w&5_qVKnOwn1j?=(l%8#Vp2`<y0Y#E50W7<T!;t2KshGQI)23dGPjM7uYW(EM
z$ymF`L>DpwnBx=qAjag$6D@WLU$ny2Hp5*-=RbmJSn}v9d`Crb;Ld@<VhpvAuP{y5
z!T#uAg#xI(5qhc8k)%=)YD`r%=n5cPo3UkPu?Wi!Hw~y9h*{(bupE*X2xzquVzI@V
z9x%3-O56z!N8C)*mqK8?y36Ty36ArL@htO&LMyIo@R{++JcVQ8d7V}Pvetm#gec;h
zU@B{pEPG}qA8S_tgI&Q1ap8jLZf<UNo6DE`D~Z$4=#|iNL#q|b06LH2cmJI61CC5C
zKOO%npH9XY|2i*Bd{wI^GD@=gRm~iWPrdTeSNYMi-=NyondiPL_4{IZ2YXfZ8<}@n
z+$+n;>gXv+kQJd)I^kih`!sYlCDU#uA6%1um=4ZY;m(WN>s2!Crc-Ub_?;ZttmNQ|
zg6pa*Ni0x_wVZ{wQtrvMcfRJ3zB|5ln7ZO{?M12ee(qW?@U%Zp{(0d2d<7G)bm5g5
z2ifH3-I75oNu61E?Ib95FZLD`&J%{BAfLo5rkIDN`sQzB)_HL$7?ex)Qz->?vY>JW
zk;4oqeNqJKqzJT15!fKh@553ADkK8bTbH0qR(_b^4<jFae*KrS3$AAT_Wm+^Z^2TS
zLN1L{<z+|YEG<1r`+B-~Q0I<IGkZT>($phCy%mUIQA7(K!$80J(17gB`zkFznZdX_
zPj@Q4OQEHIt7`yj?GMVe7sa$<H(xI`0GG=zxMQjKSZIJva``*u@;A(DfQ-}tBT@ot
zQUi!4i?@abxN=;kVrhW9&;UN60a}Fy2w57Sn}mRfA)o<NO9PBr8em*#092eKK9?05
zU;v&Q<N!KA2!e=FE@cn=dQO6{>=W!|KP1uBsJ2?jf#)Wn)$7^a^!&SJi(LY^dw4V?
zAr`@dL64pRceDJRvgAw3O1)spX0#fZvaQ{)*h%2t`>Ro=boe{h5}$M0q87T%-?_3J
z)KhaTR;`aXj-bZ_Xemgc&!C$QgZ4f0FxW}O7ks*#MB&_x@-P^qVtoAK(?qWcV~Anh
z!NDy-mDARXqe6o$^*s3X$bu<lp(<rTpO*!{l!b_tg$JZ8a48F1%0f-b0`YkNDp{}^
z6O{#7(D&*GvAp88RF>s8OBP~65@I9=oCnAvP=pY4SVC~45Q3Tzf~qA1=d5*p)h+}M
zO9*n-i<2Y-OFtQ|=2UdreE-Ex#l`p(ZD?Z<<BXJoaVZ65*=>=N?6Qg!f%~Kg1f&SG
zN)aea5tt(ph{=u=E;Ye8X#$~Do@qclbjcd=*E4<xtv((3Sbpl94A5nkb<;(cC3#z9
z306%$S!FlUYn&FDD$t+>MDZEXOjPKpB)uZWf1cvrOCJBPM+;Qs`sd~PyXLh(ozwyi
zQUvaoBH)lBpi2=bNf9_cuLUdyy_A##OAGJ?EwI>$aHamcH%ki;Lb^N=N<tHWM+2I`
zDKtT+r3r2jngH5?ECWjuoU%6i@r#;(Go34zCdgVZT9i9WJrAyRCtNM^hOIjZnt;oG
zG(}b#dZqQ(EPHPicBd3=(US$PFM3p#nK@nTermh6c?ZX6R{&^+4oI+6EqxbU>)7pD
za4AR(mukVZ?4KTG|APirlfFS&`UZZ<u`$m2=rzAIj+-Ux1Sdy;DmRbQh0DCALvAS#
zZ4aRbnmliY9<Z<e)z_qF<?2t$)o-HJ7vFu$=Y(bGkphsA&VVKbz#|1f!mUsRviOan
z^bckQ9>Ha`x%Q0Zweo1XY%%bw?Z9=}V&Io|rA_{K-pSZM^qckkCdTz=`7(A38)JWk
zUL*dlwfsiLp6EA!pZb%kxAEhspdwU;?<2=IM<(O!J^W{k@A`e})B3wt_#9&&>1W?T
zpA%RA1OE;iAncV$zkX1dK)8$8G5`@<2B6iJ0f^vzr2ite3_!#-`iRX6h}bd!5nBcz
zvS1OrT{0hn*rv-n>h(-a1Sir1&bm|=>q^xzSHp7+k;8{O4v!5umyPUVyGE8VR}o>c
zUAuSgzG1+5)bS#F(Q%ZiiAo}OJK!3>h|Z%gvd;}TzwZ7D`-=PP%vIk|AKAQR)0R62
zoKvXjm;?j?Hbs~U4qf^7d|uZF^~!*=?4M(E{xWkVHYF0l!1ICXfHT)T#D<!|V6V^W
zfID>0<p-Qz0DVSs=*;9QXM=<11_uY6p%g$wQz1Nuhz<gyvxxzx-wd#T>1T-1YwAlc
z9(nQDfOC0u1zS;Fj*t#%-8=jBgP2TlyVExFciLwD0o%;)>XtKqhi&HXw9WjTdz}Zx
zhxIddhi&F>+xx3CsCKkhw=MV5bL#ZjGt)?d&<!A!C3HreIez@;Q4|)P7&><R4D^yu
z#ZY;E+V9U~+S{Yt1u*CK_Dsg_C#3Z8vAEImuiyXS4^E)gFpWZ16hUUb^{pTL;9KAN
zumAO1-}=@+|Lh;X^#iCiALtDgW%fi%%f!Tv9ccJ3MSVMVOiZ-2pez)(V}^J8)@5xT
zDmp{pJz9@)+x{(E`uiIj`}_NMY}vSW9ke1yND)<ahL0RcCXXMF^0Xt0_WNY=$dS5E
zRK%`YZ3I92nR{=j$9K^XoUb9Va|>W*zrY`TR9@Gwzm*=dFX;c*BftCbhoND84vLP4
z`o8wH^XI?$%_tvnMSb7==K1qq``U_IQ4afo4;uAIi3`wAQZKlnw3RD$ci*|KBht~(
z(Xs2UT|0N}LayWCI;3}-d>zYo+<fPb<sH6epjeaq^#A}q+S3U5@H#}2HO=MnB6-w|
zEJkzls#ORDH;21BnxNNt#f+h}i!fA^V3w>oqG~b;2m`$?jHChxG<#OB-LSPA*)I<e
z&Fkv}0aW6yTDR`*yOHwS&~xMVbvPA#B?{&H+fB2r4FzhvphkVe!)<M*+0%)9Zfk?l
z*ub!$v>X=)gmK}&hRJClo!3kx5XPs*FVNzm<aM}#GMQ;tp^kx=v#x-~s=2vzmh~i2
zu$D)pA2^s!6=}-J$=TV-$zl=JgA*ggav6aR^w!0kxs=zNNVK(qd=rw>)|N<ky)$u2
zKNO9I$YoQDFNQge%q8-4a&tbNn9d_3J~x+4Wf1KSmjarPnI-1a0!4xu&#<0XULBn-
zQZ*d{`t<*cFP=E@;)~PMK;M1&)l+B#JPYt~6Q5g1tXL5Uba%&a)F2fe2&`C<m_S|v
zwEzya0ZCoe1SYugSBUq29%-L%z9lSYd+mcAtAhYVPSBx0ExS1?tj9Vr^OAeI3>sp*
zoR=r2SDFoV(rg%&r|ckE547^w-r|%MG#$cj8X(v*sk`1Rt9da5hbwn+71@vohonR|
zM@e*Zq(wJ}?;|pZlBOBpt_WGpeyf{fih!D6b52qFiiOtc9FeR<SI<Xsx##3&uV3Bc
z;_E*n*Z-7U|H%CMuaoP)U95jU`!5z+XHZH&o0I^nm1|;N0&-FU#)V|C3)Io{v)3X4
zuV>BUl_elyNx-0xfO;VTtAqr+O-evN`)i5S=@&B4Xvx5=B?BoT19=fsjaxD>DLVNM
zV-}X`GhHqN*MeSV=Owd8PZpPfq?CanDFd~687NB`Fr^Mqqz(v43Fwd#AbI8yY7nV}
zJi?FMpdc~|NJR@L!Jhm^Xn>5h{^Mf(D`NfgV*Nvw29Ri7a`l_7)z4Y0FB;gmB356s
zR$l;=ijKx>U40<QGpEgVdo6gqi?9BeT>Tg1>Nn1>{${!QURr%Zu)#4<FV}wgC2OCb
z-~C0o`z4OE?B&e88LO}F)yR$&XjRvy|0k{0KPpzgL9G6IvHES+>Q{yS4~xCuZLNM*
ztbR=F{IXd4q_y_w<wOrJnmNVJxBH7rL2LrY1beN>7WN#1bMFF6gDqMj&TR7pReRRH
zBPv;Y=;z^kP~nPP!cJ^v)8LKM^pdj^M?3dyr{iyYjD9|Oo_-cbK6i*`U}^!_gDkEQ
z_7<sgz0$~)AsVgYXEeOza;kGZ_fD#F4S$5A&b3|)+YzBUS8WB=xz5CCY{SDeZ0vN@
zx#FycQICHGGSE3oFm=hA{*8<fExy;M<X(SO?)5zFb?Q{Uhc1?>=ayT&S#I@Ja;v+f
zsn<nYoj~{mGOg2g${)PA&zF)ld?Wi-7azMg;Rh6Pzz---vE>*_zxkgAWY@L=3<(VF
zB{}*oiAG6)u6VMA_BkQ=!OR;_A`-9ZdeOtp>d3}faW$iVJy1Cpi;OK^H!&wy{+wL-
z9)jVe{m<Uk&%Oe=CK4JU1toTb2I-`DH<d)Jq)UwoL@6hLq648dax>z0#@Gw=yi3kj
z9b0oTQ?wLo|8gv!Yl)FBrtPnsH65ohV#tT6X_<H5ffzYrE9@~uz}SX<`1zuSrbKa2
z3z@xhi%gq}f)V`Y9D$qiJUabQ`TnBJnmQRGrFbnYU`ns`%)i{?(`@mY#qwoWFAX^v
zC$$)*+vaPjZhBO#t50$?fwzQ~7o~ByFpvz>&!hBIjs3`ygaS%sG3dAyubOO`DN~Z^
zt>O1wSrVqKF8<@<+;81X*^(O`rATPkqf!d`NKbHon6!RNx0C`06&PXAE?~dx=cP1B
zLE?;*0+m)@yw-$?dZVRaDbe!9b%H6SK;UjuPT*oiUAvS5r<4MZlmbwlkQBhGwWJ_6
zF9Q}!S4PS}Ny<QaK?as`CcGY=&tm&v@iPH|KoV!Lvd~2XrH#~Yo_mE<tJ3qCV9(IY
z79e{CHQadA1Nt0X+%zphCt4Ubg1k&nvJZf(?cdo2uXh!RotN9acY&+y%DbS6pt&Kl
z>j;}0mR}1jKU9(M?X(dZECcv7AvN%c8QKUZ2IWTZ5RE&2Q6-QQ{9*yWs2lhpjvvAX
zUMX4cNU=V8=j*i}-WX4)BE_H}FS&VXn3U2`xkMVA(g^ZPY3P>H&@(R$;BFzk=teg!
zc8x$bDgArW@Oo#EukCaM@0wWDUXli$Y9XCCC`2J}i72FnC;+ukLwW)wh*A{VNEEn3
zurvGOQYT&%f;0)iTU-XF<>H@^7uUQD)JYl8qzsHnjS!YH&@E-4QOZE`ybM?xp(tg5
zG$%R5|37u#9oWWs-hFqtJM2vW+yn<WM2Qr&XGASqvMhOTJ5ggNb<&KcZR)!DlJIb3
z96PaNCux&3ZB`SvwwuOr5<ANlEy=QE?MZQO0>s`MxbOFZa&+p~wEh10{`g)<Bmf?O
z!+Y=h%-{2S{(sPm^tCm>l-B@TUIXg#8gN`&1H)x;P%N*3!nHLZU0VZ|@*0rJYoK^-
z4dk!=E%}Ev(AvunQrAXn?{(J0R#`TyRhG?i;n)^LL|nb}Aa(7PE}3=I+N)f8win0A
zvRSU)>)9;V^*kaauOw=eWwXpva|?^pK-41vl3bh`zKke7UjuTHDnk(+xk#P|K`!&5
z<EJjXU8Zm-`OXji{3Vq1@@q+V+?uSwrx;|yBt|s1x3{>u%Nz|+m9?>Z13EnOXU|`_
zaA9ad;Adb()1`uFe&GJw?s~k;!!T*?yyfxFQBMf`H@@}V?|%0uzY_Sjt{}xy$dLDH
zZR;#EEf}jBT%Fz2K7n6ED>Hu(X`WcxO`~a=xxnPY*ZRXHLg~szq`T-Cm;;JA0c~O3
zbiyN=ZDy0sg6cSq<J4wHbq$~|e1gz?lt7bcK&^>_?l-qJ)K@l_X%f^X=dzwPQ0}}J
zv<AMsP2e0#yq4)V&(8(YepClxs&Z-HiL*%b@wHVbz|%4U&*)H6p*D)jkjESG&CJZW
z`DoaG?jrSbfp2U=p@Z2>7{A@LS}&TDiBu|%(mr&jE9KMi2(}b&AXR=kHBvsj8@`HY
zo}QkY9WApJ=yH*T(aXTI@@=hPCupn&S%eX#nhKGX@&(Wm@Mz|$(PBqx@+6a`(xGIB
z0TDq`WQ(bEB0az-ibZ=BI&NyfTv8}lsyVL6x#{G>5>vrFz5LQ@qA2QK+3LJgwmR>X
zt<Jqpin;}>^IqBNyjQk5?~$#}dt|F~@4@S<^G=z@{y^{bn9X+C>g+&ustSFw3EN_O
zJ0460!U2+Gi}~<i4s~v*&r%eFbA(9(6Ra>8VlhD%ix~{jXbS5M{U+Ud6|Ksnk}c00
zP}!ywJCNlf6;c%_Dt-82JUBk*Uqo%>RCw|%9tAX3R2JD(b7znRqnnz*cUUt!E7Z--
z*3?W-lky@?Nov~6j46p~wWPKd)oTW^13#nD#l>iJ{rZ(F@nCJwiY~0EjuqV~8eLPb
z%VAAq)b(o+YM{}c7->p_0aqO-ir(9(Sn1bi^LkXkc2`h-(3tqejwhdda&q$Y>B-3_
zpZxg8@!*M1JoXW=lsxp<$NmaqM@{^#x84d{cm5T%11Z>9K`}Y$bP9D&=j3E{HQMXZ
zsF1{nrfN5!>-7ryJg7}Bhz|SvhyrBjVank@i~kD7zRs?-uiLk7-G;j!e)zym+t#k#
zyk*PgwV$-}RF#u*R;^sKvD1V#URPgH-Pnxot*E?O+IzS|Mj{z2qDV}uqLO%2Qt9zP
zsRkuDxJ|rX(x;Jkqh2vbpobc8v|wqLuog>V2QDI-F{1~wPIvY!9+;FIA@ML^uVC<K
zpMWmav_=m%y*zcPlvXR$X~Cj`tT4V}u|TSma#XT}7g2fAz*-VJP@|ek<<T;|qT)N>
z!GkKcT$ZHGtI<%?#>HdEy2esk8@3J3Pe5Bzn@y;**~o9unt-1u4_TC;f+Z{)IvvFl
zDvBMD2@HeQ-;6KR+#Cvd78VmEshSP>7xAZf98D!PR5as*w?U&xB<iHlvz<?Y?kXG(
zxvdH{p-D0VeT<5*kk*U}F_Xy7&dsr`(8RKH3#rt?!t~^Ld4bQ*j*VfN&yV>qTba2C
zp-u(u|FsT~Jm~;=;liBTN-Goi{^sKG3pjdOZ2^f&rTjwUkK|J0AB*ZQdze+S;d$hT
zqp>JXozxi9szO??pp<9>tHe~(q(dXVV?NFqsOqZsR}4@MWncq&E0PGOnW{@#i}upn
zmoANrOiqprLt0%)D(q~=d&Q$vQ>GvlG-U)Mc|(p(_{Yalz|~@=I#BC~?T10AuB=vL
zg{_j5EE)_ZD}I5Niu^Q~Ex0t#qDGl>W08{jVdNdTFL$)IwxSn32H*=AO`Tn9R-m*K
z+&0Vbr`DzhJZNonwIZDJEEridZiazOrHXD+@5*VeF)%&a%MVi5#-lQs=a$L5Z^>ld
zV>njl)KZVhWZq*knfGCt%zI2G^A5^n-sfZ**(!@u>kj^*>WS*%kdnu~C={SHfI*0-
z0=TMR&Vh)UjU{JiqZ!ob(Ye{#6sfYy1>l$W=}@KL3_`B*F!ZZRr~}Rya3uwE11@io
zw=^^u!Oj-QaYm!qgHEMPdC#sTqqN{3K7Rc8v7<+iVazVR^Uibx7eEnz=N&(mn<+6w
zUBE|d-MV%6)~#D06gF?E=~orV=FetJ_=v4|=bWwuO<lp)HWXLa*Neu79=hZ9y?giG
zatmtIjmEBhcTmq!{{j*<a{DRu3U2>Sy;i=xOnr;`A#UHG+=@?s`qO{26UhYf_-XdZ
z#~*+E3%%4ofQsfPH~|zgUp#;2-6Kbiojf})sucwZJ>L~zX%fuCSW#4D4keLoZEX%!
zYH?BAL!H3wm(<UxAC+(aO#PT^Zfb07{K!G-MS3&+8Tvcr+ZXA-#m!BBrF?smK0tp2
zx0`4u=~_&sXf<71ex@7L=N@vS9rWFOz4WJqKK|vGU;f8$zu?{>{Vi@^WWM^%qoSJ6
z6tU@fg-IcpUv{}%^!SmNUp{s3z4xxNES@?g_UziVZ5t+W%NCqUV`KN0hdzog{jtX%
z|M(|9@rlPj^w?vM+`E7O{yXk@?6C*#xaF2x?mkHUFMM^B%KH6_3y=j~UqS>c2We?b
zcB5bpVG&T-IBIEe%`|L238k-~>eU*>V~;)dpx84#4N5kQ$PBL1bTT_LPx{=3LIH@Y
ziRo~7VHON#<1^v#>;%lfnMK$~eLCPre4$7zk%&hlSy3&a-8-fl#h`*Y00E~cr2>Hr
z_OC&K2Jm9fnKL6JK&LD$oFpTdx-f)dY<v!(R62Fe?;pMhRrT(9zyHz+tdR4Q(5!tr
zFp6EBoSug^pPR;al6Vcc5l~=?&lrPHfP@?yi(mq)RmDg|>=_!md>MN2{CUXX`T2{d
zP9Mixy*)ViHpY9W1_w`^9T^$9a&~a=^d&5mbH}K6@EJHodzr1kYOPT9D<vqBVyP&(
z%@rtPEwT8!246LnXEYkI=j6%5zr+=N`IYy`w>WX+x37b+@F)NDPv3s!l~-PU{gqdK
zeQaoG=)E&9y)<|T=&N7+f_g>h!&<L5t620gV+BfsZ&50x3&m{79~aE^gkz4^fad@^
zHyoC*^BRy@BGOcGO^^~HT7IVdgJYQbIj?7N5%%<zvoJ33F*uVm7tal&a(U$3^o6rZ
zs7JlYVo(Y+;aM(8RLQN*=V?~0ODK5C^s8UJ`R0)$M-Cs3VB1HB4?lYVEA!9Fx6evX
z;P#i&pO<e>NMDk^Abo*<`tN`8lb?L=TieM4<qO}#*Z)pG)hqoiCJ!>DrKN4f%9ULm
ztu|3zQh<pAEPr`miW*S#OX=(l4OXnFa8_ltiae(Q@3dNj-f(2}!ELy<4sq_2Vwn|X
zWiLNST^lQ9GPheMb9-encO{M`sECy^nY&UZbGu|Rw_7H2yL+$OncXs(E02w#dGg}o
z_;`96BzAsKRYVCHMlyt@=~gy0;L_1qUQodbpHAkqpi*}f3TMy0@kU_qx4-@ErHMD*
zm?S35;xOWZZspdkxWaTyC#V{+D18ZgW20zFCW)y0!0vtf_U#0Vd#l~8uys<~armiI
zuv4@;R#17NudK?9*DJyVxs@W_v_;&Wp}tN1q<s4(^#pl_zPrcGtUQRy|L5`gXP?EY
ztEy28s*`u$eRroRbn>L=Fq`3y^{iS8hJZC)Jw0ts_&g2EPz&Hzdc82kIGzzyNyteE
zPRIx_l;|~Oh7t$M^1Q{8(ZSYYV6%WOyjbKoxUg=p@nN?Y6j?!)A~q8Xi%)c@R3?+l
zm8ynWq~={NT>`pFYd{3lt(=*`j?3|JK^4L`)2O1M5J(kEu#-F)ALLFn;qfFyMJ9%z
znOjK=v=o)cJdj<OEhw=I1zS8mIXM);0t+opPR3#5I27n5kHhQhQKIfIL<N-r)9s^R
z?TID@TFGM&X%>uz!9D3ltv+ycZl%$P^C}i3L8ZiI&zBf9CNim1M1-7u@11wvId$dy
z`I(Sg5uO0wlUv!*fs;w6ih|0DcaP?Itm$vSEdNd)iR0be%MW5Pmd761%H1VfxqD<Q
zm+&?2f`_z6wsQB#R_@KRm3xzH<!+K$3pdF;q*XExX|2pdVjyUR`dkjbMi&EQiajAh
z<UbzBOAr-w&NIH`8;P3Q+GrG*1+WKjGM`9~tH_GYzy9^FOQmQOzkYfC@&zJyhEMzk
zkA@OOTzD#W^4BP%gf}GCtY1$^USUcq)v#pY1*IUUQd&H}UL`h{y&#wCzx97$^UnSe
zzo)tE_uP5sf9vsxHHQxU7oJWtd?};x_S^BRXY=-b_uO;O&D%DtL`Y%fsx`2B)~xF8
zqCP6nJTKNH65!SVbw+1B@o<>B`f4oWYS3kXc3*6Ur9^C<|JKDB_~R~4GZY%j77F-f
z(<n9AX$H<fSah`LM_(+`thr*zxe;speyz65gHRw88h>zVazrAD&Dd3Hb+L$F%PK53
z*oSq78kjt74xWR>$Eq9KC>L>O#G27jn@x`^RLBu#47f2xTxlvDgYsm=X6WitDMyGR
zCa3&C=-}YO+&mry{3*O9?Tsy<A_&4jL~Ds~IOw*rYG7QiJ1(#_ELM@3oSG7BKHt>T
z<nWb{hu}gduU;j;t}eK__*8g`u!W*g8Cz3x;lhmD$|woh3_O+duxY2%R(LA)qQy*9
zBF2(O3W^H!p^vbMNCfPUi5UD7T9t{WQM1cx;OI$$l6WS(fv4=Y@+;w#;2#-)858|#
zyR4hKe0g+qYHDNzI(vw9IJnG^7scUpO-3;M!5@*##2q1ivPfKdIChL%4VM(|5AiD9
z3IgmEpZY&s5C*G6<ncqn>o~U>ZYFuAluNr6rEIZ;SNtb#M_G=n>E#C@8p>mhOpdIP
z$&uYMIkE;v5)HUUCP&uD<j5MC99biiBdcW^aJ5VWR?55%c|A=fIe%DWDGy|a7p?3f
zd7=&pU=knzII<j}`5+q61e-3L)8e955+~&isKhf+iD!vQOhM21hLLqgm%o-4fx}vh
z#<YT};pow$6A2qy(p4stSFUWlK`r8n**j6ah$c!y!wAV;Q;i<1YO6Bs@rbO~`{N&f
z@s|HwGb-=y!OH0&s&PQ*>y;j-Uwm2MoK9y|4QOai!0zrefmKMXG@BKQmH$yeI+sy5
z<AbMzA%O!fdr3!PY5ze-8kTfqC5Q8Zx0*%3#=tSKPKhbW^61V9CW%~D076~G5<Qv5
z7T2=iDiSMID!aWEijs&}JyDbrwy4?w-~iHV@fe!9n9V9aA*dpdGd5KeR&FI(co5>*
zNSR34>rEE%?a*3d0k6^P5V0hLX?ewx#!MD?XiU;EuwrI>{IUmTR~XkXN<n0!y;4-@
z)6|(wMVQZ#`1@)zQdXOo3!M(2^c(bMHUS<oTy63(Wz|`N>O_DbUjkHJG^<oj=f(e^
zJ3|vd7xXdfoakMHBbU@COr~gF3H7N_lRyCqJWyVz1_e(&@lYG;pN8#$dEL2lr@Oo-
z_V)6FSmxz%i)>HGD?Rqh_5@)+C%RS6etwH=PwbWLiM_Htv0J8FZ<guSjWXT3MW$O@
zAQn@c26mK|jd?UGm6!M`u~ZVGIFgBwM;fq^8E*(Lf|X5BT@OAo=zlWM0_riJ%8X#3
zm7h6<Fvn>;acpMMgPEELj*~|gR5BWGh$uFKLD+CZz_F=mpyh^8V)Xp^b<niyu16Y)
z`bB`zcta%d*H?xF1WL<6My#dyK+6r`LzHbi@wYcb7l{H!P*Hb7<giydX!+4kB<Ti?
zJ3Bkj0$sX(6UsTZZr-?lt(~UVAOo;r=bpPBdE}AXZtC5DM|SFyg7JN&+DMe@Wv@>#
z+@N!LexT)su;G%%{SQ&a6oQF21P}YK>s%)7^$xVaUPWjF!YY&FG<n4Q)oKI|ON0uU
z1!p&?)AIl=^cm!_LNv`04DwK7d6LRO!Z<c#EUmMpRVrxfifRDlu+udKHF=Z<t6-l&
z9v@U7*aybu>*2#BIVTvm@mK*#gkm@ofU6jeL>4{X7<~3nGU)T+&m1h)8-s!xjaFbt
z$WXNuGDJvhKo1Xh?BW!pNNChEk{2qb$Hs=PT=GK8jf@UoxG+32l1HCz;|+m8XN6T@
zNSIJ{Elg-K4Ulpc!URP$CjLWZmc3HO26{_nn$_zgIK>!>Rp9=I*_5#y2z2Q6^!u?v
z<Q@cv9r#Dk2bSO9+WQcSDaL;J@@1wX?YXRJZM}5y@|EFX2&ao0kDi185dk!Rpru)n
zA=;JZ)Itjad7aD30lkh+64hId3Y`_*tGaNny?t31g7M3#<w&zCxTocc_^FnI7!N=2
z;SYcK;6ooeh+mIB`q;xCdHhp<io5sU|Hxzb>xZci3)iB4Ps>&EQkU`dz5F0`ZETdu
zo%J$ZEcZs&;@JBkch<{v@kW{4*(j4cn`Cllqf8gCm+9j5GP$!+CU<HqR-0X|HJK~n
zft!&QQaUU~Z5}}ZG~W{hn5ffJkQ{-W5#ki}IV@PZiuwK;u=X#v+MSInu@{@FYHRc>
zn(ORIYy~?&Ef!dUg(D<day4F$=+l7%H7d8Fm`zDyjaFIAa7qpDL#l33q0p)q5@_)T
ztyM>{_`E`{>{Z&5(@^7Y{n`_AGwM9wUt`y20&0DQ=FGRh{q2)1YquPoqpE7~-rGPY
z0J67C{L`QP{O3R4?fLyK>3@}PpOXHBJ~87~SQ7?(Y+F-RO-pl|3kyr{Xm4%ra5!Dd
zJ7BJN!5R<^)m13H(xiyNIyD~8xEVI5=<lV**^ieh|Kfo?h!+k~|8(v45_OvTD*Nb@
z4Y~(+Bf$8*Yfpa<k;88wQX=i3{vH+0zta2}j2g;U#8m!hhjfcXOMd|}J0ODwV0H(B
z$#^gr#->cgqTv(*C^3?F2ojM4H`7Q0nFckXI|~Fe5>gqQqQ7PY)lz=%<OCWMOawf0
zGvS%}xp`vJPXa|~ftSSAIf=7wio>|RIuZr1nxy7wv1TZvVa7bcF%9I1ElZD&(e~P`
z0csaCvV!24y)ZqF41wClK@8biR<&bafyxfE_FF#{|JmUyZ>M2BNYe|izT{!JS;D2~
zg$$`;n9(Dnm*Bt}T$-k)CX=PD4zFZ%CR)@<MId)!(ejvYrJyU8R0<I7L+BFI8ta4Q
zl4#%-$stc_Hdoj+Jk|$;t_U?n2u>Kbv;`)a4Sb=6D#RHH>*`{8eJHh)qu_H3>nm~X
z)@`oRyO}JH^@!#aiq&0K#sbO5<@8lf4b7%VQvuTcTrjDt62uu$n|S=JTv3BKJ*}nt
zYchxf{N=}%t2$t6=~K>)dn#G2AH{nH4a7htO;>DKn8GV6n)Uc%YaZPKl|!@DOn=#y
zxVM)d#5OID2V{HtKG~lBq|BDM4@dUEzP?Mgryr2*>APfm`aap7zF)Sd@00E6?FX-C
zGS|rVbZ1cyy`fg{2CGR*NU2x|5f0)~X0j}xSXo@LTnedNe<+RXPqN!?r&J&nvzQx_
zj<2e%tf_5khD6Xx5t!hUqlsL9XRZp1(#&gXTAf92F)%kewJ?v$Kjd~)3XK#+lq2EK
zq%v2=LJ$F1>Qt%VZY-uv<@fC_2aGnXT)ScCZcy{uN>hj&zWKU0A&H$z1x}4pbH$9p
zTIp)*Zfa`7A|`~hm1sn;5(K@SW<?=mvuMc@VA5bDbfUEeR8t{$niw=kjvP8Pc=#yT
zdVQMu&6_uG+JF>#y@AE5DVkO3AlJ6~w!1&Nckeyh*ETjbI-RR~I_f^Q1HEu?Q$NxS
zRk5Pg0Xc$`4ydDUoq|`A_)Pry=bnA`*_#m5d{X)hn#KHu^w-koI8gYWv+vwl_7Fr$
zP<&p?;yYA1V9DF692FKvz0=j$=yJ7z36qRvZH={^Fr_-`YO5=n8*4xkAut7|i0=T5
zLJ284j|Yl>Zf<JyDgY7-3n|V(eC=8mX<8i+@g$5}9*imk4%9+u<KuU3huHZ&{m5TH
z-1JkA??BJY0MNz~)k()7Z!-C8JRC0YK+mgqhQJOKtRj_36>_jxa(IT*>p0L#3JgQB
zBCW{uSCXJZDx1n@Qjri$`+N!g8T6(KHP_$CEW!_nWs(3I<g{^`GwXRRnpS{aI1~@(
zGcZ}xT2`&Dv}*uUL)wd_l<vkQ=bHvgJx0VA4+mx@vF_4E^4*-RW;HE#Y9&N9IYyz<
zX{C&mO~*m@n8oSm@(M~J<#F}$d`6)S&qt9bz%qp#l!{z`CE+19nJgx=#SUU(Gbg37
z2q&k<=lkhgz}*VKLy0dWbHTZ(2)Z`-A=3eqNJKJ-z>ZI+gZhTWi&v?`0!y+Qcu&y2
zx@%Zf6Oo-xS6fq!s~+k|RV0kGW5L-eM(iw>Z~-I`Tr#C>HlB#4)A4kMoM<7P$>zav
z9f;>>1#!|To~$B>Ptgh5U(7FX7}z!lVBiMsV3V>)&NhN1Dpn1qS*fIR@Oerx&|Z%$
zdM6iy@NJSQKu=PmSlW{yM>gSuU`Gm!5;zJcqW-v^3=19B(XnzR+Jy9Up}yFh@j|0s
z8ljnfVsVwtEi+j**K8&jT{aB>8>K}cN>Yn4DO=3=<`}xP%#DuVTD)tC#5cn85@>BJ
z^9U}S8&ACeul(GsTOH3wE*yhNNj)s!9R-T}J3~30PLa6u@X=xxwP_@Bd4DfINL?Eb
z$|U0bGKnbfE%hLd-2{pFpiCk@D3gc}{1J(GpG+b?Ad`qIWLC}!xkS7=5eSn|GiE)T
z%>)+%-l=&HmIbz(XEB^E=KaXyO#A$a1;Xl^$cWA5c~h|Pun|VXOm}oNH9FgBoDF1c
zNU4SSdGEB?`Lo{*O@y%!5LtttHge(Wxxo`>-aB&+SMJP(@lY;x8MM8JFJ1AR1l4wj
zH$n^m202&YI^eClT9@5%$DMcHxogL^{p)(S!l5#j0w>>l@7&vBr={9%q!3GHtU9{H
zSJu0_H!fS|YOW)(Fl(i=wRJg|h?hC6x?Gu?jK<z5soeDnqW?Ii2rGSL<jm=_XHQ?e
zfFN{O;Xo^yo@HWV`=*{o#O%CmM>UhzuibIS$G-5vhwnVF9qP8DW9?0M-~HihoWuOX
zt2%24<6(zHXn#w2vYL3E79xbpzVZsV1HS(JH@@+;fBY_>9wYp!KmF)OKlwqibLY;@
zYY4q?+op}{*KfLM{~h-~eE+?7-o9@q#;)Br@7lfr)WU1mZ~VY|>N7$IL%3lL)yokM
z-L!cpQn-6=T0`Qc%UWG6PIQ-PZg$pIA#_=3N8k<~02Z+tD;wlH<@@F>dwVKNsnqlk
zol2FA#&*?%?15JNiLiDfPJ%=0S5uu$)doGG6qa%&ki?=;UjyR`+J(4PW(~M_)rk9B
zjV5&s%r90;6rs?R$9FE~14MiUXOIz}K^oH&4~F267bsQ-3&AROexRq?VZ?+KQ$?LY
z@2Ig>)Ynzl*VZ9q+Tye^sjLMaMN4h1sRyF5!)Cw+qao^m_ehUH7>$pf04eqHk+F#j
zp0P=Y8<5&o)znnD#LiqMI~^x`k|u$iL^PSrC6h3ii0p_aa;0JvOLu;rRalWkQaUP#
z=%HzMJxx$b7)}tc*Vye9RTdjTJFrp~Uq#Z1ESi^%q}<J+SWa()*j8x?ERDgNC({{*
z%4bQ%y=Pi)SOxw@y15Rfr^e{6&!<RFwOqcg5_1M_XN$GA8Xr)li~&xPt$>8gfsGe(
z349<>{MmFe2Ad<9%HZVlxh!!EaPo<4zQ9r(Ak1`s6M@l4z~PWIA7EE%H7qclK}V2j
zI9n2oO^ThVP&h$Ikc**&#N>nC*^!H56Eky*c)xfoI5#<gCchV_!m*SZf>%j|9+pVf
zU0=#)2n&9RFe+5HVl}ljH31HyFNHAg!_y+GEX8Mw&!E?qAzzT5<3ls^qh65Ou&xSR
zov$d+YlnUgDN-m-rN|l!vu|gf;gq(9WTyBWKm68_pT0+ZL16D%UOu>xQ7WF}IM6Dq
z3`=s5>*WU_+RB5I$w7IKK~82F@;LIps!QZ#a*&l-hH{oud0iqalY^{G4hjJE^b3I4
z;zuL-af{H;*nqt42Twr&KWU&~$j>J7$B@uZaU$-d@tlOPU_Vf{{Zt13%hG;VFF%MA
zFOOZaZz)IeeMI&xH#(Q%%e!RKewR$z|FOPeYYtw|u-+t-_Kt(s?O%C(x$#C+OFka=
z%+1Y(qqDQ#Jl0u0NcopC&VN9$=tZVTbBG<o)s4_b#Eu(pgsr3(=FecKPE5b^&bbu!
zQ)&d1PB+3-szoNpAWgazS=mXZVe8g1F6FlCxRmaFd#PusuPvFK=oayJW#q}1*~f3X
z>820$QX>4vr|_PD1)e(f-mx<BWOe{(Y1Nrkt5(%eQ)kZn0cY~+f5e$Qemig`8|f|d
zw(@N!eM=cf(glK|e=OfF(oMjTAR5fS@WKmUefH_T>o}4_1JHS@7tob(3-y~9ULYwF
zf@LJI0f?*eo?^_qwgE%3<)Mck{@`QxL-Fjs_fsr*MCN>MwM01_Itpk+3ZYhqh5-=7
z-FPDqB$J&d;4d$5U@;iFbN&zs{^}sh0+A><X%P8AYiT4v1XUQiLoMaPVX+ZFk5LG@
zYe0{9>S_QYWb7(Xxg*eM6ANYV2rk&@%<KXQmQJTc1~lD*Y8nxFa|s<o#Ks$e92ZWV
zJc_Gx;>6(K(eu!c=Z{mza2^n8e*kW%MFw_|psIjPm!!276=LI!P>s_^zW4XgegFK@
zOE10p+S#*b|K&yM-~JD11`|kS1XVo@UdSOJl+18~Fr}EwveAj(3e%hy(2L08mCKjT
zU7hm#=Z08ViWWmZ5A&Ns<lYW=#i8r)ilM{LKKqrgeC3%hm(dfdufGg`>$Sh9zK-)R
ztM1OOGIqi-0GCeH25ZJoRkgK=DhNeRK^q{)fWX6u5yo<H=~4kJ;Vxq(x_kLS>e}d*
z?c|j*yKT!s)`>%U$zlH;R-(K2I$~Uol~^I$$tz_$StHxY%v2!dHizdK00yRrK{`4*
zI=KXuuqt`TeWz1kXR%BS1c@p#hlT=f^TY`j-rgaW9e?jvzxvf%qo6BvD_adZ=+tf7
z1l2LPeKnMH?3n1-pU=ac0fHW5KhIaM+`fJLay!+F<56J-<#YP9plXMKlvFy}+i~T}
zW(QF#OVLLK(@XuUHWmj4z)$Hky7iCm1lsI5s+;<nThG&#PUqJs;AlLi`zgmps}<*I
zwi6Dajg^&+oiNrroMo5<O_3bX;-a9k5Ws*!i}WWh%KI=0ja>(2T2WIhBBWd_YQQFB
zwQ0*Ri9i<dVO1!ESHfjWma=%I!`^0t+1K2Y%b85}T&|)9#$}rWGTyBmPegDIlas)U
zAaD~brhpe=e6g(CoCHcfn?><;0+0!hFAi{@Td6~ffONW|LQn-^*r+He7(|Oa5}#3E
zHwdaYNRwhn-lc^yP9jo>VOQ4I3#wVnU5WDGk{I+${zrMru;BHJ#1n#jS}bLP*$~2Y
zbg@t{P-x4Lq#Q>H;}T$HB*AyIPza7f08WI<Fo_aH;I8fM*wXm^5Zu_(OOu4=4omqQ
zIaXq?Y~{*(A03eCpuJeV+Ywj&zr{*yldar6vXv{xO2}g{%?r>ppu-}$TDrs#11Au`
zb5uMC!L#5m;qEM4I-XYoT}aj#z;vMR0&x-?41<D1B12KJ`2?ItJ5wrGJ>(R`mArfz
z&y{Ac!m)VoQqE`uRzfi8bZANlmU;3<DW7jWc&5|@D_+ab0x>Z*EjF*fC0>jy^({<9
z{dkngtXN!>3{4Q{%@zvsyB_Bgjb=zILYCKR0rS>{<{)Z)G-+N^V-l+##haa)2n4Y`
zd<#<-@F*O9^z`Xs{l52|h6C-=>C?#P2qw~y6oxKNh^F;bRfi4<y5YCsE1YAN10ue;
zS!}*<!-n<iR&+FAc{-PMuSdTTyPZ6@W;J|-RjctBm<geQWyvJ!Ydhd2tXs7TuxF{J
z0j@zqEom}aRVOwh$f4mm6ByD`6fG&Svw?x;c{)p;i6t?~s2ma)uQ%0C@oq+0S=p~4
z{wq(BmaR;GvmPIS95hW_Cr*I}CA%HZ(Q1;AGnw%DKuicGgthTyC{p%7no{`vZY_aI
zWQ!^iG1Q37bqMEx#g24v<+NN8PIX5Io>N#W;0HJxIJ}Pw?}H{f#1lXvg(UGt<LIbc
zo51ys<xRNu)(WwC4puQ$Koc~KY>A|Q(`h`HPe*VVsw(i;d3+(Q7ELph4C`ib8pxaL
z7&UAY1(U=^Pb5X<Xug;$76N(Ekx7>dNaZR<^Z7U(g^8b1#6STyDhR60n``i;Gz!km
z0x(sFCD`7IuoWZ4p{X-wvBFA`5W*60pJ*_c1Po)113n4If#Z~{QYl3uc}bb>gQ{`s
z5!KRCyviWK@G4Nv1Yc>^DM@curAB8Y8(BSOu~5l*nC^3N^b~<27gWd@;!^;Ra9a!6
zEI{zI!A=0&QWSoYKM4c`CJTT^U;_ckz<s3>O*0u0QE#z)b-{Ah4}c<*D;B>DvR3KK
zN_5~Y6>|Xzphcqsa}Nv`$^&RlMB8YQMB35ugYQQpGA5qMd>Q1v(wED2?L)o%AjCv@
zJS3AT56ZORM`beQVI0|oD8@rFyH*~>cu=MdAL!)<arhL`qYw37w`(7i$rPu|daspP
z@5>|cY|iTs1sTNVJQ36}6cN>h`Z#{^EYwkMWJL0Su&=6=j*g(p2WDI$J%xTIbHQlQ
zqD8}8h1*srj*sNvE$3;;Hx#%qQUc>!jZs`a<%uQEUl|`^@%qz~l?ZA0BVoMh3qScD
zE>rv$zbKtK3o|qyn)wBM2)uPBG<XC7*U{-*i!Gd{IkzpH{oOC)H2Tue#Y;cE`p>`2
zS0WvY_GDb%KP$8<(m|ZbjE^)<&1)Q3VO_lhRBzt2smtmEZYHj7*aYuGF!I`U=()SP
zv$?^hN+(hUw=Ew>MBfFYj!H2#-3}^6q|&TdsYzZK1X)OM2$`n0&IKTqQVviO_I|XN
zdY1h#*a2I&QvxNZKH7Qq#TQ?kwe9Yu;Cr?U%OH`epZKfKeC9JBI<ULj9GqVyShd7#
zqJI4yH{H}qFLIk7Uo9;jhO`<Kmv=3*BcHImy$jzTov0zLn%3TY|NZyx+qd_QJMP%F
za^<GAT@XzO@vfvkCM;W6@C8}2WhDykHEXURa;v@Cpwt^#DX~yvw^SL;HRz2CxYxA?
zN%(M@w&K6ukeYh?iawtyH|#Zo7gOD`cXbW1RVc>2++frjDs5&P34J%(AZU0k!lw$w
zvg&57R!iIMNoySpBwoqe0Y5S$4#}B}5KT%hw;0zb>5|*V@y(4=5?feeZH;`ZizV&N
zv*PmVN_*upSG@~K<<!RZFa%hInxs$mui612%Pd<KYF-1`qtWV?p$c6va=OL_TtlNF
zJM614uy|*!u6G*~;bBFoT0daivrC<U=^huC(?+`^TL4KR1VA{c!Zt*AIymQJGgB}}
zJ@fNYB#gLdDVLguqbV3!lLm=wFIv&*_#6rX-L_)U=K+~;F-u9Yx%jlFq=J;whz3KY
zMKij9su4^?Wi#upE|zmjr4e-5o*zO-@1!0VOPBLZqA3YZS<A#A`GN|T%4&>&DA@Rt
z-ozCYQk+t1sd!FJYaxF%;&O@NR1otlG0}8j7loWFl2&-h5UJ%u`?qL8g&AT?sR+V)
zLc1iz;?M(e;PwhEssu0qe55jH5|oGV%*DW&iSUL&B`z;AMmtUA)TGsNT?LCdVbi3_
zZ0am&;f=0vLoqw%RhwD3SU%}uZg>R7{KVY6Kcm*Fv4c6CHXoQ;@Wd!J6B&ss)eeYB
zyV$2pW??MmSo)h(;%kCZYc4@e6pLTQ$%vHne4o-2$yHRuRQUTm{$ABm0H0_s_jRiD
zd>>(-HTLp@)U{!hNj;-X>KSEH&xm6Qvxre9^^7ua-YAoLMw!$z%A}t0y3|tww^JU7
zb>f!K_9>>Vi3Wl1-i%u+)~7h^@@^IQ<XCJh+2rU`tXil#gTl#Ir(gBlx~5O@sdqQL
zAn<0+$eCN$^(h<)-J*a%hMthi^8R2T=+D!A3UiVT3;ZYvy=9p`h10K|7I>o-w_?6e
z5zu8Sggy=(i|K`hKE<pqTrWVGvl>Mz*Qbc8vM8cc)oJV0^PxV)a7CaEhzxkwTYC9H
zOh$QZk<Hv@+04mtcAIhJO4y)VWHYx}Hgj8LGq*)Hb6aIIxB2?aQ5`aU(IC?obve?3
zz6z~Y(a%nUo`z_=7)@ogj>@sIMbzF3+I%`1F_3be4wK5Q0cjI8J&n?V?6g=H%OX3|
z-KCSfp`cY0pIgAzSqxd1cfJ1lSt6#j$>8)<EmC<m-`QYvYmn}x4j(So)x{2rbrt4(
zu{b@N(P)dA%QJLE3(QAnMRt7pmfP2W^~0^1tEwsh_j~mBGf_9qqY8NSYK_mQUM*I3
zHbWQx=HCJpj<o*=zo$C)f8-+{+0_|(^*7rQ^7t9^=hPhnpup6T4I9$WKmYu8>GRUZ
z=(nca8iR$FKJyvJ*|WCKh;<EhpmtTVmTFXbF^Y<YRuYA6uyD%tn^qv*@7Bb1x)MNd
z^HWh2_bOO{2WB&sVjZF`Ws4G<ky4Glef3))F)|*N(s<(ifgqVc&3uV|>zQ8Z4(bOl
z^wq+;FGb?{0wSq^biy<tF_Uy6YSgO`Kohi_S*b!YE*$b@3z%YP1+%%7PIG3lj+NL_
zX~CB-SuJ*!*8}uMI(EkW9%r2mSXM!+tv8w$G4EqnVmVQbw&YGH@O3JuSf}zK9oF8x
zrMXRMXzN_>Y9fM8Wp3;6E*2=IAXGKR5=r=iCM~Zm2g`v-2n5oA^9IDa>IhO)TW)=z
za|M;}Shs!SI!L|7+T}NI9iM<`#OJO<28xDVpbTd?x5lW<QM0odfQo0ux^nk4m4+sO
zVV#D`p^s-Ym7~=vzc+&R=l}szYV@ZjDKD!UFNP5<#YnAYDJIrM5-=I7>Xq3fr)sWc
zB6IK~y%D~y>fOUvVO6*__CP>^g1YXt=uc1QQSN>9YQ}8NUKQ)4D88`7@FsKjW~W`n
zky6a}2LUlqhA%OiYTeiS=xG?TN|USg&w8mZv3pk8bQRADRQ;C}6`N{GFO>J|eZBl3
zwqSYOFWay3y#1pxNk{Vbd$3>cm+e=1-d=9s{ZI1tt7ZFDj<4_ZE&>>W1*EI4wnFuI
zW~ax7z25n`5v&0pAj<Re@EwN{5>LY7B~^-QJ};@!8dhJa6YWyHv#F`cVnik?1}j^c
zjRGe!GcR_YyLe@21dfhl%^DXh$1}$c|N7_W&%O8VFAg0#bjdR{_1=5G_{A??8yold
zU=$n5O&+z$q6HlntGgX|-_5<dcI|4eBe(%1HjJ^E-~ayiM^1{Jl@^36aQy>|i$Med
z=<1r<2D8Oc(?LAS>c&Qg3wPS>aD7q2PiG1UMk#^WqKoK8=-@OLPQiX0TO<i&MDg+l
zC+wuPJz^y?<qj67e(Ch-%MjFxja#<ucD1kG{LnQYlRL0!&z@CxzVC59&;wR+s#!3E
z(quuHj3^&d<Px0Qp|$_RbI8{J{B#K51DtcR;bwH+{p(MNoz2a)RSv9Cy;iFy4t7(s
ztEH~N*@S%R%GM^A%h`%M?atczT6Dew?X#$YbBKY}>~<)4AITd=k_FfRnCl{MBw2<^
zvD3K~ErqX-*tB+~;>cXUhYEbz@M-v~=$Fw;y-eNnRr0pK>Xkmty*3FmLwc6J`Qu_I
zHnZ7+b%0KeF{tn=o1?bg3XxWg4Xr}~jm?ZXtJUc>gd+#_d2V%1A*E2Cl~|0s9a4$l
zib9zTak=ohdGx2XSd4m{Uqge_iH}JDb`2A9d0Xe|4NXlgtvyfy4ipNsHozcXZLdOy
zW-J7hJR+E&q{2ms@n7}39mN8vUz&(UH8>9vALVseaP?JU=j`lwbRI|J6(yW^DDE3x
zP@}*JaZP^=7C)&d^iMC2CwS07c6ib-0#Q-PW970M;>)oP9%9j~Qx|c*$X;=I)cgfz
z5+Zx)(rChurjRhLa2%ELoEf(oiqQ~O3{Yu-2q~tY_RQo>)S!S+7db|45bLrjg0a`s
zvkYdcnj!V0IA=ANf~hr;5IZvk5NTseAZJ6$>ClrhlLos%2AeDb7zF;|PBI6`5)3?4
zD&fuGe3ExZ&uT}hpeGmvjgo|Au)LW9X=oXZiJia!WJ~x0NcbD^OY-}CUSzWTlf>8c
zFD!)SaA!I!<ugD`(@KS?DmN^Z6tJKj`BY0gGWoSu5Zs3mGUSpAIQq)4sMyqPS3RRH
zr3_805QfYozQPwuoJs=<LAu@eRSjl7GnyiONa<$~Z(}I62v3Lk)0O6D)OmlyzE5+k
zGCcnkK9yHn9Ms<m^!-g=C7okKKl29>2EmIkB->K%>W|gU$z#DAWzvzvf;%7`|0i{G
zT{3HCrOcX<$AVjB(y>iu%{Tx+otc5g2&=7)jm{dgn)nja2p(ui37y%T&tM(|ewq|7
z$MOS?!*9HC<OoUz#x1Qoc5GV*$%yZIm^vp|w{D%AYiuN~Dgl`}d<2p7+0=ledGqFG
z{NLPCS7TOIIm|`|u4*%)V%9Tfj7C)NMd1$zqs`5*w{5urYXA0fwcLRNJC?9O#@n`U
zX*F$F<!V9^fp<SRzN|02(AfCeYr)BL=gwW3IB?+h+i&lR4>($TdRp<nr=xSlvgWSk
zZLQ$zFt;N6XkA=Xq72SYOpr|8Y{JvZ;D7@kTOLVcU8B9(X}1>0L&B#>zcz-rtVThD
ze&m+}4jT~?MD$0zV-us(fkXx#oDIU)8iq%g%_1g+G$mKg2&>ouM;pXB8OFIwhmO4U
z?wBuz#oUIT>Zr7|SmJSQ1s-dZZLM%tP3i$NJnR7RvIE}P#n{4vcRuAt-Y_DdxGtU6
zXtq|lRmBW+SRg=c8L(v#OT_<ZIx=zQ^6%c64oNt*jA*T|kH<|WCka*ZT*QZ~HQq4b
zNQJ?!f^`qNloVQoqt!GPXbNd_(CFv$khG+kIS2QY#1B*h4uk;aNEl#dcE%f<nfC|s
zkalwjVO!hUNFxNB1+!<+%*~P2U>R5{-of4|M16}P?_w}aDwV({OShN+oydcam1`QX
z;WNu4GjZ<J(0iwcMxx{)jyli+fMN>OytMAtC8niYd-*}?+So6%A`Zx`etG2i0FK>=
zeR4o%MI4Y>{rhEB|E;opvR}4O4#=$j-LidhvuvNZ0@0k535TGPqrm`L3L70JgOXMm
z3Eu&D4v_g?oI$~r&gF!oX+?ooRaG(VHWYJ{(}>Un5_pKJa@fTx(RFz`mJf{$qr`gZ
z>J@)lU9-HdN=NBy>zW%Is~ehh+4*yCQ)h+xy}eNNt>#>A)v9a|Vlo$h>uqTFA<wE+
zxg2kTk#7`TRrac?hK`Qq<v!6hntWt2gWP|{x8MVn2>=ONM?)J@7R{uJYG`tXVJ5*%
z0f#%4a$x~B7sn?j8D=JeHH?^_YeUca^}8N?@WT&2c+V{dHan7Ir$R{hhtIux7BnWq
zQ}L?RyYEGQyBU$67hiniO_qJ*jn`%n81VV-I)JM8+-q;V!Lo0SK}sVU=;~gvyb}SQ
zHLF(jbgx{7*hXb7;9xb#3!;~`qpBVRL93|Sgyu3JBpRdXXf#ex()j`bb(v_mRy1Ai
z3ynqP0w)A|E5AQrN7PlduIPOKF@CSuu@|(cbUyzqU&@uk|Ig5=km%B@sXV1rA%x9o
zwJcLehENg%j-qTbg?iC=UQ(ItC<JKs__0;cNRC0b1|8938ix%^-fE3R;DwOtxk5^G
zRh#G>V=$vTg$^KZE*G5k1u{%777v6%k<em>Hr96l;M07O7??rm!`WG@9otN6Ue*rH
z-rO`h%d%>;VlQPQqRV16>+`vEk$l@+-T-uqT4I2s(b<c|3X`qETB9ZWwe>j8Y))J)
z0g&@HSqo}Ynp7W597EcoG#YUuge<yj298FwCa%$>=0hnn6ZFIa8J$|m*`rab*{bFB
zQUQnq-bw(es(_%Vs`}25TcdR(NoVXsFIH87o~7VMoJFk5WYZ}qZj=#36R~)f;?yL#
zFDW<}n}DLin1~0FaBjk-*6Gx6AJuB35|hR-m{qua#`1F<PF3o6`Ga21%+;%xuU;LQ
z8lMW&hAM&>0|*8p2+Rab+&ggrWK7M-F{ADarEI{LkiRLp8MMZpSGQGHmr9icTn#j{
ztG%t6tlbu(G@2`0T5YB_*jrE_OJikw>+&ujjk$7Dkm3N9b*oesHP}!X0KS2vq)R!`
z^}v1m@4W56ZRK(6+S~40*>dl`+wZ#V_S?(P-0`vd?>_iZ>Y%_yv-s3(zn&(F&D>_u
z<2!1V{gl~F7h>WPX5(NlKL|lo9)BW}S|5~2t&hpH`y)7#M0p;ONv%JTNv(r2sr86V
zY8{kGtw&^1OU{=l@0ZbiX=KiaKIUWu;#m?a4rNNH{A1Z*&>ziG&_p@p7_{nSVD{>H
z$gkRJtc<GK#wJ&rs|g0Ij*bDPwcs-t!eJnxV6zq6AYo8qE)W6h{>jhZIX?{R0omls
zbK$Gd`6Iy`bP>-F4PBawV6hsb@q*53@?1Xp?>~S{Yg$b>$JX!IwRit5yAbE7r00;0
zKXs|5W_-MC5YnZLTUpGN*^d~p+iZ2VG{D-l5iM+O+qrXRyNL}<O$7ojS8JV>hKY#}
z;R>qCdTVtvLMSz-%cWVzkH2^NETLZTQFa8(yIRBHh6bpkTuD?i91A-g6lI2%_TBq;
zpq_Ze^0u~R?f2{eegwC=dmEJ(UVr`k`P**0^8;=0@B=w#y((o~)!Vk=Rxog}&p!_Y
zbFcKpT2cJ+bKm&dGtWG8PU-<4+DGph9o@Z~7_?HXK)aQk28E@mOi1juS2ea0<hQf2
zt);QP4N>j(I)@%{P+e<lTXVe~QpQ$`%v+VS*$zzJ8ljq?m%Z}~v*V-l3%Hk}G`KD{
zOD1D5^rMJJR3fkk5dsc1#N)c@)SW`NtHG+%AY`r8>Ws>Aa+FuV--k*j_69>CJj~O@
zOe)Fg?9LV-_-o5MH5m^1J!M}rCy|t!UYkZPoZy0q9H5zu2xvq1&6``{F*zKtpzBRa
zLdRy*uo=>E2sjTT&mfSCR`Q8xSXb4#^(J_ZO@NdHgTASWs~0bi!L3M2Mrg(=6euB7
zL!2N+fj&8m0#ctQA22=d562KThwlexAqLkbo++aEizo$x&4a~|!%vP)Mf`J<)Cr-9
zs0b6z#8FjgM>t(YrSYP0Or=UB-~+*{kcu!uN*rV(EjE}dfF#7%Gg+KYqb^2VE{Sbj
zv&ISqUTsj(qL$M%b+t4!*&%Q*2~F3K%Pr2T6)q?(V=4igCsHsNA`!h7?<f^fxXCD>
z(UoFfmy}7Cv3zBubrMS^o|BM)=eT4tk<OB@OBM1Z%znC9$N(hXR0c3Z%NY&CS2ijo
z1i&NlB*y`?PZkhzf+Raf%qeUGso<Mi!~r-Y5sl3N2s@o9nX0SJ=DE39UkpiqCG6^w
zA`kr&UqqU!x)s3F4lL}>j@EXP5Te4DFXKAs^<Hm3%`u`9AVEwiqg+})l1cb?T(qAr
z$+Nq9`9X-N^0-ST&mNM=v%iqZv%7F4sd1LqVB95>XYv}1yJYh0Zkas0OD4}c4*usD
zw072uFk&o*^b9V26>H-r0W^dYNhy}m1qe9++p!Wjz!v*BO)vzYq#F}jFnM%BMI;Eo
z+Ke|!b-1_$Ko8TAgtAp^=g;^SA>xqn#8qC&w<~{_NaYKKT#3DdN)yLOQ2}FKg=Xu0
zoONV0l1jR{NF>vE#vxQp4WB-K{GIbN)E)aY-VuPHCcTFJVte<^_dI~w$&HoiOW@TS
z^A`5%v=(e%r)$2dlI)=>0`sh<0374)-M(|{+D13mxOVeR+wT^30KWDk>N)0b{^rT;
zz_tCbPrJN(?fNy4nQPXs?G~xWccU=s_tY`!EV-$_urB!h?|=W5S5IbosUO*Es@jq7
zzv<3*HmpUeZ|#OnsN~uN9oDy#Is}N^-%(%YKf4D@anEOW!nyiKJoP)_X8JMuagZr#
zaMRP9=*RlBAO6^9pZv>De)5xl`Q%@JTx{=Lw{;uPJS!VX?1bgC73*ti>Vf=eY11?k
zZS8DqB7@q7FVj}vPzzo|&RALFtZx%4_TI7`aEac%6zIXOeRF`00XC`8LwFV3?O`@r
z<_Srmw5<?R#tHy;6kz|QW8=_MS}l_zIxCKtZyz^7A!uB1b5b@w#*YdWv-1%g8JVF@
zo(U9KtOvT_J0-R+=mNxyLwN(_ok!;>)N&|u$>b9Lqsbz~78jcVq(6v|NgsEdWnxh*
z5h)coVt7ZWxHufh=ZlLMs2~69WI==P#udh16x;KQC?^Yt(cTL?28DC^nPe)B*hV&Q
z&88vb5;>AAD<I0-$MK1H9=rqKawuveN}(bdN8AWy2OwcXhyj8jnc=F%_E!%7{!Mt%
z$F9ypaQc(}?8OVHv%GS3c=+t)6EM^-U%7;zbJUOVmUBT*JcL!3jfRF(^Fqbt3$UZE
zUcN--FNEU(7;cO4$VIU|9`FFWJRi;~5RTMB;0J(hz#OELs<Kof=|K$8#P=DzD3dGG
zE2g61V9+a65Qfi*iQx+rfeoT;G=`sXv3>N!o4)~R=*6HCm$<&ps(3e@js=4O&#Vo|
zZHyp9uHR2h;56Snee&GUf}2|yx^Uw3n?i-V@A)77=!Y-3sqxXF%R@-F;Y*DG#-zgv
zM1T$gj#g+GJus25s8|5`@Ke=K(LmA(G)-`iSS4VpaWBcF+k5#zh?(-ZLnf2<%Vg5Q
z{~(hpA(QTq*;seTWYX<28|yZiOu9`blWv#Eq?Iz6q?37u?Zc%KzTEhnca}uY62&am
z0&AF`git|c0v_;%Omuh{3yv@f5$H~dDFyLYPf@EE6k1SmxmDVn-im~QDI>POUMgYA
z51k)54<O{(oIwSvwtm$NN^r-M79+%mLy_~n{yGrqqRHnY9GL~SFmm+h(K9)FwP1Ac
z`2a+sBT?Ooz1J8P+t<fpxQF`gUKD-pSkqPk>!--<-j1C9x@Iekh?2S%$0F_ps3*rD
zpCYMhA#v<zL<yw2Di2GBDb6A+;Opm}n4E;Ab2Av;o}vcOQxHuk$xZo}_jE#eXP8~6
z(|m5J+o1llx3<HX%b7Rd^~4j@=Wx0j4S}ObCCfHYrS+Jj1-HInA#^1gE>}h|^|y6_
zYObqm%?EZL02tu@5B|xAPz3zY15bVqG3HMn+z)?v)B5#my1Ib$__`oA;Yh@{S2We4
zuOL#tjjJ|nSlv{Q{7A`E*+lBpo9aa+k19@@(I|mmB3Y*Z`osuWW9^kla937Zv`WI8
zq%UO^hzghDY9k&n8323od7wNiE0LKeXO8R+Dv&4`&n7Dnbb>Kil!zUW;6R%hi=|Xz
zdxu&LrQ2Xo5=5CXG#i7(;JI8tdPWhSCe~0ems50fKs$+uLJ^7>MUkq2S=dBJ{DLu%
zr>u~%K8-(seH=83pjdJtCKXH~c8Z}i8gRZ9H87WGbW9{Ct>+a*1g#icxoo!Ru0=g8
zkui~y3U-qcbyfHbRY9$TeW}ff)QsSonVB9LnVrS8il-!E%~jgdpaseD5?ordITe|n
znSme^aUw;xiB=afI2Yu<89+ib*qo{?UtxsyYS|*ThY594BpAXcVuYe3m|Q9>5{VFs
zk#KY=5Ahd<^cGQ1PtF=^Ka0uA7im<{Qbh$g9YMSStBj|`_A5HHwY-APn5W*uI6np;
zB?^m<5iYk26G8HJY46mPD~L6U2yd6%h|p&J@I0b9RuYUQI!j7`auQ|3hA}as$w(gK
zdz6cgSe1e$CxKHe+gHR&r~9xBV0$jfoNpi={mrkF`_k9@NCx_U!uY&iCUIQOC9kek
zCUIJ25=YMX?2<{Gri0fJORX}ABlqf52e0!>n$KOFUJPMl!MYfmo0%F#pA$qUu*zt#
z5Jx-^Ez^^t`3En)eSQpqo`3z<fBp5lM-ROY25cUIE1sw41b*@~1jgHMfy;USx@9^X
zg^ks_dk?_$cM80Q#ZIW%DDXQ;_0-0V;&$pC>J{#ZhikAF$kr#f=fH6GeK4H;u&)=r
zyLkr^l-Vs`6t+{}q@H5IKk<bxidytyAXfnBHtfIcJ)QN|)vGsd+Vrr7gaxXp2Gob+
z2+B;C3<9z*My&x3DHfMmh2nV>=OLGYGs%?j^$4A;(JY#mcQ)9ovAba4G+8Pf4Pg9+
zmjmk|4!+Zp88WoqDVj&d<`zSUX~KS+Sy-5xhJxaea6#lE4X{HPtJUul&0gQ)91`Oh
z<p0Je7lILFOJN4O=@`Hbfgrx?VgL*%I74z%C>XUTnq=8X1TV(A<+Eta9Enio-yI#A
z&cIl~<v4rt#Jk6-BLXNS@nQap0)O%x?Cy&fiIt6}92%kgTWJ@{2ys&{KS*60CYeq%
z$#j}sw!%y}mc$KAvK3~MtuT{Jr^(SFCYeq%{pTy}I#T3vUXj0i@+5Dj%n|g6;{PSi
z#{cD;-{PC7rb%j&;`gG4Veh`Z{1i1+O;tk>{{ZFB+z#po)Q_ou=6_55b|WIP{CbDo
zv3|pTK1RiKl#X2GCD4eSEwXl}6IHYs6{Vv1E=@txwRH=RkHQC1{B(}WO^;3RT1uOw
zk`y)LW{`T|(Q7zCB`DqpkJsl5@M=npccA!p(dXmccaHIuR3&O{mOciYspb8<y_X-v
zgq6q5vf14so88A`v%3vPwqSO*$!2$(Y<9QHX17<ie|u%KyG=H`oid9-jv#R!iCrPu
zd|Z<7V|e&VB)m8?eEh8w7e<j;zVs%1TY)udkwp`&2s!3cigHzKshUXZ8Z{%@#F>{~
zh4uJGnY`&|uf8-sdiL#C5s`S3fBr|m{O#d)f6^;G(FfiHfvvYexrtEn>6D)fL+GcA
zYk(W+US~mw?|`&r`*!fbrcztBY~8eFb5ql*ZQFM4>RhvHFXCXNcm`Izz=jt?*{nzs
zz-m=6?p77DSmp1&d+ccc&D6^XD7xXOJO`|k2$n;ycXv5&(@%W?zx$ZIdp@y~dKz?y
z-=MxhKk}K~a6-OM{TuZ&bm?w@;CL2qKXUpic$1J;<txlXb8bEpedbF@FmIQ>D18pX
z*}2iygKFHKo-#e+%AS=Soolyj+_1KD)s_$J*uMQP0RIIxgA%f$hzK9{Zzktfl?omY
z4CDEE6noPQ>O_`?g3+Z?&2}D<$LdNas<ag#o|gKZZN@4aA#!HHm1c3+t5s@^!Qtxe
zbXtuX-rhg~Ud*Nns2Lmp?UE7@Iz*CLl=gvEPE`_}x7Ms$){NQ!l?p$)majHj?X{hI
z9=Lr=YrW01VjFT+0vpT#Z9HIBaz@rh0;Ze~k=2M_TM(U>lQV=v)l(|r$K3q%%*dH{
z-aC2j(z)ZOj-P$^1fpi3O~drFWH|t^N9SOgP>KpdXJLWjRG!F=jZI9T7{NX{IWaym
zQd#m`T|h$*gzko?=Kr0*YgiSD%@U5ZVkWyn?^ZKR0}|H_O)GHzi&Q8;%z5OP$p|On
zL88QCp+yfE<%S932B<w0?h(c`oB_wW!3$+1*;=z1SLi5x;mjGBhh=KUi{~%SPG5NU
zy%Q(LFTHaZ0D<pNXYhK1)xdEg4+|@sHE6(z!!PSZTDGgZ-)Nw9L{noBpMYinx)1u(
z8XGdUFe-9Y{iuJ;6a-3gKWCN#v%?pIm8+Ip{1aD3r&Fl=|E3}r2?Jj*EoG3__VR<+
z$mJo&jmbG-w#s%r;b&V;X{pt+UB6DY>(|M4{aV?sUnAS~a!#0r-s`c8`rhkWn>_?h
zwlTLQ6bX1n<~+V2sKLj^LT~*Vg@XdER0{Ovm|Mf}q)fiHIGV}e3yZzd=WJt3T^mNm
zhfe<d*vX4mkKpm^!`nfh@TorP1-uq4^z=(}ZjC~_Wdrne?pKkBfW}AF+lz>N5+sq{
z+|<_4<ZM}i$LoqW{WWkB<xe!uW-;GX@zO<j#A8^00>vZ8{WV(-CjR8)q_4K^*86tv
zyZN?9@%V|{cIqE!zK{AmUJMFz;~^wP5LEpBKcVr%YbVgXoYITccdmx@j&*5mYFWOl
zy`!yzbb#pUx${=)F}$pyL7<aTzcxTj#Av3rcEg4SvAS&B;zzuwYN?c%Y@{5P#1pV<
z2WT7bR-__HK*}_ZFITTH!_LP_uFx9vm1ezGX(EQdWkoC1hWE#$(d#Y1M-@Pg4toA>
zmFi2?_mQL#><U+9P5r8t`btY99(Od~yAQ;10)mSI{h<cDBr}Cb!<^#|%qAwj`eMAi
zBTGetDwV8t7>qHpMPnDvQt#na94F9UIpfywsKJ2982K*vr|>HF-2}{Mw<R$%cH&|t
zI`1V;;B@fVQS^{ly2iW~FH+St*49+pblGhAI)zDu6W<A&6GaI5e3rn!qD*iSaXf)=
z!_joHU!^5p3Xe!)`8DSiFqI)k^o49N91Dm2(|CM^J^f?Q{RyZ)5{zZGM~QNhf^RFF
zYyr)!pHi#9?yqO^`CRcSfSCvI?ufP*GNkx|e)=i38IxMaB4(L=3bFJ7*i~*mmkDKH
zUp@2x++s1wcGv%v#o|SUvv(oF=c)W;0v5_?Tb1qfiD@3>-*0)|qWD{Qn!n|?{d}5A
zS5OtOSboH4D9sM)N6<w7#=~w{L9L+pEw%RAEj#W<9H#*5V#$;!z+6<sV{rwW;{jl;
z(bZ7AHsA|r^%-7I>3i%w6puPAYS9zqi&W8<_EG%RR4#S((pes64;cJlvJ|DFZ_&pi
zYlah~_+vQm*pVaT{fK>4wv1r1EJZms_VR-eNaZ1CwEC}5uU(K{n`P2Vj(XiJlU|!;
z^SfClz2vA@IoCs%OnOyk8rVRE#h|lQm@Ql)lPhXfg=8k5QAtrzpt@0W1=>85!HCt?
z+@^-EVB)cyMj=*5KA;?GYp!)HYj12;dm{0i-I!U7q#~x`G+y{Y!KQ0+qV}l%CXD?S
zHTJ>6T)cu8YgYv=``Em))<&_Mn(zzcDN94^rp+zOw&U{z>_b~|Y$55NybN#g`0*rJ
zq&cKxvm*29%Wb{Xi)K~QxV4K?Yi)H-ha(}i?YetA92Ylz`@;}&eJCpssHX*6_SJX2
z=im6@(@#G=FyILx92eKcFGs}Md)IYtsBCEIT2bHF+y+{ZPFG9U2Gmb&>)lFy94{>i
zHiyz^*U~xc)^Mm$!l|RO$z&00Arh_)B#FV2U<jwR7G))Q4hZ3=RR)yv(CJh#<)+xD
zYBO_530b<J2dz=k!177SbP-AFOej$Ro=HGOn=PNsDEM4~xY^!vR#UI#a*|jZKNDs~
zr)S2`jn7QPP3US8jDe*koR|(3k<24C>9#cZ-&DyALR2Fc6Qp>j%BqeR#M-%{e>9nh
zp?EFl9XWI6^n3H;S1z8rI2ZCv0Pi6ngKcBAS}<!>BW=^%>_7-aV@~Ilj9B~f$=@8E
zJ8|gT`0>Lp{o5~o_115%p84JD|MZnte)!EFQZM7BX2BL^wGpqk3h~y4I@D~TG05;x
zG$k5R>XN^tkkVyTA>uG7wJ7FNAnZzofl3kJ^Vw)Tr-H8sw4NE&y$CupN|i#aopxl8
z6;-80ABhzsK3~-F>EQhNbMv$3;J69EIM^7Zrff}Z;GOI0(y7SxK%In2tVLnuwL!dp
zhQ*ErKr0Jw=>jg}({v7;(_jvzQKW~<@rMCprKnI!9Q2AJMxI6D=4n+7rE-!+hrTpa
z;VG&t73KVw`(&QRUYV!yu*~Kl^^(Molh;ei`7ig$cCDQMa?io*k%GN4PeUcMIb2tW
zKFt-fu~aUJ4iZJeS~4~3N4x+L<%tDA7&BL>i>T8=uHMb)v`RNRg9?1ui|C~X0fdwv
zcl_xA*DGYXCDXB4f5KPJZvFC?zdZELWjGN({pnBNJT(gY^%d$xK>#ln;WBa9NVQ~e
zRNyDhAr*2OQ3n4N+!+cDxbA`OGLZHId7ugi*a(QQ)lM6B!Ja*PHmzuc#c&T`C4}Ts
z>m~skH`;s%eBBB}_u8BS-$d>#YZ~aK-XvK>r<&)BiD<yLh}7scpcwb(H+LfhvJ?IV
zxe4r}dy%EU3*ct_7$*rVDNawJB&Vu%2z>8j2r1rolfd8l5!`v?)&bX6VtFCFic~X!
zIhFm56)l8?9ah!KWiEX1R%$;^5?C3WB+}tD!wJ0J2Arw|MGPi#$7&jYM0b$_3744!
zf5Dw<)T#6YeZs?3F;^IH2T3Z69`IL%8Sx7NvAaCV<&qgU07U|?)?zvgoSOpyx=}3+
zxLOFrLZ#H!*z^v9uGIp~-PBsUbf>Y}g6v-l8fOXmM1r98{DC-r8f#IwL8@MAv;wCv
z;g0!Bt~rtcKw2P`EnxLyz^3s9qVOkR`}o3fatBdDK@XBW%#)HQftqX_F_Q?^LKxaG
zyTr>hpdW)PfQ=D}W$02`a`UhkBk>Y;H15p%BiK4)h)a>lQn(dro1PYEDJ2;F0hmN{
za}+qNW@cuG&kdlR5dsRN47_ap<IE9l!4hEfaLp)Eh=tTkG@Zk0@<&p6ufGrJZ*-&q
z7hZ<YpCr>1V5JGc^(K~m5>1F;oRx{R2v7V~4=I<0vwCrS0YR=e!At<Evviu|g@HON
zWCY$v$WErwQf!{wnVcW^5=DRiyA=IQIfk&WmmkDtEf0CtVV`Vg%ej~K;m9@E+52Sr
zc%RIhxaE)R?0qtQyic~X<(1H@4qo>rT*LKq^Rp9^<HU(r!fw_sVK?8%#1qJi;o1(P
z-<Y6N@u-K=ckR0o$SEij1;Bzc(<cThU)ys0#IfJK`CAfESb}w~UxIb^N}tk3Jd1H;
zu(R3MKnjgDu0!j9>PLF1zt`W0^c0ldOb(If!!HcDdh#FGuzD3DbQq0t+~>-mKLqiC
zE73#jb=x=o;fFu?!FOJG{(n>U9`J44SGwp7fEf%rKok-LSilBW^=1`|>auLvvMoDt
zi7k8Wv~}X#WOK9k?b~-X7)dFcP2!jA%_f^{ylW>}XB{Wm^tjPo#p;Em*gH{(-s}4g
zsH`S?e||4-XhR|e0)v_VIsa3>^L?2pmARKepthW-{_J0U=Hnm#=;MzcXP-*<Ghc4`
z+s{0Wu|gcT$-$tXyn1PPW`^)VPciq4;=YQp(p*_l>A{z~qOAyq;OI?=XkSd+#}rY<
z&M*u3nqsaq!^hiuZEIE`3#}erIdHTW`!>>B9KFmooawoXsP0`nd-hLIq#;qgZav1T
z!4!7fVn)SXeyG)i=FV7}TI<?d>TG3lrbqt-S}L|XXLLG~4P2o(gy;g`r4!5W(k(`7
zjaI9HVLKT&-X31bW;4gH%CV+uPE?0xW>Cshx{kN6JnN`+ceHuY>+iNyk*Du2BTxUb
zwz&aPOz<Epi6jrjaljesre69J7^+rOPl4WjdQ!Xoc>BB+9lk|Bu_G@8=BE~-v$ONF
zDMSwE^WbMgce7ZWXXZpv!>K@wrD<CIClFOp4g4V-T4>~WYot6ju^1tGCFnYYXC{{}
zUY%Pi!LwFco9$*3st1+`^dcUA^w7S2`wkthqE{=q*;({W#+pR+cmMgN-~8sqZ+`W7
zdz=kd<xnUwN)wh9YqE-EjdK_bNAFOnj6>&Kv^O<^q6rFW8ac34BdRARCgE;oXOFiJ
zE6-mZ8p2kHV|IFKF+MdL2;~8D9X6S%{ETCmT%i5_L$}{?$K4<Pu$_>1rW=@7tEm3*
z^Z)kJOTYM!UmicILMMh{kLwH3z~a)vBFNCN07UwqVZVqr=5e<5k1$xi72p4z+4Nr*
zi3!h6kDfby_2ikW!$4TEM{j~+75Y1v<*Y!?bGuO%U)&<|LbuA|i_P#t6klwTd7(`*
zFSJ_bg*Nna19<u*(jsPqEWWr!=7sD>Zq_v9oe0-?_*`Ioka}WKl-S`bD0W{wfBC}s
z^Prl*n1s%S8k2$ZvC*ukE+fjLD|Fm7fLJoIaDKV4!SFBt5|PDEfBy2z0|U&Pq7Vu>
zHUb(}uko>yfI*i=f$FLL+A5e(LEE@o)ktKvZH7_`pbqO+tzzm$VS2g}z=<rCMTJW!
zh^ibm0>E<=Wy$zSc=lB7&gH7cOlSvlf)TZU^EZF<fByH+eD0H<1V&tV_0`ga=bwLm
zuqZ0F)MP|W43P+d+*C!$br^5BZtZFeuONQ6SP8(kdhOPocN{(pY=tl~;%Ngwqy=2x
zt9#LZT(e^3%C(4AR<uyf-$j9dtCcDuHMIy2V9`8FaYB7#a|6^VfC0hWZJGeEIlOny
zAc$%eX4a@Vc-+;3N4?37?H<3!m7DRG&Xs*_Z7nTKH<)l5!z1wi@w})=)tN*!-()sZ
z2zK0A#EA+lK@$)@D^=A7T_BRo6frH7%c+59w`mj*j|3rM5(H#l(oEx{h8IZe$!DxE
zs998xvFT}8g5dWz8W2A8^+^mTvL#d!a6>D)W&Ry(*7#jIuvIId&QeJx=|ifBdpZeF
zxwfK18z)0rN01+4Mb{*~doheNhh3R<R|gTFf~;+HauV5&;C5GNcGAd-3V%^0s?-XA
zPVsgqbMh$VB34j?G9N79S}nSF#H!`Oh&Hlknzr54&kry+j!iN<*(9@*eKI>CK4?;e
zliSG$@j-8r*~uo^ZoOV+C$1`6IY<<6IkMg!vnoA4-7!5LRhhbIeo#?iGd@dMfwF)B
zpHUsFsUb~Ca7qXQR!C8&^O?i9A8z3Ne|Yo2o4+6DU3a1RjK*_GvE;K9RWp@oCk(?d
z-P)Rb>#eu^k_+2e26VH;2dsMil}V*%-=2Xz`&zlFR~Z$(AJCeX3J8hqQN%zA2qPM?
zGA)u$#ln;rCEZqG2h^lKq4+(&e>dn)|FQB}^!2{4IH-N4zw*>k)QIr*WneNb<t$fO
zF^a<c?24;bn-DU0NUmA}E;<}eikq_;b#42G^||#MI_iWB(<g#JLNb?GOfI4lpVwqE
zJXXCRsg#T!`5YWaNOI)~pu*-Lh)__67IOv0s0-<gd?6p8Y!HA@t<R#U7#VE_j=!W$
zCKc2xmRtZQXEMrk0!fW&<Vq^fHP(&PH5qg1VXPr^8<l0N&!Q?j*&6VZ&E#tW0S@P=
z#|5K+64O*LlU%I}HnJG34K5^Ebsg3=wfI?3_~15G(!>_8f;?prrOGTiAu68(JV`iF
zzR_bY%ngk-jlp5tTagpu4LL!FOO!IPu?%2j$`}}A@WxumyAn%}XscqULDB)FQK%*q
zN|!Y@WWVS*i(uO@E0{{25KO8(#}yIN79>}hFnvq~;+N_2+V#%z{K?a6PM?}B)~!eD
zQDT(PO)4`{Jt7xv)MQG*!Nr#qx;}_!<58In{H4qW2#ZYEy+>qw#iO#lLe3U?L}mjI
z$@U647Fo_ZwUXnpozhkeZ84-Y90!JKI&jxPoJ&pvs+a(HsjP6J7Ube0LVseU1^kpz
z9oNF#VHh|Bg{T7>xk{Xz;>}GM*45z02Ax5tQP;Sgcngen(gDc&QXu6sviuU@$g_MK
zH29iu&2V!;c>_F4sqACa$Lm;*#hq$wY%r;q3V_H}?&N^3`BrJAl3>NyIDqgf7HQ?h
z6IBL9Gn_cqAM`_14M5T~^Ydt;&jA^@Y-s|gtA-C6l@G%n43<jufcd@m-U4{5Zn?!(
znR!oYy<vR$B|qj6h(33Gvd#rdY-#dRjtP_GZ@s~ztk|P{XD2HC_)@%up{X0j*siZb
zk_tDjVSso5q>B!$6qu;bcZyjD>)cuz@JTCg7%0YeFvVc0UP+e=me7FV3H(9nZY#jZ
zZFO2$l7?ABM(Yy*kggsIpA+>G1b)j0%goQG7#*xwUrEdpjIYH|)gN1#Cu|wGA(3@t
z6Diz0rb0v4K=&%3u!5^lDiG9MRY<~^GS%A*Xe%(N#ORSnCgud3mH{vX2Ouj9sFGQt
zc2E_vF=-``b{SBXr1C)L1Sk>!4xi>jFwvnksBq%tyb1xdE*HW^5+k-zK%&YjygXT5
zx>&}`BlNGXj>QzRRtRq@2q~b>#Ac*EYVBj|0+$A?m^`-vOfER^p|V*bEJd1&(@wKG
zMBy4(G-~jFT%w8-wJd{R20Idh!3sdgl@y+v0}K@|L+R@-Ckk4<7VLMFN|+%Si=oXx
zAXrVg!H<iZpJ1Uc*r-91jZhMT5@JLkBaOw1T0sdmctHmmDjWt<XK!pYD>Cpaxss|;
zYH%|&=Ze$D7LQ1U{{F`-TFELfLl5@?b7GW5fSEuuT0j>VuBW6n3nd_#6k;vNmx+WK
ziwG%q#cXB>ge;hul{dT(3U54!#HuHdA?y^OPT=FfQ7#7nLS8J|5fwQQdBY>2F-&<P
zj*`!b&QNs;(WNajeSKDD2`(zgI{I#`8(hU@uCWLD`2o0~>LF)0zFX$6J|gp1#0zAE
zzml^XKP>ZCa^>m=W&TReZY<{oS|^Kb9kL9&YitHdX(E%s63wA(olgg6B3MtwqJI%A
z2V+S;N~&}53YMwJjEE`&sMc8@;EcGKSk3grEGwDe;Y!$hjFmL<)D)^RQr92e#if{A
zA_PxtaxR$&U3+(os*4%o6u$WK;w6xfotZ5I2O|PmW3RXB^5hU9I)DQ#uy|^OURkNm
zYd3Cmm4jdm3o05nO1({l#jVp<;9)BQHWU+^QjlX5T8O9Bqiq7p$F0j?)urJ~lm%ea
zk745d%L<LM0s^hFqL8_GaY<PNfPjOGT$Gyk+;+zucWiK#QD!S!g!VQJVS-u<iQDZ5
zF(z}McF&D@ap6{H2xlEctJ|1LR<u=!l|W09J+6RJh~|8eONPGloojp-c*<65uYX7C
zz2lw_edt4b*AuaE+uBvP_V;hSWjAKX?zrQjhk%~GcikGStySwlShi^+^BJ*wO<!9B
zW}V8W#%{RMTd38!ar4fdyZ7$h1t8<9Rxra?smmH$S|v^el&Qs_O3xt7IM!QlrQR8b
zsv)l?{3&m1GE-!%Fi>9X)EHseRvqjFzS=E1Qn>;`H8>H%mP4nNR<eMZ3sa?_D#zm)
zh9s`QQxlhZSGEDyZO~D1+*ntuRO#9`Hqz5MrxRd}K8p(^87(#*w@k&X6}v<6w2EfA
zvjohmfTROA#{|W9)Y8gX(m0PX#Firz!*f!Xe+g~?-0k?xg%n>b<l;*ZfyWVp&{Q;#
zC9>j32A)<BF|Vu9s8v<jGbP&e<X7QYPZ$+tB~pP3X5N?bthPo{&xhblQ{V~!`>?gC
z&8^N=g}RN@_z#D&;mOI#Xr9IOAf{S;D4Z;=gi=-TX_CP(-j@NgSTwVO)+m6>f+GPs
zlvP|(FL~)qw#dNZ84P$sdz&NlRvG&BSdW<!O>+Ylg?)ffSnyD2m_jR-E;RCG2~|Dd
z4WWsO5RWT^<t&jatBg`_U>=4OOcBu$ldk}k%o;E|hGT9Ho^T<%Kz=2|!&-QnS_a`M
z=#AjhkTnQ5Fo$qRW)LKB>b5pxDUQ`2F6!Gr!KP3z`^zc^C6yp?>c$*XRONHa8(KbF
z5)}whk<KHV2Q(1WQ)m-Fx`I~<Q6{U2qk|XyQnd$gPd`5Z*Hk_3k>wuu$^6)7WPa=(
zJoCTKOx!2)WB15%^g}W~c2ED!9>6`a+@nS2$6Rw5Jz<Iwph6~NsWL8IKB+b;bFoxn
zVNTQ+GpQw9yQNgNjOLQKOw!-v$wQ$9n;1eQMsZ9(2VuX)Mgv3hUo(>HG$!+z%=qt-
zq)+<`@BxWMgNu(%2j<V67WLV1U>MQXa3ETs605MgpG0JKCL%s;1PHo7?tM&u>J}PE
za8~A!ySyuPKT=!Uv}WrD(3P$6T2*8r7JE}i@1|S#edrPF(1x0}UAuO5+4M=U(}=<=
zucMXl=36wDl*iU#1Mel`iZau6?le-H`LY#B`bvNo&MH^0-t`o)OP2rs*n<y#>abUh
zOh?_?xBKo#|7I8SCBQmgXU=l3y|&<L$B21#-b?l2F6Ru&AHNpGy_HWQ8zPlm`ub}G
zC^+I}rO#F_5D2%xJoL<0kORF}>_#!+6H<47b8}no>J?p`oxR>hQmd$KXo8B*$~7Cd
z^$UW<)qn}3b)AhaGkpk5(IeQMnLP$3Jr-ad3acuN)lbA1$%=*syl8iHV+u4K@^!Nm
z4kZ+r7^zY5=uzc4A>oe~u==67qEYi|<iJ{N&^*KA0>xl4-~;Cc6q=6N5Jh8|vW$ta
z{P6-y7+bT{%`Yzc14}$PC5>JQd(|3)*8_PL)H%?_)9ds!*ky(WFzD|=K1#5pxoN$L
z)&;J)s>(ybGL5iEFeWOf71JoW!l<(_r4%;BAm|d{{0do>pg@ly6AeS8CZ9{-79=o6
z45>9yaFA%G-BAERV0E#<Mvv*2YN#e5R4C9|k_=&#OLVGK1arml0>ZaqG91VFm#P>I
z^Sq{%p|~lS%qs|)1nM<-%qGuqR;$Kp1E2va3Q=g)q41<61a?5`M%yDD3rCZQL@Zey
z#)9BqCYgw0@NHHQ6vh1V#1_0iI-k4^6JaRyh}0=koPeW30;f+J3GO7Y)iEup`?rzE
z;_$_5<Ity^j+5R*IT>A;nYeP{)GNQOtJ7o>voxa>&uGD*A@Wot26F8fJYq$%QVNRO
zJmKv^_GVMWP%|5m^r(`cmLe!vo>gklcg357UI>rqO0pP>SVoNA)z1&Waa51PGA|=%
z2Y*E7WgfsY$;;d)%kB=#z048yK=sA?8Ak49?v;5N`DB*8|7Iny`yG%~W7ohno}x{v
zjJ+|P%ckbz^KZYyG3f+FNTE!D<xth5%1-sj7QTcWtVDID>KK%fAz`HjztsK3^XJdu
zH;_{e#IV})`RS=ZB)oWf`pk(h3gy7;g`fTGXV*eWR$z|f<q#Io5lP)xM^H(n*IYy5
zbuMNBm;d}lse3<+ux({;OGAU(%;m5TmDDxOt?hklx9r_N66Q4xcnKGmn;Ah7P~_h~
zkIm%DRq(PaV4oBeV~vgtA}R|h9SDj#Ti{`yg-~<*-5-DK;Eo-)wo;dSF>mVHfAHQX
zKC=^0$nP@G8eh6@wD+UDxK$T@<0a;QiekrC|Ka=J|Nal2#oa_T<p!4>&ATYrU;YSu
zh?n`*h>9M#UF!PmefNFnp^rRx=-|P<+tv~PRLj~e`w!mpz@s01>a#1>tY5bpXR&%M
z3EzT?1TWm!j3%e2g{?|HxG69K`zwx(w{*~mbaMj@Mp&yX$bWPz9r%I3@i4erz$KBB
zoAexZVFRn_?BKzFLL(+<SE_l`a710Q%5NPNICv94oN%#~N+j0|a$<~oR7lO-Xpp)O
zbauAY7)|Y7Z!fk+_$5~zh9fu^XS?HoR%5m`00rhmx~^sJMR#$5w(gl36LG9So>hV7
zJH6%{(1!EziXM@Z(<!;?(FCOQ2DgD8@IL|(ssQ4#9+DBkU;wnFrBo8tprurJu$+#}
z#<Gf`qlDtj7e%}_M!idt8qm%x1{D~?JRt(|f%%Dv`Pne^J+t|22A?CAm<L9u6v0ln
zxCGr2jL3`XHV+cr#un8v#DVzKp!tMfsjgU6HI@%Vq;3r27gDh}B637&WY&su0qqGm
zmhh4eSjj9xo*YEKbcE!>_y#3X5Xh>gkSyv<FmYB(^w?a5C~s34srz)Pl$;tK0igm!
z?TN!#S%}U6<A3eK+0%{2d^P}Y5iIhxjiAaGja}^s_&uKLwZRfNPI-c;uZQY;o2f*2
z!|8bm;|++fzJiN~Am&T(CGaQzw%k|PbA%sYZX9w=><=H&(og&8;V+M<n(;?J{%8KE
zH6X_=$ThL|%VL)OvY6%8BR6A~`(!aon=EFLYYmVpFwPfOlpb-%s~=FQu+IYGTPnei
zl#@ZI9?!;e98^n>Lhik(m7*1&214(+k_ufD)B4Uke=0YSpTB<jwbx#|JowH#Q!!lG
z%p4>O7>}smwr$&<ZNNc8?0u_KLO;LJ;{ln?tjf_1!GXG3T5`*a5P#k{6hJcoNT$2z
z(18QDQ#Hc8>W%||LH`T$LiOu=h%Nq=c@!Y%Zy(iMy?XBbci(#V%=sBfC?_BoX^UOO
zK;ZJns(!XVzAXNvSKh}y$(&+-1)TK1;_Er)d9D?=+4J$+tAYf7!G6B_^<j1=o_CRL
zVh<hVo_+S&Xa4@EOn^WVN;B6kT<Dv4mVx*HfHYX2vXi$wv3=`SQXlvWxSq#8^2DC|
zK7Ujd@-IMrK&a%A>}ztU5GxqxviLx27^%S`x%+Tr3Q59b3UctsPy7KWxXhznFt><a
z0V)A{JR^8hfWVL@cI+@NcPR(L3aK?1{8I^nXnJZAzcM`?42}+C;O*Kt@WO}`^yA~>
z*Z(L&kU>lU@|C4=T<1b^aeQ2Aef{-o*REVagZIJ(+$ylvoO$o<S6_Yg?RQ>({p5M{
zfi9i~a2oPse<DO6NCuvwCNS${ShW#C1g$T;aQgI{zxoM|f2T>KGiToV*YE!L$3K4I
zw=cZ#yWav?_OpLyek`I4ufh7V2r4R#0j4Awl6jOS8*v4|YYH&}n-zBxeaPzFq<sU2
zQeizmv#^-UMHa7KICt*K`Kx0yGecL7s`PqujZxCDyc#iVh0`-t`2q9)rcJO582G=Y
zFIM`>vO>Yv{{^gaKm0axf>2gO6h;W!WsL&Kz-ob-YJtxw>m3k!H|UjUH*&PflsGj#
z{vnFWQk1^pa0&SD#PSUWWaGw^<%9kF0CVGbSQcO0FUw-&)tE={TvF70SQcM=L>6B>
zB=ZRJYRrSO_~H?nN09UH+}3{+@4$@uy28=G*znvRk<%lAAfbO2m*%P%h|yr4D8iWB
z!YJi51g5qq`D&H3G=emmZU<(2Oac(=0&>T>0;`7~;iW#zTb4)0F8%K3C;tep{?*0H
zpu0JHcJSoy2y6YDtMLMM(Q@?6Z<zP+(l5;U+IZbo3?c$+Jv9}^OCuJC=e4x7D9mwG
zV^WGb{G(p#Blva3;B@tRnmx<#>kX^AiL%Dqy#j#>@DXlZ4%<#%aIZy0Ml>%YvI|$P
zR1w*r@BWerQnu+D7xsN?F@#9OFZB^NJLtY;>*ELZ9azR@f8mpl9C`4;2S4=4M?d$4
zFMRg1pWWt+!qX)z+doUJ@m;USXho)e@PjH;ds+V%BwaXVv_}HoE${$6*((S{-k16a
zy=`j&g-RE+tCrE*Tl#Om@4ox?ZQHa8R2h9xc3lfKsdZ~s_Awt7d(gR|(TN&Mwc4uC
zpk#w8Q%@sAPRrnkcQw}|vafg3FlM9FN3}x;_jdN$EG!XnA*CuLt3$Fp=3wbq{sy{I
zRi$9ouJ$Qo3!$V>rNy)&2rNNXt^k#>2q{XHO1VTO-jdWum~gAk-~=nv4NN!~5_MP*
z27yR{aTt^|)u!MqcCgOZDV05HM1%3zEaf<=Hl2<-u9yb#8KDo#CaA1eVQ5o6*4KrS
zMQfdV%_>jR4e)pm=GjqjaMv{8RswM06u>xF;B+nBOuN_(erIxm{>5__5Ki*_cyGKm
z%E?$LICDji!NOx1BBwvr2h=@?@3{CZ+9bvp)u>0V2S`XDvM@D9-vXaSMd(~$ae*M6
z1UuJh>>iRVyZ%p+h~H<gD5>O*o4|5q)OlvLH15e`+SAt+pBg#y+T_I8!Z;S$)aBED
zQaPQRymB5e_37#H;UL~UGC4bq`8bi~wLYCt<87~E(=S~b^Vw6%0M6NJHkVFbg^L|D
zs*&-Tr9MKdbCqH_kBh&IR;O?fJqQ3wvEp&nGDVDT3m|xoqt;WC$++tfO}Shh9q3@U
zK!BqnArmsumIQ^uL?W*sS$4J5w~T3zrvuU04NN;mrAD#dr^ZJHF&{rP6i9OjP*u6W
z5XwD{NM!qJEXMVl?!W(m2Oc=E8DtN*78Me1g*357hy;)-MwKQ6L{>@C@Eofyr&EAO
zR<(&R|AVU!6g-GRPzXOpXnRSEAL1n_q(=P6sU!|-3|vAI2msM{lQbqhV=nq3?U9uf
z1*KL}=JLfXI?+X>w9xCqs}u`9zRVLK89jZJz<kKpC2b*_)nnH{SZb9RVVM{3gVdgO
z%lz#TSw6QL{+9B&-7<gsL26I(8MWOqf4f`eZ;i4DOwJtSq1m)35o6$z4-SuBuAqif
z#I+prr;+Vq^f4g%ASZyU%)~R9Vjj|q=sqE!ZANT>QRU`l$wT95;}_p}<Bgxa^wLj%
z@tfz1igY<mD6<PeU>74}V0`kq$unu0IZ$h+7Qnm(U6vBFePCc9WNh5NUGmUuTHTud
z{{HRTx9>lE|GvE5<ZMQ$w$)1Z3;g6pyarZ%JP-;lE-p+AFD+fY2(c69O;nVEW9Q#|
zlZMiEAP$q*b)UM8`D*p+E0{_9GEkzw1DD44R554shTXg9DfA_D8jyx?t(aK%SrKhd
zoxgJN%$bwF`^nX-z^Xm-41?i14)%TVKfbkt%0!ZfkfNSmICF5>Z`itRgVp8sv=K_A
zD!5wP!0f>}BI3wn{v5LvF@VfNL6l3FSuBur)IU2bVIPLd6P0~DG=v6~6TKd#7`sX5
zR2Cqn2a84>7uN=31w392X`2#dY%rIaYQaWG@Bs$+xmL5X5{pS5nnbf&;i90&-PKgT
zn$IcH1q`RPw-8;Uu?{^;pBwj)V>K-<m(|&+R=0p3x1O0rEbLYlaYh~*M@tegZw{tE
zzc5v1iZoUS&jdyxsL&&)sjdJ<$zVPaVj56ep^^z>qYfAcS!79UnwantJ>2QDXJ<l@
zS)I|WufUim{3&<`)KzE2<HR}4Xmti<2`srhJ|)u#N1|5g5mb3-A}t%k?M3VddW#@R
z@>!t8!{I!U*Oc?<_Ag%xs_d(wgu!vuPAx-ZCA=1dp>!?K(*VN#9D>V}uf2MT%cMe!
z*hnwNi2$*j1lf<zjq9him@HPS&Dmr!wX}J?US<_u(c<>5T7`Ckj#a5a0e~%&J@za@
zr{|8+g!l(>QXG<5@BK3CJp}7LglOq5nf1y!DdaWZd-`wUvhJ2yubh+OE?G6^kStpA
zzCW~(0p+;KoTEvMLZ+nQS9WNVDJ0#oN(E@VAfU5;>?c52`Am_yg^8)Ss;&+p?uyM`
zhtFWPHaKhete+4;SKgJp$De&;HiKQOezA<36PS(b)DP{`jgKH0y_`s+?RswX%J~84
zL)l)R#Qhux0mz%P>XoZtrw{+tojpE7bNlAit@`N2lc@dv`0pfdGaA?$ycENwvAQz6
z*{X)SE_Gu+Z8UZO9o`Idp^b5gY&hdHncc13P1Z_snu4<HwFaLdxi~vCzQme5FuAS{
zsbTN>6+Kp%EvpOQ9hMAj-DV6B<{x?Jp@()g9;U(!zW9Astw3Dmwqc^kXxnz@BYV2a
z^RI&Q{D=R(rom^JKl8?qe|=Tqx$WtvpMLPL<n3qyB`TI=t<wsJWvy>&u7@hSqX%1l
zdqWrAy2AxlA55TvhuLRR<FXkArVxi|FNGoQWB~m^IF@15R8p~mn><@rJBi_|g2AnW
zDRUaNvx5ugbT+urnw-kVkB%~-Q-FlApWp6l&T4ILLm|hLzIW*KH_u_K)>rtf%Ax1M
zE5&)XN)0_8E7UKN$tYjKPXu*2mc1~TG?Y;{;=w8cT~SPkVvvh%uko1-RulLNi$Q80
zjbFSx?=vKl;1Om7D>is@^D4>v$bl6gSA!_H71Zsubq>{1=BKa3n+)(|^?U}_(BN+G
zTE(muZ9AKB%C&6`on4mv2<dpf`R~8D;xqUI*B7E?BSbiwnznvO^6LFDVE$E_OtRo`
zHb7!yI+#o;pgCI1j?9fM`R6RkGS>vjt9BKZWu?I-6!Qr-MYJ3M0xV+bM#71rN~<?B
z@Iz4@)=e3gGg~NMUkG8!HdmPW^}su)C$m%G;Nr<Mzqxw(qC>&9Y(@Im?xuEWZ)c58
z$du<e?Em4hnK8WL#C$+y!cy154HY{iZyKF(awaT^4++XLnxZIAvbd_rY%v8>$sk53
zAd0bZR9z{;g=aB+OXw554(#&=rCQKwApD#`*aLka?*gcGatIljk{V&Bx{!z!FmtOw
z*fqJBChnmHAn;>kdq%a-1Y??5j5C@#1V)~wNZM!6SRGCECMG$LTIl4Aq^fH$>k7Um
zm@t}{CbO=#4YKwYx*cT=IPWvOhRp|w3*2S!@u=w|0^&tdY{%#sk*l$VOtGBFqu`Fe
zORA0it+gp%Q`Sn7Sj}y9YYt6LvK;{|fuf@bPiwF#6Bn2^k=@$h<JC*SrA);j)?)dy
zrVEp}eryWkfJ?~~O~I&?%TdhT{rmu2TlJ9lzV4Fw!FyzWka}PDzz^Od^Mm)uvc|h*
zS);rvE%$?W%c7V&Wq$B3xgWeXJ3CjxZB>J5fah~XlUnUC=!|8o*iZ=nI2(x01g6ox
zN4vz=ya-N2RERlZ;&HhIs+I@_JHow0B8*LJaY6FFc=FUKQUEZ5o<gUKXB&-%o_f2h
z2&XeN_|uaoPhOsQ=gQk?+qai#wOkm!I_3B0we3g;*RMCxk~GzKH`P_<=b=)2>f(9H
zTW2uqny}2Ks{BEVIZ#Mf7=g2)+_SoO14fy;>J54w`Y~)G>oX;41SqyEvcz9EIjiR+
zeFEzanu@ik1vI%O?}o<Kx;-N!BQKvBc=_d*Pe*Ij>JnR{>&2YSryl#l<Bvc7;N}LG
zlW7*)XK6HI)?2f()5(P=fx!L4TP`BBVP}F<lM71c8npiR-YR)FZ(P&Yjp*E5)dy?z
z^fduG)ZV!cG1<;dYvBq(?YeF~bD!8=gr$_rH8#w`gHI8zysK;b7L=sdbhLuH5LXR0
zW2uq6nm*$=Vx4rwW`uJ!*gLzoGyb~mJ+MN>skh0}qq7qOprh*tk<cAJ(^5s~b_<!3
zfY@c~-LJjp!v!%VN_s^th%8m!yCiQ5nq)Ncps1+vA_hK^%LbFlSP7{oFA!abPH@)L
z)2FUt5?n^B096UdgVT|slp&i5r*ca0C&G7{%#wF|Pgf7oX0at=f^}#n<M9!Ha6S*5
zn!&sZX^`Er(zBA;EVc_U3dJf{OO4*7DlAZRGrmOa{X}FU7+2R?YjG!Cjri30ik8al
z>3nrzrNiSx8C8089Bw0LM+Yub$kuzh$<b63J^)|+U{TfU;Y6&~T8+=ZDYVTllNwA8
zLAX&#rHxc9tgmU_Pm^w{#rJ;qi`n$Vt8XI#OV*OoW;xljdN(2@+ajPtY`u+}OK9vC
zLf6(=omxnWl~p|*Ee%Wz*07Y8yr_YfGdMx*a$`|ZAXoxW1lWJ#Xq+Lt%b{Hl^cD+T
zb+fw2z;R+g2j(TH!EK1VrrJRVyDEMoo0YtYTsk)or&VtS(M!EUohV`+Et892e;ghk
z!U~=W<$?LcC$3_x!Kj33qKcZBE*;iH!DlFIR2rR@%|#G(`h)ny>M}dyGu68Y%2sbs
zS<DrTw{Si^l3T2&z*07&V3f$eN<LFfUI*eO04uR1al#6pVF}D3u|zHd-5{vZNh-Us
zsC?bmbj#Kb+@Z~lLPtvlavwxbhB_k7@%+_rP|0v2o6h-69SJAcXmMAu23h2hKEu_*
z#S0TNQD6^vzEHTq1gq%h2jJYQheB3A`yh>C4$mZwVov4>IhiL^$UNZ(X%urZPpFW2
zLWRr|9>XDG=f=ZR^sp1+!&Px&5n(*O4~TdIQ<Cu4>i5^_`(wwdQSQNhet@}g9Fl#e
zCyw0g5}Y`4vrBM$GsAQvM?Eb2O!6rA{{EXi$NObb?rleu3^TCYX*ewVOx`0mdycI~
zZq@|7>13AC5f0K^V}>KagdJ5lmq6~!;-@AaemlYP8W3rr$CL@P(EWw%88c5^c*xWT
zl<@PmauDCmO5V^ywBmqucX?Wykw~E#jtzVA`ocnr#ZQ~`06!wSv^Gj44WS5+DnLR7
zXoEdfdH-!75I{G3nMX6Rvv3XHy(hU{3>Fe<uQys)^miQ8%D^9#kBYj_e)PWGyVtG6
zKeax&2OKH%b)2--_}#Z61m3c%pZONqnxp20AOHCE%YK%f8faXxqW2oIQcPMfO^r9+
zqxwd8po99=a4=MXMjN4(Z2%Z&8fosg@%4AyUws1ae((^eA1Bz=)vqSDk!{4keR(-X
z#)*9e@4BC>DhGOZSGHHSRW{@6Y3_Sx@w<S9e@?&iqaS_z`DdT~mw(3pOs#{?g8B>e
zahEZOAWmad_QxN4=)S$XwtBrA4nO(ilaD?2*xuc{cI<$H44wx@lA*z1O4P+?K<Qvx
zg1-teAX~yqA$NmL;ccK3`VQz~{vKa+PV{Gz<*5V7Ys4;;?PkE8Gkkq&ikcFUg>hJ{
zA5%C}Blzj~B0=>cf%$P#l*Vn>s10D<#CWDb@Y#(u78@Lh(a_eSfw#<=s*Dg)*VU2X
zi|?Rr`r7H!*Wkuy22WDKWA^&Uxwr7ccZX&Xy3dSUdKa{r$29u74h)5NHQ5b5dtGC5
z8@2?O^VTg!IMZ0&Ei}z8bu9#@2Z@X_R^4a9iwpCprVLF^P<0F9MGG^?oMxbG2QEKv
ztpQgzI#}hML$HRo%H+?@(Dqabgi7$DLXH$d7p1N@&b;-93plZnp^GHtGI9-yGiZ98
zx;%UZ-(I?Q3P726FJ2vIeu`H$;ez@vU|vE4rv>_zlB46~2!fe#F0#RcIGg7fIzfot
zR_`LVM`~eIp@z7h;C*vID0n8603v>7cz9$4w+YXWgs!1piqI1D7Z63QNhEauj~GyH
zWxBrePe1(Gt7x2@8@wLCHaK_o7vIA1?eC!WjGw-L9uY8(^Jkc^!cmufnp}L(9$c+;
zZB|^!HH%eRlreZ@1T-xzt@KdUzGc-cS3NDP4Fj0?C>O_)E9NR;R>^%4`ZprF%hlzB
z2iB-9st}F<;U6mxvY_2SX(F4v!LlHaSLIWk@_1D~uTAl)4Ib^!iC6EIc{I7ofIM%n
zk$E(O%u9Rc=R<*|MApCHpHE{?FNPNg2|-xoYu83c(bc+oWpHL56$>EHFcFfQpyCRo
zSV^Cx0DT6L6`(rqc83DkF`+T+J#%L0^6-4*(z%Q82eD6QN6$@RBM*g=$roSz-S1v}
z@x`C~+fUy)!~7d0PcXociM{p~!cxDAhUb;3#Z8+)^^zy7#UONp&JJIf?4VsUYZQ4U
z0MjavO=~p*2TK!CR@%OO?OGJ+wynqLC!hm{8U-S`z>=A!{7i;pN|XKCH3YFLQMh)^
z(}RA-ieAb2^wax6EE~lnA<tVK4jaZOaeie~8Fo;Kj(z%RqK~4lW8CLH{nXRUlcK}R
zQPb~gTN~<G9ygX)g>6~!+;bv3BZ$It&+UH{?TjZMm%NxP@9AiEqw~_<ixTnLRV%zG
zaM<mQja#?w-HX!1_Wm7v_cIS8gd<S(%q$9usT4p!^pbiEN^aV;^R`W!+S=-!h{0-W
zC7!E;e-o5YHB0m9;!!p`>GPta4=n(#qt4;f;9fzA(1_Fw{RB0l7-%y%oelL!A(}+T
zVjhu#R_`WO1T`2~C@{f}C9(xbqeF6lxVs@-?5(S_dz$NPoxNRs7OHW&I_qKnR$y3H
ztmy6rkYe@vH4SwDtT?V^P$sn1ty_gC+>}kD2v=5Ur>9Ylz*U}}w$;GELI35A0r;27
z7eQnaD^OyXL70V97IE(aIFYeb0KkdF;DuO&(q}0Z0z_7sMbD6Mlv!xtvU(lOsl~xG
z6G<c`@5DrmR|^`%S4u*$r9%rTd}wfEL41398jg5jYU=s~@+wn21Y=b3;Q+SJdC2Pe
zl#yuwn^}up1b%dE8b1ZRum*G7fWZO~##GAieMJyeoG^sLv8v}p&oYW4fdjE2u*`t<
z!;RtOai2gItka1s(942Omm%)(ctY|H4b7!Mv_j6Hgo0}ZtU53zoQCSch2deWol8U4
zhlg->#-$R457sPU+ku&ul*wpwv&d@8qR`yDFb)94$QY`B)!Po#2EyN?tivMy6Z!;S
zLLmH)?5d8hRb!-{etrN>qI&emVx%5f1}tZt>cKN<LbF>IBlXDQz8+bO)FbmKJ^eRh
zq#jv}WRiIl`Glq&JBCiTK<Y8U5Dm>~lQWA5@ra5^k4&JY2_`{@?SvimQM>&t^;iZ6
zaaC-##dpp#vm(1~TNNU)d)p0&g!hE~sZW2pvvbehJ$v@-+G#XmFYVs<6!S5WJ$Fvj
zqtbfz{CPZHxO8dp#7-v6fCG>P(i_aM-@*U%^-bm(&fS3be{cuNsNtjifZVXpJR|B+
zU;oCpzV*##p81FGe)r4?`@a4AJ3Fbrvwqz=1Z!@0=Z1aELm~@_cRlU*&^W<EFqk?4
zpq8E81<pz!gE8%;@aYt6RX>!~<RGTQMk1n~_AO#v!-!BMal#Ia@5qReh}C!=NVdgA
zr7aHtAUicB>H%mNnXER+rY09p*bxn+G0R8CRF$1-add)C8QSfCf-lgYu%A177LYg)
zD4sd<K3(?E+{`&38Zf)@rw{_=2|I8U$z+houtH1N@1Y_coI>-O2)*=3xJ|gQMk7pL
zeZv0YPku5rb%p>6@4rv{8L7!rV9^s<uUFKgR^8cw2QMTrtS7+I#{$ofxF&HFh3e{c
z!6*9PBKZ$e*LhG@ry+Hny~s}f9Ce+8vQ@fQwo2vdI{W)?M)Esk`(FF?@rlXMjhzmx
zCCQngIP7*78{W(e9)^ZSM#i!0321t-ie!j3x}}s416K_+%~TH4p0_wnSz<_P|K%&M
z4Gi7b<&uH);(I@z4fvPd!)Eu+J9zl{&wl-zm$Bms#8RYM9HdR|IzTTv2X*u}7Ds8n
zyYM#lyNg4TdgHp*1}*JyE<9+RZGG!kt_GJfHahHf{r#KPuI}x{ZYNZC4Xp)RoMB{%
z0+7lz>fv9zPTQTu2?yQXE!n>C-)`S#y|KY1ZR_uR{Buu!@(a5W@*iK`<*?uF#NYmo
z`8)pq`1B`^Jc{iOQxp`nwPS-b{B#ieyrTR(_3@v3kv6-IO%P;$_#;yLZF{$E>V_TD
z_SUp&+s>W4cJA7}cPH98`}W~s`_5gvb~BHQtqK6{z<<)-zG+hl?RfwfK==**jPj;U
z?d`Q_fWYvjc2A=!4CSch!`R%pah<!xX;R^PQh`r{KsA`gtOvWn3AWULgr=%bSpd?<
z$12nkJLd;kTdUOWu+=(=oP;(*0SvVUJF2T0EjA^n4CAP;b=ske#pY=`Ph-YbXs9QR
zmux&lVtYCabw{H%2P{Ab)ui5zp1$TA8=*m;Wt`niE}O6ekU+D^eJfV?t>|Vphyu-Q
zmCSCedBX~l+>R}bjKhAdxJgq}tzA@!ut@DtQHGYx@+Me`1Qsuyp97%Gk0mrXh=+J8
zkG$y*qChkKjFO=}@P}A&N&#FiP=o&u+78R`Dv|KK)PDW4zdA8R8=!jf<yU|G%A0?9
z<DEhHCg3$7!<5a#3||o0g`}t|D>18pIH(aUm8GT@G~0Wz+qhgx1-8Pu5lIz|VOZje
zb(kS40N4mQA6$xP6b&%krbGhcrpRWMrMzB`5DU~hII08^b_>b97ohTmLXFfuI6N1`
zG%1G$EeFY?WOy;KFnRqdHou`Eik^mGa>)9H>ik7E>ha)eHByPr44CQq^=mMf?(xKE
z9At7*I@+e-1gd9Nk0P==3>1Wd1Usn8RWO*5$bh>EZ{}lJ=wbj$fKomvGr=Ka0Cgxe
z`3h-Cr3B_m{Y6cVR~oG8#lb6nAGDSfBIHAoi3n4Rog72|3WvlR?LGlY7HO;oQ-j27
z2rHQmNJnYPySJYofMcp2y|TTwSGL#6we))NOxkOEWqWP!pRw2W%Dh;wY_Fv~buq9M
zoS(Zs9*VPw+H^YFQ!PzR`FX^VQ<J$896&1H)O4IS)$^B!uf2czm#+-Xu!tia4%$>L
z+qNa%$Hc@Nug3`%5=d;@cHB;0W!w4<YuD|&wa;CHjjUMQhA_`^?wrDk21Z+3n%c2>
z#kq6GcY}U?xs`oF`QQKgzx~w?$U=Ns{lxZ8ERrn5Aij7MxMRyR&#1Z~k9XHy{xRJ1
zgzA}Rj@yZsW%Y`ceJeJs>1l-kChUC;vsbkE{j3I&I`DNg=upBIOGHL?;xDknPw*Js
z)$41(F_uTE5`F+9wU$VPv%wnd4wS|?&cH<?$L%DIZqVv$>)M))2AcT^hfN5TEK^fD
zLL_%~TMWoW9lEKh<93)&B$kN7h60H+Rp`~~2+DzI9T%24nhPbLGFPzKj+<#6#u&BT
zZ3mel<$<DN5^}znoeX8LD=#c*c%M=cYivAjhrNU&fVjm%;Y61B_R&Q~2w(xCCy$*o
zomQ$~rWh+X9=8LQckbe~t3!jQ&X4-z_z+6v1(0J|yxuZRj?c~tdR!E)?DZb6PWi|=
zg*P7&2C%dy@jufqTYHCOJ1B7q)7tBot-W2cwYO6i=k1W~pgUx1PtGYUkMo*CM9P9%
zKjh`GMO+JE&yU6sxlB!sQegobCIBrUs;*8=$114!!WXDi951MJwo>^Rl!lP(BX`6#
z0u-GNm1VH_o8S2J|2{Z11>nXTzx&m%{te({ru0@>)UaAXXA)|?Ii}glVHIFs=`a`I
zwm`RrV<n=s{rjn9(ZuY*Tk9N90dGV7zun?f@_NiB!x6CYj8$_?<pryRe<!v*eChA?
zBwz}U{soRFKDrwL;rExnxX&Lsa%2|@g5RZCjJnm}0Xu}z=6l+GN`p&Z@u>xiVmj1i
zt4Pg_0OecIr}Q>h5#tgjtGm00fbbiTGIh5xx8r<>QA`cdoO+AkQz&_i$$<$jUldfp
z?l8@?(3?$KECEEmNLcYQjU+s+R8$SzjzrGJIPo$ST+tH2l~hHazJ%nWh|#=MF&i!)
zZ*H){9iv>>;->T2WX3vEQ#Z4&&WnV%1H6R@V9MaKDiHWki;0C|EDb}?CL_7n6cQk*
znFgRMa4<`le=C<~5eKExG*cW55+P3r@gadMK#5+RG)B&1z~mazaivNr=)vPDL0#6z
zVZ#GGny)5KpT=gZVzMIm;W+#hPJx{V1w0LI#O6^L5irpwV89MD(IZ8iLXJihVMLH>
z#rZF1RV2s+0xnck)99|^6iWCM0IyKuhKVt#`9e{MQ7H-#Xlsts$Qck8Gf55}Zvs`R
zv9ZxpXq}z9hN}N!l|nTG$@nA*x6UMd7#1pm8#ssA!g%hON?8M@bo!JmMX*)7+uP3%
zz?7<o9I3ufW_S0=?C!SaWxLxav%9@AyOSf;_sQ&Tr_Anl$$Y*=7P+=glRHH97uOLV
zXC_*}_m_c##xZgo_Bb?6;CwL1@XIuInmDR7X-?8EYn^~f*-#_3zKInkpaO=^`TO7h
z{_U|OzJKl_4EOr*uYjxg<x6j(fG4T}dc-rdHn6$P;sP!Kq=y@Z0~46q`ZlR`E#8)N
zudwf<{_J(|`2LnH@bc@{-45=91Dn@Ynf0nLH1Y;znq;vd5eMyZMdTFVQcvb2+h>M{
zhb~?knZ&97?ce_GhgKU=M*W|dqf-G+`nkW_!~BTo-K$?d_A{`_=W%X;{ovfHD`5?a
zE`2JWQVGKpInX_`b5Rr(QBI_SA{C{{z0iTbDIDw8b+njQu3WQj-Ju77(Rk>=kALjr
z58nHK9koNdqjr-Mh|x`(w(da$yLa!dRcja+Xe$|LtC>~>K-gIE*mx|MTLx@^QaGqP
z5DLH640NXmXc+nZ0{H5(G~TMpOWJG^Wdnqtg-ldJBM>D-jgGD(ib$<?!DqU~Om?m(
zoNDWeW~LLbvb2<eA!MT>AE#!yIxT4vG~%8~Ml+FFK-uxHAd;g4rWs5W@a-g#tS6x3
zit9KVWajWPf<UDMrCQ`UqU6adaR<p_VYZx7qnFe(xF~8>QSGaP>&9>{PQ6^hCaKXN
zxeWyTGYHhcgH)nRSeO?1Yb5$}?Tk-}h8UC>F^g-fb4jf+tV*mcTnrU<f>geYWf?~a
z1)D+uqyvFi4D$|{2El(m4k*_I#PDFRtcWSx61W7U)*)OgGq}RA5<z!19Vy`ZYXqjh
zdiCvh;i9h$G4F`SsD(-|5r$PqNMbDs2_;Z;SHRNw1I(Au>sR09E1<lpTJNrYet@}g
z?2<)ndt}xt-!=E(xwLEUky-B^nf3O|cFjF9>y_u7dt}zj$*i{tQ{eG<05L<9A=Z&b
zhXXf}SX#hXfGcK_*oFpC-%zVnQdKa;YU>(A4*g!W63ZJIqg!gK(d%bsu3%7Ys?vV@
z?YD33?Nusq1yK$Yh%5m;qRpE{{pJ-mK8&m8S6EkW7P-xvyG<O>%$!o#BzdrmnwnNa
z0=`8xkLLikSW{!89yto~_%}#1itO35qW<iaP}z+=)TLOud{*Snp1n2~${^Va&J9Y?
zA&c(b{i&VHMHR&z!h1U_e@kCAFI>Iq_4ajQDI2vco)v{vu;2KGsQ<=4Un$&*J#-6q
z?R)g?H=cjzGGU>T7vKGn<Uusp)<(6`j#@3s5h{ZL$z&rs8&KH8zgd}8H%c!dfI_g5
z>e)=tFLLO+fLqE30C#dpf~k7QR6U4Zfl0zr;wwb^u>=7vC}<%eE2F#zy$%GB#J;VM
zrHW-1d7Y|UOvRwL3BZ&R=_J4<QON^&4!xd)*>y}1g()ynfjlNl0cr;99N9&%eXz5$
zqJB1rwl2;HQpv$tk%P`<nZt{e)!dY1fq#H(97-|i>TH><O7VRRp&l#+$%@q~>a9>r
z1btyB3r$_C$XUTw&%#Bbn_MG-qSKho5{Xupz*1He(nZ7KJGiQu9FIF@AtoPMGak1|
zRi)=pw{7y!n%Uec;D#gGt(QD78fa%#PXaRt7KldYsmVjE9JG-DZY*M;MAVz~JVSG1
z5VtVUw;&I#0*^ozpqD%dPZk%iqYN}xwjtyKRuOWE<oXLm2LFb&gGzp<sPAkwDFWDB
zgJn}&r^o?YWH;kfR2Eya^xXGhq}6)R)_#5frdB;LuRMUiOwu=Uw(0${U3Clotp#?u
zRc4plWOlhtW|z0f>~gDYSCz9(*URj(w*O{lw}Cio!%7YAFreh+vO!afPvX-QG|*^b
zrbN+}B^uGQ3{groc%ToE%c+Xjd~7}im3r)*qnrho5F_q|g0m(&Gw{P7{xD_XU{!C5
zqBAlKw9a=JJ+{crJGcUB#_H^gWCMPwfnwU#ZFYRefc;pjG&t<N)SU9@!Lzjk6L)3`
zXpQMnnlHV8ff7ZTsOfow#DsPtC&QQNsY5HVBe0q}r$gPaYUN`)5z*p{``iH+dYt{t
zH}EoTcf$x91HXWf=>Po>8o{S7E(GzWMz_>Z16*NmM>D00b|84`J?$;s6vws$iAZ7>
z#%c`9L+BX;*C9HEN&%X^N*;PU7$2q{Eb?$(n@$GP8I>8s<e{Tj>q?zoBQ;Pss7ge!
zwGf$n1!O&f6_IT^j9LK^8QD}?`23YhaKNYHOC^f`O6p!8(63U177#UUZ~@g`XPus@
z_=9D0JLa0>(`l_11bm`XsKG9I9|xk=;Otml2~Swi--(kEj8a1hTUL^VEM6g70sgHR
z^@oDEg+&h4EfT13LZB}g9A}8&%b?F-ETo_)&Ek?kr}bzZBG+&ntUne3Bi-Ypmxlvn
zBFSjUhs4fjpbSu@AXzF4A3``;VT`Ci36h4QSnwd@97GFJq;ers9Y&9VV7odzZY)xU
zT2yNBp&$WP@~IK6;7!X#sX>jDd3ZL0--YmCCR>OHm&Oo)4bB642X;fzSdCuO0@3qz
zv_WYSI;(0Qi!#TTas5%z%7gyytJn#T(P#;DTnfdneOXZG(6)%rFDAeGC6eGQ<)9Dx
zwdH9{uAd)(fmIJqW{v-E*b$ETVC)Ddvqny4jhxIH<=7GVE-9Y{fN}sqL^AZSf*w9f
z4?vKJ%wBrP(nEqChUfv!@f+Wc(cd_F(22*EKjYzkexUjR@$g~UXOy%3d{pLf?#J`?
z;WNsWMdkDBhx>10N#x3+A2h$dQ|58@$UIKxyYF4NbYW!j!r)>wnM$F0kc=h)G9QKb
zu75GG=r5-RFPt2B8AX44RmsxQ5TL>hi{XO#g@tfYDH=0LXep+`p$3}jE3s1BSHJdy
z=YH_(*Ps3Ag~<hfU}|D!VRA8<=YNaI^h+16T)b2WzVw5ylg`cOk23Fz_9_)^%jPRp
z(5B-2`S;JB9m(*bF}wgxm%!-YW&?~e51}-~&Aq)n-MjZ~=x8$XMoX<5!oQX5?uMr3
z<|a>TTQVm!G_Tvj>=%VgB<*qbltK+wFBQ~adwM)>pXT=68&|E`dfS1)IOeGe694g!
zefqJ-9({NRU?Bf&_`=~mO~7lfxwXetTMiS`Z~yLn`}W*+=b`y{P5-{n^)o*7Yn~Nt
z|MWeSp}%p0BZz@Yc;ay+>j!T2?O=Y${4d4-_~a*dqEz=UP=xx?H2%GSrs0P_^uT?P
z+}^cweRqeu*45C`(eCZ)u35K!12}$e*}P@_Ej#Wy^x#L}Au-tALUFjOHXecBSXe}g
z4fA2xO`CeWjZUY>+u7KMWM|_B$=liEanv<5XziX(TYRFdZClqytk*XWcYU4rz+SxS
zOQOn8un+`Qi#R1igN@*h(QmNf38}NU$Kz>r+T1n`r&McDu~vb9OIbnd8U-zkxN}fy
zUa@K|qY~{@LQ0nsHX3&+L!}h32ccLJ4XGRo>iIGgLEOWsj&&Zo>(*O$uIk*-ZPg1#
zi``+?+MxeaY4J3=>M;-H)H(L-JN&?-#CZ==4iJDYbm|d?vJCb#0Fx>O-1;=H*Jmrr
z$pSn!Y2=Lz&&R@$Lr!JVC6$gwYV!gDgIG1Rf;_39iiJo2@CWAWqP?{d8IsQG230l<
zw_|=b%$5|QF`q%WkQI2V3fIEmk~)ooV6^F##c(WLF*%BbXs86Zj1|yr4yl?Tw0b>e
zZefY}U!uL!i=N%ex;}c%Vqtm$M4|b#AZo4+4$aR`hL;=-KGxunI@2l8gr!nTp(p}F
zjMahR5pG_wgbh6do}e`PIQe`s0sVMrA>c5XSRg^L1=A22!~sO(VjvQaFZunTs-#2e
zL{SUPx9Rs!U7cD;mD0(uKbAqXb|x5rg)Yp^>C{X(JT{D0o6tsUr>lnrXHmH{HijI1
zei1ME#(S4BsPOjNjas~*QYCeQ109~ez%hA9xt2=#Bx)}dn*Qg39U~WtV6IuE#^AX^
zWNUR2Y8@aD6utpWiPV{mXUj#fs8ka8r07O0K=T}hv71LWUyNS9&b$IaFC(H&QNNa0
z=$T?Vk3Y=cV2#e@nzpx}AAqZ?9$uMW?2=_j>tueh3(uqssY@1#bskX+06#ZLFXEN?
z#V(oe?~?icE?I_TiCHXe=(e|5t>|7ZEab)^>%nJDrf3wMVqP5u$>bD5=_!wA)7GuJ
z-R<ooBk!C&8-E!h9(=U1abf~pV%{(@(b$NID{Hq(b!};h87!BZoA2GTr}zGDrUm>O
z+ZPs`PV|WR0jG0eVa*yz_pl)RE0AnIDi-(d-Hmaq@8Ih(=5@uxRIvm6mpgfK<3==w
zfjZ+hZajJN)1Q{CUA46egTbM+1ER5Y{rc{0UCb7|ctbL&)1fiUgH$`21Y84_WTi~R
zssxZ=VIhwSjYb2$XvmT<Y5W2TZyF8y!aQgjb2*Cz94sg_Py|I*sMG;LaV0%CX*FgY
zv7_1;*jlF;OHHhqv81%x8k<e&(CZTkz@ZBM6s`iMiBc&vgn7hHT5TvKVLs8U2fWO}
zvSVXcW3k0^ixj)^IkP#DKs%TRpQzb9Gb34nrN`tF1L$cc18LsGVxoG2VGP>kkgV|N
z1*p}S>#|Oi%PpAnYG%P^`1<M7W3NybTIA2!Y)eaM1@mi`mTb1+;bl~QS3f_1rBFS(
zK449){Qp=}U9#xD>;LDP(jU3m?UiE^tR=m^$>TAs25wjl6@bb_iP7UzKtnMSL2H-C
zA3ELatYppC)!n*tr}J?$#7+^kmtW13Tmm0;IL61(w&n4M!*TMYWNj`M$G}c_IiGjA
z`Z1DwcQci0`8Kc_qWvoJ=LK{U(SX(M&1V0@@1Of#Jic`+<mVI*Jp?V7Un=%uj8Nnc
zjgHpTpwG&Gv!-Tr^dldUtasXMbq+^ckKKOfo%?q0-n#Wp<}XB%h|3!q+S)d50<Vn4
zf`;jTE;Te5f*`LN%VTtyt*J?A^Qe}h=0^7s{Y_qJH0E&sB`YdH*WZ6X@_GuqNqlQ-
z#F0Ta15ZpQ>+6Bw;T84u$s|VLtSF`0zz*L`rTauMSV5;zz!M8<6uHoq<nf1E4Ppfp
zcFoSYIldQ^rI~4iA$5*MZ*f(P#zX=gM_!dk7>#ptcx#0M9#Dn723alSZv2@l*)F6l
zQM1<(*8vjaR7$cgpqi&r={-Cj2%Mjr8-HVg3Q?wMy`JovWx6ntq(^%YgcWMAR-h=v
zEMEzP+ec|WZc9HuP+fj_*dkkj^8E5P*$SlmvIAc2&rvhlD)VX|lwYorMSJUI(Vkn#
zgFa8dkW*n+scdpMVzJX835b=F`2;8|j2Ub-fN>V7bZ>_L;~ZIJBcP;(<c>LUIWk2W
z#p#nAcWY12)YLaY0x*?dOwHr!7?*zkHnPj<j1EQCCiq0IH=0sHM;T<u?sRKYorb_;
z8t`LA1YzgSgLn1!_jedTcf3I~x^CZ&+!Ex%z$4q?CAo`Mi{1=AFSBF{9Ne?P3h(B(
zZ&ay9YHIe9pd#}V=I2#h?B8>T-HG$eUyIC^9VpcPy$;Fc{?;V=H!I;gHQ(-OceTO`
zv8|HZ=I!Wga3Kq9XhS2Up<(03ZQGDtb~n3>h!>59jwYnkCUqI*K`opq7a*cB6*fFl
zbETb_Caa<5%00Yg=RNm)`T^a{{vFI&<{3plHfi<~j5}8}usRx1V4*WTH$Pt}G#ap>
zW(3Z{<VB;>Y(RzwQds0&0XSbStAJ+j^7Tm;oJxBHslT#4mpgyuN};gDjbDu$g+{DU
zBi~3w(|R_GvfK#T`&@)mX6RR;W>g+VIFLpVHS+$%1gb2TFaO~T3I@X|LC*||MhJ)?
z6HJ$s$n(%$6ggu-!Q8l^ncrWZ&Ca6_NSK}3)2Cm0>0f^Zn8+(}Lp}4NXe_dHKl}-*
zBbN!pqe?3Zkr-VC$t`3tzd$ewwutPHMLlbYx^Ox0A|WF(CKrh@5k$vmhvebNHHHG(
zMbsS5Ne0NzMk{nel>~ZDqW;pQGw-76>MxiZ2%0uC@IF4ke3GbbBk=89M=X|3=6p;<
za$6eAs%HG=&BIC=tj^Y259?LLhYMfkQP*y7XNt#}wB&Bz(W>6>ksmz{d{@_Z=Vrzu
zs;6F{VJ?<E#@|B+lR3@=Zp<@m?&k+!l+|PN2Uzfd|6;)_V8NSZami-c9<o`shx|Df
zyjEtxo8%T8WJ^3Lt-JeperjqknXD<GND$#!T^<(9#!DdTRpzq}5lri5n6bJ{M23^s
zCHFN&UKdBHf8zr>-5YPbw6M^Y2D*Dp$JVA`!0cRJQk9^0(<>UbZEJ!R8;f(W=r?{T
zxwjqI&`ajK<WD44tk}D5T|+O-cXeNr-2(e%YfX^svFOa!i=yG&IXhNO!R&!W-@0Gg
zfx^)9x-UGgMHznZ?Ck85Pxdq4Q-1Dq{g3YiXAr*lr=Hlessk3RUF*T}Fm*WFd%i8|
zo_S^^j5yi49|pYxAoyn`_v(#3-A+_OKssvf>DkcN*V>IjR&Tebxe*48(G(vN7*4GT
zhz7r33o|aOO)%-kHt@kz4OpSnQ;A5S-+E+wY8WYHN~2xa*AI#3Cw<t5@o(D@cpY`B
zf~h4^?(z?pAlYFrmF5u+nv}?JMHn*35V&$F&nmK_ArisFRy1EGT2xbw<kXIbr!`2}
zhF&QaTUt6RmCH$_W18vcBozx7lf;#ZX$2P%4M5q!nA0T<4BOo%xra`kpCIC3J4jSR
zq4{jqK&{W|$=N8&TtW!~?^&oQ3r5jkv(buI6jHG3TtagH{#)Pw6(!CUbjxODPT^Ir
z05S01Z{E3@gC?1lqckEC%qr3<5k>7X&Quki$1N(WC3n~#NfP%bZL#rqC?3xyscw|a
zmCCSUZHDScr9Aj14I-QuX@#)W&S%&!xzD|Md5p~42nyKI(No~37=tUhJ{Cx3V8!fW
z46T-EIu`2?4PI{qwya9d!>-T1DY+Gyc#foLD@25T^N8paNgC%&XP~lLVM|QalE2Ir
zM<usvX*$w|=(Loj81+AokvhdZ0&LbFg0O2zkzuNKe2m9y12*%s8@BvGyYW_8j<H*2
z%Ufaflw-(kS*|T8x8=<rup4ic<rsBGZpMTBk(<?CcQ#o`C2`kXojP5)JgHPh!?5Mq
zG+!3r&e(L;$EA{LCWp)Kc0+g8#Ke*C&4C5Vy);)`oI|?3_Mpv{&%dTrjt{@`$}8{s
zwRr;|*K8>2<ARF@HeN3pHf>S@A6J<@ha%o9uSo8dT@AHF+meA=*2<Ort5-Lz0RE<@
z5oHMwp=+0m?m)fhV9wXB8DY5vT`hoSD_2T}PdwDW&H_&moKYw~_AvyK%1?c2_mex9
zAvye`&<44Od0K=>916ioy+-T&wrF_nxh7zNQg!Q|c;bnVeL`~IcW~?4R&2zLy*At3
zcdtEgV9Q2Se%Ec=dEg-Pd9fY<6|{Y88rwQr34`8Vg$^O>u+_OK$a1sky`sCM1nUgh
zD1_eAX+t#1t8jVDideoXW{$!#s@VC8%7=d<sRf0O2<#np$(`rY8XJCd@O2_3Z<w7$
zOpb$_OHMOq(1|ekxEgDsq%Mnw>1isGDy+n_>FtnI*)-IoeKu1aMA%AxB<(ct9?B?6
zN~AX|q|CT{R>c-Hz^By^IeH}%#l{>6NU90Uou?pj)(Sr8{K;UjE{@1)c64Zd2E`e6
zv)jjMksGI2(cp4XFHBc1qWr@)NSdW66rQo(D@xG}a=lnA3o<d3c9YQ<s>fPlF=s1f
z+)be3P<F<OV5(5K7=#?pUz-VJso{#K_wwa)gM-0w+=!8dsiEtr7HG4yAD8l}bfQf(
zcsy}jASOk<&EacMe@FWou`;qkl|~6H2z6~0$}h7p4gP2~#{D4P-+N_Nby#Lqhw-Zo
zu&Tqd9rA-JnuldpCFlK>GjeW{Syi3Psya+8ht3&_D=SuQM4xlp#<sRKxTHE|4%b3o
z3xJoOF`7-1ZKep)Wk@bI*sM0YfkVk3R1c!5HeE4VoXwr>4uS5%tklt<&^lXsu$esk
z=%+9o{69XmZ{HKm(8uHA*obRaC{SvwxSGL*_Fk@x_b|D(0GHfdkB)*NjC9S^7c99v
zYqlRc&}+&d);cA1I+`1twH&REcoZfNZKu>2lzQ9Otil;L8S5}$)!N{&BS=xSfC$#8
zcQm$oy$)3l>xLV_c)`^|9#tx)tTfiq5Ldg@xq9FBjcc_Kce*e&2CA8HKsx`!Zol{5
zr$2f4@Zmkp8$gqFuz&SRU?OaHR9o%!t9Rdd|NX0l7#xTGr#}@<&!!W+Ud0yGO&j*(
z+4oAFJNMqYZcQsLrOUe-9$<C1#{(Sc!GryK4<0<YYh4dI0ISyDvYmNM>?jbK?|h=7
zv(`c4m&VMRIyyFO>S$<mJIrb%NtF`pFfVC@>So-GjTk^=2CP>#x*`w(WeLRCoxyY}
z9Ps0b*RP$&CUxrU<m51+Jfa{2ON8c-DeKY!%#C4m*2;nNwwwx$&df~DC&)(B2&+wL
zogxMbsq3Q)aq8k*q|UL}(&X?kx?R8f)sF#g{{D~Nd+!gElVf9Z8MwCb3rXxvvC-=U
z5VExh=(Cl=6R)2;_x{C2Y<~*F<fLc{*;ETtmruR&`W1g3zMxs^EZh4`1$1=_3JZ!M
z`g#Yb^-xI5C&N^#RwQulP>|GO7qzXt-3y17D=Bn(tx-dJZ64{X$(XAMTC=UbjxSOJ
zNH28;bB<C3G9J-)Ba?`wFJ34Xf$5r<K!N_!rJ-?xu#N`iia@v7TK9D0HH)d~g+w?I
z$46Hxkm;IGlaGYs8Z8H9QJjGqb-Fb4!ird>2m`QLGYEDuOb)u_>R5B0h+&hdY=$Do
zj6yONvdIMc&?N<VFO5bt>A~y?sf2P7y=Oc(jkBDcT@2)Kdr`PS9;rgqQi~CR@vB3$
zbw#PSH9Z&f1Fof*SFt{0DhLLv5r2V$`GCMuG_~*?L>cmcqXg!#nrFZu2oM4s4U+HW
zQA%<)3Tq8-g?0xhiRu69gWifoguc>ow3b-lj(PkZts}nE2y=0Ep`?#C)N;S&&*7Jn
zcX)|kstMld&*7KaCG$=n#4pt?^G;rwck<-(V18l&3`gHRpDYTRLMlr5HZ1exsZ;3A
zEr~}>i+Ye27L@`KGC14<@6)QZN>wyURfoxAo_Kr%o@m3u16B5X%3w|`jKi;7{W*jg
zzW#Oe?MCn#7wYOJC$qenC>VM-n)N=dVCB`5lXZ0<nL38r#zkOdCJ>U%E@>=af6wN4
z+UHhxby@Gcv%4Fv=cuVKmuqd+=K~Wo1UGKd`m~u8Q`g#>%OUhW<}w)mabjZex1jia
zbI{h_7-b_-BXpYXf9j!!dUlY;wDKb#fxkIwdLkOV^G<j2{BOVh^{>D1tCm`yc4?7a
zf9IXiC_q-nJWeMAf&?|TBaOk?=(g5ctxi<3y}cMSz2%lJDsvt+ArJ>hq?C@qe@CKf
z&ZjLF7~}$_60)3Q8lg(zfR``{P(IO}ed{7BpzM2J>#ux>d5OrS$V><s1Q(}f@@cif
zh-5<J#1F9dfrtcep(B_-2C>p`7Rhij<I}=!Q-u7-Q;&HxntAN6CD?}Et^wj9W^}q*
zT3YO@VGTQWpv7&$YdFGT+?H}N3~v~i2u6L{QnC=ygBTBq=P}%Ki|DREx=+b5so*4&
zBkTwu?sK4!9v()8Jc-vp@eXtx3XX<h?0INeX@S~Qq`(~oPjO6a@}mAkbOts<GBR1m
zYY1jlSwfjtIXVi7(K)=tyv>G2gj!=ple;a;D12J1Is|Su8%h($z;T7Dyb`@|h%_TH
z$1cy7(W6KKQBep4Ku?sxYa|pPtH7`XDbnb);1&Qy2Mdt2LIL-5%u^_|qXAUk*4E}Q
zWl|ZnLg4Vbf$8fIM1AY6398T@HH~t>q@-1rdTbTVu4L8+k_BdIc9!F?QynvcoDjF{
zkB14_4GJ`!{||d_0_VnA-jBaCqZw&*ORK%_%e!muuI=^h#Ifuo4!JKdNr15BN}xXq
zg_5-Y->*f7olq!+hL)qH|CXbFLi3|dAWb*|I2XAb$ByrF?_1i{eM|HIJ~Og+LRn)H
zC!wDYBU>YlM%tP8ectDOzEAzKPC(6hJU))I1O?d?o(A#-k;mE1VMVg-ws&9pu6H&l
zZN0rdRudE|D-OS;bym63EA7E@R<|p4w!1#-N^iSU)>S*!{!&?2`dnpw*435X#hNsI
z)|KA-)~R3nD*^9dt;EDtaAK=~#5Smr!(p^7g&+Zl;tDvw9kYjqpyC4@3B0eWqNT+z
zx3r+2Tr!!-fcIsBt#=Oec2@UL3NkNmli*d&W)JKEJSd$bS6#6aYN6xMgTH{Xe==4H
z6KX}L*Xx(P-pOf9PGlj6%z<F5+|pd_<nf2%oT(v$*ue7TsJq{|wvUpAE2|7x{SIXr
z)m&CGf?OFo3BR1YZy%LvQnRN3lY;JwtFBzrE<XG0vtzt#%YxNryYtTNC|M7(faQPx
z*@y1D^Uj-Au9C6-9i?}@?;{`iNIy3Uu$9OE<ADeK@&gZ41M0fA(o-2=_F!x0s?~ix
z?GVHb?aNj+<D%EE#|;8$6dt-Yz5N~RDqN1M0;Yhhw(5xjO2aSD%wRc^?Fu)YaMn#H
zP;+J8+<Ntzt?zl)yKdR&xz6z3wRM6J<oa0aD`!R~BZNQ~RkBAF0Jo*nMkho*4PtcR
z_#tH7I;vVLLGLyrby|yO=I8zL{5-0CO(r<I=(bxQeCEZ2<0k+`FkXoNq!^*qU~j}^
zV*Hbnqd$2B4Tc<Dmv(`f)>z|6^q+~GIpdeloN+txyJic1#1d>h_{5VxdEyz2-7kLl
z=&yeC*neRA);GWV;P=sC`Ug)u{rG;^?hesFnn65|P^c9R=qvqlWn~)Orn325>HgLq
zeD3eR{*T}K?svcYumAS1k39VFx4!kc&;8vOzwkHT_(CukeBj%E|DP=22hL;!;y5l)
zF2BnO6+y1APoZ2X4cnWXx~;`@3S~nOMgjnykbGH;<BCy4Kp^MHH!Fc6eQ0chcR9`g
z#z!rh{eXZX(xp0H^+(X>E)*xo8M&C5p}th7sp{h3k(00`M(0C$lzlk3(IFI-qKOJ+
z_B6t+CwFzJjZ<(t0hR~qo@C;Iq8U?R*XbEA%g?Au%1gj=LF;QOtWmxO$0tHo#0&%v
zJ@b}=%`MIVXDXJmoi^kqGR5L9E~RM#7m|ai&!FA`ZqNa4utR63=yNdj++c@J6VPW+
z>$yR<chUOq&~bxiDV;Y+DoATpdsTJ4%Y_(mG=@H1<VZz?DCj6mP?KL&V$sMOp*+D|
zMEQgZfb1d1db4#tZM4=y|6ksFWpDqwwzh?Z@W|LqfpDH;2;c`D88!R-^a79RaoJ&v
z$Qw5vIf02eJsVTU-D-9<$W+t-KF^DVOlI4*m76cwx*ai}OINivR6zDRGL6lUb5<n*
z?PKWlv15Mu*fE}x2t`?>A92=Jc3k4ddYs|SZb60<d>gsvxsUwS4wU$Po_!f`7Q`2V
zhP$r1v<n#tyZnyuwjD5~>Pr(p{pn91|Kaz(=eK?Ddj<*1%;K?Nj#I(b+PcQ&T~uMw
z+r7H8vB~4P@y505HeTwz`i2{B*gDYL!an40E~(f`KnKI-uu*YeXD5<DT3Tu<kWh_m
zCe3+Ivcmy8IFXL$(p@#kY6>H)fw%^TB0ScbF|uTaO1wier)OuTka`C!{9-P$fS<@M
zM3V^DJ49q%yIgi75OhjRppre5=&AVUYKs6NSQE2y3-M`;{K=zxjvqZVJspQtqGTo~
z0%B$YX#|sghq=8CT0otHG7uDjD)msA*9;$FgW3|n7;H83iIfcg0TkYN##7})-Z$#P
zQN|4s!DPw6L~z1b1}Xy(Rk3ajxGukp3U%ZU0H-K_KdvxUa8u)COX2A;)Jr%snaSaq
zn5yf`PD2*DzGH=h17SsqCMW<f?&`_!psu)Lo~khFVF{F=oT?6jJn~u5$7*gaIv)<H
z`5Fre^d6u0I|Rx^&6MCFkY%&QZ1%%!Ak7@(Dg;{*Qkuw6g+L*LEDc2zUwrYztFP>R
z?pN?Z92=dQ2THj^2DmR`?l7-wYwOW=#}7{x&jCX=M}JxhHs_Qa0P-;8rP549dx2VX
zZNol=&aD5;MBOaA!26R*Vnli6jG}}T-bQf}q^Vk%#tp6>l=fhOtK0R1i<zI-4lZK)
z+%{-v!3kbE>Bbhu>KQ752RX_yP`4X(`35%*F6Lp~I4IH?!}QG?1{ZaM8wceUd>2O<
z>mOX?2KC-^zCgQ8WoNi)l-z@%v3APSm+FwWRNd4LQKBdf4H#=u($WHXVj-ez2zSqt
zLoiyDJq|cP!666-16%@49J3`UU%H>Q*A)$J%i5hgclKX;B}{>0al-~g?(@V&qy&}?
z3Nh>OLkIT(q+~Sf?rKE7D3t~S{{pT<Gy;z1ZE8Uypo=>JS?#hGz?pNv$&sLxO47C0
zUUnIB!MCnohn&ck8hZ&XdL3MQJ2*zQ#gL87O-z*WFXSUf7Fb19bybD&e&(Jm*_PF3
zU;)O>br6gqoak4vf5U@7FKGX7><i{U|IEie_OTu7S_<q=&>LE$U3cA@T2o}?)n}hY
zyqbV7tl#<039e`L!0H~#&Dq5|J#|g}s|IkVYX<t^OsTG3w(N>4Znyy%=a*k~-L1FY
zdinZQjqEOeyQ#Jcdb`W*sj5Wd0|LF+<Ryn=dsk0aXA{+9l=z@+A7Ap+k%Mq~YvI{S
z>AFn~V0*@0TnC!*rMY4}J&mwkXcSI}F~4VQECC6Ig_v2$AmMp76iL!*Ln~vj4iihw
z17pujz!y2rkIWK7smSG%6nH?No6ZFxHyb+)U(AUY;C|T00aF0+1%wJ05~FdbU?+x9
zRuRUp)u7FHi<4Uz3FjpzfnJc`aC8(Yra~^n!6xQ;%#^z@KRzFWbPYvG2|0CYVd3b}
z(NSpKM~9AsNsUZT2>`xuc#1jbg>m5PqAa`!X2OY4)q%+=`I1OwE{YRBR~s5WJhTrc
z{)v&pxZ@*7PMmn+iD#e1<vx4h6`=6^_~4|S{SvC)Y#39zz$_jI`u%{jaB`BkOEHy6
zq>~DYia8^G4o*u15b=f;$cus^+5Gf$D1`E_&^#d(B+_|w!-Vbu{Unp2c!Yrd1q68^
z@qT2fQCleLJ)+iIbc$SIJ^>CRa_I<^FnEQMPd@q5ONb!7wErL!wb7Yqi5<tUA*BvE
zi)nyYyQ*uTTSF-LZ5T`zMV32yZ(<8N9qLkqKSI)Suy{0Z1?U?oJZSS-u+^4Cps69Z
z?0%>iwq}bX4UF?#ZXr{@J|~?Xi-EUicX6{?XXdqDX%CjYx~<jOA{%sG((O7gDRnR>
zoNIk&W_=uSjV_M3PN#ir@GkP34Z7Gv?a7mha`NQCi7chbCkiJ|nyR5MIQjUY;4V)D
z&{`ZEa&VXqQG35ih$4Hi_A#^uc<ix%dofDQOJ~xLJ?8AY`R1EjgvsyYJ3|NY9gLBs
zru7%&^US;)sP~P*`t^YPU%!4uXZISs-?9S=d@B}0Ua$jC7>Tq&&MXET(V?MmX=e4B
zj>M@Wpz)JI`Cef9-+S-it+##h3g%NE_pyKC?!6b4yz)C>LZ_tWce6kCBbe){Mw$?J
z=J6jNExi2kKfQ7C;cq|izytpotncr4AS<DF<Mx~0|Ni%1v$enfGQ=i<Pq1nQ`%`}{
zJh*60PJPLj*Vq)U)l*kjQ{4#O)DlFIgTtyqPuIhhD^^vtI1ALVs}QZKnjVF=8Y{}J
z@Zh1O$7A(i9TecZOr$E9B8b!+7ah`jdStn$XG?Qo4w_MJwx{RVUN~1K3$9CGg~2N)
z_&wDf_+}Q!O`&iH&qN~?AEtt})6-P!I699gIxwY+)6=3I4l)Z%j|X>gNvLK>nKPKo
zv*{cY>@WpUu7Raq4Zy-=lrRD~M0Ljim|-u*rzRncnKj6zO}lKo+v!@ETgdPZ2#rR<
zmodO^gtSDeD-KN~_aGKP*;646odzA4J!%aGVkMFy#iL1sg<KAnVEqx`(H}W7GJ5(T
z^8NQdb>ztNXK<bHIF6%87}6c73jv1}YK!7Jd1TDo+zL+HsAXSWNH({mqj(V%|LaJA
zl9wlGJ50+)pUr(CNPq^NzHL~Puuw!*fWHY!%f1OuUiQQC%d>!hNc4tVEkQ?-+6}b=
zFMto|XHVjt9Nfh``0u0q9-~*<gG*C4qi$8px>aq_-J=m_8lgoPy^C6eQFo6<@1hnV
z>sGZ<x2lc0Rc+MWqfvK{K7iFH{JVYVw0^|Dn^&%d((#Y}-K^wg|K{^@@1~F1*r)uv
z1%y|p>D@dVqTL)CAz=3t_7HX`l=CVdq?2ZWRFB=S*!{Ev9t3u%9X8-6eS}ERHYn}E
zt*Kj^PMfOHjYExY9BObTMOJHc<4~g;hql4RacCP{)TU~5<506W4uHrcX{T*wz`vZ`
zWE+o1oZ%sJ?zAw?O$%xFYtE<>@R(HakhzYqw4d8Ag*&JUS`^pPw$Uda;R;=>tH2%6
zIvtxoP1|3Zx$p4lcXRJf^WR|v=}}Vy6Q#fZN}n8NC4f$&+aHx}ssIA!SP_p>6px5m
z$;l;~0&LG5Gf(C5P-gI$LJqB~SgX_)U2)(5>h3{ic%&6Pd?ss_N5@S*YkkcbPKHO6
z;o&n?WDK)x){s%{o>B??37eTi>O&F_W@QBCQYeu8KYGXq#wLug5rMTbjiPz4v<H);
zZoH17-|iX=U~ysrcGD`njh?*pl%l63J<Zb-7ONlP9Z%}o9i~@m<p$2v?#|?u_Ncdp
zCzI~(OgcK%uUA+L>UuTl=+va6Q<Ha*PA$6iYSGcDWsy#qad1)VHx8cD`k7CdKLMTY
zKA&*vQ8?|fuWDu+X}|hP_LqJ_Jn;!DR<n<&Fa7*9d!9bDHew~x$?KSr_Q(-X_s2q1
ze+_x%6LQ4hwU_f#NFniq*>eoJUkCwVmjU3Ik2u*<BV*Bxj7_(KZ8U=5WES1XSe6(W
z>xGPrcX4D)Uj4|-PGFvKbBA7lEXBUNlj_h|Ea>BJzZHB9)nsfKZw4;Mn}5KYF5EW4
zKR>3Etu7P<lA!VlmCYa(l;hxKbiX!kM_&Np_(<9F36TU4$^FcTmq&-d>Cs;*=*MDn
z(a$I+S*QQL3m+*x4beyu&%cn7GX9Pu^%|Zp9C;O)`ncNv`yKWS?OR$wL+VHgJFZsA
zh{owXRJ{HR9Ph&Y@!Bx8bWrV^I!u>bj-~_JFpc+O#P0L+x3enxIaCiu@ri^HnwwP#
zj7BI<Bjo4DX@FEp(#u3yx5kV*O45(d?;;cR<Fk}Zly#K!n(^U}ut)unYX28f?W6wP
zT=8fS0YpAqgYkG7>tYvxAlUnH2EU(mk(}!UTm^PlfaBocQMh8UJBBh499)ZBv)uw3
zVmuA`DqN4B@Zr621G|A_;`wv~JtviQE9zp8!_vAziXEUk39)Zs$HGC3Ngr-t7aeS4
zgS2}dHXL>$dU9bWAv+v9Bf#OX+pB%n4ErAM=GcDPZ9}~Rb{hd&{u}OpDLVLV_b=->
zie5Lm5IR`;{$FI@!L@Q<0UcaL7hTP^()+a-gD=qgR&5NP!z#hM)$BU@^bUObc}#J)
z1q^k!(A$Yje0-V)+s1Ah6og$J^4751#5#V{DCjjr{c8C2QJ|VeqmHjGr6FF(C@fXe
z=;L$93&yp^*~7H!W`BVlcRTZPc6z@I{9<>2shVN|QU!-{z~IL&uT8kR4oJZ~O$U#&
zf2Pwd^i=)(fA1moEM4_cZNB^2JMj*kB)zEJ#Nn;%ujoF~^x6!*hMk99LAw~K(?0$X
zdyaN<V7J)qWsj6k4**}{byB|!De>0K`v_3oaJNr_`aeUL-^*^H_kV=De~ezd8!!Ih
z-2GP}6%Z#a2k4}F$FI=t6nwVoy9>MjrRd%~xaePfz1+_{xajY=Fv}<jnU9N~)eN3W
zBrflU=Z)u9-3!CU$IIGG8({F`ERjqdq5_e283;i2tIwCelS3LjzB8|p1@chnV~b`N
zolgdsb+XW`lL6#=CS5_VZ<;TF2by*Irdh9V>SUq5qFFE$pe^qfOlcUl5Mw5=Z68!B
z!Q{s6`=Cz=LM5`fd{7bu6V<2hMuLCP2Ms~U7?^|)#2^YLp_%O#GGQWn#6w_M`=A~O
zg&c+ap+5<QEbu9IbD1b)%=yMc&kf%ys?d)Ik;8GCyMu5BVCQCQ%QL+E?lM(uqvPsG
z_|U+oj^4GvqlH}zcZ*$`2uh`-JUU{6Dk9M2ah!(@0x>HD%bdY9DDA;CtD9+XG4dek
zXhQE7k#Hv2%92hZ==~z5!9^RyG`MIhOFEj6bTlCiE^6AkEM&TJT=Wb(K`e|vK)MoV
z@8V*NYu?EXGfvvVbuoORQA0&NCoryKfD`Fh47xLY%S0TJLjo(Xhm)h63!lLX!6&df
z-dYMU>F)l*_yVs<IRi4TF>57S#M*44tOd8G0OS<MjhbIYq2)tosSE*KyyzW4_d#wb
zpnX^ru>Fg4l+%7!Al0C3K@3WJFsbVHc2IyxM*+IJ#4-ge5IN(9Pm@Z+N!3IF_O(O-
z4R>o4AgYVnQ9%^Y(5_KH3OE$>Erqlru9PJT$c0r3z%dL2J}aq%_WQsGmez`9fZ>2i
zJD_PrcI3ZkRM2vbN(DxQ!PPkhNA&R(ntI%>smB!A#leL|K7hm$+;&_&4%auhK;nM}
z7YHGdoo4JP4B_3JwS#D&;U=Pinh$C;P*P=r(?c}S)OD5%K$zfLS(OVERW6Vk({lmv
zg5L`{u=M<gwfR4x&A;c|{P$|}->l7lp6=eq+qC(w)#iU*oByeE^Pkh^UtLf>mZkZJ
zAUwZy_}erCvrY=U5zS!f5s1><`}h%>dLdK6I>64L8O-;<Tka#xptuS(z@!<FLWFTZ
zJ_YmO0CWSP0+uuB21NBB1`>jh2!bIGPlBo&nB&L@Cf$HDDZ$;GyYvT&C{x7StrrM7
zsqo+Rf=HPo467W$t#X8Jl_RVwbA+_Y5zHz_@RT`1f`|YdA*ynOyvh;cDo5Cj!|-bU
zmeuf9>4i(LhPR3z{9*Predz7575^~%Z|B<I;+6JjbI;gi-bH(8v(6s6OlKoshLg9#
zM!rlZ2`}?5#)<V9eEJIO%{q%<i_RX}ptF(n71oVaHAa!kXGKAjB1l0+{hcU^BjXEM
zsiG2IKYN5i>osl_>)f2?12QTz<TTQ-62O^T-fuOrc*KN4<TImap)sFEuGXGsPcE1{
zx?vaA4>bY4X=R5Be(nhqimPNCa?K-KdkTGWPaY4I&^UE6YOq%|G}Jp}19B*Od#mO2
z&?)%arJ4e;AdephZZkj{<&vSMXlw<bNHN&>gYO?KIFn<)8kSpDUAE=Y)=CpD=mUQ=
z;F){;5xBDI*QFnP@WFrocP+I=AOxqpye{j!=9+67v%$tyt5z)UZSa^Ymv7j5;|(`#
z?r%k6*zy%C`d6-64cB=6vL1BVXlv-DJc`~rCsLzq4a=&jtz|_uu=Ql2!)k7wd?wr`
z8G)B>Qc!4+0>Yj{mS8eS85y}V`@iQ^?qLrFcquIg<V-x1EKvd}a0`?1QlTiBc_7G{
zfrL&7!;0c|m<>e~o7nyJGUYENawZzAlu64;lrs{gRAqvVp&2D#w7CsjCgwpNsND*5
zKc%Ck%2J4gfrV1<o<=^>Ox#X~=N&*R;PV-G+=^jy#Dk4MxSAS2b-HNGo<Tq1WG+r8
z%+ADP1>h$n&{JUnshEz+x|)C^#8GNwUe3rsI}69;pi4GcPaS^lS4DCDKpt3KNFV}K
zIGUU-q-<sw#&RN3-_Y35)ZNPY`A}gZXsSrKVo3jpW2Vh!5p5`qCPN8{Oc`MGDj1Dq
zB8NUkW;hOPfP|(^?NXosNw1V;l>1lM)!5kN<Z>ogwK*4EpbjwE63znxK-O4S59gIB
z3`kDEXi+Q35=Z5sTp`Tmr>3S-T+juu+DxgjTQ;XB63D9pCe<#f5KE*{{^REiseoXq
zwmAZP(U1)oj2;6o20&>+S9HEKpZDJGsSH0exex)qd?;w-(!*0>1f`L3I2RCV*EF^S
z_?#RK7+k$3(Twjw8@yOHpQu~sOT`0zcaLCB^9aT@k6`^dkKm=6N3d1%2o^Puph6zO
zfM)PhKnyzWD59~Nm6+B1fpeNa(4hGPWd>Km8`JvVY=0oGkZf}R>uCN!`#FDL(>Z@&
z-#LGvrs)+5Wq)AqoIh|u^9PP={=mXHe_#rhk>(FfYyQCbi>USgfhLeCcp>XTC;u+Q
zNBnlt#8R5DX>c(!+oaP6$UjP%k{8QAdVcR16|s;-lcY6|{Z;Hr|88nN@(uWUxDQ?n
zCo1!KIfG9n^n{56N`BalDpj2O0>w|U{|WIMZY+#*xyN7R4D{JyEF${sTR<Q=zmG)k
zA<&NljgA?5(Z%u*EEPW$3<9}G1(S%h0GReh5DIw+IFkbmfg%UDqxA~;2bjsrz7C%k
z&MFkaDz)%I9=ekjKCqBqP(X1}3_A$6JdRWNAPOjGja|$UR}wM@Rpz8hk?RMgJ-AVI
zyK!()TfA9E9q%4AwBQ6UokV&2%@~!N206+kRJU6O7q!J(b>8z^1{b~Ow+t@EmGpW0
zn{`%lgZEsXiroe;@!5^HiOkm?Ml*Fl!kYlGk(!%8?NV_DGC!OyqHM|llnOxzhj&q>
z1kfy$M4*N<0KBxhnWK!((TQ0z62$HH1tdWOy`=s4@gpOV67(!!JRNy)d^V9gfSR$B
z;hejv$!G*_p#*JEuBcGETM4C^K#gGXZbc0)$BjSz^wTdLs;C$qM!Uh&!^1(=)!Ny)
ztidgz*oR4ux^|D#B6n=twyhh5<3mHUvqM93bDf>72;>Sb^c_O8-%>76!yESRLvisa
zv!l&OcZ<u_-R*Gn^>ud#S;aeUzWJS7yKKlT<?OAOT;JDTQ*qOFl>6Y}yseer``BZz
zyz<y%2M*kP^E=oYKkyCI+KuCdSfIvW`s$ZI|M}1VLTUc^$3K4ij?T{8Zfk4%;0JHJ
z4cCb->Rs(kwNSmPY8xAB-Dsn|3@Lftja8_dwp!_bS63%N51CB6_za4|F^aR)$u7nu
zRKB=@?1{F>Mh}|w1Z}CQC*>V0juj`LT}Vk)20JvouX~lt4fj2XR{_?QGMUV%e?tm4
zRDP?=B=L-zpqLD3HkIR1u`8g}cM8xyDD*==Wdm;y)F=hDpPoq}FdnBZ8WqL)d6)?z
zu09H6JgA!(Ws@Y=w7LMPK%FnqVkMsd+DjrKiY`|aB2%84QuRAgs1DSWvO`c*M{G(3
zh@lZEk!CYG2cfD4zZi!uKON3MLp0durowe{!AgnBfZPJ2G%AJhAC;WYQ#vIL`Ua37
z*y`4|)gX0PW@(fWE&!{7Du|)wCWA~uA;77rXeQ9e8-|BcTkFx%3pEB)(~|(J2e42!
z6hgHCyf>XTn`-EkiiEb%eN}G<jGu~B0wg^-Z9@$d!TS-db`d^62Kp-kU%*F7XVF!i
zaLE#RW(0(*ME?OGfMMkFd30V-6cIK|O(|~y)Vo7gsHh~F&gapH6!-*mja}#|H98Xm
z;GdD@Q}a{dR3ST#Y~+yya|6Q7MgMUXV5(d^zKgd*S*^*ZTiQ{=TEmj);xU2>tP!+*
zJ$)Joo=l=bf^4RMmdFarFYG;-kP8840TmMJarz8By?B2B$w6jP^|LuQweR`|pVeOC
z;wQfN&l4U*J4AB~0}+dNRbZ#p8{gxV_NWX7Pxt67*-v>FC09Tvx$ePvp9F8ZM`y|2
z<6Y!UpY|?B_CDoZ<V}C3ljNV)S+XC~S+XBr<V|eT;o154TqMt>;`4dV;p*vuRf^3B
z-#soK^(`j618t3s9>xnLF^kHMiAYJtytgCUoA?@|ejXF31fQCkO=6Cy8^C;#Dkbu%
z6tKlpb5m0%WU`2*!YHafPXsqT`0B~ALql<HZu~@CX>7jnMk9(w9S&du(HhI<1nQgl
z+;h)8^W=kgk)L?=hd=z`bEmTo<Yu%R4C-Iy_Pz*<c+y~a`Q^j2=qzv=Nvo%FN&MAx
zDCBqLLWf^|`B7IBihQh@r~l<&{^il&riKlh+o?f<Bot*+E`IgZVQK|D6$Y{`2s0L+
zrxtgp8eh4(0d<PZ-ik7XjtVxz8vMM|Y20O9)(ygGbUM4bn$76UCZf>U?z9AW5ru6o
zX9XHfR)xpW+b3>of)%_h$X)gqUgoph5SgEwwHvb)uK3tC_HFj<=EJYx+Fv*VKwL1S
z(edMZ@$QfQ=#TFD_+>y*U`^L-M=ClV;*CAP54;Ru9x6m3Q{H(yN~XQ-?K^kws22TJ
zD{A7J+iP*p*6M1%tG(x)0Bbq=^f$iojj_hd0gLv|;HG!oe%tnCZI!jHsG44P$tAbm
z3f}^OL$B^@g>~Gtynh`4rr(Y2ws+C-wF9Wo8d$qwBMK@u6bccPSIo^S1u9-C6sQIm
z9UG_|-`(1aJ6u07uyLaqtkKw5-wZT{w$?hZ*7~5&R#D&E#hyD{BUfFyzOByRZHL(o
z!@b5%X1~I7sFbEnwo+#^E=_IKVkv`!K&T%bQjFU_`@vQCD@ss|AA1qaF#>$SWDD?U
z_~Yjf4keNF>X(tJEK9^o48cw9z}T#En|KpCD+8YK*=IHG2CM{*IIgI6;zikl)7h@l
zv<=MGX+hMn%HN(NxM8Kl@G(lva=;=)hi99OS~J_Jmo~c782v6q1XNFRF$)${WK^GD
zAKc`1O6KJ)E`zhC%~YD1{pL3XhF`}|@dAW{)dCJy0xV)vON$rBMK_h|wN*<cw#?s-
zQNRsyd=q}E*_ui<G*mm~+S&%Zt5sCiXS4ZToVl{0VI!&}CnoY-H_Gn^g4W?sBwgUG
z=2_r2X8g;6(^-J;q*$0v@YwNbgj9<~d|`5O7%y^ZYOs_}C5tdT@dty|`Fw%|Qwo@G
z3rPk^PZiZ%nnS0lc--%roI&;Qw1|39w~z@z+)M=P;^UJM^dYevIvG8a=2$$g{>74E
zYC#Fq^O-DFg;O8Np*a3xnv0;)C0mRXkvD-xPv&4%AxTgdXv+v}D$%-bT@x<Em9qx;
z#N;IYB3iyjJsq9!NjS49oR|)7$}P;J6&=r^X*2Xg9$*mYe`kc#jd6m2vSRfuO3qPb
zNW5QdRglanK<)5D8Us(1!!47rL4$B;k@$O<$Rd#E2?`4x_wvBBN)=St3S^>S0Pr{G
z5AGiWFpeRU7c&{o_~RctsO2ZRohShMHd)Me6x>#zD*EK{c?^z{B&@penBs<X;c*?o
zDt>YdcRm|~17|u5+$iE@zy|>FX0v`*T=nZXssM&zPR^lm&}6VSACF}%cBNEZWnBo(
zM+$``^-#)YBFUf|u<q&`^i)a_J{c<D0=WMiDZ_ph=|bXC#rs9cU5hSC0iG}9;FST#
z<vn&0tH>{7ZJ<7vh&x!D8XJk!HWv#6s~S!nK6WaVnhudrUN|!ybf*(Z!s5gho>jY+
zL0b|HEEa(RLZBeL%`ivOjth#m?)5I0F~A!#XeE)Ip7!&7t$@YFAA{nN&XEED+yC|W
zbVNwJ3$1_AXE*-tKAi<EFZ1--92_JilCzYP)<Bj8$i?I1UuHeDb0YT{yGAl+D5kF_
zwY8EXME!;W_$L@<1<gssX<<!{k|2LSvN_J5&y%9t!R60U#v@nRK#~0Z%P5jx_hC-W
z=c!OFRbv%J@{#X@DWV9zmIG2CmlziZ%sk^p=d?(^NI^S5SDfEU)kp5EI(y9cmQlbY
zdx7TjCH58CHBgQ(%_rLmv_f@8os`1u<D0cK9VhG5-l>V6qg3!jLGV3gD#$OW--!S)
z5625yl28f|i)AX%XT2{K!!qi0zq8|D*4d?RB+qv#Yn>wS>NpH*<FE$(RB;1;3KJc>
zUiKl{ZKT8{mDq)4a9B{56TBKeB+MV8-G0FLV;9yOp!>B9iBsCDc?A87FPsv7(+FIw
zOy{LXpjXSlx=ouj6Z{pp8#j=iu#>d3E~l2(b%-1dKK>ESuba}myo54`gK6j^*o8E5
zIimgMw->XzUM~f_`S)L?C8qRhIqEJ-(Dw0Nl;Y^)SFpQj*Fj8x(%36#cZjn1DXAMd
zT|@;)>7pFJEbWFg#(Gd2hJRf2%q&$wv{Y@C37mlZReIm{Qnghko%N%ytupDXACu1d
zd2I!eL<E2W7AsKz_DFX%&>qRIK>LE3=Mz>D9o*;hvTs2gB<RCD(E|1<A_nZEL=D)h
zpo7?>uu4tz!<Q386Z8=g1@;GsD$3PD(x9{lH>z%u&R=!DY|ppKn;B5Kd_c|f10E(M
zL%o{kcdeG^hr!Uin2MU|S1f1xWy_g<(`u$4^g_snP&w0Yj;I3sW52qNNJF>~Z|-l(
zb~WkvqDkkk`(3kL&+pBZk(NZ)>ni7|w31@LUGwMQ^<3RMG+B5ri3yw&g4#*@A&unu
zhpB!7@4p6+^xa%G4j(T!bCN5N{3O_3?RQ(TX3jSb=c5CvhQ1K5ws~;TH?UOJ@A=1p
zD_<{10*$L2AX-@Y3DOc)e-v86HZ&#qGSDi9Nk@qPN*k9as9b>gxW7Rm!6)#olu8NH
z(^}5w7^zDbiC?N!Ca-q{E;R31x_}Wlzn(N(&U-$n%X@B7^PY|6yk{-r(XHk^x0dss
zqgviG5WUZ4JtxXp&qY;B%KQ#m(yz<Li&+iA>v$ut^9)hxLYTPvDNRqVVC(4J3U&|e
zmXmf6pg@O@w`x+eT9cXyP5K?v;+#26Tt-M|qV4>#PQ7NRuY7vzDqv<bf&QwN#0m1o
z4XR}?U#1r;5IFc-y6+#;eFKSsc9oj$6V)QRPiw^jDa|ApBL*5kS_Yn=LtgmZ>u3CT
zxqE#tyQQiim(FQAq8T_3v1jPUsLU8UsxrpCQ;{2r-pcphs;PKeP!Nh!#)(%3G$W}z
z<6)Zr*K_9=qsBv@;ji!Fx3nH;&}iMH(Yiu<kgD{S$R?!pbTEG(|B7Z67POnsYB$`X
z4O#`si2wuvw1!|nn|?*J2uuG{EJ91!BCJv^LYHb0E>kVSnzBV$sak|_)gqiNTZEFT
zE07T|1YVz1EyBsNMQBiYoe8|ohKSGlL1~Yw?%-*YPUC6QdBF#CmeAG~t-fW0PU2sp
zllYr-5xR9cKEH8rF+#U#a1mKcC+S>HatdLCdjqhi20Ss~9*Rctsh&QqD5p=O^(VY^
zW)}{Sg2$zc0il>gFD%3o{L%u!CdM+mS^ey+$y$kK7>_?*C_Mi7%9X%MD!7{AN1a8{
zqiLQzC%Kunwjl7-{H8O*h`CKHpclRKmRm0Cs>o(9O<kJxdTXt>T*o!T$LVYx_8aP0
z<E9q>cJ?S9pA+8IwXkp{3o6t2zd$(p+`5`=_~hS>S2W_sJFfnz->`{!KfA;4b}=Gb
zbt9Jsz4o%dw*UDDZ`!ijwR#J@#~=FeM?bm^@LB)tYQ=Y3-R!d7%MeVeZED?!@3MO8
z3dZX5`Dlue?cHvJ!3~5M_;s@JC>;9~qJ<9)J&1vc=|}8|;!m;xu2cR#8o=?n5d46h
zohDOf=g<&vo1&AW$BrFKVPTmJG~|jgkwBkTBOK~Rw;4eJ5vU<SR-ei60yW7%zzZG2
z?dU3;DH#wCbz~r3OlmXr60p4iVUzX)`WE4;3>>#XCWk@`z`rdNhKBr(p`ilci%!nQ
ziomQ3fr<MVO&X&~!=DvPfR!DO;6e``JTXc*+Vk@~`k+Q4_|nh_db>>>grwr)g@8~%
zkjZaF>vBXd(4zv-cX7=1SHJq;6E7pMb>M)>bl||)*h3FJ^w`gyhSUD5>>Ga5FohrD
zqi`@<_w9T2)qVRWj-zYMiDB>(46MTW)m6~%mG-dmw#vI0r(UO91=s6V!8)8vdjC4_
zVw`%NcQF>UQWp!-<2|kOF0O)gI%`PJ|7%X2DwTj^G&D7r$B56KIwfFAjH%FM@ID5R
zK1)DeHawTJ*S55@bOmcP5`X*`FCQU4;i1PL7ZEhDhmP+J?jlclfK>+M>-HRuHw<{a
z-W!5-J9j#rfR)=ZuyQ@HBCpuFvl~8JsjhnmEKF!dJmMMwTPZ8MqC2l^ObsInayqz;
z{gVBXYj3}t_IP}g|KwfwUdeW=kFU`o={C%OZPRUD_D??cX+LWV^4DL#EMO=^Dm#a^
zv0tzUCGX5n@4N559|h~SY-wx+PVD-=75#`!uiLVv8)=KRZQbkH<%H;fxQ;1cQ;G&t
zwyWKikAVUrD(aI(MSZHHc3yy1wOLFAiHf$pF$8SVfZao40w6|lQXybV@umD3lTu1z
zOd?~!y4u=80ZgN=${EG&nrdrjKm`%WX-AR=YCRAm&IWArLLu{vTTnuy@EN}ptkKY(
zsI?=SspRoz&?3z(W)lkldm=iQ0&?wKG%q`Wa9bDTK<!oJai5wS0ZAXh3rZ)5gpMN#
z1yIL40`(YKxw1k?#H<1u{WM#Gb<@*?p*D>!E>Yx5hNq_!aHf|sFjAxCyU7P^zy-{U
z)94C8i_aXad*X>i0vK-3A3Jpfp{*C6cwz*>jr`om3vl+JXbA|xv4D*ivvKRspP4n)
zAjVN2yq|Gj`R0XdI~QB#>#O?o)c)GKPEPYyaaui(NWc!N%(w1TWj@EYkjz&!Rj{Z!
zv*6uRwcv7HXOSdcK&@Y)s=lJC2~g<**v{Gdg{7?A^I3NnYTLZ=noc7+>ya&H(^YfT
zskIxmAAohIeu6q4E~!fV`Le`U?HzoUN5KxjGE!vcXT~)jFlw3L13p{T`+DyFe73Em
z<8_kvx7)Us!NrPJ%iy`39GYibzeIit>@BM1QnjAzVN~n=9>!U(;Hntsh;t#vC3r3g
zKZeN7GtM2M<H_d<5f2%iu!ZN3a3^S-fYJuRm_SAj62L@1$4_W+5Q|sZ0|u^c79F?O
zqvu$3+@7u%h%ifH!dP@8pvM)m>bSjC$L%dT`_7`b?}VHS?iyP6J|W%)(nX#pUOMYk
zke4>R?A*jI#nEf=vauEDnm(?7GhP=f!DBSA7jA|cE~-CaIEF-QVsAd-@G!Ep2++?b
zjGcgW<Y&`(nNPwy;zK?YUPmUN8T+^rKxc$p7y@29J9<R@xs*0?OVQ5xvi&aR%F$_y
z?7!E-TFcpf)#YrzEew9~ZR~Sew%;l(+mHWaRbQS^bNyZ|=lUHl=lcDSj0A2@&Gmb(
zoa;AN&h<NRF4u3VQ8*v}kf1GGh<E6X^A8VM`ylx)0s!HP1zHig40(r^{U72V0k!fg
zoFnhhP*U>_)nj?kcPP<kHxwq~9@yT-itwdkh)c^3^}gx0;mjlW6T}Tv*%8w!!i!qy
zz@W*FdDZ2~k7&LSJKesISG{2Bcc2)OjcHKb<|H`Og3vb>L6mhClRUVnEB>xN((`-9
zl(OYlRQ<$)>L->|KXL1)H0e=6BLFI>fF>>g^&d_|O7O((8YyOieN>epis~UOX})5u
z_)nFi<Q=?_=*e%>Al^tOxUA!#vYvxt-m!wIo)v0<kH2Wu0bZpUs0jE;Z^`Z>(mKB;
zrO*0(GZ90~x^d8>XW<G}zxSJ5A;1b=#jQpiSjJn7pVhA}26enS(bcjKa89ER8@Z6w
z_1>V>ju=or0jiNT_n}ckld);cVNzoiXEX<EL3@|dT&jZRXr$cg^G8?TD!R~n)$|(n
zIV713xxok!tsRS>kYq}@b)T9K?mSmHBB+w0U<hid;3fz{EfxHvRyi`PRgQ4yDo2oa
zh%*RDrd&A^0_VI~{Nh3=VkxO1>DGz#8h#NWiAP}~<h_&DSyQHn+V!dgsMo*(;+oX3
zX+h;0ZKvKN$xLKls8m$Us^7_|j!Uo7h@1D8<g=^d^=J(jQ+F~CF6!Op!C%+AQ*_bb
z{d44Q<xDQp8eE;EHT1t<lN&iL^TbYigQHf{8}c-4_*Rl4D;yF`p*Q5>s@~vLYRZh#
zTY~jL;rrK132#<xMZYr25kmseP${8!juNsOC6tH~RNaa2#ULnse5bY>)1vWFq5~h?
zN^0O;pz+)dy+H-kp*w%O=l}e=bF4i7W9s~8)%lOA^Y1LrKNW@U=A7#MH<jmqx;+1C
zWQ`Nl`Iof$hv}_~Nn|Izk-5K^`Dc2q;k8^~UJDVO)bOP0&f!U|)9|EP)u0pl+(L6A
zCQ(PbDh*F6sZD#7M2gA<(i)yrm<H14RqA{yqLjBp9``q!4lX3Jx&*2%T{~8CxExtM
zp+;6KR79y2YGk#!99d1NQo*K1R%^<URYGGWof6q==#4;JAfiQ9z355;2H`Cs5A7{o
z|Dw+J*8858l8nEODJGqxfl7@A3`7Iv^<SY;K)Xf(qZ$RMv6ga_DWgt4?1wyPfLOpq
zoB21AU2%TPVZJ=`Cx6S#TWRJ&DK&&Oh<#j(szYn~Z?g~lf1H8t>~HPd>tl`jx!14%
z*IEsd79qE4wxd9tOI^!G&33FN+cBUChMZ<OCNu>Q-4}=#s4?nAEU}VmH+q!@pZdGr
zlH^;=JbSz4!1?t675)mdI;qPus#ER9wPif9k}3zxYL=0^oMn_QXBlPGETe*IIi@ws
z(W}(L^-7fDEpa||@LsPT@OosyQW1AOAJAJ)ga8Qt3EBRtA0c^;7N#^>$Z38A!WqC>
zoJI}2Mh#;cHB4w(2!f^_$SN_wX|4XOLWFS9xPjz-{eFb=>jP(T<<6*dP*nX0Ih78o
z%XDB?>A<bhL35c7#>;e&Q0ahE>3}b1o2iQel%*}83#EZKGaGqneh|@2zZW#n-Q}=|
zRDQs=dD*|HI)1GR!;08L3sHfY3?XtosZ(6ReopUfl#-%yk;%R4cZOBGTCZa9sXyy2
zmVDH|LGvW&GY{Vml)>|H1y!hF<`i}c^4-->w!yNy$TsM?L$eL))J(Lzfoy}Utl0(=
zq*LKr!vw#}p$v?)f}yf)P!E$*;|T^-5tmoQ@2}rrL`$uHl08T>>mbRe&TQ)^)tN1z
zAPmP%8W(8PaOT!(x!V>^X_QGyQd+W_q&uhmUO~Ne9JG~3;O&+T=jRD(Q3Yl+t<r&@
z(t)JXfu&3b%TzirsB{3?DUzP>YMBmBsdP|M>7by|0g`xBDuAu<R@1=m?kOl^iyglp
ztU<d*19h7Fpo}#*ea=RB4c4Gn@jyZH7FA{G&9)FOB))Kd3*lm8%fUt}+X%=^dfhg{
z#ncU!jxoFzZ&W;oH)+-ICV35S(x@%@DvbuZH5xdnSqbBs>#?M%2n4;X#TI;Q;UZcI
z(i_kV&Tl20#Tq@PMyCxbvY<(gPFIwX1vRgsTSXRZEk~zE$lVBD5LRsjMdbmdGS(<C
zC1E2_jO9Xg0(~Z?5wY2eIrmHJg&_?)|ELPc&fB##%O-?l!PeW^)wH`-OV4znIvMYp
z0iJ+eR8tDiXq}r1+Qh34Gao<2%yh~Ntn#cLa3M1AV%$G}0rv50_2Rr{)23A1d02ah
zE>fngssMGfo%C)%OU2-{g96)32dO$AyIBOF$sq=v34SChP*D$$kbZs9W`3!d(i_Xc
z&1&(0a)wExCfB`MO;!inL3b0?mb^mu7SI&_ygJir$n31xpFtZoEO#{<MJ4;+Z;GGO
z%IXeltyG+>pYF6BT{y8@sr6o&WS#WRsj<37jn$<z9#?L^P}D4?w6=UK+G?mF!q+t4
zI|ijaSj6h~p25Z3yY~$);xPR2prHjPc<H1&TD0D-cMfvrFk<c;T(pDUKWN-T=h4}B
z4ld@Syn7ICi#_Gv&}E=**ZIX?)7!OzLf~gNJ8LwQP*&c9mU&JEsU=3)jk4iZms!ae
zOm<gAKtQMViGWaF<&uMS(i9;uWD+){w%MJDcp_zVBH^pPCSMBJic%&G*b>_UHDfje
zS)(a$YF>E@x}-K21vIC0wO@7BRomJ;#i;D4Z|e-0_a8d+B69iG_qMr$b=G|^At`TR
zn)3hZo2MqHL$(%5r(2mu-dolhosY-OwP!@+p2<PhHyg`aJu<4Pt<CjSl|sFUEVGiu
zW0&&=XEhoxZ}eV$^%baM@2Qki@Nm`fn>XQLWhsPe=tBpPM4F#H0n~>VUP6OkYic2x
z&liiLkunQ+v6lTKsk&YdlI7~IxODYO<0Tg4Y!+&Jn>|TW$J$%|@-P2#2m2BOxB~lX
zxsmjH`YUHJ17Ak-A}{mTd={tl=MR1R+u#0wzk%NN=~o^K1OoScUK9e>*^|?$R4!+B
zipX=_#rj;H+Ln%Hw8L&epV!WYu0|Ao*R^!CHrF(^E$dyk4lSlH-Hg8T{T<C!=;~9)
zp+9b2ovfq*W)hm?jZ!H^1@BYS92b!DnS2SDHoU;yZ?i7nymjj}P43m3kyOYtfa#rn
z`nxX&u;f`QCl*2@2T@-hN+*k%^n3`ndS-5+U??WTQzPi-DEegyyJKT>S@_TEawg>7
zS_B(<FBeKh3o6u=JknGXX#*FqNs0xi4275j9|Dby^>K3c^h=MR-RbGrLLm_yJB@LE
z_T*U3n3*3syca2i768X!_p^N`6UYgxOS-5(v{V&G+G8Q-aXKnWDSSLLZxjMH3!1>%
zZJFtMs!Pw{*9+-_U;>g3AOmtKv|=@Y60-_0WsoJTm~awM2&b{Lm_!93ixq~*JccTl
zG2sqOX7t+58Y(c{_6$<2IL>4!<j|?sl%!gJWDWEg1=osA9YFlCQf9L(H{)fdICuE@
z`8=RELDrM6zB-PbYjbZUSbUcyGK*^+o{3|Wt=32+CRu8L!{C@cO{gSJByXm&`FLnL
z08A;?CmRh)kpV_P$pK1%&r`KOk}(t}a!MhC49@8M`~pD)6k%0H{WXe;>jP*zT)fqe
z)MH+<;C>yBT_!;kkW3Ebl+UrgYL{G0DL|1ZhNFq35amHc#$qb3nE7mc8rU=Fo4FsL
zB@?NV9jv-ec@=m92O~%TZ*6VsDB>%w=DxnZ70ZDkBb#ipfS)c>yXHQCS5)F3ZFotq
ztEx<Hxp|q@C{)lJY~@cXQKP_=FTr(W0B|D`kZ{Xiwykn^S6=z9dZ)1)S?a5pIUv+@
z^Z5WQ!!nojN_$v&yTiN4CEu&dP`=x{$R+Q@xxL6adY^ZZOTJI172cuCS-ai4$R+Ra
zE^^8D>T=e$dl#dJo4x0vhpfY5kc?&zSYbm$t-wUN5)87XQWluiX0<s)QOsqtNciT_
z2RPVO92*B)jOHcef=kBGe6(b=A-TD(hG-0?w2~<lFv}cVslkqFAkcWa-|>!jY}zm&
zF|%tq805C)Zi&?(leZbrH$chA1q1=Tpo3lcUp)`5IGUtd0h|5k$uV^NrEb!z)L-VA
z5=p1CsQH6%4))DPGX{%<oL(c~BwSL3j1|SpE~i5<+1(vLQQ5L>+jc-~wONEXRQft@
zWk06ftt^1Q9X|&Ao#gZ|5^oP3F@RHLW6?x5Ul1gM2-(&0@~MziZ2^he+k1N2tzB-^
z9tiG^wieOZ)Oo$i6Ypbxi^rGQ7wKVmN0l%Fp18}uoWJYCANtUTx=Sbj<3Il6p$84_
z%9)pb0^pc``L0>Q;6#RprceQ3v{8@iU40c*^&LH{3Grpknibvc{R4p7TGQXRtfQ%;
zcl9<j{=M$%t8YZ2_m-ZHIv~gRmREW}?Jk!a>%wMjYVYi5@1(6`1Ab%Es;)LPa&N5l
zSaB0d(B<UZ>WrvQ1`}dKHbt>*TYlxAESH+L;Waur?h=l@@W7+@_vKk3lb8bz)#&hO
zCZCPX;N{Rv49hthSwMT}5KuoTxjC6gl7F~Ma5_*_U>1Q;QWOmp4l6oTP%?i)?Geuz
zM2jdI0NVmcr(j=_<)X7EQK0eS3opeoiJ7BMJ@wSDj!q{sGn3<EhmmcKAD#wHEri0P
zpLK~%Kv8XQn*jorlcbKuN|TZW<C&Z$hOh9FslsA5am8W)xlerpfV_AaT+U&$mI?}>
zT`DWx(R_4*Im~lL409%(2FMQB3B1Au@Pjb%$W*}qb|i|icv>+4vCLg-bTr~({RYU!
zBIKeHG$G;6)3yq$Vpp>$NuWu?RP^Wzc~O~4g6B>T4~M`TTbe3(@Wwh@JOt4c$;xV9
zQpWT4nq~;ETFzb<kSppPX8bu8Nd%A_-)9sBj2mvH08FO5lA}v274wC>QY_>WkVWB8
z2!$APi9*SMR4Csv6iLM6d5(aQY&MLl!3fkGyVa%;$SiLVsmuoWEBE(RI%Or3$GdE7
zA(kk{vS7c(EO5t^TrxHaa^JUiFA(Kkn#d?tIE8(+Cs3qtD#qCePN$X2Wlf$s&{JD0
z2G=TDZDz?}C<5#RZPNQN#GcC6K6$F$E~hJ%GP>*-b^1)*Dm-A1U%<?RKjs5q-ZSal
zjQe6Aih0g%{rz}F|JU|(cXowBuAbKN0riajel!AnfF;0OrI*8hf5EoJZ_8JEBl#yw
zdlY817QTlx&<4-BsAKP^!49dT)#apLmpfQE(YXQdnwhF}r?gVG0%g6b-pF!)tB9IJ
zuSOj~<Yg`Ut+FeZinlC10uz+)?&Du1hXMh*w9;-lyM}g+<awuvyBc_})UXgbwUWOH
z?Vyp86{#Fht^CYr4i&28Wq_?^YIV=DL1_=fp}KYJWM{8Vc5cwg&h8ei#;sQ;J9~Aq
zvt1`UyL7U1g-&+%>SU+>-mMlANLXcp$Z>)N!eMgcv~qgybI(2DGgQ|#H+v|ISc&EK
z(zAOWFBkVb`u%Tx^$TD40`n?=;rB^>>wpxwrt7bnvbzckzF=vE{+>+Y>Cz1Y15kxo
zFV2ddf;u^o3-T6=7~quRE)n`ow)P#{HC3FOp1xdt6=1uJ|IeR%;xnK54CQ@ELk~j*
ze<l{>Yig_ku9(|J7cB5}#T+`LTkQ7w)hJtAy}Ga8izcI!iK5>iLcB7p*D5MhtE$IV
zTM4#EWom9ueRC%e+F%&^q%c6GptuDAilqcl3b(5Yzq4xPa&Qf*P3!DlyXC4IZ@iKE
zl}JOQC@2~l4)S?eOzOE{^uTOGH4qh}O-+ssok9^C{OCT(?gr~{S-)(8npVi6Tm6t<
z!qb^}CVZbyYN-K=mBkR`4;`8haE_K;RZvQR%7ot&1Uvy5JBI6m!tVoo9HgU>SFbP#
zsEI1DN<KY_*`V68R}UOMb_{kAELopqZG=itDF%5c;{nX*E=YjC|GLU;{>CfqVdd?M
zI(qwpj^6%BM{i%kxmM_EU((Urmvr>@w>o<JypG<!sH3;P)zMqEPFIr#7j?C*qa&x!
zluE@CkTFd_N>>P-j1@T}-a$r=0aE?c$l=3>$7g3paY%`UK{AuGCDW^irbA;OHDPq*
z)T=>TO@kG1ghr78w@)$#Oo~9jX~2N=ccoG@;V5b}k$#PmBxh74_0BFtNkR)b40BvD
zqJ~KhZhiWxpZ=^+$QMMsb=0tu0Rme&hcfu9=YI0DA3y#5?|=XKg9o3+3B|GFz#H6q
zDDU{r_g*>rEc7tp>8F1D-C*sijWsZQ>}F*yWVJdV7fTWew$$vbzbiC{l0xVo_?sY*
z))ARB!Uky+isBhDK{#qfJ7}XKxOE<|gAYIc;*m3u!;{mIR2nKvDiNK<I}}fKwYODS
z8(>^^RGQO(Ayn*bfFW#mvzeBrh6X^x3Zm?&ZbnjwT5@8tw=M5!s|T=JfR%Q^60!KZ
znwD?bu@-QAE@OevHJ$T>NjS@SAhGJ}tDu-!MGks~B`6#_^2!U_lpB@7<)8oVV_3q^
zy?APN4i#dvlSBLQ?)~q7|IQn(8>riI@4fflw6b~*b&kcRYs=t-t{b|Qmv?NxY)czt
zx2JXBN_gOE6Aap8^L6ii&$X9ATfzvD!Nqa5+FC!i{e4s(@sI6)cEb%fEOVyG^l3l-
zBy`UGeD7U%-F3;O13f)G^;RBrh;_lOmu<OZb4y3x+I1Ml4eR=Pnqf(`EMK`E@1SVD
z>s>o<yY0jG+;h*}?|tVL@F8qiyB5oPV9olC?|j#L-~T?;xr*<(<My3!o7GAZ90;bW
zhNiX-NkS{alC8c+(`5ZXk?md%3%|3*ArVD1H4utnb3-+hgxV?>Y)2cMEfp1>pg~|O
zY&HSJ77cD~@96HXsdC$lxIZP202D9`1&MkOC|J>McU?nEHR*-U3M#SX%rfjTr;ArQ
z+nu%=+=f_R*VqX&xOSEh_EAX*L$_2?M+&{SHNe3xUeU@Tc<5Tdg+l-w1f40$FlOL9
z0lk}97Rpu<BenIatGe17sx0_wDP@H9g3bYGjeuK)7pSd$<(kdQ!KmAsJ2vBx;HdzM
zY-$!uS8Q*t?T24S99Xsfaul)E9^XF)mN_vQ5sk%S3QU;K6MCFvxBI&!&Snsa_+S#F
zPSnF?$hOM4z<=FQ4isO(CqS*C;MTbih!z_Mr4w*E3gL)C{}b^J)EExW%wm0yjm<}+
zb2y}=;-LG5SjjLlx)2NDj>Ngp^e7bI3a1+=k%Zlt%^D13?<hO~hl{|{>&j+hi4=6(
zyuyR{EJ>a;W0@x~*(7=lCX;DJBox!26Iyq{Q{|~d#W6UKq~rsuB~}E|tPxk6Gn$<)
z3BzS^+rVRtc`gp8OSqUZmPFCn3UX{9gF*E36@txghj&?WHm+Dv1&THbK*7tR7TM64
zo;tpOo)xSRs5QH~yD%cMLNJDzWEjsm&I<L~7Tk)zFN3I1N@_A0C1}DJP59&_ToyWb
z0FE$U%wURBIcUxBMHG^d7O4U=rZbsz0XHv}3b_oZ#zy0*WD^k#fx*C|%K`~`=;{8h
zWGp-z!H?yT4vCNQq6s2JQgU!!WKuw{&E`v_&F6z#-R{cj%P;9|t0z6!4Y*{wDB0@7
zJF>0DCl)dUQ8>1cF=J#|a{Sd-Uj=-ydj>j0f=sDga$yEKQH7F+%@P?peqv+_vL6=$
z@eII23{2Pf$-Tci2*$UNVOU90!cNeKE+q<n8k(F#sVpp6+)FID3l-pu`x@iEjaY`C
zasS1*&q1T)*p+OHPt&UI_DXvoxYX^VIw|*2os`?9lX4%$nN%}<mrlyvt&?&e)JeI!
zbW-kPIw^OzPRg|mE_x)^@MiFYx|S-8jMEVgL007i3z<{3aZF=sVPcY&s=)$FOg0o~
z8j-7^0+yCaIXE0Rzqyplko^<~8ZsGk=oCXX7CUohE@J?P0P^OU;2MJm?v1tHUht%r
z#^c8^ZV9mp4x81hCuSjOhF;i<(Tx}@!TBnTX?PC9RDvgG(r|1fwZ8+b&nbLwasjFn
zhXQnWJXcD`qwI+%jw~44+S;UrV^0Lv4Ag^zfrnxG3Yqnn!6CeP%_?w)o`Fw%>?0rf
z$Ok|0;laVdYX^G4$NB~~-E`AU8{n7s%T`Z)E4<9L6-K{VhJyf1rn947_E(uIYdzJ?
zjm@=owrNvOgAD{@ukG3tG=6*&C;_w(;8UT`T+Z%i|40wxUwz{4E3drr_WyM)O8{+m
zNPV1SN7)&6P<?#I`0+squMd3u|7>Ru(}VkSI58&u;COYtTi{Y&w_%0TZ}wbz(|e#=
z-g48W9)Fd)e?#AzE4J;}(4>6!vv*w90RG;z@!g*duIX)4E#GR~Ooh9DH6-n-z7?R%
z?%sFoxZ;W{F5i9yoG}}Em*f7I_pXHOU5N(Aep!@l4!hN2kp;imV0BgCM_j<|_E#BX
zi)^vm>=udD)m6ar3XW-Y*98ThEwiar<ZB`Xi99hhgBg#-4J3n7^MF$yI(?i>{BS}k
zV$sIuVW|(#&L?oCIfTFbGFJj{sG_>GOz=>GUGUIltBNqj0Rx&>1O}$ZGFVASdv*uc
zOpd}v-v8_|P{rh|nIJ+V<3}OJpZdk*7*wu^$Z%?S{P>G6zIbwc0UoIgdj@|7IHk!{
zDV0PiyR4J|@C#U7_*|-rsbrd^lR3`F+S=Sa;d#R+*%n;G0bJecs<gw(x5)7Xcy@sU
zo`cinQ~^s<;RSHuJTIy0E!|oUEYvTOzd|YQmchr;_zs*Mus#BA^tD07JDZ)2<zPNo
z_*{H8$Q6VD@9t_0be9Up0Zcy}%NfYU-cTR}?(sv@c+O`{m;-Ar48o@hJHKo!C{8iU
zF<$fonqB0<@C31lDKa7qSQIT>L1I%=1*U+@l}g#E;F@R}b3yDB;);vRgSpK|V_3q8
z=<vws=;+w^D8_9z8pkiiqYIE23ormdb;VpJ1*bLm7nX81nZSBaqRWoIs)Tt#%bZNM
zpn$(+3bdlK$w<(6Vvbxpg;Jo~U_5dFO5wp{C!uH!pZND5Jo3mRKYa9&#~yp^xf5r=
zEKZ*|1h>;+_Mf<;bYymNdM+G}=KSXD+}IFwrZKqx{Z-jWI1-+o0pK}1cyM@@gmnth
zgP_GMz<v?oPvZ?XGj0p|1gR99k8yBqz`sj4EFbksd%z&oZ7FW5M<c%*XA(EPdkJoO
zmyVl$NXJb-qT{9?(Q(sWJvVIvnK<2^G@*+qmP!~p%UU=CC_zYPRBl1KPNk)Y(aKuu
z!2YV?m~h){Mo2iwJ+Ms-axRxIV!;5O+GKT025M|1NS3B1J0tkxD04Oi*KBTr{@u20
zZUlm@P|*d<>#MggBUrgGHxFh&?7;2rs>ndgja06N3fT+WA29Mz9l#k2z)8j^L*vTf
z4~bHRv!>l@%my3<$x?O6B@JwhT*9p7lHeL3mw>#I1B7|e)8xUojMl5K03ycr%e@Gm
zt!=jAii=GvcI?=(yx9X%_8_n?*44Y*E|cHPyBeDM`}-RkT)bbFJ(cdty2iRnIpB~z
zRkiSoR*?g$xylB|UpNF-5t;m7_m=H!<L%p)<FDCju3`Vm{(*f#eSC?11(-1^d<Or?
z%WDICdfR)q1GNng<9jaef%~op%=A9LxcQRK?qzPjS?b)n{lg#r@V2d;lE0y{x4&oQ
z=53d(tOON#`c`i!l^R!H4R!s>)eWWK8t4)5Vmf;XT%)_a34>T$zhUhfY-`uxP+vzq
z4td&1H1u>dL9#WmtNfzX3U$NaH*+Q%`QvOh69)icSvJY=<C_twFu;NDH%Vp(J_U66
zE*&o&kAaCrB6(tmsW4$MA3Hru?K9?5DLhZi#j$=v;WX@SfK=e)aqv?2Tqu!F13{V4
zpP>z*Avp%On9jsvp~)D!UfI)$`O(q&93jw1xzK2E&3*!dpBOI?ly`LW@Q;4<qbHsn
zItevsI1z_Ab@<FIu3~63fiL8T_QGB~06<tbqIa<v5Pt{>oQyYxH~3|sJWtIG9h!;o
zL3=DTg7yR{3+w}1>dan@pp3CFTQW)TkdkPD_E=S+@VI&<lU1cMRA4x%3#4U;4!A#U
z5b_u+5sfL#unkn4{X7_piQ|o;$ztF^{D?M!uw_OHaf(?gg7uyC_%kNc)HJRt!rU}b
zHLyK^13d)fZwJc+;CmT|OqwV)K=QQ)4N4>f@Eo(i8z`)pW;tqIhQ<p~1rY0rfFluS
zR<l`1(KyXzMRO30C(zFe<aL=(qzP5MSRg$m6bgrND3T&AmZf7j5Kp0N29k3leleSY
zAi~w>Gig#&Gx>lM{m%0FY$lr{#$3whvVIdp27Q_<?80iqS0(caLL(WTi3S|`^mBXn
zVcWY8M~+RW19o9%2r_PHI)*!ru>*c_ZVpJ{S@7!k>@;NL%xt{mm$L{AM&@Sb0530O
zBMV`_DYY<(Pp21ByBu~xx#xHj!nOiu;%)Y`oD`RYO?4S_e)ypf<Wc=F172wl*rd7*
z=rq*TIt^9dt8g{Wq>8%%9Zy}Y(@+O=JhfNHQ&;PF>S`TN)mP{0Yt5=NwH`27hs*75
zuc%m97^*6QaO3d%Nw7I7H0|dz&CPzJk(5accCb3Usta`1(9+s^MSJ_nlRxXpz$TcW
zZxjjuyeX9Yd}PZOztILcHIz!mg4G*KWQS#7&>bxnTUvHz8=*s8%G&(mfdeNdXOjVb
z>%M({<DP+mfjT~MDro=Tsw*Y}PuKsK%k9|V1>#S{dpY|%^>Lq%UF#RW{`H5R+dm!f
zvM+Fd_ji7;@@eT${^U<K873bNR<EqAhHmXf(*vQhvZG^5MLXhAs}VfIM9(Ku`2gQI
zGvhaoA%bn?atq|%ujW!we|2Vh4wM*A!U_$Ck+TrWK`EguDT!LNm_*DdTy=h<1)R!c
zFuQ`T%#l-21m?n{qen+aD=Mmn0J2Wq%MfO%ue8fNI=+mI_>C^C8JEe?7_81X;IEQR
zW?8N@n`5zQYXJ%nRc}HuRAVXd+ju;FqXEkRZCUa`<33!{{QO+hZ*y_n>C^ir&k!}U
zmyol9>&Z4X`6X#=bac8{+*KV>8yg7tEy$2`dYa4NtJGUfw85}MY@VNowQh8i0iqZz
z!Ro^tCOI#;N~IQR(D8&ggZ3x~pgW5l$Z&AU0e)Xsm)|%5=Ub>`MinXI9~iD?|2Mvh
zWTS6rw7uFZ?P29@^%AtbesD1!e3rIXFG1U@m!j>##dz?F!A0CQkIu)aL*if_LsLC;
zKsdClt6{$yhiWK+!w>8XF_}!HpkVTuh6YS0w76(G84XsOE?p1l+0|K7^8rLAZ9iXW
z#^`V;zZ7R@r$Px}^+z^t^c$<5fByNA`PtE6^*WxCTey6oa4?svufN&Z1qr?pT_eSl
zCx=5Zbf)Mya>Q?Z1wNH(F*gx(*vT3PE5rlpiC{2)#sF&K6Pa(uF1?)nh;_i~*<kp=
z4}N+GWOLJZ*jL{7J~OMnWBcW>fVQmncve(a-f+XE+iryZ@m}^JzX-?Sd^{Vlx;i>G
zZft|*YRV_3$`md6tLI12=wXsH?$bHg`Q~wQdq<ETB0_XJ%u;|aMIwG9aITytldURP
zJ^IosK%+V{8V>(5nVgxadS#Nr0tkzMAUf(?W_)3E6kh-baN4Vu1*-**8$MARM0Se^
zC(ew6>=!D-7SWj?iyo4E-t7ka03jxG*;LS2Y-}J$r`d1oEx-}5k5N~EA_7OqMA*$|
z>g)ZI0ZLh@Pz0Mr0P^fuVaNn~ghHb{oPaaAIGPOc=%V45lNM&jDuPtCSuwo48X};<
zwH|^`#2~auvrk6%h0(FI!OBKkSoiR7k=>7J2&kR~8m$ihSKwk-83A{*U**_Fue7I3
z)NCnS_BS(5w{-TWsNqVOwbVA@9CCnBLk{5B6%>V%v`oRARz5<YLpWG24vG_U0O$`*
zzqG!S)cyk>8=&`KCnFO4TVi!@KYD<b%AEvLwT2#$I)@%GgWLD1=mA!WBC#$Y3aBVu
z(9z520a2v*Yv=)44Lu;Gp$7=(&;w+!Kn*=0Lur&;=4?jvg;2%C$cbGlcB#kXHR|Fi
zRQIl;2h5%=4Fq}s6-27Yq**N)Qf<FU)j(>=c(t|@=mx27h|<5Y0`w*0&|eTvQ!aQt
z{4RGc>bSg7r@<_B=S!~#0-eOA6Nn^s5yI2;@u!&@m=?9%(1>=ECM{Fg1_q7PShZ@-
zs1?JQ)bdz_eB<<G4Lt*?q$n5HWZZ?!`>%6@*Mk+XRK4iZcmJl;i-Hc+`Z4bJr&jd*
z^*|TBRuoZuwNe!79Qe!yuYf<$z;D9jzgTEv|1)Xe_0)tcRTH)}A8>0cwq2_go+A;i
zO88f`THzE!-8hMMmFp$6TH!gZN)WlM^jVhjR@CoE@OL8P$Ej5hy!pI98eGhizmTf1
z^V7j=amNyBz3_xuFI-Ws7e-4k2z61d7nap};Xt`s*rZkq3u?8n{A<<1f8YdvkOqr1
zAPp|s2N&9(MS@31&kK!%i?t&9H6RTxW<f92mqXHd$#t1Ew0?np0yPHDQ0X}909TFv
zET7;87$;rMp^zm&T0U1OaXF}WXc@;+I5eSt;b-(gl*=+Mb&Ok}Q-M5yXH-^cdeFtV
zYf0zFy0~|Z>^)rUliFP)SqyiLbZ+SrRQ(%(k%yaeaYf)lwQzYl5>?Niq2qBno;t;)
z>9|Eb4wQdY?(g(2&h$?2V!r!Mo$v00y6Eywro}^U)%iDe>h5``PV>E0r}^qTNAJ}6
z?&@{^4ZZKK=fsJ_N8qDPkuw!x+>@sc9X@mn4xCe?BPU*XX?XkuZ2uF-5553qZ`LJB
z`Rf)_qsV{lRI{OC<!q>)M}PG14~3Apn}A)8u+w9YfB&HeAO8B+zy6b_pZd`QU;X8C
z|AoKsqes5?6>v<mF6GHzcQ(f<p-6B<w5n-M<K?ubo?JE=``J@RMrPoEKu~pHWnXJ`
zC)|LmS}XbG-CbRE@FIBXT9-p@S2LGHEpy3VcQ#$gZOl_J^tBmEvB>o3Hsx;R&+XrN
zVjtYo$VB?YT_3)7&8^!}?SqHwWA9jLxbu#8@4N*0czv6$c^|M6%(^V3b7@Caly=nR
zOi|j=Ych>`Dm@5X<_u;lT=|GT_4XqF_mb<czkchQ<@L*Z*Q{TI-~}=Vdr@}COGd#j
zs>wv1{<>vdJuA8qqOWyQ_7JOfAvedSHjS*L=x+l>e`A53?w*zXO$}8D4NDUI?lslT
zZJkYRZEe+6b<28ts@%;u*xJ(3i<(9A>^KT;k`XlK<oyCy5|v%>+`&Z^PcnEF%?h=u
zOayzby84z|2Ku|&sxZ0mJoWW$-g3o81ejLzti1B3>w4NZB6Vd8oJcSLyN<sy1Dtzg
zbQs_@6qyy?6Kv?y3HRXwBFJu-L<kDZ279I^$Hx)rMC?*g5N(^D9-kPSgzI-^E;M=S
z^lW$<(aFilvC}ZA&AQ|qf8E)1oPw5)^O_7CQz4yA+MG7KDbNT{YJwBY76sWUqQxj=
zl#*PB?1m~?EaC3eEE`eFveEKtB3fRJ)vTt{<jbivb+xLG4gMWO#L34&{vdkb)@sQu
z<Z)X}JW&0kC>2O#6Y&^Aweff@l9>?4OT{zkg%F~==<7<c2L`^-V?g9&-Kr)vO^Bj9
zM~{up4I!X+WHeMfeHt+V_{_u8xb-1FZzvVvUmQO(G&$$5n;zQ#!clm$;stc<c9~}*
zh-_!oSbZwEi*cXFMgBF#UAg<U+?H=>xh)R@T>K%G_bk;J`p<N{M<0v5r-iY0NSROT
zc#pm_^k;Ou=hHgg^O?a#-|A;{yyqI7lxg%X=5KBu8ai<j!;`1UG89v@U_UAoI&o%n
z1QGe+;gRDfj-SC`jZ97s?b|;-J&aJ|(3xZVpi{bZ%t&$})@9{`Z5cHjt|;f@O`Cu5
z^GE+Hh1RVlidN-92f?0HCiUpgo_T5yZBPE_zkc`xiuj)1yZ7hc{MYCA{}R#Mpa1NU
ze};3!rDImsHY5sG8-i^}j=&rgi)VRP{5SBf&B=IV{_$VDdU}G=F$xyy8Xb$_X+6ai
zD2}<jyRo7T;oKDsuHv$eHg(}SE0M+53}%MB8jHrvvJ)7O&@LXK=|F?P&T=-_Z{lo|
zqbCk;Q{Jn5y!mSnKZQ8u!DO`;+)ZV1_k8M;pZXZK58QFvWnEX7qr0v<FKN%*a>F%O
zuY_y2wePZ<;h=XWN(fYG3764lkxO}K7vhPOhh;pQZ>ciAWxs*(E$ckHjLJ(0>j$r}
zVJT7Ai&hl=cV4n-{kn#hp8ub=Hvy09tj|Z!GIP%C`zFmuqtR|lvLwrkY+1IvXCwPY
zAYjsx6lnjU&_F4H>dcWsdfU?b-1h$A!fi|8mQn~U<%Yyik~ndkI8N-uOKfZ3H8axe
z`#$&mW@P)sJfS@I|MbWn>5N7*XZgP0_gmig{q^+^4D@Z;qTjM*<hFb7z4xAb?!W&F
zpMLo6dp`EjM;?0Mp06?hS_)0XHnsvq*-Q=g?%LHt0G93Tj(nb=DfMO$F3>Kd`T;UV
zX40y#wxMM$+2W(DLxYwZl*7BbrFHY>db>$aI@mHYo^)%L%kf|{6L=+X-ezZ`rw$ov
zv&rh|XgBNYQN?#T-5q2QtgWB|4DeivVvD44N3JY_3Q5qJG&0fL7)Wqci;C7R*eWOi
z!=moqxBvFrH@Ca%_2eUYO+5^#Qi+GIwnjH>b#q($)*Zt=z>T&vckH?4aEq%CPi`OB
zbrd0$apFA`gKH)>7ltuNmBeO^hCmh>kSa8=QaFt=a^V?&l)|CH;=;PFi@VoQJVgPj
zSV1wHEhJ-jwrYCU)>lG=ScB#x{?#=U=7Nz(U~WDfMRVbJAmE!v63-|x!5l&9@hD0r
zlLfDf0ps!m_{a|!WK#(oO`TC!ySlzv80AHwZE<OSdh+TdD(FioMyA$Ks5*0Kgq@=*
zDkmxfb`^&_Va-G%J5PX+CJoa3JzGU!BGO)twMu}HHyP|3BTZHtR7lGcuo)R+wINr1
zWZFnyXPZT*lF5qcC<_Blsu_tyJ{``GhRvv#<umClNbO#}kcu<BP6wP431u^hND$3>
zI4+CQF){NcYPUvbwCvs4*=Q#K6InI@L!r^&;qujqE9hcBIXl0wp7f!jKf9iklPXFS
zYhNn1zJi1y(7Gr-Czobsm)B&3aHy+@q>SNpl`H<)_ujgUic+E=gG-}aix4mqmOemm
z#5xC=F*rB06DCuM>|ngJ9L+dtNF1~W2cL>19vuPZ;L$~}j^(@;AYcJYKBxc!&gie0
za*_E4o8wd2zsF+nztM&GvtXtI{$Ei3Lv`hNe1tneZETNAyw=AhE639kuk~@f)`pei
z(~_0raf#RZxMby!qIez~xv_FcQ9Of^l|!m<*MIr_^XKDn0I9Hg0CiEga%E-)Zr9~2
z=P$hXJ}PThXJ_6&_2%?EDyoa`UwZEpbUHMW1p^g3T2T_PYW%j9qW@oi^pD?LT%2E6
zLuDu!OeUXu?)dTNo_p>m&;8>+{r!*r`mg``-+p=gN6-G%FJAh|tFONLqaXhLU!bRz
zMzTPl%tssYf@^T_x2+6-Q<RHuoShFQ0p1c?ip7zUfdM#LLxVfJJ^i=ee*5k&w`Tjm
z*8VmWq(O$<2Hk?{g22}n1k?uUgiLT<zWiI)0*=Y2Mk-%Zee=chOE{f!Ihou~z&rGl
zPafQW@pxr__LWZ_{p<ni2jt86^+yjmzWC%He(r8Kr~5zh$u9tqsgbM&Klp(_FDV4}
z2S3<A-GAsR(BIzbX;P>yP8aN{)!NvwXZYw*)HwI-86Mep$D@xvdiTMhuAw~#j~qgQ
z^1#T*9_n!c#eP=Uth6_{TiQuk(%msQ*xK6BdCeW>apNgFFk08$VV=`rGALA94yGRe
zgQIkIUhMDO+}qdaa#(b5ja4d+w*z^PqJ3Rmlc&7_jv-v+j_%Divl~w~H@9>n^REf4
z5EnTTNm2|dn{<&8xM-BP%CvXGv?tRQILqoPK0Yb--~N$@9@@6GtF0b~V>WBGTefW4
z1b|h4|K9z#4&tPGd$!(s@7+D^LwIuk{zLa77S>#S7Zx4OqQWu`){)M#f@^W{n)3`(
zj<dMtJQLXan%KX*vakrGb|w!iL0}cDt4m9;DXXgsi}Ne+oqP~%n4I#jub}R~vOGV9
z;7TL0;3%Qe8nxgunSPt??w7*ZSvatPz~Ul4{{ukw4`A0-HIvN~lkM(C?UgoK1<vX0
z=B}gGZ!*@Xr7^70ppvuW%`~8gF}OtFEhW-1d{8)%DG>%!3aGVAIuR#CCN+T?7t--W
z8vVHhV#RD~btYN$v4Q!4U%<(TSq4~=EQBR-w2$Q!Tf1B)Xb!-8k;&gZcl9bD4;L=I
zKj)u%<Bc~i%=z<hE+?1q(V(JCqVB`6m9oGSgS@iV)FjX<7>K4O|J?a&-ZyN#YCVF<
zbItn(BLUVIC|HI-d4P_pT4D1wvkU7>zQ~4Fa3XCpexqi1e+JmfH|f6i@7MAnEhF3s
z7|!a}BC)b95-Zy(v9fJ=WizFwS|wJtRbpkOd_IrFKW~*-*%pa^?v~^Rnk4?YdU|>l
zm|?7Yu}s>FE}fHt)=$7-tjzDnunPvp)yI#&?OT~znZ3FY4tkm6&|1~Lm&Qvt#k=o<
zTzmDxxN-aTc8^0w=~P->0lvj{szabxSud0f`nCdVY4VL5pL**4TemAJ;IuR)VX>b=
z9ISnVki>b-=l;j%KKHrK)8oe8-p+QnS#PsB8wlE{7b_N>q`fLe=5WAoQzQomMeuJ|
z`Pm=;BCwXBBbY!$+n4sC)mrOzhuRCQ^0*P?XuyUwYJ*x%#)bvDN7^PCZc(YAQUMIA
zcaIx8IvO}_quthMRa!8#I-rlI-KoH9@)@fIR@k|H-01T~uEx2{#Vc2?5`?c0D>?`$
zUd7td${KJAGR3$)ms18+UDm~5cufcEk`rlT$*b@$E|Pv)<+^br26?(bvryS7(EvWg
zz>ops2d7;r$4OtW0zYoNe0gy-%J79^CI!y3iuBK<tpKx?3Rkbf!-!kP^`#P>s>m`F
zTPe|)10@ljIUo~c$T9r5KA&fNC1tQIFXvdGrt>%q*2^YAEA!HFBXV*Culw`}cLKwz
zx_w<T2EQa3gQ8>%{%KQ<<M(yR82q|q3_dMc>AxZwgI_pyW2JvuG6toJ_QN+3`4*zp
zW@6!FXayGzL7RqJE8?5HRAclpa`?Lnnl#>9A)3~Lgu$l(uCO{{<z7Z%Gztx1_)#k>
zp{T}$)xXB%%hLoa$uU%BMI63~xOZ}Xc>(!}DgWddz}(@CIjBon2yv+LH3lE6Ms~(X
zPvMtu`#@9%Ao>PlPq(lD@oXA`5*Rzi=4PRRaQfbQYjWP+hS0A@-Agbw{H$TA@LS^W
zO-#MbZJuVVnT?*-P2lZe%K4)vY8^&$gR)13;q-(`h7N=gCUig%t`YPY!hoQdG3bCK
zga#nBsNUX2yM(1@E(Q=s`cm4uUUBnHguF-Zz3uh`*lxS$<Dlo^%+5@A(ic9!%+udV
zU;W_^e|RO=`rspvJkmjJCMSM_h^GUj87Gc@3^?)F(vr|XsCrL4abT;2jkh`b4x-7^
zKG)zAB5~gl55jg6haCo${6u`)>h8vq*l7hxuW1M9c@KZ_YhQcv@rNJW3F6)WBz{N`
z{n1Ar{n!I!Lkr!ua(NS^B&h!FySfbJGGZhU^Q`r5Ect|chw#ze;IdO7-8E}<gmf1a
zhi_upnGv60kyo+`;@#s!3NoV%E;}u&(e26<ocR)^M^eVXBggH;0be86(X?7kxO+A5
zY#ukkgf*MiYE`OS1_4KnWe3nHex{icqZNm5BGt91RT{jrnKL$kVuw+c=G{CNeVVJW
z>q=$(X^tkUNex82&50{^jY~(<Hh{NbuJRc?oAmpI2Ew*;IxS|*p=+c%h9U$zT2_!b
z#o?Pcbiov%jHVKx5MhCYom5b9h+BYIQX|t*GMGw^N|J>;gB6+>&}-B=1~$g4K%|f7
z2wAj_Q0tI&P4QZUkTnWjf#&hE3|+lLA`QmeAQ*FUp5y#}-{R%fCD^{T$l^SZ#8paN
zDG%zLs#K%St*0^DGr?6~Ah7BqAB|Ol<-JTEgfK>@<GmcLCvF8VHgtBH>DART?eSb^
z%=s%?{Jdo^b$L~6YX!?218gHglw<gjWFLvBs$cjG*=r><IzpmLCP7z8Cl!2=<9Uv-
z=P2OJiz#>n`Ml7KItVamD2dP&N=C`znY^4tkATcEoQ`LU`8YLv6ANx`X=RyYL06XM
zVPuf-Hfa(R$v@CFI$TAEd#__tBpVioJBM?<PJRPX8+tlrfn;LjDwWVc$Z=Csfr$17
z2`<K(5m;Ij>Clw;ExhiZU-|F1_J1a^_Ft8F9AEt~YfsW}a5@2#Wq|R;4(#}b$&b`b
zexOVwL+BXcZ!bx#{VK8cK-vJ5s;K&TbRI2OubX_%+W?afYo91kI#_r;lfr<%Ztc^s
z_Auyru1LgHWJQ?{JFs>eCV#eO@-LJuc$!|A1pfXFskJBCnWM<(lWEQ?-~`esOtekc
zOg^E?!sJtLz2!?&E?D?R*&4FF*R6dJ*1l@cf2+y=t=1kgeG*RgHIv@}lmA<-ebu1<
zR+Il<Tl-Pn&D`rvH<^6uzp(aT)>O*`AF%giy5Xz31Q2V#b7v<g*;0E?Y<-Q2Ew%Qe
ztz22_+O=cr;B|X%b$Xmli0@pE53%;RKOjNK;NQ`5qW?yS)gLtZCWe$LDr!QmHcPC%
zo>==)9iY}YUXog?RKS)H8n2oBJf4Qhr?gsGMNUKlGG$<=wb!jZ3u_O9US^a$(u1^;
z-QZDgn0#Z+<a=1c@u93HR9{-8)?Nc^KdM8lLo7b&P+S2sPS|wK<P)M6Og`mwDk{n(
z27IKbg2}sX?KxO`Ocoi=8ShV5uF<A9On$0n@?#XpPckZ%#27{Q#Ou~ROvEEcp%z4}
zJ8mG@(%Gy~HTmxACZ7t0vL)~ZO(qqc!xC}b+UG(dOs7H%?uvH+?&=3kexPRZ%UJ;Z
z`5Z%t(ow0kU#)(0M~9sZ6L3?QJo#uH%04jpz@XB+w{CSclkRE5`C`E$)9aeKzp^S0
z6a2P}{U9kCtmqVyrWs`ZV8)B^)vgnxiE-C(NNf`Oj<heJt<c9p1V=0`E}g)Gr+^=!
zFV%owQIK!Taj^Isbm%;+KCA<=`{FQ6yO}VOuwAD>f6(~X?0$^~y?nFXALZ3*5)Ls)
z5rP~qT(kX6cn-Fonws*5b)YGL`%L;wOU?fOjhB4ym1;KccflXtjK2I`@rVCwilh@Y
zH1f}DXk@+yI5kjTCWs=IK#{9p1k#}h`r4z+0ji2Ms<trm)*6_VYbc}w!5~+$3Eux2
zf6Pl_o14#@bcmHpVw?XSCDu|6D_w2wNZ_-;TaiXQRS{h|5nuL>5Q%m#f#rG$%$NuR
z0dU~0N+Q)-5)nmO;4G_v18-GPh^Vmc9pO$;8`}X%Jhw-3&W9xN+yT6H2<N<4a?S@N
z@!VcXJhw-(!VgJS_<fQUewQStAl27%cO6}PGZ>0Q2{M4qgcoN*kz^){NOo}@RCS<m
zMY>e>T0j}bz~yu;O<1@!MdGQh_(Y1h_6@Ip^YWFc*%d6>?E2JeFHTIatj}U~e(ln7
zIDtHlSeGXz*(4*AQ|mlBf)&G_iGr^6_Bqkr-%;S2oMt`bT~freHx?+Bp&cCT&32ty
zh3ub5K`%#9k$H7AbM<}X?&FjLX}j(&(fWrErL;%(ba}AQ`#EDvYg>x4w?42TR>FOJ
zYoo(Pwc+zwqG@3)L1qq_p&$LzcfRwT`N|Hk+#ma-=<aH7@4oN$-P@Yr+;{98+J9(p
z=itx|<UzLW9NKpa^%<cdl{$D(MJfTty3IJQ!JW-*nAx5>2aJftC5q0+KQmw_$&FIT
zdgrYceKAC1C$DWB+)jO75cx-Y@VREC&Z|5755Hc9TP0%*u;s4(qWko}HSW+L%b`PP
zQ{=UEZmUr#BV{j(UMZIY*o=$;?X@IH0ilwQ1;8|nXJrUmv^tGQ{o_dGj~jLzv)ddF
zCl;=vzOHw7dy`qMMQqyMh=MpsE;xDOHV3PLP;&L+6r8!Zk|oS)hv;_p2B%iml8Y3M
zDwD{>6B@7*gSfR(U!hb+YD0vY4$hncy;heDXNlsHx=b`r8HGp~MXNLO(J7hN><b|E
z-`qll33EHPRN|DF_#$mKd6_uRd3BN5H43F82ajyaB6`*tVsSZ}$`{Zjmc_aQ?w_D3
z7f6TsShi3it>DHeEGSqGMJ)}XM=afB2~VVxqWkK!TD}Y|5hB`I#*+~=Nl7fBnmU0c
zljLl~Iub<C1%{9bD~L95yR=LgJimoGQIzG%iIqG=TFWw%Y}OYem8|e=VDd5u1R~!;
zNU!N)&a3lZfIJL|q9C~;Q}Fo1cwy=Fgjbm^sybB9zcstG=H(_|IQ!H82O^qc-Q7KS
z@meO1$1~rJlW+2J0MV*ZkJhKe0&pYT2~6th#z`!Iw70PoXRBzUsGG56oWuhBE+{L-
zu^WskR#LlRk6o|&Bf!GH1j<h|y^2SQKt$Vso@%|Xw#SpE=)g}wA`O=mu@s%<@Q7zJ
z)#uTd3<!(bYm*o<pdFKc|LrRrBe8lP#xIaED;P;8b(C3x?*i+6s>YD0uW4@Ys%dU(
zs3XLFZ)n0*nG~Hh)NGKPGtLbrzS?IaNCdaZRz2G<ALC9?8{1cp-N2N6>DUdW>8~D>
zHQ^;A<YixNq9_M!{8x_M&`|yAu^Z^YKRb2<LHlRNZlDMM^w^D@-JePBu#{u(xN){x
zjTN)u+UBH&P(UfB7)G8df))+SqX?1W37hmSE~XRdR1EB}1z!*X)1mar-1K5N9!WEm
zLSYpm#L%c{&&!OZN_lk-W+KPJXgN%3HQt@q616IqUd02lRKmnn(^O!Ns8GyL$8%%U
z5R+pw0hvs-mR(*(ZdYlTD8c5+{pU`d46dvP7Qj(^?cCLO&YYPHo_Xo`sp+NJpbQ!n
z?_7>U5`Gs-vx???x%ke@SUBRGu6}D@tBuI=XzTawK{(f7)|O(+Iml%o-A`98ynG6A
z)rsRvv5H6yWs=!UG`PM-D_Aa$Bg&L3u%sHJq28t8G+GG!bh#`<D?km65Q|=+;wa>8
zDHWT64YtC~q)EA|i|7$Ml*PdE{9HUM>gX%T_)Y~<w83h(nbl)znNDRzcCg8#Q_AqE
zq1AA3=F<6h856HtJbCi9P_Yc_=xl4<y|-Rh->@GFEBks5qO@2C;(WKqh#V18H5EI*
zj(XHCNEfkg7`|h7J@n9nJ1p6=Cx7|EVgx5#VgC6?Kl#Z|-|;amTekIYc2w`I(rw#v
z@ZiCtx4A8_%viv>H?=f4tW6!=Tl+x4-QLp<AG~jH=;-YS_wL@Y6KK6{gGV5E3!uk9
zUmwI>cMR^{yZ`XWAoX#fI~<Os8J6SgOeEuFHW`d2N81*nptapYu0aRtew}TN_NtgG
zDAv_dPq7R{ji|9(^ZFf4p^7oDwwpxm?03#Akvb}FKTmPcGNaXuRt+XQlQ)y(c#gN&
ztQ_iqJcb}HA~?$inWet5POsLhNIYn_C@GK733FOphuP7R(ms{X=OVFeE{l7eOTc@H
zL^3%*jTEJPS;Rq^8i?eXy<R0JH=j|{8mCN7n^?P5#j>(g3yT0FrG=!I#sUN&*0fE{
z)~4oW7vI*mz1wN2H&&2R+|+7-Mgzv3GCKw5r+zc;ES*jz7M3F*#8)aQ|I`d%8ZqE6
zSY0tqoExmt&D%F)wb|TfQIU@>7t8q+mY{S2ufp%yXc6mOiY=^#6!IubRBHpFD9VGe
zOwhNw9#6zG5E{t^q3%)?uo4wnHP)~QDPR;Bxzb>OY?Ifdtg~2v2U2pfN&yPhIF<?&
zN@8mu-G|owkekLQgTOB5(xp;3$FWJwap;*~9ZxCvaMWSXDN`7TOOf!Z&lhCarME9k
z`(ouX)QS--QSAck1z${R6^e)tlRS`O4MwY4Df2e*Hlr08Fujb1I7%><!Z|BUP&$r5
z5Fng3DrtN&(F`L|8*Wxrkqb~5ETB+o%|r31RL+rlU6CkLL3<lc1`eJCj}Q%GVPiW%
zPNzscHAy1C9OSnZN+qTrxwfdbpkNH?njAdM;+VQpEEiCdgj80!jL%i56-uP)EGV>;
zw4ewp<SgRFbTS<dW)Tyw0ZAH65OIQhBo@b8BVI?;Oc!V+jJmaiBZ*@?&aOfOCYWVR
zR!2Rkv`uuSiP!~`q8yJv&>(}ur7FdAff&hv55ngniVq|d+}Kzf%|Ml!Gbs@Tlqd}%
za~V4(H?`Qn^oH1_w$mJ@j5*3_P;(;JdFR$vME*j}L)bOKouD?hT@nvrrzA!gmc$4{
zcrDQr*d>V(c1b*hU6L4K*T{|aV{qig`Y|Yp5gZZ^LCU#ynG`ae#^KzcTrbB15q|-e
z!B}QBAYKbhC0nl1t~KiQNGeQ}(3Tfc`7u|ko_9I=wr^0cPp@2<c{lB8_IOI11HP%i
zlq2A46Z*Brc6l~19Ylrl&DYkGW3Fag^X3NA1_k?;;m*b;m#3-T+2L*g&(BNA#VQF~
z^KN6qrYc%@U;q-N+B^2|AGu?HXBN!s_?|ucseh!N(L8+M$i7>S?B4U>;r(Dt3Jk46
zG45`lB{Y9~aO7iO{=!pFJ@tjpmvUpSI}Q#F?&tyEy2{5M92y+lbMW?$+;z``_uN4}
zC4jsi%ND(+8Yx?^GoWCJjSH;@MKJ4JblNSrR-(zZwfTh&X11cFQR+)RpWmNN1`$c&
zvpIY=VP|U?jk3ZNA$g-UsQEG1`PI<m^jl{(7~007-PBNgA8MfS&@2Re1qi%==TBJL
z8pdv<`8>*(&L*>F%%zbrN`=9=!PE|CW64NKg^5C;Ti6=@u#$&18)0i}_&8EYIam@%
z$P~wby?}{S<ppz%u?^RcQ!33(ZH-PNqFWT-S$ra4Zfj&KLBD?yh9H>KE5=+%&p<c|
zVjfWD&t`++6vW4%zL!a+As8YENX3Xu3S|b3E}KmdFc-iB;9<KK{l3-3l_(49Hn+C+
z)_aR<{=hP_?enM_L<MNU;y@Qs=ht)w)@CnNL0eZDc1)#&dn#9v@)N6slUn=I{6+Pe
z(<Ji--+K5McLI~4x(!P_uVIPj^%05ZHQYo|Zg^h963=T`;&}~AJg=c+H)hVBV>f2b
zu*CD~l*}C04bMxbC28pEn~G|{;$>0!iRRVjW{3}2J(~#t@O+6NE|5eS)kOl+^Y1Lv
zMi?+HwVL$ue0gmmIXAyFMm01wHFcQZgXNdqf3T~qt?R&ji|@Ys?)P&`NW&vXF{+!n
z@Zu}qI?XgAdaa}0_IY`2;o{HzFTZ+fj3QE8GF8TF;axVpIzt)i`+$Sld1ycCiquD-
zw#~^E@_58I2e8(gujj~WmRa}DK!%DNqf9WkN?Qoe>4*D0bwR3i_h)aZ=?PI^LGz9O
zo%%n>*XRiK6JSGh8lz@m>hz0ni=pB1v?fM`UxMe){QSynLWk3UBhuL9fUD@<)ZXH8
zxLP{5LR)zI5Mt}y)B`vTEEq^7Cds0*x`JWB7t^U|HdkWDw0?i)z}B6QD58!7S^q3S
z1=4SRd!%xV`Y|+!DXIYh<XWO0OHASHm6bqrZSowEMRZ315UfCsU{t5KdEA2@9;lrR
zYjkM=DpWM|8{3+lI50SdlWRR#A+kUE)rE=0iI@JB#hu!<TEJX@qd%&1bqo*w-fk69
zyOBA!+P!>EH}F8i{-J*SF_Id)2O0q$Zmt;8ev_lFY=aFmbhY8GQT_O1Kt0!H!n6iM
zz-F+Uy}Y~}Tg_rY8ly<33cL(nX#H!KPyU)O2VR5hoEk%31Z`zh7A2Cm&|AREy8DKk
zy?h2@Mp!co_*@(tT_OGy1!0B?uxt4wyoz`j4-rz0(V~)5VdXrW2P9XZ9SLxbN{-jz
zZ(+ZvB3vT29FAuTP~VCW9g>N2?_onXJtVb@xuQyIsmGD^^vW5GMx)uO)5ysO<2Ked
zm&M)Ot}GiIF6`IWlP8f8|4WwFN1}hD9U9u(bNKfAti|T-`-X-_A)dn;nkHtwSkY^%
z-k}lh1huhAGh=%ttDaOvX9TZp!>V^kvg#d@ta^tftKMPBs<&6N>WxTNy{#iRbRG{J
zyB-%)p0+lR$J5oML%zRjOQQkMt;P;3ZcExk(j`kvScpaq^Yc45)$`GcxgIza0~btt
zl_oP!HyT^|=I6)UM~=Yx9%;#ScXtmS-t2($)U#8G<?*!&T*rm)epehdyz<KbxObaw
zuGB`<v)tN=pjX+_re*hdj(qZ!SH|3dYP*A_3lO7*s!lSo=#QmUm^@|=A(ZHJqE}ah
zBNGd+&SL7GIm^;sKE39f4uvztXWZw`J^%dkFP`}Bzx>O;oPO88y7cnfa{=4Fefzp@
zISA*!u@Qd_)k@Xe#2dd5Me#4b$+2F3?cLKqd;jWs_8AY_v*>hsqY{3U2{;>v!ECQ<
z!C2_%=|%>wwH0deUR@dPTMn}oXI1Tf!xz%Y2=pk+&uG*<NzGR`P(TLmJv{t?gWGy&
zaA2pGn|k?gPQcF-JPQlJPt5ws1)09OlE~&#tJ8j%L)kKs7OblSkZ07;)O6<ZO4h=q
zBAB?8(ya6<V+mU2PtKihY8vyr^A14Fm%~n=rzhW;izMQaxl0Lni#;(dZrFYI0meLP
z*uDFoUU)Cws$O5j)F^A3jb7zyfYx1Ff8*bF?;i8y^O)Ar#S8F^XF>0nVdRmSi>FSV
z`t`+kU}gXP-$6keZCG1tbsFWV3Yo<Qi`HVo#M5YGv_)liudR)FCMRLEmRG@MNX`D|
z=~rLKq^_Qxg5>qY8<)<WJ2yFrS=ERV_)ILDSK9SvScnFT+eUB}DyxApl$KXl$K0r`
zV^b2bMFpw)sL+%F8o0SahL|n%_VMaSu}HQtsi8{k<>7Lx<S+xzcuWLH<FvQJpjb^R
zmAcNNRpxMEV!i-w5g=GJZW>!ImNYtRJ;+a8n}BiV6-G;g9@UX&JRkW8Mh3W0*zURa
zz`nhW^;-_#M)s;t-f;&~qM*0HaHcOUlUw`OMgySEuvHryiiP}9>c`Z-;{VU77qBq=
z74;X)!Cj9Z#)|RJ8@~v63D7^a_Py8eO{}ircaLx<Ftw}O-4gHjE{Pp@T;l!Sg;(yx
z8h*FL4%{uV19wU6!0i${aI0huze{2Vc1Y~Nt{ZDO)q$V`x>;dAhS&;jF4BnW$R&m|
zh;d5s>FEd|o1_BBe6fY8se-6P2!n(sl83Zlbi@5Ab0&mL7~Vmsx#`6YvstY!7NOdC
z>eQKY=iWSi{P^Xm7hjwTW3J_wUwm<fXb!HOhfXJ(`o%9&q7og7^3bOQKuj<W<86wX
z*5Tns2ytCaC^3VDHkT`v>fC?defQmc|NZyiMjh@S8rtGQJZ-8U8fr1azB{&2`vexP
zmlQa>Oum{U;qi78nAwH(#fgb!#PoJWa(P)4WW&RL|3~ix)9!fn>*v&e;_G?bIP&#v
z>W_%5KlkZ<NPc(j-cNS;J2xXcvg3=$YW=0a!gVp?po5T|h4iq26^uW|ijY44(vN@q
z8f3h;nwDRC4F|2&8jYO;;MWY{A5sh3yZigQT9B4*Z0_%GZ-j&E*+ShSurdTtB3r@Q
zCIFbn;-JI$uyQ&MQ7=-^lpzBwiY@7Mj$l4DEiGoOl?1F?Capmf4rJoX*sDShzrhxR
zDIo3>k#8{BT;ZFLlaI&cD0*Tc#9tF7Kt^UZ%Srye%%OJ^$@&9oqY+r9xtS4_tc)BF
zkMgEq3}Sk+R3;eA;Y#R;WVP6Va6X_=Kp9pCZCFl=+0Cij+BBpMKuO!yrk7#iP#Cdr
zu-x!4Co1KTyH+YSYVv;5aO}7WMpnG7t*s96W?bxmKriaL!37LGq{oPQXb3ctP!fS^
ze8KOp2H?3UmU*@al~YkcE7dX_F<0>#0liFfYJj1X@QEPJs#J>Op1@VOiZ6ffdq0Jd
zn+wj(Ekux;39Zb{#X}f$zGY}av4&*QfHT$c`BItJuO|d!19D{woxY(#k02ltsbCO0
z>>E@58bSx)GL)N<OCGgl*i^_5sL<M45S?DKr5wDkTr3PimIycxD$Oc<D5FUx(I$Wr
z+Sb+-iiLBpyz<J4mtQ{d`s=TsnLK}fIskJQUq63-8M=+-&=u-kfravR4sXEA2~CnJ
zR4}=4iWqKgw+*u*l2h4i;<y6c$B;JxJ%e;&LOU;D0p#FV6rcSDU8Y4^&Wn07Fl2Hp
z;zUpqiG}fT1xIA5GfPWBl=i$ZXV_B$*j&uw&x(u)uT9iu@n^h-&Sq&89%KUcHZuFY
zBisoXqw3Ztv0NRJ=%Zf}eRMQYR68tJuf%foNi0{N#By~>ELV@ja&4AGAJTpdQa&FV
zBU>gWCl}&Kkd#q|_Jv{?f0L+HqQnG*UDgXUfWSonC|_KQj8p$1SpMVr=U-bQ?d3qi
zdv{_He*g36N381Z4hFAAaV=w$0ylHv<jIp4XU8>aR1N?R!9OfuqpIevMpJsv9{oy}
zXOwoB1eu-E?=lKHEnbAJ`dacr?)GEH4t4|r`-ws+>p6Aowo%pgPD`Z%E7knxZ9?^Z
z@s<eqFeufww#|)3xJG8x=Als}d2r!)W4%HUG122`SVpp`(u?F9W`aojn!J=-#5~3J
z3>rsT8tdw8N)~%$qUwxTTkG&N<lk6U&v|K?M&PuB39QzPBST=>+1tCxL?qyVB&~Ng
zAkWc@r&SXZJnsathgR4H&OzcAyKNlh0}GO9ksL`3VR~MSW2pf6cvV0bq+CuD!qcl+
zfkXajZ7rP}7iDvEOOTM0BO7&o9mxPFUkfTdIymwHyft)wxp*4C%jL#v*R3|c$dwpH
zE-RTQrX*cZBr~HbND)_1DN8{aRnTh4ov6-9a?wWBtF!SkT8f;PTW42C=@6vbLR50;
zVnX;PD%Q+5Ah%5JeoUazJPkjOkE8oKJq~?NIewQ$Ba_$+NERf)nvK?~8}bqE1huir
zC8Jy}S)Zl#E70>Pf>!vjs=ZVzN{UvHkKBl{<&yPT+T}*dm>1yCjBPv&;V07S4EsmP
zLzFy($-^>vD3OO3$wT!Q=gCh>@?aLmMt|2DokB8`Ih-TOz)AHVK2W0@xlzI4Bs2NL
z^dEj(jV_s|hbh{Zq`yL;MyEmk3{Y{Vo?tU*)lOPQo+T4toQBfN>lCf4(EpR7-zm~x
zrs!8!=}!aDn?sCD%R@lL{x8(%R8181|404i!)kQA#P9lGN8n^l1I&l26H0Cb3xIE=
zqF)oV>H8$@!a0{~GGH4GgH2dm@v6)<NgN;9E7gR+vbCCDp$6+n6CtqbUGEy<PEZ?L
zw`62@Nk;ZAiRamc*LGrLcS-EGw0~2#<gRa$+;wUHrY_0IZj)Src8TX{O{ahLtGT(=
zR1Un>JjBN_v**C*kXw>T%UTYNamousvpgIeN5=k*H-7!=Grnk9o{q1FBY5ersh0#}
zhtJn>k(4XS#aCgrPflGKNAIM2@BQQ__jI_qJbFU7To4BS1a%K!RCRT<Q|VRk`aQdl
z$k^-}r#m|j!G(W;dJkWs`u_duXh#q6E_=6+Q12q&^9w=F4i2(=%;<dN8KK7IU;E-0
zzxe3hag@P^hK?TH+0#*HZ)s`k>}+fAI7&T)&(LUS4QLs1MMG7`Q#&p)pZe6tFln{-
z>9_~(`~9zf;ZxY~Qjw0&colp8<enZ_?rePADwp^6qF70x!4UfDp_gMOEk^_@hXn1q
z9&cGG6TqmR(~Mg)8N{u6Gmr(q1cH^Bh{yDh5I0V%RMReKC!t@Ji;&-R_Hjh?HXCGx
zuP!D_i|gy?<cEA5;j?Qp8O>_7xKfC$B7REv#zo`HFJE|jGFd!zZsNjKnCX|PmqE&f
z!?Z-uF`3Z9Bpj>N#c^w)05tS!G@WDEVi7G<5f7|Fk8o6$%TchnV2hwF6gszN$F1@B
zi4(v2)%&XvnL3?JfaI2l{R+;%yaH|Xb=>4!;=(1c3g*`E@u0Ys6-K0T%xVboD^<u2
ziF8)yRUrS0ER{@N#*4tnDOoq!Tid&w=EerQ9T+508**a|Kmj++q31`jHtr7`<4#~G
zSGR+baeqKE?hi`F{b9Uv561lg$+(whUJgpe{a(qqKQwZ~q92ru`wzn;SuJESlM#24
zY_-smVGQ&{u(FJ<fK?I{;Xn!W^rR`KhA2t$8V?E~ZZIGKeE;*GUjfg$<h$}Fbi5H{
z-As#Wur4lImCCg53do{Yd}-xPG%3N|-fo7bY)WqSAcy1GxwFk<XDd2rhLGkeJE;!A
zSm3zA`SWw@8H~`(`rP>svZw_2{r7iikPpyw-S*^@Pu}*GuiSUbHook(Io%03tX~1C
zsv)J-roR2{7cYbmh=ne^`0Y1HDd`5u%44%_+SKMoYRTQ!g{*GZ_U%1gZ4QeQP}(}c
zgtk*36;Op?QN>s5Ovo9VbhsKIVX+$|tQ1ICVnaGXxC3c;&?u8;{mS|0UR)36*chpv
z5tm6Dj{|Or9iT7cAE0LmbuO2hB(X`aR8X~yMoop$qBku<4KHIvp06RT)uK(8+JJ*{
zT2R$$A|&`?L9IgVTHiSCsZ<6AtUA~uowWf`W`oD$U`S=T&cN#N#vZCqXoxr*5mX;s
zt?=_&U1nvK+?C7NtT=Pmws8-jDXVefmLe#?1;zj0AbS}>F(rW^N-dxUXUp6N$zP&V
zWyYJC(TO*gL)`*Qu+3J8JO>C9EGrrzHmd`KDosGDaUgs?$PB|tq|>r$>tY#&!vNC+
zg6}FINI4nWUTTTTS_3eswAE_RA`c^1X$@AM*aTD+H<)ASTe-Z<qAgaPmdzr+mG$|O
z=;DcPvPzEhj`C3}f>Bl|$OZ;F8ZB@?EsY%mgjrVHV3wK3MJEtbdGa48f&WyZ%%bpI
zE}$R|6>m|Ccm^RV`A@S_&Y9?plb#(((ufZAn0RG5&jkuhAq|i$;!IJ?gX;mrnOw=S
z{7q~$;uk$U!kxh6uWlceSc+RD5stLJa-gZEmh`a1QhZbr;XEX<6c0!&#YZHT;&w@d
z({k)aj#ldXbux04qnqRmX;huy2|J_BjKl|Yb5xc#w;R5ANzN29(X@axqG@q)GGfQm
zZcQb+NYgoayTyyl6^aOJGw4PTMVP&~fVD;JDpHtj19ZWMB+Yz5gPkF#N`uu!r)k*J
z*N5d`EgN5+K06Vi{!?(AJo)@g&u!?MXfMy71ei*BJMap~#ly9J|CeY|GKY6L`C1Wg
z>>v~;K<#T*jVNv)0<G@aH8bixIaJyL=ro&-`d8c<#@XtSm-yY4H|tkcrsl_$6>1J}
zg*E>QWwTy4kUY#}?LFZBGwR7l(f?f6&fvZVL$T0PU%G40V_znU>IeEqs8J5tk5i|9
z`YW%hM7^-?cDHnbiw}ECV0hKT;PF^JB!;m#bh=I38VQsFib19=?af;TT5eUKo$M-t
z_edNoE*0ZAMLJ1A`bgUd>7y@syE1vqpp|^4jGI6w<G7?V5i(q1cp@`Pgh`Z+rO^Ya
zm<4Dbo%I@xfhCMdfHwfKG07&uTE!jk()JcK;4xvg)YoH{iCx(;n!ZexaxBcAvY0|T
z{M~i*T_GlI?cBr!CO{=a$rT1Q13o^YvmNfMBq^L_3@)|W#l1X(YhEm~Ub<r+dTe-*
zzwYftb04v*P$0vlm`~xR##2S?XwYwvTn|d7RVvAZNyfwLt7~z{2x=hDk<=07Ctpde
zqrns7AjB>>6ka;+hlX|v)@MCf8Ml@+&DabqY0{LX>hN>B1#P$GTB^R=)9h8M%Fsn&
zxH8-l4QdJVbrocbm_l($VCP=g)ed$fmGaW(P78_`F5*0V0l93fOHQnnT??WmkXvRe
zxif&<<5-nCz1eC-Mp6x#4~<f5M6*CcG@79)LYCv{TofHAl-~r(3)Tzb@SFle5x2TJ
z6v=4h$SA5VxC~>5MVou)ow+zs1mSr(e|dR*=JL5f85L!|hg!dAwKh1sD8|;OQpvc{
zN+DF0aYXcju9BZvt==TJV#&}z`pV%vKstN<n0iF`Y1P~Q_y~7`+SneG*b-@{ajEj!
zF}#*^qWOfxmV82DOCFWjl8;Gj$)gfm@~Fh?P)odRsV(V2gJf)4pmbn1=rY=HE0sui
z`6D6U>f}Ojos4KDod^RP?L)SgTUwf0<v3pCSwJVN?I~@m=iyA8czJeV3E;VyoX}Va
zrB&>ijS|=NH`-91ox1w=TmSLO<x6?;>q?EnN}Uo+r%t`_HsPjXBf6c{ev`7dzwh;W
z_gDVB^0fXxUp@8KTT=^4JCJXLwu;8hq^Tb1ElFw*H+oAp*V)asmPWm)f+|aZs&$rx
zE)_>C3ZW|@enJ|8@B(dfX(U0k+Ms`>x3|s^UPAhSw2%}#^viEz`;A7CcMJ|}>ift+
zPiGli)U%cAZ6cXFslDVBev06QG=wZxEgWeGX(Kkr?Q&f@bLxpF23sax0pXOif)u;&
zJ%}^;&8CkJKk~@OKJoj<9z>T%Y#S{fk!Kzix?qBe$dBS)UGMHVI9M!V4)BUxI%%~!
zZuE8(F`3;u7$~i`M@Rabm-9%hVstZdlIknt;)4!vF}rLAv=78qQ7Vv*)uUImsjY2G
zGvSJ2tAeN@!64Y0`$#+7y&dhyV{24Y2}XiYNX4Fds14lIlCgqQZm`yMbnNJMyGeSe
zOxGx*a3M|m_uoBqbLU0d&;y_O%xC`a$s-5%JDo7jIgCQmcTwy?{s$WmK^eHVAUBe=
z9tI~IkB5RQP~j_)Uzby)0a6%=B~38s4->X0wrgxqTX+G{#QX0<;f-)WueVVYm5`LE
zvO6mUZ_|y2iR-Hg9zIPP9TKr^v`a+DEvRNr-P9M+cIpC#Ai;rAXoYyAFQV9kBs$1G
z=zvI$??wm2G>}}mG+NhD<h?ig9|A<ep>Kf}xF|HZ0p0^n6gnN+G#t*kRFrcH^mVz>
z=TPh^s9}zOv!me(E=vU9HMB6qwn5}UGDw5|Ax$?mF0^@c$R1`hFrrgap`^~<T5DS<
z!gPHfY>xkvqQCtd)~kQ7TCl?-+zA+^>UNvNf*p~>O&^uSO-Jy`ZdkA*5({>l#DX1_
zSg<1!3wA_e!H!5Q*s#QcZIk2+TrB%{fA=3VxndYy;gE$~Mb7s!gdML=O;4|+y(sUa
zoiSTqDAWrww3K%`#|=s~0R9##>Bh1^tC30<X^uNk>A=@x_Fu&^)31{j(dXVlI`}8w
z`quyT?=QUg;+deA4b6ZC!){Bbw+S+B!>;Yy#|<VMdfj$VzG1A$w5@M=SQJnV-4#)w
za=d3xI_=tf@ZiC{Lqi82dT7rciy97r(gqy|)^9ZW1(|<p#qWpkVGiw43YEpVE4XD$
zEO6zDsH{|;d+uvj_3d5TtHmb9@85Gf^-K+MLOn~3;_Gjzm#J4sB}&m{M-kWD3*H5L
zroH`)AUpGKr`~>h%vgwFpruPMz3@YXAne?^AN~-B7m4)g>Kff1G@Ldz_aoy0`HOAC
z!>GbL@$vOduwraVp-2g`R0MtM$BaNyfTIVG9*txabPlbS(EJ0{0y!2=;yuB$V|3|o
zI)u)i98DTSmSdxo)+^J1kjjj;luBRv(%w#aMPo;iNp2*BJV$G*#{i8QD-Y+5Qz0*n
zq!$(PvZRmFm=PZW{l}2fN)pNC9LV1yP_z4~^VE6w7mlEd2%1|1`(*~PviIP@VNZQq
zTL)&2Olt+AorTXc11fk1G4mK%xxkZ|)3wcbW##1D%#7H=FvpL-6DV*QxSf?s2E9Q7
zfIlt=kOB#ls%APwN=wF4$tZwNhu{wfB!^#%$UI}gWTX}79x4jTzP@RevuG=GbAmOW
zgdg?x>C<y-zPY&o@-Vt=48AvON~KT|Q04)*9Wxdyu_A*grPPSUN+CzrHn9c7PIW{E
z>M#1+09i)*Cj!I*UOBp8k*0d39J0172j@kQaVU)Q;|5fdfO~<%hI&{<j*JLyYD2?C
z$eKh$q^0)yd5r$|E?#`+rC*;vAI%^<%vGm=IUY9)GIIkQs4*j!0GK7(QQrios-i(#
zA5nByD8Oi|8!5n5&;+Z1h>uuNl1T$oWSr6S>@&s;RYpIdq7v{`vOECIDvkl{lo>}Q
z&MRZ{`E)|0INZ%FNFw7*i=KPN7^)P|^eSVeinvjQ3Yw{I)RB5dxDzlH)lFJQ+AOgv
zy%M{!4X@mUd`yqTu1M=h(w;m061%cRVpq0E>`I5ku1IxffG|hE4O-A5T%Sq>50i7g
z#brN?smc_Mni|}|8mIw-OeV9>LJjTQxtXhPop~L|lX4jk|L@CZUqAgGH7%%G=jU5@
z508wD*sh3}$5D~0h@xfdR-h2D_*dl@2e)nS?<bO4DnQW6ZvoPBdL<?Tvm|>~0NVc#
z|M0O-ed?NI;#WTZC!hP=A5%{VDxj*1&x`@Va%xUw&@CB)Y9bM#u^m3JdvGg!eLW-$
zxAgBE-n;(@98nc<*j)`s0M?rX<=|j<_g3Ov?7+b&W$W`*r5aLBN~dE5Qx^muk&8q<
zksU)%9U00d>mroh>go_}=#B8l<#IgO%qoM9G+9wa^m-t~QFSfaMMkCKpLLYW-Q8+^
zV}l3S8Kn{rT`g9(%ZvoHYQgDTSY1XsD7#5yOeV0paO7xA8J%4Sr6S06R4RDztt>9i
zoJT!RrAehUb#=ry0n8FP2rqni%)sNvCufp{2m%E`g&-Eaqvqa!4PX<MA)PjKv>~+U
z>=5}_jHnKBTAU{!{t?nvkA>u3Gy>5*fHYI2io(-+f^AW9<n0mFpvoy)z^%GE14w37
zOz-`P%afB6q;7>*Fq;8w>b4t1tj+{9NRNpY;8dU?czr`$Q3OwP41Ok68pBi)$uWzv
zOgNHYpXF#)q0D1Oje+n*<;GB76(Ji|!-Pm@M2}>p?UBrgZIT($(?n5?m=WEQ8PO?O
zX?r9q?Pkf0=#k8b9?6Vom&^!hW**fAQ*wS~MWHYwX2gmI(wYp_1-Z!-k5dX#RpQrI
z<^d)5t&Ne)gYU$dGX_KZ<)uJ4gtmA&9u-1)OA7)&y@0v~|NdJiPM$n<_TreepQihF
zkp(k%tH*<R<#9JeuujU+=t+ev6G*50z}D{e_TFv%W3oSDm_PdSY8{nXTZ@iR-&fso
z%h4l8Z#g_NMLj9V7Z;KJ4GJV|`{O4+b^rZOeDROQHp+^)Q`K@kqqTMSZ$*4R2-HEF
z{-8V$NFd53tlek@dk~=Y+NK0P0*yvl5M=*S9%1zQI@vhHE|g`x3jMSoyuo<UCmemX
zAb=5%tJU!0@Q>%UaLo)VeoWLuX)cpll&LwCG^s+45#>Ig)w*#?dMsRRU_Xvw-<0tO
zgDk6xCcs3^X7YtHGGowMLU|WRc~;<4<tWev@#L6j1f&Wif~zYF%YL74Z9R%?3|QjP
zD6q5`QhYQQ#CjHqjiCvUDUQ-9%Q9#hnIT^pIhebUPyq~}_O|gj(xlKZ9D}ZwY4XB*
z?;-Sk0}ibZ|NI(KHCL&SFXaW?VE*dF?9$Tol?faJmLhB%FGny)WJz#K$2Lx%k%K7C
zK=(&9l1T;r22_zDR-`kSK=C0*g@3$EZE!d^T2`w;9vtCLP#c>xD?cI`^LI(c{2{z{
z7smWS$(TPV8T0!kWB!0-%pa7Dd1+RDNHXS!B;I8cP0!8Ey?r%6I$q;4rDEw!SvC`b
z3~C4qH3RI3S(i%bs40T4plL|QVAY7@eg)>2*4IPpzA?PTOE3NUZ-4q8(iwq;xh3EH
zS}@POcx85G;tG0QGl1Bcoq>RpdVxqb(9FB<BCecW#*Msi;thc4-aj`cH1_rFI(&3T
zhg&Dt8Er1J270cC8k#&!?xvQu9A*k<hDa<L0z>jf*3%7J>v4Jc+xKtl>l-|L`xu0A
zKKD6HnQv2nul@2vhuxZ{wyk@+oc3~fg!-SVk)yXAJ$&@ed!v{=rcDP9Y=Y(h4n(H-
z{l`Gox^1s_KM-tx!+!CzpM9FV#XpZVwYJ`R>&Nf9W2mRyZnQgFHf`$L)@9zla~A<K
z5AWTF_i1#1_d2MD<5DP9%w!yx9rWN}XS1`euA#LP`FU5P%IxW~#AnN@)@`jevM$*O
z>7=Q(y^(4a#^`sJy{yJ%R(a_Npnm->;8M43?H_9bCD~|bwkpy3Qw3}ntKvDjjM+v=
zGaSTQje;5BUzqBIiv$0Z3_ZPCSwfmhi=LX0;~i@#mz$eC2RB=kDkEeVjVh~7Co6kw
zD4to(df28W!MvzcE>cH`pbJaald74;R1kQD(+T-Kg&KDx5QtY2=>+<w7PE;^j#F}~
zFv9908nvaBm}HzHn^jQVS}&k+n1jG2^9*k3+`P|s`QmvpDrh>a495}`y}ek721~qN
zV~WU&kX<X~(grF3d`2RnrS4F8m8Iem%<5uRg*o`k3#ZSYfB8RuP2M4siLbAPL2)3t
zarBukGO{p9I$|fy!ZMoyo=Bs$HQ@^(`%aw8Xaz$vglsrEf{rz@Ec!jZdFs9C<q&vm
zL4P!rk}1!H)&OH#^Q|c0zL=rPyGDgbOYcbJ{Chx3Uz)^QoIDF@*^8%7j)^WAG$lYr
zF4(QgikxH0EPQ1|ySQ!@RO-g)O;)dxQxlj5qbOnGR|_!cB#l4iyXwt!C6es#HI>v_
zS%I&pAW%*?fMwM0#^{grc$M0Ep2oWw^78^eN3P?_{9Mgu+%v+RfElQ6_e$2udn7jF
zK8ek^AFsR%HsgMY&A4A;GwzevjC&<E<6eo)xKFZ9-X*aacS&pp9m{!J0GOOyixP%I
zVs3hRZZQM{va}kS4l58G@R{iJG&~OhtA7*LFboA2&{q}DkgUgwFJGdfi41~NWP;g<
zNH4~`EkH~@e`#(3P`1^Vjvs&d<itu~{f&1fk5B1Qg3^ZPjvvR02j4{IZ9=DPyrbM~
za$0n<81#P5oK5B{bE{!pV*{#s@)@yHok76T+1c6A-qMJ$zsZ0I(P`G`ZBCP>LtVh_
z&sEGF9q<ALTH`=J0AQr+SV#|IteKJ4tv9cyC_TE5r<Rde36FI;5PO_|_~C~iy#LOF
zci(;Y(H5W{_jJ{J`i45457woCt&f&AJ@_DGG!R<U?+`%pBo#KUoLKiq;+uiK-M#sO
zzv8hQ75>*C>NYXf*$wWM2FKX7V`x8qe_#vwxp(WH14s65?d<8tne=sacXm>r5ZcRS
zUE|>3mMvR>soc8RW4D+Mq?x0^h{zSClJ@pithCKdVrLAj9kL~}u{`-scB9dX@6B|*
zI#sWLTbKx9LB!hYMM%mx97?Z4X5lS$jY$rpu%YX|tyEKEU89cF$j3W1usDE4)zz!3
zR8E=80S8>C<Yg#{IrLD5$re;<hXZRZf@RSCo6KgC-YllGsa%0#fU+`MpsAu(abPK-
zO28V$PAkD`_4I7%x9N1qbt|^@^laK(Z`LV0+Fd=)6ymk45#7VF(gXCAO$o5ZPP}KH
z9C@Z9hnZ|`v#1%HNfTd7U^SBAw6&!CPjaDA2xcdfu{hMevI^GVs>HH^ML$yC9Fsw&
zl)z0Zv_XJlmGah?Q{`kVpd!tcW4UmuGPSV0f=ay6NGI`@2D~M_?qz?HM6C;GD?LqX
z`R1*3B(rpJ0a1RXoQ10w7m&{?qQZ-0p;#9MnKVYNp>P#00mymz>eN!!f`oC)cCoX_
z;$o7U0#X$TLyF}76cB^L&rA_*N;z7*;ND~~CW~3Y4RQ+(0hwF^6oUYBCRgB4s031i
zRbb?BW1Sfe2TRZ*3rjvk2`gzB(e+q55nhj{7c=nZ^l~P)xJdcQ?Mbf-=oV4&)`L01
zDdZes;soPH6`jiEi@Xh9sg4#q%XlT(WDJCO@l8t}Duq}?0YYRBRcZKe@EYN<dEpON
z31yB-fz1~SN^-OmqtTNnAzLA-lkv_X2eXJxDOV9CC1oQX6vfo+q}iioA_d}O+0_X5
zdAyxjfcOLNb(E7_GLy1Y-%gH%4LXSe07Kr68r4u^@QJt+Fm=`Ku*5Fzm)OPIBzBP?
z97wI<!?-0<gu{M`UEFu<2EyTx#4dVPP%_ZK0VGM^jf#R&NhLxEp;t*k0d)joQKUr#
zjhtws>DX!#Hzs<B$fXTRY^1`KXUP(dXUa=gp|Em>)D2KB5Ok0b!KI`)awXDhYl22e
zB+gtM=}<qtAbM(Al^>8cyDnO3qA=WDI1W+{xF%Ssk!Vvo4Whj!JNW^Xva@GP*Hix7
zot>4lXOS=yenW^%BaxUKY7sq<h`c$^Pcr*pq4#Ya*f}^zeOeG2ko?6Z)4DdnitX5n
z=-df~$QHNDj&P!`fu!@zB%L4hdSFD#2>;2PKpu`rxI?gnRssx+Tt40eDSQFfhGdW^
z0u8PJb?j9W2uH3&79f>M^tkbK7JXh|ZP0g}P?AwOX3Z8jk4<j$7p6M#9;H$iBa$YX
zAQdP{dDTSAE0#ClW|=Lb2N4U)Q6EUmUrWUUb_)U-_@5wikX$?wv;m(3Tuzb!tO+nC
zQzBoj5t(&z(F&<5+-K}7*ccE+DYXLkIf`2Zt_g}Yq+$aewV=Uz=X7#KvQ*Bmh!(iL
zBoRr<%EaHRDes#hkjO!03yo|LsZ@X#t?=1V!hQB?09l|og|1RaB#M-$CU{trL{w>z
z+Oy1(#Q6%ORhAPK{0KrR%n5<0V0A@PY;q2|4Ru45IoDHSRl8O?>kfU$tdnXTjWqr4
zv+j3^U>c7}&;p^ASvVj<9Udlp>uX4DuI9_IiFD3~r>57bC0tfma?uux5us!(ZBQu8
z(Hh)Wo>mlAM9-DCeu?~dwI|8X-nn=lG09u;JW?=~D9MYza1nVHgcT4M6ahpJ;yqxh
zpeh?@>=^1g#*lhT^laO)3l*b80uQ?ew-4eM+sq7B6WY*1DqGFy<cG%JpfYU826{EU
zy){kP^#aj^^*r{OKe?9odg`-}{T@_aAE}GJ{PN2Y<NhyT+eaNB2LWwY(RM@m?};aB
zqOKRxMAQ}I19y%L;u>B6vj#t!_YU@NL3*t3_6Hw4+P`&sFS2ouo2wG7gMHhGS}PIk
z^SB(O%71Ov@j8^7A&h|s2YC0mo_dy$8)%skPgymTRe<Ry)C`+OLzJ3HeL<^5;EzgK
zg-({WqQ~eYGP%{38@&#*l~6x;C88v`$^**X=6b44K&lzic_QXA@fCo1fo7_VN@KW}
z==HKw^u$6~ntZ5rAVn6Af}tNqe|MOIaz0Fc5k-m;R|VBgaFSCwuK_0y>C>A2ot%~z
zL!vyeGLQ6|P=|-P%TtT+dqT@OES8xCAD&uRtj;^EULskhyaoX6Fg~JLIc8q>=JzKt
zKGw152ZKoa27@6IED*^AqPCDv#c_v2aRe{|x`D{hC%Y<92)PDLJYLhI<CsD&E_!CB
zu3Ss6U74JjMxZ^P;gD72@@qgkTwTLk;CdnfAp*NpBr>B~Xp6>J6FgQun+i^eTGHhS
zD{{5OCS#EjFBgj0R6GNfrPyDM5)_ZL^8N|QynIBm8h%2u8a|5E@IFKdA69w)xFkw=
zM6w!6EAO9>tcHgrQNpc~D1kwp%G(i*1g5U8_@Xgn0;Z-Wd}}0suo7IE#@<@41lwH6
zu1sOUq#+w^a}k5iYg&mMS=JT1E-DT84s(`FU{ZXSi9OXUba`g#{PRCO{m#tX&#?de
z&(5Ad2dRP6@4xv1_AW%TxZS1jo6ln@rJ)MlF-WK$TKmxvOw-8VH3iYCXf$I;V@a(|
zZH3r_Rty->Wh2_ILkYv)i2d!`wroZNoc8w3TL!SX)OomC8QwJjupABHVS|Hs`!dDc
z1hmYS9k8cF7+RYvXzS6Zeq+vyJ&+~9C@8dfY+43HsYBR*>Wfc&{L%aGzyE<xJn@Ck
zfBy6P>f$fG^ioj2@AJ?pf&VFVY$vU3l*SkS^}FBw?yK8xm;u;@v}@NB*R6rrQ%#BM
z8~V2H*ogxk=)(S%zTNw7!@D0D9_)h&=<OdsMQotIw+9O{R#$<x^WJ8f4FwSqMeN<(
zeK^%lrw-$ssdqxu(`v7Ck>Wn8)Cjf7#=1H!T9B`>pNz)BIha<3tW3P_oD6!zj7(li
zB2k7+(KBppA($RRkim&Gk<rZ{xr~?RLWtyxWwFObjE&5wv$S-&92%7yA7{gN!rCw>
zbXFJ$oeUEl?yA{_6`x$^ju{e|WMlAL<8j>#ssd#4m&v%vF{v^feU>TVSTIJg&cjdh
zxY|Z;9q6gE?#6ysuftB-4K<k?HX*?cHXYuK*R*xR7r+4v9j}t~c*1{S5`(S&RfofX
z^}kdi5bY!zEWtR)*&Lz_PVB*wgNuYvV|^x42&V|Z*uRiSqvqz1_^Wv1aEJ`J+*;BP
z|C=U#A=;H*wcOyaz(3&HBax8T%qoe9o{re8P$+63zcGsp<dwV~#aLkGd^j155ox2P
zndJ;2^ein+60NtDX~3gp>E*;SnK{rUrL`8XTGOzl1=GW$xo}}oH1Q<rHkMAG$Lp6(
zc4VF!#U2c6{9y%=L<t>uAgo3<#AVf}1bAu!c%X6Bpf?&rFG3{w1zXiOs+4#oF0KZ7
z7zn%+kiPY5nG%qjh}KXsMB!BIL7<E!qp}``#9(r5Wfl8Zu1?L(5_>y4Rke5-AXpv5
z{K4y>A*b9CC4N~cZ*vhxFdB(Kcqf_65L|}5kPgB~gbE7sCsjK=X5&qESVQ6uBPb%c
z#%duCnsVTRq4y3=GRe=f*=Qm+29qfl5yp5C^g&U8ktvyP;65^Aa((9jKnp?x+2hp~
z($23~gnl2E&?32IbctpVeLl-ZW|re)h)Gl;t(2q8AyiR23bXthRm(d#!kvIIt!}#|
zmUoB5^6r*c-racRFf8v*Nq%OxBtNrTVtEH8mUrjKjW}et#PSYGEU#4k(U~f#^yN}E
zRm5<DHf%CRK_VRm*l>U>TDE**W*%cAB}cZ;>8z_l1T$rN%<0b>UHMGdpF)gntRNAE
zze<IXk$De733ZqlE5AH}(p^AlfYQ|VtsE9FI$VTYsuKv;f<a9eNZYg!+)p|f%@z%q
zz)GaZ1bwC4NsN(>T84GJ^gi@evvhIHsQ^B?wT?->j-HiQ3h2>raVDH4Xkjz>9{9X+
z@!?NG(6Nbr^*i7B&OiK9b(xKz*`Vm`@9Ajm?eFX9hb`YZ(9`L*H1upc`p`oU?Wg`g
zs4D|&Xf?yrwKux4l(xEhw<B?j<Z@XgY=%c$H+|ywzJ#C5fBf{*Pygws@83PFQSSQ~
zet!BX>I=9)1CJd7>Vhqnqp(xUul(R5#%L%LA9E_%OsoWhp~mSJC|;wL1CUJQBrK#Y
zfRzV^kYv9K6sA->Sq)4y%(&CY#a0WH)@p(Ig!Y)tp@PyjX(8E)Ol%$at@T^lF>!TS
zG@Dsn@fXRQumFE1I;SV5r%s-{JVAQH%=#~#zkuE|p?7hSuK@IcE2J?hiny;yT8T_b
zISZM4%#I?9D>QxS-7`P<{;8{k9{&E~=@T#cS1zx;3drg#q+A7?vDrpr3<UB(hq&2n
zm`IT6^M$d|dX|*|iNq=qs-V{jBPS_h=)|F3Qx*gRT}cwmae)GsN2}6+WDfI7<IkW!
zk;~DX134@+a-&L{TB*pvo)pmG45vs}=8-0xPE-g8$L#@!m`EuyI7RSsS!A@VCKwT2
zQ{$GckXvifVMm3Ej9_zY;YeswrggX%+1&Ixc2qKc%&BDp{G+!FZ0W!<-*EKM@Bb0B
z(mv9N9Xm4Q_{1Hb){*WA1*Qp^lSu4m7qMegBE?aiyHAX8ComnW+aE~g?jK0z?&l?Q
z_p^9qFLDT<mCW7GO6KloBy;z1$=rQHGIu{CnY+@eyj$Wm_2asfk)|n8>CnP-Fq}w7
zF#nbVE511HZcL`DpaI9yVx@x1UrMi{fSVT^njI=CUtmauW<$$WRg6zBl8$g-hk6Zi
zy}h9sD3EXp$@4@i91#04MG7*Ke2{9pzIEZux#cL#HSa1-oId@=$#NM9+Wh+4|M9b5
zCdB?jy}%TuWCTO9A^2*}EFFLS*B~IBo5UeiRE<5m51l{%_H+Qtf^Ti=yf^@COC*lf
zMIr)=%DlVDs<UFm8#%Bfp+#p<;80{bYg4P+ij*u5u>sO{k3l1-YwEDpU5B<J$LX}F
zy@oPW{OI;}r$vjPz|_>zE*dAW(kx=_y&)JoLJ3V@``V`tAMI`Gg*HZ;&hBYx-`v$=
z!m%lvwj8<pa4(XzR#s+kI@Kj&%C4)(Zu$BM^{x6R(Hn734<=cqkj_)=0}l-MptFc(
z)6qL05C<$~tKEXZ);_R%|6w8@yQ9CaZwuU~T?f&g_Q1}qa2DIzb`1>=5AWWM-}UdL
zeqZRX(7Z}(bCUeW;La9enwp&ro>mVM&JLpj{sck3R8anbU>-J$$ykLV;n=Qi7A-Js
zQc2qWQA+LQuW8T<0~|2_$USkCLSOHORD_(f+3g0M(X0Z*5qbHt-fnl)m7qzOVmM1f
zLp@3xLjSBkiEIW+8;Hl^fgna&UZ$|9EwCy^uuzfUOsp-<LNG*wx9509p%DjEYGA72
zz*GAAzFloZp>}guSA)~jVum1sKE6_MZQj(?Q$S=El4;s-fk?%s|Mko31&%MFg>5D2
zyEuicWm;iqx8Y*7H94$UgR}mLv#&cG%@7J!t95dtLmWVI1&KC<Ude1Csnr0Y1)~;@
zLAZ_R3p2_}0{U0$l?sdo&{V+77D#d21_gP<rxkDehQ=)>j6b-Bx<C|-#R$_wXSSiv
znIz3)v$;f6lxa0GuITMrm+IaIG8GL9X)2XQrOT&c$+V>%wS;<;G7`vYP*fh}O3^fk
zF&eLCLl4)*Cw)`vB%=ejgOwKr_3A1j7lgueaAj5OKuH;S8h9=!rWF{fR7gdlQAp$E
zK?g*V7h3lKa~Ja<l$G&J8n6rSP{4Tr7Nd$t0;US%5WQ^jQIHCNDJYahJ*abV%5w$c
zPZsc`IH1$(v}#<EQXT>`a&%T)xNzyxtba9<3}d21vw#$1m5Pz(CB+1&34t&$4NzML
zqz)}kyzP~;+XJsmMaM3kA^jwwltxA&1pSIjOY5-|4l};GvLpguGA7a8{T>YdGgQIL
zUz6JXJN%xapZSJFV)uKfA3mdohT?Tq-S1be@}nc%2^iYy_PfNgAIB?6#p_XtRhFX2
zKPIut4@<1_M<rHS8q3})@u+T-SmmDOb;um@D8Oz2$ty)jF91lsyu6-C#K3aG7>pqO
z>kCmN`>TX(B~6=pkURt{P(~8zxF>>nlN@oy%3?^Vhw(GWqu2?FJ*O^3q0^+TBFW`2
zgoPBz-0R;wb?VYOx_RQq!qPMn!)LFQNM6_)A@`y65so8DodpE}=s>VSFyE_05c}52
z2_tEH+oW2+&V<<GGRP7E^0B^1HB+37Mc1&0Tuh6r&TNEZQPeggS>-m-0TRqY%udFr
z!{H3X+t7%V(`W><tBr(`-O3bcXB1@7C9Kyb_Uvm>E}ex(aq9FGdP<|>GB^D$_RwnZ
z&b>P~w;`jJb=~o`uYK)s2YVL5tW`^LE%Lev5dL6h;NQ@+4pMaHz4yY&d;Br0pL8m^
z$h9M+?Gt+*edz96hT&)K*w(#?$apt)Y}t-IG#+~BqaS_vVI1-Hfo(XDz5!&HzXr!&
zG^p$0!oyBzT%EA6I|c>>v&Tt-N~@!(8AI9AXoXW~6?<UAK$gHXWLN{4EQm(2C*3MJ
z(#|%Km2p^)o?#Xj6X?Ofa9&1HU;nHIr6r7h6>9B3nut9X1Ktf2u#%Tm@#iwqX$2{3
zs0kvwqrt>Q6AHL{23@6u92$}Mg#PD6%scdFgM~s-6Yz8M#W<Wtt<jJtt!&eIHQ5t;
z+8R_Uq}Yher<`=URT|_(`2pxWn@nS};W#*p0imtiMHhi9uxd!Fl)2|v@WOGmv*dcn
zzymNp=fjwDHaDiC@cV)(Gxi)}&nnclvjCl!E9E4CpI0E6fp6%d8ce`8;>Tj9+6gy{
zn(Yia36+3*Z3LXa%cy8MnnT25KzERwXJ|cFR$$RW4_A1kDN*x_U%hs62^f34DMTq6
zWTh<nG!<qbk#ORbUmb^qOVc5w!4p)ZK>dp_raJe%{rekm%zB#lGKrNH!Ti0GNEWU7
z(0vKfD}=<CmsfIP4|L~cq=AhBx38KPLwgbIA#Q}JEPy?LZW5$laHde<2x6x!%8Dsc
z--Q#3-mgHNo1-MmOeCR13pWZ~Ac;pS_5@QUHA#S4%vzpQ=~Y^d5t6J(*epZzB#AM|
zrk5{Wy5x_Sj7ULRi=@z%@ew~6X0fK`PG<S!6w>C?vjzAfEiJlY;{PM=yW``i@3d#z
zY_Hm;-X*KrvRvefY=be_U;{RUVk{hbOHYoFdrz~o7&t<5A(!NGxq~DeDL`^SLLgv3
zcEDg`aPL;{t6gcez0do6N3u00@P6+7=Y2=^dUw5=-JO}=^KH-f`NHp=hHf%#SOGBb
z39k|QY~m9$H@FPI!9rzBiCC4z^`_I|0D~!k1Dwe`Ay+5U(0j}wmR0c(XvBt!AjZm1
zLP*`IrmV|_&7)z}H0ax^gF3GXdqN22k;`-VeVB?T<fiGUM;^@}n$^$pQ*Ui&y8xr&
zcALZ#mgWz)OFUu9AAS~dw@W<XTO^o!vjlT*lVGm2bLWdO7pK4=7pK&rQ3DS^+Kz{Y
z`z8XRC<?52m<v&GI_wuTVmcQ+6ds*Go*XWKSZ~JTkgLjyah<D&16mqhZdFYK`TTqn
zRo~ojcjmy>?3)}s&~@VM(D-q209{5z-2H^OeF%FX`-5|x(-49IYu`zD97^qFD}b}6
z{b#H+qP#*k0K7fTH`V_g)DHV(Y;Bd>lJ7<e{Iht=$uB@{F`#yk7Hw8IaT0NI_vmNv
zcKhE!?FWbC#v3;;scc(()%NY5#apiKGf4Yh5LZbu`>W@XNPKPoXW;e*V#+tvQUFz4
z+elf$MJqOK*|Fp1tv7DldczG!3$`w#YTo>Xix)#sokNgE#XLhn4L}+HF-Q|}xIB@B
zGd@yK1biwhA@Fs;QV_Drm0tk0BJ4`=wh?*tOYrvT&*H5(CQhzo=r^@AEDm)Vjo#ug
znKde-I7CjN(;&}oGlQa|=D0eTU-7B{TOx;6h+6VKg^Yg+D4{5`qzEk{DQay7-j)FK
zqDmIoDV+{bi$~calfAgMpunhgm6QN)l_K6&5Z*#3w+=2Vt-b`k61jjYDWjZAp6><B
zDwdZ-{cxRpQ5!NX1h+s}MK(&H%)nE_Ke<pC`ND}naC!nm)bQVlDLA)C(B%NPG<OGr
zts0raqeL)0j(H6-xt+3vsz4G7WJoG1V?f&&ukL}<s0jJPo{Dfb1IIFx@t;3?=E&Le
zm<8U`lg?zOWaB_vjFC$-yHT`UvxZop2#1w`+AT#MhfFDoKQ7qTsILOtvgs*&ff(O}
zUI`7P>S!aCELw(Y0dZgoBXZzEBB+pOX~aVU2@z0CIn*HKp30dV9lju@Gr@gF7XS_}
zl7mVb-J=3m9;Fh#sUJqsVbs!2^+uBokDPe|(?1l5U~qbWKa909E+TH2vC|T-Godj9
zSW6BSS_hKl;GX4V3`l~Nm1V^#Z5|TzmRuNV!yr#DL`5^<wOxv}^t9{}z%}7RUjn#K
zUjn$)!y#7@*4i$`T6!McOcKB?!JaMw+@~)AT+zo})y{SSLd9*h1aGA?W2DNMtMN+G
zXOPZ}SuMfaRT8{iA;H^K61-g{$viBV__)%nVKE$BeJ%@<iW8z7s&p!hb2QcO%$H}T
z2dU1TFO#E5d3ZRJmnTkS$|$l7^j3kZTD~}*)!RV~RO;$$aWW$zBEO&Ss+%v5^}Y|K
z7Z7;l%HxNCkjd(5B#dPkH<1)3Cs`n;jW34wM+#FxrpL~lfnm<72&^rQ-9s_0s{z>@
zP9F=npxjWS@cB|1bUCLHk1I&~JH{8oK!z~WuJ_{?U&Mz?>S_>jSM7Xl?}U9}2UAV&
zJaMY^3b>7!l^YT>@{us+%O6IKcbqS-t1Ps;i>s>Z7c2mWv$Sa?qW2Z`EpRLw>zN%~
zA@U?b9tq}Sq^%gY&nwjDkRC;ivxYCWjeHuLZ&O+0=v9x!FlUw!DW*0s@=S!f>Gaor
z@7hLK;~2s<lSk*v1Q?xek|2aHR?3rc@CczYNWmzCdhx4<ya*C;(2_HWb1pHK9v?~(
ziGTt@=`tm(paRPsDIc9O9s>9&<N@l%H0Z2k(W?DJ3YDz_$x}#WDA*#JX{q%2bhHGu
zSq;DhLRGy{zIY@jkDWR@HU>>QoQhl!Oo1>n4(9)4a2zan*gD_D6mk0ysK%8ZomOQO
z;&B)7#>(pk;<@14dwO~y!pT{Lte@~I)2oqXM~8b6L2|m`fr*j9!J)KXpWt;BcJwHP
zN%`A?0bbw-0U4CwPvfW{XAc5dCZbbA2s299k*{Er2^>kBAF{OA;4LBU!q?`DQK$w%
zN^Zz2E&((vvSF00B0Yr;O>(jqnFSD)G-grH5d$bdgMeCw3OGy6<{DlXlQGd^7pqbv
z(jIdzLyXZBlL$pa8Oncf`ZSx&Vm0fb7b<vI4Ff@%oCXzHUgwiBW0$oW^=u&GF{hKG
zfI9Sy4~+K3<pfFkh#{B&Haa7bGZ_zSWvoa#*ibB($us^>^tDtH?@EQ${{Kc_E5La<
ztW4Zk>86@)cF+x`^pNX_n|!*7(9I~_r0FJ1Hwn6d+SZKL@Bbv1dcWj5K8WvF`#;R3
zep!NO_el^<noBK^Aeu`OwYMY^Fer9=-{4?Up+jSaLyL1mwoHwws_9e?sf>8kH<d!4
zyPUGx;UtgV@Nq$|GpDA9xhg;8K!HRqs~FCQK(X_U!r?r9Vsrwla0-D#I<5A$OidyD
zs;lkVw{M!w)2&}$Zv!qu|ARHT3`{JXMieqReyk^g-g(8?2tX>tx9s14G^?~1M+Wu_
z!fB|40tcHaf&@=PpX}Rr>{EpM|NY{pCt%6CHEApfqrkVap`M<ez9BT`C>6=jnbYtZ
z(mC)f(}KoOS6fq8Qw>3;>hki6s*0*2EVyDjVpnZ>xh_0@`e;&H&grtzi4kNedPnps
zk5i=uHv?Y}0?$b4sntv}ippEY+iL1V{rs&xJ9jS9sDu44{&w$?Q?blgFcQsK3van`
z>#f_a|I&3^uitRhrp+5SU)H{6&6-B$3a;hqtDS?N{Qeg~$JGe#$ByiK>7|$6+~=m;
zp)POv@^!0`gI%!#g<TB#2#$_G%theQA_kJ{!q)nR`o>DTxw)aHqPW0ib63{4u3dlg
zEw|i$$Id(Ny!-Ai-*Lz7H{W#4wVO9@UX3pCC%G20+2%xU5<?m=-@;s0jf7lv<)Wns
z`dgdY+LpCawqkx2oPx@#d6i{_`6&Dt4GiLSd>U~pGyr8(#kqo(*s*a<#bdHF|J^S9
z6Z5*KRSgvkw1wtboopt7_WE!Z7?^>9N`iEO`QV{gLcjosEP6^Jq8gzb%{wjNxe}gf
z3~;I(4if_!cL+uSxNAg_+h_$4msPm(@a3&Jh%c}y8Q*Gj0>CCFs!Qt(sc`PZiLsPc
zr=`MdWNdmWkq-HS5t-6$$pn34lUn3L^-5&TTFT2SHSn`c&T_fDx+b3lmPaSGgz&C9
zq$Nv{7g=#xT_uX#r5P}I^f5W#no7axG8rbok%1(H%Z{Sm@bO%MKCDtJk$%h}yO2sC
zp~qkhAc+x!3^T<!L5fAbTAPWXOEnx$p$iIC<awnYS9}Wp6$I)J4+W`s98plpKq>GI
zDpIpADH<3IYZ!s4$<K`jKYb_TWG5N4G9<xVmBGoTZW@izjKV73MLsf;;*>g@J_~V0
z9g`%&P-$&jjmMgSuQ3ongq9K9Sj2XRf@h|@tuzEwt5rh_9z<S<T*LhW-3ccaWTY?!
z^^tHCf=A+@Nq{`Te4Nw9(bS?gKwvq}RiS-{q?omu8QM+`y{YIgKw%rlkZ649V3o<d
zt!V>3irdlCGllP_FD`LdEh@PN<vz63cK7vn_xAM+^bL#*4fGE{>zXpEDDyi<M^k#t
zTTrJ)k$lnH99V_<j%3E;%AvyVBTi8uK<VAIOr_OnR49P`K&v#EO3O=9sCxXIQ2|tC
z-&a6HMEfj+Jqk+KZCDdBD^)+oD1c`aZkH<WS<#F9qPb(Nq<$sUZPWmBY1$$y$&|7Z
zFOqHlztc37PLgLOm@79kt(;e0BHprSeD=ysAhCI6I;>ny{GSfo29d|~$_JUh;dYw&
zSKJOjW!MYZia2hQIFeqdRu<qk#4NvHXFA&1E_@Afdr;yz?~r`wof12<6R-RZzVlAW
zcit)a&K;8P{IJB%?2y=*J0za-4vC$)OY)uPqjn<;WlZMQ%P+sY(P+>^(9LAg0vMZ|
zMkcAI%K+;U8Dkd9qlQ?y^|>sT&+u?0MRaqk6_^u=jOvIZT#zp!l!{FwtV9Jv;nlQM
z+myqplG1zEGEdTv_Lic2aAw`b<#}tVL7w5Aw>1?jA{KXb167>Vd3h$h`!zTTO~kG^
z_%R&s(TEv-Yk4^_=td9a5tDe)Lb3L*)yL2=YLX=|Sjn7>Q;h=_2YyZ(E%2a8K!6Ue
zAVxEVgX2@NloMHimey86ZU;^<SDcQO*T5fkXmhBoOiWN1ZA=9Q!2URM4vv@>b9%_*
zS7{Yqb1;ArW4<Zh1X5&CIDQ}nYYb_;^jvRXu=~@qzR-gE@4x?{uYK*S4?p~HGp-zb
zfvE4Q8*aVz)@DZrS&^eh$+8uPPQ3HN3opF*-(r(RYI2GsH1v6_z|UXUSYA+6(X?PC
zPR6R%mgdIB=9Wcm?d|PLo0}?%^UE4ruiCL=$Boxt|D~NfcV3NFt|p4Y^Pq-gvx?$7
zc{I%%Me52*)TF8^m$t#IESOi09;srdO`GF2|FBqBa_idbANpVGm>-BgyEOmw$mT1r
zT>IsR{&6kD3-F`;#@Dx8^`%1fiif^2`;6kD2OfB29aPil=c&$i#se`xp=DcZg~yEH
z#_&BE!eJx;5S?1bkN)8>4jGCHqw#nul#b$yO-yGLRsi3Ty?ghb3`fwQ8VyY)_U+qu
zW-6-CV*+}h2W-Qj&ldo-_as`IFriY(!bU<pQ9)jHECxqfqk&We&Mjm`C~<=9F=FT>
zrq;;#`KJe>iX!dU`0s!C!yo=>WE@V8Z@54B)1UtIFTLY(OB&KxdtZP3bqprye)ZK?
z|HSO$n&fhou7oabBO9h1Z~zw0Vrfo9k@OfE5+%t~DT6ti4QCZ8IY0lk<NnG0M~;2?
z+RHD${9nI&?)g9b;l;N;f(-wE|M{h^cX#*peelAI;DY?|*T4REyz9@HA7Z7%rlx6d
zK!Aa!HYA<m)H-3zQl>f2T|flVEJzqQR_a9BTk+h9v9Z_R`C#{x_y#}y<MXe)`s!P6
z?;HNfPk!>Ve|!12zwhpT>qk$m6~0M7if5mG`bX=8uZlnScD4&&rQ?Mb)E+F$5t$l`
z(q^ZDR>{gZ4YPL_mssh|<oY~JZ_%ZrI9{M-!XBXJfU}1oSom)wJg6BPVI6e*RS*(~
zBY=Y)gu9r4Ck^AHh!fWe$#e=8!8^i+8DNMH^_XQ&D<7#{5B4T_=PU6%26VC1HiEHQ
zbZtPdfR2J5<LzwF^`F2Hf|JNd<AhJ3>{Ln&#L+>x1k(vdJQLzsSDW2rmW#pJf;N>J
zu_QY1Ae%kEp+PTiSy)w0+Bs^Q30i=8Rx!cio`<@&)lptmfJ^{_HOesC(B#7vn`_NV
z7*$-V_)sbp_JpLDNG?a1l=Nto8ZFf|)6ulIsAEUI^1+9<T<wIpv&<_kYiz8qDK%nO
zi*DZbwRWb{T0Q^jEz9B9Sn~6&cq8;>(mANOsX~XtmR1OKRCL)4j5CdpwOZx5{Uled
z!7Ppp$~I%M3tHWewzFLTdvV((u?&w$EW`ICmf?Tlm3P51JSwpak4h}V_av6#X^Ca{
z2Z?2PRAL#vBe4wsB(V%D3+y^YBxkWMUcY{QbCn=eHLP2=Za!#*X|2(2Eo!b>v~cmV
z<&;33SJ&FMbXl8~M#N~q2WVvGb6lGsF%uSy$OcJ5G!ddBn+c}V(ExIn!AXHcy$r5c
zG=n07ETfR|e`hpQw_K6Qtlv6oFlsLtjMBw7Uvc-&d%yDa`|rE+_G`A>`Ot%3eYlj=
z;mCq)LqxdzQVUW#J~|rK6wX<XcwaO+eg@ZE@3|b+r(8|`@i;WN<q4IHHzwl|(VWCZ
zbHX*Mhz>9{9iK5J>Y}Q8wCDk5E6OWN%1X+sYr#;(cEPsf!?sjkv@NhJ2|o!PojHec
zP5~w%6cma9OumxH4MJS>=&+nHQ|MAd!!_!1QX^wty=6OE`L4fy^QNn=S+{=OhU;&-
z=fSVdSsi@oORNqo&g8M(a~20f5|*zNLz<-;7Aq|~foKxT-asa3g=m7xXHC$Oy1FGR
zVSd`?&zPTuYi_#b&b#iu=Ya<wdg$S=JovzU_uTpATW_AVM;qZKJ;5y(vrcms3DyX1
zKde!86`~tVRe)G;+aeqz%v7jGTCBFNybKsz;v(~8cw~vb^tN?3Jp51SEcgnRnR&y8
z2k*!IZ(J}*?aZzMJpQ7so%ue@Q|ATq^q2}guNXk|7&~i}{vG-rE5|V)!wgM;LtR~6
z$Ir`T=TE)={`)8WAsMXw)b!xT$M(Fx=iS|V_I&W+p~D~S+4JtZ12i!W+W$umF$cJ1
zfVm5n33P)vWq9N>R*Covf=ov~H%_Tm&j?ulQH*842!wb}p7E|cJs6Q+v{HMO%C0xa
zLiLCiYH;+^7yk6)pFQ*RKR@&1pFjJDmw*1uGfzK#=oAJdbieY-D=#t6a?8kMmCl%~
z2rfkgq-J>x=4x=pTq*M~%mJN=CMe($NhWYU&#uX4Lm5TNyYkgDKL5T?-}~F2@MU-Z
z=AC!md>6L(chCL#?YFvn{`%a{|NO_lzWLVM@4WTbH~;d=Yj3{&_U_%kdhS2}^FRLs
z#_m_le{-$KLCqMmcm~+6k0p_^pD|?lWXQ03(P~ZRAq;j3vJ|FdA`6Wk)Zt}(*>h(`
zNB_M0t+$_g@x>Qk{n5dLzy2%k{OIQ|zx@2!;kTcA;%85+7rrGtAlxO~FFcHU-&5{-
z%FB1I6CTCSKMLQ|c>m=mk3IIUPd@o%yKq0u-6LGXjJZRW-<MSxtxjm;WT+rtSW;O7
zB@|%@+919$gn1J|tTvsD)YULD8e<r|5dVke17ntI_(GOzL`x!Va23^vX);k75r_0K
z>61nwP>OEsAlX5fLDKN%=F1cqH+R7dg76||$pq>kpNJjiAgzoh?*yzb%F@IpmGdxK
zFo{MSHseK;nB*Fhr0l5Gu?ABf%wb}v=k(cg=g*x-k+~Ng<-O<6o;rE#`0*2>eH^5m
zszNg|V;{kqhKfo|Z6(`STm;)#m<p5oilE#d$Ra9)d<o5w0Ckp(<w_V!*@Bj;axJb^
zc#3%@Gv3)fuXe^zx+noFZg99P_`x3<F+=LIHfTq1`LLWSd?yr*m8=S1Mot$!SOcR_
zgC@3!STPZ4&S)qlLD(b)A$Z+8Zg(plcxdxg(D%00)}nQ-9N0W-Kr6_AE~<vLs2~d2
z+~$PXV;;iSc}zLC{GvsTqkw79VVbH6w)CPkjnjKyx<#hLq2Soy1h|q$jDg$M&UV3I
zirbA6>$+89UGI`u*BkLl>bJa6VqI^PSl4Y5>w1mEx^9zL*R2xkD%Fy&OVCLBScE7N
z5Ue?iQz(m=@Kxmrzn={tPhdz;ifb6T63(PX3K)ThI)hM(m8Up6A})q{W)W>A)Kq0K
z2(e+lZgK?2+c!K3EB1S2-f#&BBL%=$+2qNSx>LYiM_@mm{|IemwV>;3NEB0ROiUx@
zP(&DXg^e+Wnb0a|f~NFRch0|`uX8JLiK~k*yZPpuZ```|dUTDq73Sj_ahESzR9%A9
zWN8WT99?4VC>sG0JPHBx@K9%Ap$Ut4N+-hy!LrB(h)N$)Sn7Coi3XVlbNkiIQ_TC~
z&wI>U`1uQlGU3Phk1N~oITm02jc;7P7Ch?pYp(<UW)qCc59os@#1EdEoQ4pG!sy5e
z2&!Ciw60^(Cr^C{^VZK+-pbdlsKz0xU3KFF4?J+kZMWTlfNa~!E775T`DJU?tXqd!
zL>pE^cw<2;^9Waq3SV&}Y*Nd-iXzBcxbxIGT&Z^QAdr5m5Uo}P0w<pO%$#C(XPume
zY-*I`$wTSXjFS;mP5^-uP`nQ65uW-P;*MLvxUWUOS(-W!pb&;YB?Z?;hIj^?Hb{(V
zG?;q?SV=M}GhfF#;C)yir4)_UBHaeRXiVROAzx9M$u#Q55$speFun@#m}@bmDnazK
zWI~7Fgmm5HB_(=zQ!^1vhBTK#jIM;QOJdw^HW8x%w=^x2eBT)QHq97*GcBLS>Q*J7
zp*0*p;sQxH<d!`^!E6Sl3@Glv*-0=;d@RbTsdP9n8X+0rI~f#pQ_x0G=wWO;YzE7v
ztjx~qn(z-)j8UhZ<T-haQF=-Nv(UT8w5S;57ySv=VuGl3M5U$WZDs-^_=JSLxws!d
zPN6-nk4fn3AghHCJ{-dbMz=W*QVdG<Ts3-SaP1P;gn_D078VJy2+A!a!zg2^tz4N)
zNBKH`7DqQd_A#ntZ|&aw4z|PNW7x~Y;E5Bxqqr{7aE`!ZnAuM)Y>I4}FM*mD3cYFM
zu>1Ri@f`3K-&$$1<2&iIk$(P{RQh@RrJ0(+l6JNWFd=R$C77~Mf+=exn6ePBTmwv5
zBEgg;5=>bn!IVW3Oj#nql!X#ZX_R>EjS`PN|KP_T?f={R`w#cvQjp04f&Keme;wJA
z!<bf%TA5NkK_$>!ek5}GG{>Gk9f_3cWxVy@e)^+l9(&@MU+zYEKrTOX=9y>Kzz*N9
zeCC;Fe#x{857O^y%%`XTnr#^!edQI7edU$W(bWzapTA_;g65@58fu)lPV^Y^x_R@p
zl<ID$X$iVIv2OyUc$104Br7nW;$HK&zIWfwfB5EY*EIv~Tu206$@~F7FX4y&{e$Sg
z?WMOAWVdxt1I4*LdrC_=wzL!uSpaXjanpt?H*H+Mjz+B01}zKPwlH7gcv~Kgp=J{#
zL(|rValpAq#%nQ?VV>Ox{p6dOY34ZdI&*+QdlNIk_?UCzJPBwR;^!oi1B#+btJ<R+
z=w~K|x%}FBO-*1(*OdSmP*O#XrL7HqZ5eV@)X1Gg%FJZS`R(?qDvqtHvfIZ{Ajscz
z&DL$V-E!kK%i-n9<ux_y*WY&^LaBCUC;e73Y$c8LOm}7Fnl&7|W=&<~2~391cP?1F
zlvsb5P%&@Gl6mt`Lsj5%EM$}%XBh9pSR|z9PsigUkm~~1BK~Q_o4;nqqYtlHyKXhI
zMwhQd?g*1uF^#o)IRiS1VdUJ|emFvB-XfoYQ$c;r@_dgse|&6W0!}RiY9P)Fe`a82
z8v$hq2cMCFcN-38K_$bebcFg?Q3%ZPKic=np%3>TIf=Oxa5g3;kW!(oi}?f2cQ5rd
zM~zNrG|FL40q7BGyw7Mq1{mT~<C>IgLFCUlO-=<BN|-m{Nr-KG^ACUg&a-d7bF90E
z`mL}5_h{>d(iNx4Xe}6Htup4Gl-WvVt9RdMXS=Yt#O+&>mH2hZO8mBDC4K|1ypPc{
z-;}JxZ%bC<*Ci|Q>ynlDuw*5EL$VULOIG4`$x2){6;6|wMktBnron`8q9?)?7TqRv
zt_^mBr%pt$p`qXu9a{~gR)`LU!laR|RI$_+BsF1PtD(ymDT5Os$epkyL<-BE%VuOy
z)SVK^xCS;f%rEO1iOU1y{X-%0<bZ^vz%QSXX8=KLVBcSlo*E>A*oPnXbtmaHnc)-g
z3qHmPhi@sDAEHESUmV?^uq_M?LLj!-?}t2YwPDqAEVR_?se}yT4c#I~*KHWw&o6_P
zQ3O777Q^0v-cwPE0OFwlbsU2^rZBo}7AG;s>Kol8>HviYk*`}0vMvV1=W6ERze*Iq
zaUS$SPZ`>YMHZP{cKkT9rRPU2#SE06^+D>*^2r?Y`DMYt_z2o=k_mj;{RhvF4Z>zj
z44m2zei;~LZ1KW*l?#bcw*8L9wKCAkKFJkrgdcG=NW4n{Dw(Y}-+ue;Ygr@$=xb8B
zL}qZgM0%M@{>$e?dRb+=3}Vpk^Y8!s=RZFrZ@!0LHm}@mFDR+1UqpzrsA(R};3}(Y
zT7+iRg{|#tuikvk)f=zgymjl1H?3VXD-2D9vle(6u%;?Ead!=vX+ToWrVAPp;T-SE
zk(!flDr(a+Xk0HUE`#GyTI6={%W89fJM2(98ep5`I<?zGSx}`sO;ii$(o47en35jK
z;xu|Jg1L$u<U$x;d(T3Axq$=0U<!OpEr_XVxBF?;u}K<048x7|DTr;n1|2MNt=?kR
zc$zTyUP=3stCbWzFc!7ZRcJA(A&i1hQ){479V*Ov;-@hz@l#MFq-%-37-ayN1b$6G
zLSwPb<Ibd}f^c<>%@9E`8ui8u^;97rX5^QZ7aA27dvO72gydkEF#KDm5U)IeDKfbm
z7nK&7G}PWzYITVM)k>QS{!bZd`%Cc~LILH`%^>`fFbfl+&jC8@j&gVtnFOTw#>Vn*
z$fgB|RTm_|5gU$1ErtBDgkaYBrXz98fkZxXJW6LnK&l7P`LrJ_HpmVICx-g^Mn=LY
zx?xKvXozf_m?2hKDnt^RVMq<pcT|Iiss#6BFwVQs{|)yD^2U=4n(N`<;E_s*26zjY
zdAg&geSs93#xly$shp=enGhf!odORus<Rha;$y?-&S9idHVBBw&d`dZMC-81(;@VO
zjHC>U78T>r>XXoKjf{*ea(UdTke+;~idKBKp`mzQ73pc3l93^Js!-rYv<{OEt{X~z
zB*-m?L^U30bX4a>KT4K7!f+Cz1K5}hd027ytGqUfG+iVCei9~2iUK|eVU>c{X{7m)
z7-X2hbdFS3Nh&4C>W27b)K);N2*f_rv@!pO-W7vc9Cl1f(P#uPuVc{(jCSnyhh|i-
zW5aO0Mxd_+ODZq}{fKsb45k;-#gh}DOPfq$m}8Eqtbm1e>0>?teY6RK1COji@Eos^
z$1}1*yGn?7<?$30prCUl=CE-gh{<gF7pe}bj8_er8#&6tG7c)e%7lR40LUd~z(&r1
zjjVVAO^OJT*{DZ>t~HV{*rieW<Fb{_#vBf$FcGqQ&_yjOoRKi@+{Q!=ab5$4HlAY9
zwae-C+DS^GD_!taJ@OcMM~v!+GUKR6kyfQ4X%7nLj4s;$Z%&O|VzH#N1~{bPy&P3G
zIn?-YvyyJ^q8pJ@<D`4FbTdLXy>ufoX(l+Y7x(4d%=cT~&UV4birWf_MV2xI*Geq%
zTD%fIHnT=zk=IBpvb3*QI>BkR#3ElNvB-In@0TaB$ejh0jq&-XCjGF>K?<|ONn=?>
zg&m_tJb)DrZb;Z;5pr$}7%I{;SZO1HKvB^X`DkQHrH-6{A|!m79*U)hrd+Gntf{Gi
zAXknl#;+>$qtw~ApcU4^$&5kC;mp~kOP?s!P^gzSV5S)=_!g+3wH0epNCJ<KqdaeB
zY#ax|G!HSZV@F}&0zw{oLTbw*k&=>KrB>*GjYSLQ&2QD1iz?T`hP7KmyMObWPd-6=
zNCnPCF`P(I;5L{3kAH`yI+bfc_sLCH4iB$ehij29U0eYxRla2Pm7CVBS<wb5@dd4m
z!GvB|U%zF`##PLhsWHn~REq$3$)Yl9mntiCQ40aMto8L^=<|9Vr69zOHRxjFn(DmX
zXk<KQ_b872=HLilnxh$(E{on^LS09XIbTkdDhi7h4kH1U0r3*cT1Xi^7)lMb0pKh8
zj-kGy8yia`I4r+Xf!GWU<*tH)yga9iCV3kSlc&y{fy7xfmS%cr2f3INJ5Y)I&8Q4o
z!}*rH6DLAYD#Z?f<Js&~Iyo6PfLcq@Y%Iy5eVQs#I60G?N2W-4pl5D(0+iJZb&`i8
zHro@O7^`Z_sN&IFO}<7sjIecx38m36q(Wjf%ACMi%`!zEliF&w18SWzvIJw$`yLrV
zPgrS|x;Nw*itka`N)UoVN<fbpyJDU!#c^&p(X=rJ0#9(ZU<#vXSc}JZl_sf0LlsBy
z1ClJ^aUkM2#>kX_zz(N6jPws`ByukrNX0%&lWZD}b^oYFGdfCNdY3AZ%Z5XlAE86!
zaYa_4QT=3>YBHT1?vMTm9Jj|6DYaGqlbKj`Lp$4rB_?hgB<t~NiHCfXWIb-eD=GhV
zwPZa?Cj)F~pW|9=ka);fOV;DnlJzK^lceh~mSOkp_+cue#A;W>mCD|TerPx}jf;Ie
zOoALTd2|eHwLw30{=g7tl&WzLbBeRe#>P`jj2Rn?<&;KEB?h155@USjScGtQf@R+x
z$@}1=fj)>}9vTe7hhgNSpB$vbKJzj5<7YIwqaNmuoLzqCXoT@IhYtBOntbzmsQPE7
z4)K-sCd51Ol*-@MSbX2M9e3V)@4Z(wHNrh@p5N4f$vpF$5x1%1acyCFRapavF=zJr
zvhtEbUA(TYs-%SSH`bz(sybeOdl}sNiIDEtqdVKLM0~lMImUD|BjV4mOn2^t|9SU)
zcXr&3ceope;tYhDC+sV(-n_npYe(p5zkU5xm#=V5+;Yq2b!(fQE@#c^b(?SDD^@oF
zm&z*}jq@+t^zik!?)dVTzr6XfwFoG$xcsse%K<Gbu``Y<hm3Guent8GwzhR`ZS%{E
zU3scFiKn^>+-3Q0Cqz`?BrtXoW&zh-oGZlW(=sa)5Wv<&xl<t{Nu=;JN|*>d)sUc2
zBcGoLPn#kfW8v&!lM$mg6d=SWBZ26-NC<782EI}OYLZ&!Oew3B1FQiOG`XCf#n8d=
zfKO3?HmEWSEG6{Dj1k{x0VWERbM}eif^5X7#E{3RzkljIw5~>le7-UiLkc||&SVCs
z87w)l0(|2^YT1Nt&^T!V_+f-NC1y}6raiby?6Rq83_t^MEeS0(r3<dGkecEvQ!xN{
zT5U?5PMIf1f>U^;O6rj>v}x0mL$ClOV&qYVB9k%$hj>(}7uZaQGa|4GVM<e#Rgs?d
z5A&4~vi|5pQXwVPKQh=4te__G5F|&!BK0za+$z4AfM_TY=0E_l)9AXSpoBjTeikO%
zLnje!t(DyoTqbHZZ9Z{s<fXS?{R65X?}H|J?%e59=O}nSe-5*a0f}k<$PfmAK|9*s
z;~O9Mry-#}JdV0mG!dQ{N8hT+i2gl_U8sFarjkRSfqujrhrQ@A^sLUD<ff)oo*5*#
zvz_f?X1BW}NN|q?2|6W6KulKykl<bk65J!P%=bu;;4TRgNSUtpN|2zg!$9vYu6~0A
z2|BGhgcDAC0b&lhQm2CN#&YOSiHD~Wn8p&H4xnl~8UbMr*Z@LMDwX9q13G<E2?i^|
z?Lb?fe0n4X1^j{nJfTaaaY4c@o(LtBdSxOsF~qkB4(b7&*J^?{r^y2wF^2wAjC2_8
znF0$iFmUD=BE``hRbmx6@{W^ukHoY;G9|#IFKCD$gc|sG!jmuLS{LIPdpJHBN--aO
zbaHS?<In~NPkzL=F4W@M3??<u*l;*?Hg}<`wtmH`%a^ZOvvS3{%eQ`M`(5A#U0F|K
z6PxO5;n3DI+mN8q+f2$#FYN#ElW>6LtkvYnmn%*l$1?+Ir6teA)Yn(J4Dmoz=c=mb
z^B%T?H`6_BvlQevFL2IVykgN!w_nG2K;8K%!!eIDKg1Mkp7{wLy~X^EImGlc5%K3)
z!|gke6~F8Dn~=@F4JYCqH1!MlwPo7Gn{XeVdp=FxgsB=#3`AtVeiqNY8`D<Sl?dCn
zZ&_FvI5F;CxOqFj@cNZVO+gVJ{G<iVXt!Fr{OZlO-1*@BU-`yY9(w4(hwr=R;ctKY
z+Z~&4K<QxX=8XU-%Hco9LAJr*$gilT2)D9ghVZ(8Xs^rK=$Xoj>WTuV5o9Lx_!kxx
z;F8GWm5O}1-l$lyeEIkI)^HTC6r38y*-gZu!=4m^(dkJHVZ_|kNEj#t>`G(K5)x!c
z9Rn`n=%lAymYfA&5x*OatC71lI#`@WCKSdq0#+>~K+I;H8mVJ6_~^}i>jdRx`uh)0
zN7Lac|5P|C3{Q;>j>oddiNSpgLva-Q4o*;tBN)Z?7zSSn?}L$5TC0Vg4M0Il?yfap
zZi2{^%b3vWCCH#tZPsSvS*_Vo!naP*fNlXh4FyBtSOfz?@X4paS{kA@f8WU9079cN
zj6nd-1Or6Agpdtq0F-1>kUq3o%o(&;#wL^aHi89D*wpD9Nz+eGq5)UID$=pgB;N|+
z=EOuoz{r;Ip?)y|H|~cB+{D;uB!rw?-`R73*T6&q)qqH#_rQSz=Me;u)31dB4IH0*
z7yM&+G@bIgoNhculPO9W%;+d;Z_Nwpkt7<$ccIQz1%t+abVU%>CBh-Ue;mqO{s8c5
zXs{2Ix$)36PR(=(G*_tl44{&V(tscrTZIjxvqX{ya2O#G0FOy47a-NdfY6)-%LrW-
zu?XLKJc{p$DSq*A)ISlO@{LZMKYQ@N2cLZW(ZPfJK6vx>S6_Vo`RDhZJp+&G<k@Zj
z^*PLt$GM3^(MC~-C09|dz}Lw}qn`X+7HspXDz`ElhT1KPu9Gp9NrR5zUed<L2aypV
z!AX&Wd(B!%p&yCT7<Br@yZt}Fr8Rqj!sUH?rry}x!FB=V#I31A(}g>I^q{drNB^|b
zO|b-JE6NygUUy4}tc&TQ|7Dn#4msWLqx;PrbN<$X4pkSP>Z85XcPJRV2KQ)x+OiAx
z**TOo85yG5ASlKcks%It;v^v#Nl*6l^b7^jSj-L#Aph5?w%H&%sxxSz5=HALY2C$8
zN=BzZq-^->U;p}H&ln!<-OKF3iz_RO5boz&IW{|r9Zgs4Vw~i@VdxjO#fukLIh1(Z
z*a(JYC#eJS2*Fu(5sG>a*)HRO0|!r|Soy7QX%8IOxwca`iG{$(8S_K)<(y7S9A-M|
za)q{~rNZ0{p2(JtPK}0X%Xc~R+whebr!3~@aEncWE_j6kX?d%TRFt6z>f$s4IwE0t
zqj7v2N`J^EInX{BCmbFOG$J<zocjt#9v)U!GWGZcG)^Ec@Ie?JW7d%A?wk7s2&iJ2
z!U6>%q&6`zf$<fcpp|K{8?6ezK%BU=9>)uxS!dMfJqBdblNriu4-UdHz%<GT<?a#z
zjvbhQtv~!0W@ZqlA7=&}R<h!9g#pBRr4kWRPOXl_JCVu|I4IMF(gKHBOnK;6(w{tu
z?zNt=P94r6id9Vd4D{kb$dvu_zcFI1TRH{oN{NM+P64}8a_z0hwL`Pw*SF7Id+Q|@
z{&I<hUnjBf>m=9Sm6B^uI>*pc3N^W*K>&^KBsn(S{nS<0k8n|lOyV(Jbq-N7Q4R%7
znC(PSGD%F^oSb6~R2i|RycO^vPk!>rhwq;`b?nHCDChm<&8~eQ?R4QBrAN-;F<p-i
zQ5;dBT(Sg)d8!Q=D(ohs<XCqzo~Q_WD}eMl8){7|U7ovi32iNnG=~AsX-ZdshjgLN
zs30nor%xdBJmf}7$^$6k*yIrEus*?C0XWXoE^KPlJL?v&7YRrh{evM4@Ek&}<#+;&
z-%f|9c*tsh`%7e!_bet2Gay=yW2g82_{Tp!l=D^~TUxSk*=6fiEQjbYHG8xyTfH6@
z872D#^XV~oYn?Jo^+BhwsP*r+R9DyI`3g73Iv|MSayh(M1r@XkD&Q1>_~>*2vCL%%
z-W_(UnQQ^xRiV}6G2`Ys?S0hEk;?>0B+uLjABX<i!$Oe;*QVB60X9fYb!A-xy!6u5
zpsdx+t0<`kHe&IpZ4NxfD(SR;NK(Ps)W8sIT=9p{h^PPdu%R&=$7!p0wx&tU2BU_i
z2B{!0>LY1JA67y(Mr!A@bY!+Hufsycma;*a3kMnCprH?~PkTKma~0(>DtLh;QrUa<
z<oVNx1+fR;*m*pG_0$OkCyzdx%5%Y!FF;`hyT}2!?Bv<ktn@nU6nBfrhZ_XxSYr5N
zCm%kEa2?$uz=sG1Gea=26Wn)_cteM;HUu4TCaXnfbOn+Witr?8#);76IEcw7VN8H@
z5FfU&2|pepaOiaOCB&mzN>-!*qbrd##>TN}1G2H|xc4bW_OpM1GBP9kK_{u5?r3Mb
zu;j$8L$W?^m3ZJClJ!Yy1vaeD4$1oLkgQLsTEVT7^(pNE=#Z>WSNog?Zf&27#ccz9
zJ>5r6^o&NSDQISWdfc<?*LQLK4q*NE4q@R^^R-;8P$dkrOBM5N$#nnST86F{-@Ny|
zx8C^W@BeymjHE7R*6rNFK6-Is@4>=;`va_K>|d@p{0Zti)9%?d%(*{rk!O`kG$S=v
z7ug{GYcyki_2_6)T+nkX-sUcotoVj%EOp-4(1`V<ADdm;vjV7>EPZgcdMCWi*R7sc
zT0g(2VhYlM9|gr#J_iHyE`foL>#_dn&@emhK;7DXV0OiG?$3vWzZ}CyU$LmZdR}95
z>jK!umYL-bd?;;Q*1m4#ils|{56}sm!H4TEXF4E9C|9~&$g|lXF)Bg<Bs7&C+uuQj
zO5s&08R%};Dr0~AAm;Cs)fREhc2`j;vK5#-fn_m+4<dlroNnlLnacqm1R$tp<k@XN
z4q}bd+Cbw|dKN4=_veBMqt*y~b4}yoWgFMF)#R&Dc$h&B5n8J18q3PcOD_Yk5VT;u
zRM%AjQ?UPB&XtdatB%gX2<QGhm|+<mx(J*73AqrAhv9o(#1vdfp9?x;WT-iFmWe>d
zEr1&948lOn^iupG)>_VMgW!s6Vlq0Jz=4^?8p0ySrC4+dScL2Y1iH;CQ<|zX2mdyU
zJKW#Hk|L}9+Zk_jG=chP8qMkO7}W9{6~QQ!1x+q3P+|Z<4G4z>#SsjINnl4Z&M4*;
za+<6H$4{2w08^ekoC*U@1%L{TW!TaNH7=n+UpS5&Ohk?7AJhjzC%~6HG!>ji$6o;O
zbz&C2dV2<eTjK6}df<>JowG=VbNabZR%XMfHB^rj3Cz}n;!oy3MKnVW(%XqDF{9LL
z0{9<=GM;!*M7a76whN#oZVNi*yx%1f?{|HNvJ5Y1rx&%B&2$XccFcJotrG9IUgG`M
zcg%Ue^CTX~l8!m=*EZ+<GLq^BQXx2SNDz}j!1<-kFgD$P=IGg|E_!75k$pO0qQ8Ga
zh@56lN4N_E$u7K9cL>qoYyb5ppWXNCcHtjnzy7{HH*jLlo|C!JSD06jlFe@>alMk}
zRiM7CLbp7IA8gsOdGnSn%y!Ol{P@sh3Z8ayvi~?3OL=)5{8h~EWZ1jbAf8%#*X4-Z
zu^;?A0SWKY(!#<kL`K{nnLpCMo$bu0oaNbP_nan)rRmeVpG6L|u8vdG)s2mb<QCC`
zB=8kCb3<ieWy8Yd%NG_F6|Pvm;znaM3Uw9(=0Urw+p5KRG0=O{!!(lrDQ<d;0kf7g
zA&tAqU8dF93+!e~6;oy5EM~H#_%pYAkpGJ7Ajdq<G-hhv+Pu<eE2(a2slwpG;x){g
zVh+a{`<y$@17m|{PMq;4{m1tme@`dGFw<O!BO4m0SK?*(6f>J4l8g9p5`sd1u)hzl
z92|@aX5=o+$dNGQCj-v#QdSSy-bBdf%Vx6UBl^5NE!qbxs5~baCjb06Oz`;m!+ZDc
zJsgK?9*=i*?cLke#k|2;T3V`$^01!rifUSrI}8Lk{8cEtY8K7;Dh%gh6EvPF5!xjW
z2KzkX6<yQLb}_SCjl^cxNNje!#Aesvwd7ORNNjeE#Aeq>eCle6&8}*ni|1-2Hrpt%
z*;<Lsw)V$htKpKI@9#al|J{$yLCp`vm}HRC`iCfCI?O0ky!BWdDO{MY504%G^Y8xk
zH~X1`9ApotdpYgt4-q3DJ%BKehvWca7-WzauUg*HxTwCAX+dR6&^bA6LmdodW4#LM
zQ<`dGH+~N~vuluK>SQ0h<LlekGY@jmn077Tv^#FO>#n<Y-lmsld24kM3QtIxw@_uN
zt+k2S3Li_*+EM<Z0+Yjz@l(KE#wv^1Icot4p}@0pm@F0btqny8;S}k#QpagE7Mv}T
z15WeSG8QM+?RFO$EKSQdtgN6{VTe~Ar?r&QFBfN13EmnbG7WGv7=^g?P+$VtVK}MU
zD5nimbQ%t!9?r|gf?|-?JunObo2el>bYQRhI4xSn00R+|D#K$UEPfMpo$1M`Py}PV
zP+8%?Bj>PtR0<-IoZz)av-p5Gj;9VCJ==G-e+;rWxJ(l`2|fK3^z^~1@ZSfu5J@QR
z`w(>Y{tLt6jz;C}q-ijgcD4%_jJP=@SC>U{bvYzgmj$n+tIHy}x-62b%ObhDoD#gW
zNUko++|{K9byVEgq%Zl#zBgX!RE_2{`J;?HbUd^URQ&JbZ%3!<(}m2!Pr)cxDz4ga
z)uv8W{YmCzJ<@6#b{+F8<~jWRU8idM^UU+x8P-+oTDNlDEuAVyWm~0#!gV7BDlF?@
zTdP}_b*c<l(FTUqSL=7I-*JDZ$_);ln_<(T^x?CIKkifoEsQ0|u&SAl)(QT(Y?|p*
z4wf(_gP0&kJvf0*6?TCgu@Lq>`0>F5ovPk)ro5M#$#k#nV7qXj#BHs_3Q22TUy>Zv
zEAUD>s%s@j^$N*RT`RFd?UFTnh2*GSF?Up%2FaS$bj<nL7@U4_Q&EnCHl^GSK~24i
z0bxU>>hB*M!WhT?{t=s*2Cf*ik=Qf?_aJHlEuXt|4`j|}_JE=S2E553`i~sVzK`Di
zaNpj&2W=%Z8qZ||J&G9^81@yR&xUi=)XbYVzos;wHP_bE&#S3<;DP(^y7%4(A8u#7
z>PPOoXXiZ+JOJDL1lMVVh8`wQjEb^yP8Vln)wtMAc~MGy4h?wCH{5XJjd$I!c8R`h
z+YPtgbi)ms!J|Y)h3R1inPFy<3CSwaIX#N}^J!*?{;#uLHXr*PB;Vu2emAj07cAtA
zCdkv+%NoXxqFA@*U2i$@rWP$|tS_%#uwWsSX<<~ax%S#E*WG&KwbyI}yA+(NP9s|0
zlW6x<;UhuclrzE!fyb#$$Fcas5I&bN<+3&3=FGH!M}u+D)X>3!HVzM^i6AkR66EN~
zpT?e|VlzihOH^mAmLq2uJ{Ay>N;oNRIlk@4sS)H)@x2ET`T};LBa6{iDTP{#HbPXn
zJB<@GW-FSu5KS7xAdGJE&8>Prb-0DXh)MCTGaCZZxib&gO`u_cw5WP|di&1z_4V`|
zx9Lc+RSjblV~{oiyA)rr90|42(Sg4HDgWpY@tcsT{osR-4;}j3zWpEV`}n{C<~8my
zO*T!jIO-*wk&@wQMwL%wb_|s+r-T^N;wb^zki_^L7#JKH92)39*E2LUGK9#w8(%{S
zw;gRT&?rjb0CPsMg$0d1B(b5<ddrc`9_k(O2bsjk$l%b(2>O!#46%<t{KpHg{rQd8
zUU`N21$Lr?vtcmjp}LL6nJIh{I#-cttp&*MbbHIww0HU|-inXrp1||aq=1L{14i~Q
z;#rI$)TZdUy@Tz-LKU|)l2zR<@h#VM%=wm!%4U4aH63%lWqZe5W_6WhRWFrb<)V%`
zOT0?rTUK|>MbDS|mU++`MyNHr5uoBO@Jp#8F=NhvJYoMxKlt^ziO7jgn^`S`s!-TB
z!i3GxreIM&U`jCAl~mhuS-nNAe($~g``>#nqgJGSeXuU0%u8IS4mkx-LlJTuKggLz
zMv9BUsShJ9sLX^%W(O_NCz#<t;a?=L^THV#y_Ue#o2B_n(U6TEY)hw2snpUrGTE47
zWpS}BV=u-BKnDX{Gw^}^LxY3g{qEAG-~DcG@NATIf=Fy-D)9keS?!c_DJ-w$OzrJR
z$+ox8!y?h<H?{L1S&KfOh}z`VDa{zyWQA(T{POt@i>aWvwbKOO4P8Zy5d*P7{bl5!
zP<xmX<do1Q00kq6!3d~SW6CFz)Jm-ZPK1uB!8_wZiepBbR%>%`CbU^#n63&#=P|t$
znvx8s$zp_ahE=5!9A>50)RdJe8I>A=e_2@`b2)w=^_*aeCg_ycaL98H4ME9@I)PKr
zQRee(%q)=3es+9%r4181Q!(hoC6Tv`qOLnN7VTuToC$|BG{wXr%8`Z$GL9S86}kXp
zkx3dtd;0Xu-)wer4E$vuW9Ocf!6(CM^Po6Lf;>hhGAbS|@jAf`E*un>&2WSjGNmGz
z3?iqU7Sf%VW0FDPm`UUkkVj82_?$C-IGtqi8k5Uaqz{MlqC&F%MBoGzN^;?FrxjB_
zDB~OrF}|$N7gA&xGio4IFNXh2SBO$>f?f;$5Y*6(4JrC3<qk*P|Jm!Ul=vkz5(`?1
zRax+V@OrBxeo48+g4ReZXr;u0+9Vd#);?!Jtx<|okwYJx3{Q*>Lbl`_Ib3;7oOVW@
zco?UWxB8~wQ6fA1!TI5npMG$-AN>z_Rn0A&c1C9SfJ%v12_&6}+|c}rn$m)%1_S1(
zco>$`%m@ZInYCVPZXDSjWOnb}xb=!<U*1v3e2I1>7&+~X?(dytcI?PO{c|v84b`<(
z74>z67&-@fA*V5llc(%zr5CC<WOs1<)sXH{n`;XE9;M1!XkySa4TFM&jzufS1#d7y
zxC*{^;0UKZ6hypdGAGjl4-1K_A9>hPtJ+mo=5nIJ8n5d41E+nFq;ZRiaA0_AlA4WR
z8~l;U$+1&?(_kWSve-1Ip%h5KKOByEWnpO0A(1*2o=C*H2LmW`pMHrMefbc4`?3D%
zsMm_Cp9&GvVH8l1^Fabd{LYxHoq*;xJl`~OdR7^=+aT3&Ze(C=qPsWF^y53HIgM{n
z%=SkxHr=d#T!ngIB(3J30>4u5%E~N{t1uK`G-|;!=ntJ`@n6=#cHsgNw{;R^Un4>G
zn<dD8Wf=lJM$cR(LG~*o$i7B`?Cla{ze0lSS4faOUvjk-bzHpKP@xge8J#vzu^1an
z{MhmHqZ6dL?(>~G6~h!a{rU5U4!!nQbSVUwlSm6CgXjCnW0=a~nvfS2J*F}yg`7X&
zW!y-^9Qy4WA0H3EMLBx(rI&m&6Wo6Bi#5U>!dF$$oH~Ox3eG&;|K=X#K0oeB!hKV;
zwLPXP2<0-T&v==#Ypz_qbkjB0th)@wi{%?JvU%y!P-yAWd++`B*FY_}mAQwbl7+FZ
z5%IZGmqHw9I(hOj_6XGOF_M61HZZ?~C4HQEgn5DaE$;uAc~WuPZMXeXJM&+fM;^K9
zJKv$J{YrRm!!jiZH6iimBV-^(IP}s8!fhRQ-g)N&XBZWc(&wLljQv?YXvq2;&y;Su
zd|6A|>MJ*FLo3d;8<s7*wz-+s#6u5#>F#fS^P9wTdV;gU-HD=22z_USKHB`MDo%&6
zv#p}Qou^AdcG*7g_6J#i%Ff1O2EQtsZMk=AwO5v9m@<&WwJx(#PO28Hte`-cne}G3
zH`ZW(DH1a^t1WJ{<e{6EupJ%QkEvuB2V%hp_cA4`%WEz*YN@5nqG@fF&y0C%Xt?Pb
z<Y1Ce>p|w$RM<!}h^h;;FgS_+ekew#I5wxw<x0w-)=)Mss7-PI^hgxvKNy6;92Muh
zb$1^)jJzPln%Id-n-)+(ox~g)XhPX+kFj_H8dTVUZQ5Mh$jY*QQick5D-^bY0Zu<K
zaQ5t{_<Qyg;!r3|sLh!;7UQ%4kmB%7cd16uh$qPL0Z>oD5IHpNV0liCgXR!~_DwK|
zItgvVsHs!_StgFRf-)AIwhVL*@eIeBvS1-07-h=#?EB>C-aUKvAHYIA@;*A^C|`K;
z<RAa|!f$`~yWhRRyv$kQqbg7n=;;Y1NjWQ0R>r~PaBOWN6-#6lyaAIG?28)gHuM7+
z6e?ss?ctOcnQul@WVJMYXJ>Pr{$J(AjEX}~VM)_q^k+~wpNY+`YG=Ec*=<w%T!!!}
ziDlU&u`Jh?G0Y-ZmQ9kizDW|BZIW0PDIal#WUX(MSe8|iwZ2edS*pn=j-m2*wtE=s
z^YG!rC%Z?0c83m$m<N)^G-l(T0-jP$FhmV5fdq<!Q@9h(@@SiY@(HWgc&kUr1^?Br
ze)Z~`AL0MdLjU5M`*C^v;upBVY_0yD-mzXZ)C0bAC<_iznd3|l^}%l38BU?y2SVDQ
zKsYP{Up-Fb4J1;kZ7N(-ixw@av_nKEvTPY{LQ|80;Dm1+1Ll#Jz<eip5ngFWNm^5g
zJ1#X(ML#e^Vrg&n$Dd%yqAIbuT8lQLuYUEbo9ayXJdZw#o4&IrkDWX8$;ZrB=|g33
z$ty1dk+@0Ev9?vXv&hUNLxX(@VC4$D+jYTRf+vBy<ch#3!YOeY087nH^C@JzZriqR
zZrgU<@>VEEVC}o?ZRlyk=5BK%2xwy<eJsachWthxJ2<PvvY=Zt&I2|&9SBqs89!3Z
zjFMi($%4p^2N|~u*+B6v=@U>&5dVsw04krBvZ9g#D@I?ISj*w@K?L1tbrvAg$XF?`
zL#odxgU1M}Q#O&3G1cXyJ^_8dC2b4fFRod$X64dmw4JoKQ}YR$oU3cg<}nL6F;R+=
zavA*Jd>k1ai6R@(CILDcK0rDYk@MB54BSJk#NbE(AD)tPC;fmts6`<W8KbgjI0Pug
zQATy21*->C;|Rw_Xozz>$7_*r!coRI6?j<^?NG4Ov1t;_$36%8h`)I59D=4?JnHv{
zpd)(@XI>WLSRZLX^!0IU0H`#0>M&0ZHkeL@W-ocSVvbcjN8)joDQ#*Mx>Qut(@C_?
zOd(EDvY}3$4E$#_hoF9r<Q!7w)hH}mtw4#Pa2BwN>t;BV2B@7lfg6L#Y&F_!cC_Z<
zOn^zM^1&^e#$}kIJ5w1R4iDK+%!`-t)dC6oiyN^iu+9EMca_kFMN3SE`ZUm2EXxRw
zGqNY-n8@V8aNCTxld<6mk9fkLRBN+(oWpF2=NOeoDT-S@M*o$AFk2A6ArB>HIuWEu
zv+)a%X5(j&rWHuDQGzrZB}lXJ3y@}|1Zl4M0;Fk?B8>!4z7TYPG@TbQWrm0FS<Km0
zjdOhgP`(g!fHa-PIY{|@(AiZj!ILk<8~{z{MMy!-{c|8k{7e_{<O?weK+|cQLzK_Q
zoLyMuv%o^YAZ~b!rLJ&Z0G7|-4dIMz7Fa%uH)4E>>lA_M4BDuGGXyULGa}lcL<)G(
z1i`GCK^yS{TzG3K-Y8rbf#p)XDd@Cc0G3Pfrdk3fUkErr8RWGt!U<3XCik;|vkQjm
zB9?q1-T-7ekrKOrCZCTty9^R6!D4fK9^3$9IxnJ$=X23!ml#145=($aVH08H5}*lz
zN{$hij09-7Y6+HnA>IIFOz1AW04JY|H^kVgmY~TOA`W1t^CGxl(CIATJmt||fEEef
z{B!3;R6$4AC3rJ4M^VbEzEgrS9TI=$5edrN3*U$QnLFF(vQl?SP-ce&WjfmDDxN#r
z=dw~#PRI2Ue`ciwWeR25{BnyyC651w;46VLj!q&p4nXJfaC7eL+3wz+vpr|e0@=@y
zZv*Es73rbyWpvU+RBF2h&V&tjOc+puUP~;(bc}R<8QJip46JHvOM9_XlY&TMA~Du~
z1k$@m#7y>+KDiixzy8{*Z@&H3t8cybDl&zy^aG6W9?|jLd*SPRdcKI-rD`o4Yp%qd
zLYBA8h%H7ZX#A&4exMugv8-(gJc{aK1691){OT1eR=~)zF8URUeU`SZShadZ`<k_D
z*R*3>L++3{ld7e{m3}NYbOb|x(j1$h4&w17PwUwO#e5a)i2@7{^Y^~{t(|w@yX7*d
zB19tk#aq^bLyaF3oH%34CdB??0^qyXFrBE^Jb~M%n5RLp{vmFkn*DjY6NrW{mWbSV
zo5=jg>;-rFSd?QYse}07G*45W@y0GENeU}iqJAv6@18H;zN2Hu_FKM$ZQG5QQz4GA
zShxTmTudjltXO;1maRA5aram7DZcadnGh-i{Z%Wmef6q}ib`x{94n5xDlg@1ZEelX
zi$JJeJfCixt8m0XWt~YI$&^NTSXiSfg(ZIEZ%5AgNx}qM5JT%b6^25G)&thB9Mu<3
zOK|MWvB9xvad5Rtr#2u#kEDQFV}u7Mj@X7XXR})DW{i@<mZkVfF4tP}G2!0gDj@3A
zbO?@Qno=xDfwzF~fU8fT7JJKc)%kM1W&HFze?D@0Jdpze=<+Q2$ZjB$WwI6Gj+pDH
zYiOvdEUzn@SBEZ~dI9i=z{FhGJP%-6-!$Gw*C~#%IN~RQ_W-#9@4=d=^GnFK*DLsz
zce~zv`PZ+$v!|Q*68;#ey~CT5u~P`J#1Y*iqvI3)z__m;dmHLIM13V@r71^xkj5G)
zH3Q!b9C+QhqmlD8+Ysd8bOx7EiP2m5@q54d_ka22J4d=HDjoLq!sEmHq%#2^DVH~Z
z=2lFPp7NonbN1Z1v!@S`!)7*@X(+z)C!KnvbP-x%1QPDlweWJZ&C&Fr5Ux#KJnU^D
z|B!T0h+2hirzm0o+!2!0uq)OkgHr*_7Z=Ilc<lre;;d=NtxS<;nNTp|yb1(=a=OFH
zA0rS&voqZ?f?A&DTMi#Sf;qQ+qf|^*Wdnl<fN&BrQ^O*Q1UDy+9XWLD(@zh6@+ks{
zLkEGx&>u>qPM$!7G^uBxc!6o(RNccJoANQ58i&q558`g8I>L7@NMODkoIN`GbDPBZ
zOEW1*D>E`dWWy)P2UH+MjAW5g_BbP8e2^Nu6j-H)M&Zi58pU+qM2wN=lt0tP715-C
z;si6vGhv=nfCP~BVty6g$UD=i?v-0CAjxM<YFyhWT2me2i#p=gNDzC21hF>&v1x|I
z<r2i+AVKUaB#13#$zCZz?DZ1AaES!5r86ulph&=`<I`iL<qWhw+uh#-0z1}SHad>S
z=O-b812$<c-9Ly+Us21cL9NEA%m|puCF()Ro6Iu4;?ohq7@O=r6q-qb{`sxFyJsk~
zN#79w^PA_8sKS0SvAz2M!|XMj8Y)ECPdv+M4KxnOrM#sC`*GUQ#{#(`>INeUT`Lvi
z79b!^X^ZG_3(1Q>T~i#7TUE%BXSGX{B%qyO%5>g}mL_zllpB)~gfAk5J^bMP_ur5I
z4m(!S<A<0#=!2+~H<QrImK7XY)R9cU#%ZTN0CFB>);q-yVuU;a{=)47O|Et2+KpSc
zZUxW0b)m?ctHVqmJC@26+&dKeEogfa0kEl((~8(wQIVI0a#6X$AB0-V4D8`H8Ugmv
zmP`|0JQgFym_ldPsdi!Rx50xBQI(tQPVRAsRh5Zl6$U37MwDnTMHd|n*6?T*tO?~c
zo19V8v0&|1thC56u-!?jR8T@5jUX_U`*_M*QEo_0=G3kR=s*wyy{@{ns=T}$Usr7`
z#N%o$YTY{2NDQ@=fVjY)IB}3DG(+W_Hc5lbV%Zml<a|Y7A{Fxmf>Gp^DBJ7vj|6d6
z@YT~G(P0Y%2Pni1P}*0X&!P7=?E%4s(;#d`n~1DL=Pk>VG1Glh+EN?xl+&RpBod}T
zkid6}Pf=$~P{DH=nT7`YjGWoa0h(eSna;s!Y(#EtUASk6_`VFvpip>4E)QNQ+*0&L
z#DV54HCQ0FL6<)U3T07~z#hYhbn$`d^m?>2h$K*`S&=|aKLHg#GA_7MdiznC92!De
z&LpENr?(%uWgRvDb<-T~o<WXgH}QZ2t&-r!BJ_kZJd!4I2-7Oj;e)y8pns<+W5KIt
zkjKj@a>x<v!u0{RuuR2)$l-yYQ<)~KLQ}HVJQJSE6Pg$e_r*sPpb1YKU?mMj++CQY
zoxyKvIaxXcr*Rfb*0-}=fCq6~FY*4`C0KIB=U~YfG47>UvR2~#T`s|r%OzOSEWwgy
ziT76lt+9*1Aw`qEv2ZLfJ~$phkrhkN)-($oy!8T>h;@{qL7ZB?B9b7+?hI^*{@g5<
zbR8O*ICpH{(J?F-?4|0KS=ivM7m!4(vwXCVGL99gAQI>Pv<MnfBw0{bQC(6{U#2D;
zQOor+$l)az@y-@unhmVCBGe5D#A6W=Go(Or|E(LZU%TwK4Hm!%k`1c-8O-onFQAB6
zqq*zuLJW$kSigd#SzAPc{fu|DynO?P<X*q+OSj&9^BuQd3k*S9dPFq~7+l^QiWroz
z`?=iY#28-@6OrNqU=V0rL=l-nPc<+<$IqgMcNRq+Q?ORI#ajV+VfcYcjalrI#|@_N
z(mX7iK_LL#Ogi{qSTB=@XEB4f&Y}o&cp9)`rqN-1h0%m^p<H7wzThV{)Rfg!U~{YG
z_M)-^+st12UY>;v-b%TDLXnro;K~=5ihDuh)kVONqR0eR{}fb&rZEY%6D6sVS;*i;
z5Yc1oI?YR*^ifqxKNzPkG}Z_DzyN0(z`W0MXECq@9NC_}fWQ0XSsuIa9TXv>X(9PH
zF^^8?_@o!0;v3IqycHO@g$=$9079%fp+$k3h(Zy}^GJjfIY0>db5gT-!P6nY>V)(g
zk+4GH3>qp}n#*BPCMPcVEGJK&K{_3yLWcUs{k@}U!VeTvL$h#!If}p!oiNl#QPBBl
zD#yzVm==mAq{kH*Wkz@mGc!^!tvo*i6W$B3;Z+E!WY#MygexfIRF5kX>Ui!kRU!#P
zBFC#mXuxcU8L03oa^dMDYFwm4IlrCl5@7;2izG<VB0-AFB}hT+1>z*NNW6{~iPy0}
z;&m*LAVrG=DOw~*p_L#7#~wot4JtYwV^5Fa#QC1y{yyL=7$6??!K3GUd(V8Zn^!NW
zsVFI_S+&ut5rh{UdIt3ak8$^I*NboLes@pTyYIfsyvcdkpS|$ryYK$#pWB7+@NCB>
zsE=*>Zaec+Z~pZ3>QNuA6x!<Q1{SrnG>OeFh!i~PyKldVf}Wdr^|R0a?$uX+^B@1|
zMgJY9qc}f0e2SdT6DMxD<(+Rl^x&Nk8@~H)Oi}P$2^!H+X0Q13KH6IM@K*}8!a`w{
za2<Y@36(+>abXc<(dwW}1UCw^8ScWOMO#{$o12iEZrIUjYFpUc(9p)HK`+p2&}}AT
z@`<08uT&Ohz#7odjA*AbTZCq6kl^ihC{=mXt~?AQHkH@&YIK1m5|Q4cUZ~qFN-|o#
z(E#gLU!Pixq1lyHka}Yl;TM{#k%}(5>^fe3delEPHL~~jbQlNFBZ&*xWAypdLt~J7
zAi-8<6tC|d#KX}uM|pKwJ_d&5&uj5=E}z*<%N|=WDDQ(^1Ua$49};06b=P}v>GtgX
zfLE_ty=v8}Wvf<r@eL;F!;`eRDiYCR5mBZQ!?BY1g~5^0krC)C^6H|(0;jW}sKA?V
zFdU*WG*EoCSo-?hXU?1jF$-$~5av<8`j@w{z4I=wzUJ!nt5<KhW~28PJPs?I@MlCn
z`v13*jY@JwOZYel-bIC)PdG0Jffd};(ak+{<EI-t-Bi&HhCp#Nvtw4`Mw||%qKA5#
z+Ci&U+EI74WYu0PS+&<nR_(P|-K3teL9%M4>KT`J%yn~KC0VsscFbjWq&Z}h<U3Xy
zNas?n(iljoVs^7xRE!M7D*Q7A=O}=4jT7`Zh$d50di~H4Zx|aJ8Ff?Ru3i=&<E!16
z5|&cx%<e*9@a$GqrW53)AQ$KvQkp(P?jzQP01t^%x3zV5I~*T<#2XO)eL}-CTAi}M
zA-)<jmEhuq!V~=_Q%#M{R#Sr-!N6!b4#CICWE%FfEgy>qmpz5tbmgc|p3KV|AFr<`
z{lk`)g{=n;BBu0b^IG`o?qTv|`-YCZT~@YrYi;e;t)-<ezPCT(Kf7no>FG$rqmMq?
z#;kx>i|9K8%O&U3&p+SL@X06Jw_|VFhaURs*Pr|WI_!?8>K@{&8)@h=M9deqY~Oy}
zb@cc4+neV%fLFM1A%X^y^Jrnd%h{lRQ$XXE@mZ^?z;go60(;BBGP_GkVNy#A+)f@D
zOP5I$f33#cN*3Z0@I|#+*kA-dT5U3coHTT^Vp+KX{A7rJQ$+*<3<#_A`b@@R@fbnv
zGU(Bz4o92;<)|{0ftM_U&;Z03RhT%hQdumaX_y&5<T6qUCsIHz9yCFyM^oIZ9vE;s
z6N!=%?8)J9IVS_iPQ_#z2k&%%cm})^%TsiaMch*=9GYAX#2~oiaf2QsCv`@hk{L;J
zn0_f^Y!P<Sqd_uZ3SEN;xx;BsSt^~L80ziax38yX-#+w0k25Jb`Tl9ak03Mz!6!~0
zXLRBvQCOJGy4@oqykT^7c(AA#iadE4-zX1S3bONJMUWs^gkdVpD4Zw*D_CtNnvP}+
zS|~7RR3w;A5<rlVO|ubrk$@|U#R#EerrJO~xEeIm=aVdDC^Rq-jh4Fd6s*DNG^&)-
zFb{sj!jQheTL4dSfXX15YqRzB;Q*aId-`-k9e~)Pm_Ey6fcuZ|mp(TdWoK6P)$ME-
z7OJ>iD_PYyNLICU7SEUPN?O(1B&&Lx#1=~{LsCuXtrA<jO=62Rl2u(7j$>7aef?Oy
zV}YqjoRr8!1TiOYc)%Y6(;(^}K=j`SMIyvJUMy}1K_lG5hKMkdQKJs2&V(TZJu-=<
zJ#u_6mhj=TJ?FYnXg)cP#Oxbyyz%}iszdrtz5hCCb-pMr?;Q5^m{VX58~`x|8wjPN
z2@~RaV`Ah06p7{d4PE&XC?>bfZ!Rw@b(q{Vz8MwLMRf(>Tojg8BUez%ti|3m3f2Qx
zPD3qI&NL(&D;#FCqXNs!Et^8XA5s;}=ha5)3U^)g4{Mnh>BsQBd+)kx{pHPNi;EDe
ztOeZS$M~&Vmg9O_dBt^)fRKWm=Q9KrR+dyTp+=6At>v6C;huXo&Mz;YzY*o>#qx7V
z74+$r-NVlVKgw!txcoK<P~3I%4eQsfTe+|WnpcaFTfN~%@;SDwTZ#`gANzfrgZ#7E
zU5C|QS6~4|v3k8c=Wyg>@Fd1wVVSuxMW?bf-{l|#xFG+m$7noOZ?qujhqxXtRK3Qe
z!N<q@S~Q}2Zy*U;2WVVazlcFS2zn_?BXCZ+%xKh;kRo+)si?af!#`OgUuU;a3N*hI
zR7;ydCni=4Oh^*o{Yz|Q(={#{BvA|27j}v%1D;Z76Jn>pRRt&_uELU%LMLIoI)gQv
zQ5g#OI#J~?9`fS}Ks9FW#1f$-t~HzkKSVP!nPkY1Jmds3G=ug};aZrSobkR%>pn}=
z4`nt!$#*iyp~2VjU}&l)#W~qjlIFw1WyeIBvj0undw|DvmTAN1Ogm?KA8Di+wNaOB
zS(YWsmMo839H)5GAR!@OAS`6b64-@Z7QX$_nKMon*o9@`Bh)1%gt9;gCCzEJV>>Rg
zEf+Pb_cFcrng4!A3O=w`u79uZ`oA;DSY<TjocDR&r`*qdS5@gHLBu6tus%aw4vN3n
zIT-w$1wb{%s|k@>N=|^ImO^xiZ$ia@P(Bk@ACN&Hfda^qB;5!U!x17xoJhpr9AZSa
z6*6aJ>p%?w?0h(ZpdU=2l$%cA)PXn~(UAn&c6<|51X(t@bp7qO-@ZC_V{v&o81=<*
zO$P=BhNsr>8mr3-@EWtAg2D+*K~cOCpC8YRb19+6$CrY!Sa1nu<}0XBQcz~S<NUW^
z9u)lza6XerV6Rhl9B!a^91!@7eFC3xiy#uX1&<``Ir{`YW52*>2xsesnZ9tgUYO|%
zeMTilp77!1Mk8>s2==l#T}rGEWzc9$BkxJ`{TSFG<P^L~3=|cZvKQw<l(DjWsjOU`
z3(xb_sM^9==xS>xC%sr`fGA8FfwMPF*4BnWa2JBR><7l3rckkWnPfmY04s6+)GXD|
z*L7iAmo>d`hObViQ}7W0%64{kU<d7jp@EaGVDH2;V+Yewo50e9h!<T5WY98J%BkDh
zEE4~fD{WT>eYByCuSR7E>(Lj9eE#!)hb{gKpa1;lo%m?Z&qpE-%o904QU~~ljLIhx
zG-sw$X^mc0pg!?vJ3IE>?|tHXPYsEhKFL?Nw>w~ej`sFD?)U&0ZXN{P`{BFqzWcB4
zXm3Zb-?EwdUwD>0r7dsRzJoLG*xp!SMB$3qI#}<_j+!FjD&DDqVZ~T1UcMR>7&x&h
zQg2TaWIvXQpTt)*ii~hiG!cTpIihoU9>g)&@-R1`lNZANunJ0?B38#&&(D)m7?2qZ
zlP2bY(>(wB>#xr;^Yc>FQDulmIVnxinJn#+<WlIJa_X{5Lt$}x$-2B0k?1P;YNZm>
zRZtUAqBDTEK%{P^h%scqeW&65(|8N$dvb8ggxr$kwVc}TjZtco!LK*4`Gk*0l%jW)
zYgiVv=dhYNVs<cW{~GYy*xAvG#Z#nE)?#^yG(m}g`d^*}7NfFksoWu>;?q1CUO>QA
zj4S{k**L`Hr!<kpK#L+DN5_u5yHLLo3l9$gG&?L+X~JqEm`zoavIlm3kqB0Z&cQYO
zvkVusGz7c`)?OGaXjro-I*G}e6=l*{ni`)7<kXJZ39QvZXo7$C`}nlz0IXN>8=SJ^
zFtOs%Ah5?qfjw>#*kdamSx+gcCV@RR3GA`ac{4I^7DVQaf<3%Zu!lDa_V7mMpD?48
ziBTzJ1%!p9XBG(H&ZH$QgbY1DhtnN1^CA!+x=k9SlzFj1UxLE#<RtDI?O+kY!_K^o
z%x<lTN9{=GHlf4|{0|%^8ccnCxPt~q8^^QTVQ<~#T9)NRm<4t#qi~yOk1`CL@*X0y
zC&L$kB=snVa_ATT7sw-fsv)?J3QWRnvX+&Y%q2E^9olM#4&kn$3czL%VihQ?ZL77s
zwx@@K8axoArrxdPqS~gtclKeg-#AFQPRy7!=ojV)=qBqnrK9l-cpBpoY#b<H`F;K{
zA_2T~Q8QJHUK<nv;wiT&?hPbGd4F&X=Rz#T-OLKaA@RU+qW8=U<#L?J?~l4o9#1eE
z^v#Y=VfVOn33p2?7=uMNky&0s=o3P{28+yX8XaFu&P<+p>jDtC$Bv<wH8M&aBjuh<
z^u`1#QDb8~ssN%q4`~;Kiz1g2Co>Shdd8+6A+JovR3HFP-Xhkm+r&V9T8iQ?3H7gB
z!5t&PmEqYTOk!O3VD`G$=y3N#YX_)OIYT&Ri%*S|NrW>~fOLWjYBONC1ZCOLeq$yr
zSD8&<zkBx(5z1I`K8bBr%wW&uF#2`0pY*2QYgG%UO<M%3x_M(&HwadB!~bAaHwad>
zaN4v^u&V3+@2+ZegTdaAPWScU4t#A`)v}FM&9ATNSU!(%06ihNtv%FNsjtfL1@tno
zrkQuwG^r`xT+tPOzM@e}{nLu(|4-I)>@U_c^X_`)|7<k}{$e#V@2+P4|I%8<{47C2
zp_YWTN7`N+i<x<MF%#p!QkIEC(D+0Cja582h{DkNQkHEj<sxd;-LJz!#vGljSXeE3
zcfj!8UC5Leomk0H6AGU!#+<a|71s~?<|?KbH(A0P)0a-!aV*Q?u~*=kcMCkTkcDV3
z9@zuWEbOnoSEMBDukI17VPT}SO|XWy3)XOjlDK4(SqmK@86{F|c<4Y%!caLdkMb2{
zkOY`1k~Al8jKQIJRf)uUKV&Y8PDX{f6wG&xO%>Wwld2#w8pyZk`G;62r7ne8@(gtk
zf>;J#&>#5Y@1B4D`Oy-;zt{_T=M>nD_$oFJN<%Dn;@59lKwo!zXKPbuiyl_MNr;ep
z*8Q$AY|Nu<+9a0%%$X(ec`zk3jlIM)sISVu^w>Xq<iXD$se^rhib`sQVeo&llZ}Cu
zM?Pkh<6ZQ15JW{o)t_$!(8Rv?p1beAdmr@=99OQg$>r;PkK!z&)zQ)6upzOrSkRuS
z>hA3BCfk8vdmuZ~jvagV-FDA|w^4t~@tUcrHJpc-IGeyf9{&?!iN>IISAlL58-y>6
z;zx$c$2RtiLL#t+a(^a)nM`y}y@OmSP&$|ru#{p)QU~So%f%juUId(1)vAXy2B()}
z9)E()`u$`~2dgqVKk1D^+y*Qc6@|jouMpgmyiC^u^^Ps2i#lC#SjJvW#?PxJX67)#
zxVUg*K9~*oX4ZF_ix)3nyK?c&$<x;$@7r$|DJ#&;M1hx;1Ouqvq!sD(dIQ7*>N>va
zkLRvkA08RLeraeSF+Fkm&GX2kUwP$~m!ALKYp?wF7r&u?#`Wt(s{_^5CX`s!GOr);
zvImumVh6<I0ccg7FV=35ITlTt)2*8{i1S0>JA|w?`X7=4a=n5Jl{AD}2>DZlQ><73
zgsfN<01!pX-Z1v!zJ(BL=*H0G?8tNsl^bNuxrhiS4x3ux+BIN2)-a*ING8-LCPAOb
z%LqIgme0v=x&jcu7t%Sjd8Cw-<KYAN^_>m8>EKT<xD91wzas^ho1OuZ4tR-3Djd(L
zP(<b76!`Uhj$)n^7vd?@9E$s#kX1n#y$ScZ2Ejhp0v|!5xBCCVKG!6O-h}gI!hOyz
z@DUXPA7LsKijAY?xrLPg$fU_w28rI#{7SlI_DUqXO0V0L&jac9hc_>tIy*QydhYxw
zd`E&e(aK5?Cbx4JaA=khx2f3d+};7Xsg8CKj<uq;0t3gGfK1|+og<7wiy^nE*wXx`
z&wTDvpZe@$AQbxufDvSi1L#uDGxQT~p65?byG`p&%kJHMd-m@GpD2-uN6^*}u*0TJ
z9mNu61tO?QyAeUw`Vq<)TI3SXOaR{^W^(}xBXNmSo^S%wX-6@2juB;xL7~$q#4@eM
zfbVdn2{umVmI13C4CYGR7&{|<6NkCdW|C{{wrYGs0yYtvmUwqdM2{}j>c)9PDPehW
zZf^3*)T}Q?@Kw}hJPbb0#nNE-h3C-b-JD^5er_J~Dnlo4Ohz+AsS44WOA97W1V=J;
z1JN;PY!LB)n<0QL3i07zD5K*ZIhPA5PQksdzR1elrs4?N&?v;zMn*>`Cy9n|@j_s5
z(k*Lg!8tc++)sen1FBXS=EnF7%>nP3<uPhWih{YLN9B;!lcy8@Km;QyBK$U)M7@Uv
zE|f}b>}Y$Ovg25Q#pAtpw7=xE@5X8sa@y||L}hyfxrQ+J-!0hDgq-%mE`OU~wN}Ll
zXzIT$*c)^HuxEL8If#{uKmo&%#pSEpSiZ##ZE+Fy4nOKgWBb3Y<v*SppC7*b_N8f@
zOFTi{gIsZC>)&13>qC_1$TRd;ZVXZW`7-ZnYur>@+18{c8yYQAa>X^T-B|PM1D2cR
zQg;=-F<|-U>;E4=`M@K0-SWu?Z7>A90VyCX#2WPPTEqJA<zE{W_y~1Gl@7+x{%5AK
zd283s9o^2}R`7Il<x1Osvl2%+*~>~mlT{_AHw-2&v>2d$Ogj&K;Px6+F^>MZ>4=pT
z4O(}V0+XAvbsGZlf|yyip%Oiy3_1gb2PI@9^9^!Ei_&daRB;!BSX3UnM{%gLXkM18
zb@Qqr-&JX4mI{o-!OrjmQ~$*kjZOcqv26@|<{%tU<qKf}kmP7_c5Y&Dat4E+#15BM
zBUvUHTtnlVqg55C%fSrwe=@`34i*YzX-tDAIa^_Fj<go1uAdm2h@}1K<<I#-8L2iI
zEHcj0;R&wfFAQ`N&BUdZg=pU0UrAc{>$Vyp^n&ZQ3ep3R-J?HWWKAh#2xh0?Ceo5x
zEh__NB8m+xmv>hcHs(k-jCgF_h=*@X-<VsvF%>6>Nje{a#2_qMyJ68wb0`^1Or)}I
z41qr>ux@!SodT!6KLRs9Dm3#aM0v3YpEmY{(A?#zNN{R=bZh~3e^hAqPY{`%^(hjE
zQ+B*)__%8lM6*?bXjaJoQ-{aZ!uD$gJ5{Z~_8kJ-cL;W>YJu$wC!rmJovKz~`_z<6
zJ$vo^8^_*$XK-j_Y6@h|sNu+5tc0nsq1LJa>FR4P(TV52wWsh;h0ifheErA&_55qE
zQO?2_@xZv+g?@H#H+H0Qu;%n4;sx8gMz7G8S8eX?rS#krtXMiiD5w__ypuYrLe8Bp
zFR!R8sqVSu<9n#1)X{#bj&l(_Gc8j*N64bz_VN05#9L*c7-?y2+JqikJLwLnYud0s
z_4GiG-r=aOz?d@ZZS2(98&hwdK6_$1l_IEH`lD?wHW`e?v7lQY0wodlgNnxXUAwzG
z8md7j1U(X@(`gr*N&3Oq4cY`=UyYTw{m=&<|GSTW@Yddr>S{!tNTs7LHW8kh#{!Kh
zd1}d}7Ar+-OAsR0fwTfMnjHP>DHkg@*vnDFU-&&wO}o^la*HTcS!S_OfI)zMf}Zr@
z1nKH(0hr0o^HS6c#3-?Wcr~2_KQ8Z5kz@&E4TPwemGJs2q`HLx%N&&rdcft4YBeg>
zK>uZm?2r}~y&IQWuC#91UQ-5+b0ntQ@iH^$!^J#dg7}1*4*o!Gw01xCrQ3IusG)j9
zeF-P;)lvL%_3B&*<+9N9#uR0(Q+6B+t#~vGR%NYVRn`gOC$cI@HM&l)D(l{3RSH?D
zYL49OOV<jjU!{UoDdck3qoA|6;?GJnlF-u78*jXUW!cZ>i^9CstQdn#Nw?~)x8Axi
zIFV#+%-n_l+FSS{x%HEE+0SO}Sdl$@bqpREbnCI5&jk_+Xoz7&qrHK3+0Tkru_{L<
z0Q94kC2svQ&ph+y4Npm9ZF^5|@6Me&u`0o1atZ74XTQ@DcKp%~w;oXipw<n|jjdbS
zxA$U!--!n`)?+=^HT3Mn>g;NFO91neGU9EW+nRYj+_1xL79|65*5JU%0Y>`4uaiRZ
z<zI_KK`1Z6xIN0uy&ZMp@LWji*bQVW^*A0RjbP<X4+ntc&OuLGk4oo_iRo2;)IU3R
z86TZ`3!kAtaF|B4MR_XY)}!xmeRz0ue0l!H^)u@yO-}bU;xpSS7>P?{+fDNzMn-KE
z9|vO#WSAS|H&8dok&~+c$_{yx9-qdlVPby&8anC7v9OSFMp5Ihtt?OFTy$*Btw(!t
zUCp>CX$&Hb0QWCoe%SczKtoMng^_+ow^Mc;i>7!8b$o<b{GEaoMzVO)BkdEcus*>G
z+bQsS{}UY_A-bay)<Jd*h>3y0CRJ5gqL5$*5HT=dNo*1Y@UPH$u}hO9#4{jE3T0U%
zhB}Ej3|JzTm#63Fm%YKTbJu1Qd+gXTu?BrMcI_B!6!9R&%VjQ2x&&o)3c+krSC93<
zSB666+YTH!;M~9e&ify@jn*403Ff&3+TJ<2xr@3D1;IR6+hZ{>EOMGf(xOE?M8`ek
zD_%T3-ShW{sP7hU{{|-h??B)31i(u_)rsm__U}fF-%)}>fVu4-DJS()JXv;rZE<CJ
zZuk<XIsGOI2PCyxyYkj=e)Ai?Qmfs10Auxc96WgV{U7+?&K=vk$c)IAt?0LGg)GV6
zas5i<-fcA%U{*7z8BQaCDwmwX`l+a@K_eXTEM-;{5e${!cg>-U3~G@?I2f6oT=d0I
z6iLLfUQ$vMLC7#<N<<<P$v~BY_8ZzJ(5%gq5mmkt&kBO~BzW3!V!dbI9-Q^z`6B_G
zxR|0I;Rd+$2#2g(tl%_yNQ7s|yHIAl$TWFe#!MPJ4JLb&;OaM<pc)4p10}^(6Q@>j
z8F4v|BJkGaQS@WMl^DxONzI1m>`~DDt&Lv4er<RpY=W#}299PjhBm60nn4Exs$g_7
z4geoA7>!B7G7N>TO)@V>?SQY8NQ&J?`~;-6tNBz43XI_XMF9qAa8fM5X9l;K1S)Bq
zhJ}z3*al%}GD5?|SE^KNL+`xv&cL~I$6tB*WG3KSScYHnl8q|vAEr*?#c37L3JP!@
zaT-f0Rv!6twkYq(|Kxi>f)p*v>69IZkrWTG=N!iuGvu59FN@kOu&CVvi*gDqYPTSg
z=oLf~!Yo3_&W%ekIVoXED=SjqpMpn#b>(D}Sz=L25wR#p%|)XLkeC#}UJ91d6o~H-
z7<v;jR5FNV9XrNqw(RN+2Uo#9FbONmsE#FwWm&|;vRtIs9{`(5E|dh5PB;|h*i)xY
zjro;GQi*wWb(LX;h`Q~;2M!-RxDTe*UEO7cq;O7CLd?r0!Bf>$aE!eKY?>;$%EjV)
zn~_u)c$VbMJKDE2P=~0WQfC1Ne4hGG+`heTams(b^&h*fFt5svb@Osb0Q9|gAII$3
zR*m&&DtEB}1oSnPqG3kNYxCx|_U@fKKltGNhYuaP6Q*`+=jL`|UfZ@5%?nzxZEc%7
zAne%DTIX=oSTPvK!h@Si$duflo0rKHi_TBXM*<P_*b6YVNZ6Dk<`qg1^KzkqCMrZZ
zIt2w~R8^!Li*v4$kQGVntG?d9cJbtZ7n~31+rrj7EA=^IUrP~UUoJomq<J4AI5Bz*
zQ1s(ixP3Dl#->9IY;{#E1@98k!H5Ati?B|z3L^qx1BltkRmC%AM7XM10Ge}{72;T!
zMKldkNCnJnW+s!0giPV0^86@FE*zbq#4xkiBr!7=3ihd-7h0@n4U3d=TxS-SIU!<+
zmBP+Kp#)k~`PIe6RgZ^ofBR$Wb_UXI*qMunipS!RQA%S`;XfDTXu(OAeF9cCJiO}l
z__8NoeEIn4)8}AumluY?H&7^qy~N5~l38RaOB}P}BM|IV!o{L`uofbA$R8zrLHgSu
z-2Qg4zVvCQ>^MxTczi}+Yo8XxN1qYwUZ24uKZdCNGXh)tw7}LL7uee03T#cN3;Vbr
zKKhU#K6*qDwRhPF*PTY5ii2y(T$<CuKN%%#GAdHBQm~DrLy0UdTsVd)WN<*}Eh;uG
zGGHUGLyuK6HA7}IQ({JKEi)*Ua57SbgK*~~`z)lwke3Csx@-lt(DC8<wIJWMy#|fN
za(&1nM!B~wU4h}5I#w545tnMAp#f2Fe-a4P`L$`nzh$m&E!9TFwOFLvunugmA170q
zVVTC--cf5IY727H0iu0lH-b8SAuS@>ofNIQjELpMU!S=)!*@whiG<f=*&N~wT8^QO
zY>BP8rOAZNwF%p2LuC^x<_217hm*8G6h%S!^BOn<7G<Wgt^vO+m1kELW~Mz!mo`@z
zCphk<SY8KmS|do`v1<|c1F^+OlJ6q1H(0Rs2CyQGi_HMYB|CO~=)(`Tc6N0>_=PWg
z;r;^;ec*uy8pR6dzJ2@Jt2D+E4Ltk%xos#)#}C~5e!zjcOv&?azxvV@GFF$)J^xE^
z@SIuBI5uzF+DwoP*y}VTsxptw`}wZ+rka|Xx`x&^;u*TzoADVsdJo?DSNjk2?d(Ae
zxxM$$U3cBp)7rEJ2&1i?(8cNQ>YzTwHDV$suQM4*$Y(TwT)VVpGalaA;c(#c)HT#M
zHP%&@pd<i_rCbu1B@)J1Ki{>bxe+g3kJ>dZv8|lQ5;n+p-QME2RLd*y4WlcE7BF<F
z;gTH9sBn{mYC*l2(ETD6Q~<OrEl|)6)eQV-d<9nn{Pz+}GomVshseIxHSZ^IfT)Dc
zqujSb`LP`@N4?O}@*$6h_rS6Ogh{T@;M^tyM4wBN^}&xc0vQysVh7i1iOg^S{Zm5B
zl})S=i5C)H&}=qMP!pUyW5#=}Zm6*uc*npLMvdpZtR{!OWQdx<Mta>dnZ}&Yveyd_
z$WYM&r_mY82y}UFe0bT<q$l}p=nSuJZmh!zho~|jfq^)wd!z!_Nck}m%|hik6Zey1
zG@WP!OG@u8J)0`A9AgNB*F0-pqOt3lSVagky>@+YEVVMaHjX#4G&_Z|;k0*-sQ-oX
zBFOkf3(y=i#9|_SC`_iOBEd{SX^<=PE(2pOGGXc%c{c7#V5$|kL%AeCPT7Jl6yv)l
zrml^SUcEjMor0BK8=pXD=<@8zw+BRvSLZIHsXsPx<?Ok0Bgv6B&?2}nwMr=^nH6e~
z<8-3DjDn!|()40lrZmg7DVLowiHZEJg_XyAOY;lMIF%)p={z3fi)k5m7wYVA;3%pP
zN<FGTI7m_nu+nBQib{&5aUx3+1B!xNxpWo=j=w-LrVfcLLM0MTqaj7)TfxtPEs0iu
zWm3UHb|IC<<Kaj|#3>Xg7D-AMV2Bw!a~6pmYFFtb(qZ4)<kT!gethI2&aceiO2lXi
zVr8p=XeN~a<vBT%1oN@FK!EF@Za11s%k(l=g;->(L_TI_K~fG5n<!o%xKYBLlFk{_
zEDx*>nb*zbxpKs@VuoNm*ODuqgg6|^hVf1$nFKyH2WS&{7!WXSsMos4z#Y0I8FVLd
z8IdI6(i&^DN^F>jWpflr^>RF(>0i4FnGo4Pa6+*2$}~g-_;TRf6(2h{l?2i>#>Tu*
zY{Y6Na>|5JjT{76Eh(N67aNHtFpMjcdtKV5+pDd3k7}7FMJuJz6y5|*+Sk^*9DPpN
zacnHbLm2Vx66`{^33j0#JhBtJkT8dG3U;AB!7kJz*oAfoBEBBMF4QB~g@m0@``p|L
z`oeOBSR|u~%g%%1IN*zf{3~;F*rv;0pGVx1$xafY){)bZ3>HE*Q$iYXvIuWKb?UO5
zmFdwyP|<KSsw^l(r^b*1T{(4%y2@b`r0g^j<yhj?*N|;J|J6mJk(G=i#%ga@E%Nrg
zdz%~WI!!qQSul*8&zl-rcl5SHHoI@{UWixI3nG_ABrZ;im_w7RSR7OVJ*%r%he!E6
z)HkVb>K}T4UyXfddrLFfGSe;h9r<5QiWmRQ-~Gcs?WLX|kLY(&|HhS{AYdhl>|+=q
z`RmP7zrO?<p>jVU$FslS?HwJB4K?<1LdSuL3zNxSTfccr3z*ZkbaYUMI66YRFxyrH
zbIMcEBpN#ebL$C&c{^5WA~_ExxOK&kL@bbR?O|1E@XRJi3I$md5faNZ2DyD>Ae*K^
zS7TQyRlz8#NAXmwK+Gx2fSdt?St5uDA#EwY!v=(yL|lRntEF~#sR}kGS+A7Jth~Ln
z)CvV6?|dlYD>kUpT17#urZE?Vyj96LsVB-ha4qBvDsN3q&d)TNa9tS%6u8#b<So1%
zp`0|YG$>*1L}iCghP~(C@Ot8CyRM<-T0TT56Z5%%4<B)5BFo?#nX!V5^UJb)x!(_I
zw8l1TsaiyWNmU}f_?sWiPlXDoHt^aIfuiP8%S*@tygrNB#Tx3ilJZ4qIj@8dh2S=J
z(llm0)yU%^0R|!@I9IeMv}|$K67*=Kq$feqRYo>-jZ(qeFJ7FPTZ_cK;1Vc;4#EpF
zLsub`IDF;eML>aQOWp;T51Ch)2&zhT=tiN^fm(-+$JQ;CW|pV(ASo;kcBT_~se(!+
zqHx*-M26`vRhbT>wxVQ6f{ij0FHVcf4Lnz(RwpmKl9L#1MEe3-C^?N)6!xt|j^ezz
z6t<o^NZd*T({fZ$<DMw-Q>KQEs@!3x>^MxgcnERjcL?nLV*-1>6OVip_I_9pbsiSj
z`(c5--!8ECI|cSG<Tg7fu=j(4sIxANQDKlb7WI`_QWHzSYhRs3|9ch|UOblJtsSuX
z^b|4r1)o|S3V{#>If$gZ42G|hheB#KiUfS!!dfC9@GOPXIDddviA27!w|?`}lW(8B
z@HXuI)mL$MiF%!Lzz0NLCobUJnAJKr2fZJFNZIWe1#7Pc^PSZ?J`v{Y8qgX<a8piV
z2|XdwblkT0)`R=@?cH}6IojQK<8C(v;gc$ncr%&atTqu1g%H%|Xp!VP21Bn-`-q-`
zRpr*-*VWS6yQ6DI6LwBOw<{}eznl6A{K1c?A5i}RvcqrU|6frr6>m^h*!b!z@D{_I
zgSd*1e*&)J&?cg<Fzvx76U%@6qaXh82d@kft%dG#ny>Bc+O`d4^X=&9wr_<tS$oeN
zhi<?95DtPkz3VRA9YjgzNsg$_A;w4BQ=Z9Sh&Joe&?2uF<`qgn1t){a){jxo;_W<#
z6!vNS|1%`9C#X07;`TDWf0??3*|!%V=lBQeceww{$Gp?;q`!u0a-NJP{uNI*XkFsC
zHym@(h6bK~q{NLG6Rch-Hd0(rR8@eoGiXX|8a0?-Va<@nfad_at%CvBoIpG*26a3R
z8PXJ-P(B?B7o!D$S>p-~!`CU4bVefApctM``^nIOSYmJ4hOsiE8AV!~4R;2NSvgcH
zrLuvzqw2Ciz-UZ>a!i^}%rC(ug;GXiAYd+2@pbuVN+eDvV=G=?AQFKj;o{irz=^53
z)y0XSp-~|EhOUoMFLDlOMddK1zPdX4JC=>dmr`(1w4#h4E3!-RILkggo8jwxYe{h-
z;+woUGBS4lJU~3}ym9)u@4j|oVDJ=H=K1r-UVY^Z)sL%F$jl*3TO9nMP6v2+(xs6b
zn;h_2Vt*V%IsZEEt_z`1g#sTL_)EgyCzIjj)s+<zOD<tPeQ^<YYnYjYQXq0v;=tmd
z1kPlnA{WFCkTa__3Mtfd#VJgZ)?u?)TUc6N#4un0;GjTY`ox)&Z$rrQ%o~u`BWCmJ
zdFna5uY8_(w237kUczA&<HB%LjRStostt$ba&O#SS7wZR^!k!gOdpX0FTavi7)5zp
zTzrf84q#g-LvyUEOp7Tck@pf$2aztPLMak3QV4_2;c0qW{X-3n+jf|-PvAfzb}?z)
zB+KQ~Y4SZelmr~i+Ik#jT)FH2&eId<S45@}?IXrY^YjyI8+eW$r|dYKS@957i+co~
z?~uUr?Z6{H4A0ji@O(W2&(|yPeES5RuSekdb_gP!K7r@kBk+87y}B6R#MV6CaL~Ip
zg|uVNmxE?_JSwBq9H)@!3u@#iWo4L#Re&)ijy18ckV(1iHDzR{%dB1>9-W^az5e<s
z9AjyanR}L%m}2D=s+xQm(&23#5HSOyOzpu0%{ymfVYj^s3jj<sI<?8FP_}H}jr?=p
zZf9Tb&fOgj()UrQO6JEA&|JA1OCiWeIhv3$Zr&s-xHbE$u%l!ZHRVm6#*z<x;Wl7-
zzqN7uDzyHdpm^&4p}s19{C3hDDlO|c{+sWA|NGzj!7^b?5{2%3kcdiuOr3YzJ2#;+
zTi>)9=_<HlcasX+fqnb;?%lJmuZ#LP-h)&b3BVh9Jcx_goUTaZV-g>Ih~5gW+mVgi
zRX85vfZl}fd<y>ZP1M@n{oO3BrseqGNNZ^cT?!|3n4pn&I;p2h%;213Q;{XOI#ycp
zcoRNTA`Z1Z-o6wh!4J(Cb!wG{WiXr$u_B<_BB^|c2rDTPD{?5ap~oi`yA(N5Adh%J
zs}nPB`_KYOW+YliB_>`Bx*BXtRu)&*pQKkw9;FD5Xw$ID<rTTqrO1dENb%WT!KmE!
zZ=ObtV0`r2`24blTACllpvc=Ne(}qn{osfH^;7EKaVCep5+pWjD%Zh;!QlGrRb+p`
z5F>Xx3;$qy1<$%LIkM_mwi}>1OU(An)4%xbuYUIXrzkfEn>*_)e5gdMKtfUBu*k5F
zN^-7K2#12v5{sC(N7E#_Li(MIr!(OI*#$ga5D)phfhfjMxsqIpRS=J%L3W0CSG0le
z${)2a5*inXMnwZ_@z}&QLKk{&;KHR#g9AhJL=aYy@LB96@Trwcc~-hehT114Ge_-d
zmMndRQZ3EJb10b;gDxz4Bhhl35`6CE2!1Xyz&WETUu1~#ubfzdyH^>kdJ%7rk^LCu
zsS0hzmzkZ5!prKY^P>yPyPW0J9h@F9&^NTC8<LIEfE&_d=beSmvG3qD%9^_C!OC8&
z!#(Dd9fzqGkH-XcxW5(ng|7+x!ee-(x=KlXTHqIib+}Ip{KDe`zwnsAFZ_+bFLWJI
zk=J(OMyZe7MCo@_)Pf<|ERt6NB7~!+RKrR^FN5rpv`*xfCVR6(sgxP5*2<<TRe>-J
zSosdA6hK=fg<e!1=jG(n=hqSQdie?v5jWl*m|09C_VoKvWX0tKmJ|xSy|+I2;Db#P
zgY*94v9HahQ&d&gIIKECXrphvd&j-ESS+ggty_2B<Fw{&0GW009nfBtO0Y~u$yzfQ
zvCC#LGmE3zaQV`}g+Dy;6sBXrF+4F5h)b~J%5uI5zB6*;<jIrooF5mLm0|6dw;kMf
z--CDEd;k3(gihs=`~T|Dt{qJvo>9lc0VLBy=f<#|`aoXBwQFousJ_{a#_FbGY(-N;
zL<e))x2qw!Fgv$+Vc_!6B2{0nO;R{NMq70~PtT%z`#Ew`^gsC<>2{z$ckKB1U4XIw
z2Rz1U=vlo;q1{QHgAZB19jAVSc<iY0OAoy7z7N<|rbpK#(?34?iwhSn4B-l;xiXrr
z+;tFjxjjuShaN0OU?Tb_L`n0NA!Ilu@Atp`+8d|7`mf*q$!Yq&`>Opk?5%0{ZTIop
zc5Frstgd0R^Y-F#-;ob}{F9G-{1cye6yrdj`ozaR^3VtFx%=*W4)pBU-s9|Uso#VO
zUKd{S2M|=2sR_-Onw4vfK$KK&glINHHUbt3!mbmg^m-;sp^(6;wR%$RZ&dH42B-o0
z!>-O*GS!h_bK?ZgclPYS<r@=|*RNd}ygrK1Wo%;b#HG_07Z<{wrRC|XGg%c8e_H{l
zr6ZF;Dg@h8m4XB$LkcP)NFC!y=42XsP1`L!ZOtYPa4770aW0vnSibX}cW`;Vip1+b
zDjv`M>dlj<{`iL%e*4nvufO)%TW|m7KYsbWpABAK938xR^4F&#dV;UJg4%fp^3s40
zR%&T!uB}Q$u$xQhRT9aBQ`)kvz4v_a(R&V6mxvQuEvwFA2aLo;TE6q#MTFNUUw-X8
zNxrXMy>RNS*Iqq-{KWA$2s6NIubmn^J2>#h8?T-`bLPU}`8QuAlmzckZ*m=CF&bd-
zfrLfPhw1`?jso!?I)yBN%x`IQa?MB7m4K(s(O6BQLMqA|o_p?RIDY)gU!nVn<NHs2
z^9g6+%hmt#^>2Ugsc#gIZ~o_xpMU;)-+KDLp8MUg7k>HEXTI~~lTZGD`U$Qf$USiC
zNKq@QlVKm16)`YoGn?Z~`H)v6vy`c+`T4k-Bp6gWFwZ-*7L=fD<t3y*gd?9wLgWdc
zq~bV81XFF0ZbE*Ftw*EOmD)h(0C8b2iRw|PLX`+HP&_IX@l`bTF%3dJe^exA<&0LV
zQL{88fl+Hf<1Cqo@tw8XZ@cZbTlRI8;KbvI%`S{yyD>U6bmbC`>*Ld_KJ-IV+UnYd
zs?xfi{oOzxG~z^Zs@U2RN@uI#;L?nWabqGKZr-XLoMkMfrRL_Q`WiDnRg|G{vcpge
z=dGm_Di7F=QP86qTyPAB(;_K;AS&(KjoY98Bi|Ii-QD=zjTQZ`h%fG6*MI18%8pYT
zN0-2FcM1G<m%wj#;jvo~&vgm>c9$TY>k|0wPJ!QUKXMaa(k1ZQ?arHiyVH5oZ(GT9
zC^@ZJ2wcE`BFiY_PEL-EQP;`Lf_`D4)Cyl%YRY2C73AiH1rR*&XayG2lsF`5Jdw4P
zrArubJa+8&zo&k|VTeJ0_H2>Xpsg{1DWJTe>FimK^6^$oHj&B7WDX+IsjOOGkIM3v
zE!(yM5QvJ2zPULthZ%v95wx9Ad<}xu0GvtI8#m(d8#iuv5?PtVA1$lB=d+*v>?c0)
z+0P>8Dw(3`4}EC-&F8Sxp95DF`ehRz`VcM>Zv}f#X-!QH#;h^OYpreS+OucRp+kH2
zKnoa^M>LJ<>(TzKt?AqjAG@UiGzH|f+S)2B5jl44*s-%sEUVt$g>T3~)p1l6PnWBZ
z2TopCcG0Ybhx@QH40MH{<O2z81&b+rE&4JREG1~7qAUWSypM2zMUzFs-BduQ<0ys)
zO$flg$PyJAl|gIPX>Hg#o1g$lbr;WGMa9${%F?SrmXzC~^AMS$G`tnXT+;0KuFg--
zCevQxCTHewk2(YTS$e-;B!NfJm+44_hQiDkN5yz6S~Dmq`In|9u3gWHy`v*QvR}VG
zIEVxt<s!x6VqQV^wR)=>?a$2OA_w9>Li<7_&Pn7%M!aZ|R)Wqdl^4<3Oe_RYVic)w
zOrlh|CE^%@TdM{lGO$^>M3kpkSu(ot?kbw(05Q@}Ppd50gsZBH>;h8d^fX6Fc&iu#
zOT<qza#kq<1cJgh<UsL`LNWw;99AMHlO2U@jEBNEDGZYXI;dtFw0u&S3M?J~cFKtF
z2O!?1W=$E=!c44^AFOS}O`T5JahO!`=oHvrr@;Pp3+%5GkK79T>lD~u=X=;+m%#qo
z1aVWR!2Y%h?5|#Ee>b2~<wY!l!gzWZ!rrL;kB*LyPr?2`yo2TDvDr9UQ9#ycTP}h`
zJ-qb~ufKVG6s{SK=IF0~{mLu9{`Ie4`0a}?y$1860pk*Thq}8t+L+_m?(Rz$5e-}(
z=9%r=92KO22r}2K)7jAhOnrC9mgY^czTzv%jl;tn9Yy~ftRhwLm`%;R@*h8Y`yL}+
zDW8u<_Yihg`tis2uCuhtzWC`!ANnY)5D5v^iK*$?XCcd@<k)AQZ9a(L=%I&s>!DkA
zb~U2QWHwh+?AmqkAeeP_^*NpUV1?v04RT{`ZFhH7BVh|6+(6)#hv`;I`~+gZe#jtQ
z5f31Uh*Nc(tP2qho$~N>a)y^Jk$#x6mWL!)Nr?e=s8lk{x&fA!mX%m7R3%4N5s<{e
zAhaiN5`#gb4hvN!=dG=EEiILZDWL_g-n_Yq(A#cqZ*6O$b^uF|b&1ue>f?OikLKna
z6|j*~BX7k{Ui5@OA^@O|%xHNz97|I<7$NH?;PHF`Q=zm%PT&l=G}*5gdF%LfPl3Yw
zLm8V{U7edlkQhp3Fdse4u^_3$`i4#^M{5imTV5_IX3RHuNgx<c<epIbAbEzT38H8e
z0b(E1I^ukWs8C4p*1(5C_ReUOw+@Xgt)}4uv0F(lT^b$5PB?U9d}b0A6--sT#OX*?
z6-O(9FsQ1Eke>F;G~Zt;k`_r`iLGoLR3@E?!vy=Kr2ivgdD^VwQRT)r*#s{UfgOzb
zH<>6AO?rvl(S$@tYUJrn4qhgM>|-|R;rq$#<(4C|<1nM*(Rt)1K4;4j1^Jni-2J7#
z7}@iLHYeQkwhQ*WZh_5h5$t&#M{a7@3Q_*TJrB}NaBA>7SUvb(B+{f$g+gmy<bju$
zLZORqs=^vdMJXtGcyTc%ElRc$Cn)%X=)XX@``Ylo|NFoH=)&ym_nd`)RxgxOrK*C7
z($Akex2E9MUj(m!zar6tNF%xjr$@{{$hJZzyZt_iafQki&~l^lZ6@rrx}v8oKECL9
z(OQu@sTZYM4a4fo_o7mXoA?v^wc0(XY#!4zU7*tFxTUG=R!B=o-hG$FCm=N}l#-bT
zKoaJtRAYNVnse6?ZM}g~NTCniZ8e!JW!+R6yv;Bu9R>#89=KHeci{Mmv*ZhSlB1YJ
z2Df7}3^@cp)|Enfv`i*zYN|rSr#D+nNEOHiYlXU)wu;)!iBq8N;Xrbd#y|)}+ml6(
z-1JdUo7{27E`)}a^^J81xAyMc+qadBrR)N9KpfTUqa5S&#c`@2^C=5!Q9M${kCs(b
zplX1^sa~VE;H6MQ&?;DbUqF?K@bIAOE|(WvsvN@bl^j9afqsH7>+GzoR5mxG?Nr;2
zLMd9Xo9n6p*1)I}SE`9d5pJTrix<m`(ez*nRfuaR@pt5MiSbiFLdicOQNMZ$ja!IG
zFZeN`yfjT`7?>U>rKw0HlfQYk2}^tN548DT5lT*&>dRNBLZR1xr4Ab@G6aUZ$;n`j
zD<gV?0QanT*E}eDlEddI{s5(xqrl_iWW%Isr54cUqh+Xloj-r>-1+MlFJCNveg693
zJ6NLUsqb(+r~(kS;dSM>vsU5@DvwXGjx^oplpTj@6_0&_z3zZuuM;wB?5kR5#=AwZ
z*WDu6>-Guk?tsAV_6hd7TLgQZkYlS-r&M@6M06!y0KEn|;xRNw35m5#tybxH8vC27
z(j-p#kS6&vQd1=-wb{&CrPL*sC^Z%yJ$utIk=!2k<n@TzaClcICKtc}kyjx!t>kI!
zcB;NcX?PsxXCfwV?Bk@}-7OVn1zf+`-ojT;`q0v-0n=7VVHpfr)1-RtAaHfIKya9t
z-Qnn=Ax<?i9+qIVrMp5B8Xw`LD3`A$GjN@W<q^L64<jQ@O?M*t+?GH0?Qehk<r_De
znhy73ks0!<h+0o0@}-}Cno~XZ+ZlEjWPSItGtWQAsh)oN=a&N{B8hm<KL_pyEQzA$
zA?}2@m7+?E$)HiUwvrtPEM9ltarmxE4ElfA<ZyJ?p`~gqvsc%3gE}W)T2@II_NocP
z9_T`{TCEB-DG3eaSq2;~U<@JwkreWFP+rD*r9&Z31>*u2k5UQ7s)UbI0aKPplEssU
zASPcOjU{Y03yI!DM7sf#W^$FzsK>bxr%^==k!P8o=Ts9uk<x_e9Go-%1gDyx$Ci}F
zv*f}d09g?RBhtl@Dij-<Diwf`QS42bf&|l^3ZBNks4}VPOcW<PniZ){9Qbgw3K`-R
zkxZfCtGmFVP?A8i3{*MD4U<Ut$6meyjB*GXo4LFl$s(wEIF(HnNf8d5L?R@!aniCf
zUCbZHMGB`3cpp+3&IF1AX$qO6R!&CZ6G#R#z}I1_6T6v81@&u%q>v=3NI{C7v<T+|
zlK~3-jEb)=*FZ&b30Krln^3|*)jAwr^pJik&Ehnf$qA{h=2R6nRl#%p`t`NE%3i^#
zs;jGXQsN7wGGi4F^xTjB4M^4Ef9@h)RhR>A7ue-afnDws#Grk!V8U1_tm*d(>{7TN
z3S&?qUUiqiE`<nidm@8(3P8<jEQhQ?rBP{grA8H-fu)Afq&TV$tic}BGC8upvNDiE
z<RrA)?ji6&bXEqJ6L8>`GPAW}Q>|GYMOkB-TI7yuCa=R+MOAuab{!o=7$D7v-S!fU
z?fYSUbyhj*%?0Rpswug-yaCZ*6Qr>bFPS-Y38KJmn~bnsU%3K8c#%x(F6oetj*i0Q
z?%Qs}Q{>BZW;<nU>$#u65^xheh!GWpDJ5;3x#I!YT%Y>XQ#ihtByDi18uJ47&T3pV
zvITbT=<Dn2=|O*?wPV-b!w*0F@U7IRxpI(JRdsh)+EDw3pf9RkHPywWu%$|u=V5Dh
zVr%7?c$7#GpsFO;03xv<;2o<Te~1KJVjfo=I@X$^5*q+sq;-XfDXb@=R&6huBo>lY
zMaqx<MbF~&*u=tW3bCgWIX3<{8|TyreJz%JB!`G{WrgO&68LxCo+M&L_)(y!!wtqC
zoI0gcOvv7%R1zmV8pe6aLi$jTY!k1EK?>U4Pf1*82+xJHdIaA(QFM4<WEvoIjH&V*
zU5L5V1RUk3$i+2j6KNOeZ@KNT2B{P#951q<7c#)86i{F%Ri_9kssob1nLy17yUDY7
z_iBxZ?4%S1(d=HLXoPDu3s4bSoY7=FnvZ*zrx1lsA<V^xO!_&EpQx{{Wrzf7U7Z+b
zC=a{jAx89_AFtQ9?M~ToYU8jAY{V|G5#bz8H6Ck6%xD+vU3P(u*adr+U9flA1$&oW
zU?ajgX1gFy(@G?hvn=-aD8}((Gobi#Gqn|FgTY);>(<JouN+s;%r7l2&M&UK0ZuG8
zbFilw7{cCzZfz!Ts4syDGMmkAE87d|RX20-8aQERMlZSP`1l^`8R{#nXIF1;U!QZ=
z4kz`kekaA@LEre{3opHN?C0NfYmK#cJlwm3a4LclY8&-guAl69Oj(5kMU2XFw-y%x
zhXit0ApD^z27ev(To@R*8i=~Jc}k<sFhqwKvQ%p5`nefT0KDQ+|C(Ey6Ia+$IyF|V
zN~N$<X8dw&#v2T-O^xE0+4-eH5P&k|9^nP_lH82RVh7B&%!H4X8oiNQTAEv4L2h;f
zv&n9zWz){BTf4V3xwRsh$1ftiB^)Uq;RR(hDxy%RRJ$Pu@y;L%OF-}0;~PNB#mzL-
zpkY{AS?>mMBla)`d@+(Dp^O~Aj7Crzj0N#g$R>vT4Nt_#7%^qUFBcaAvDnho;zr+8
z$S*2n6%)oj_X~XNA*`SMSU-mZ>*tVQ{RsKPg|W{e!TLEQSU(2@dHw;x`f)I-Iq-(A
zkiai8aKVovBtc)#4pD^R9s6-&k-7pJ7Jn3>(VExCGo>YvcPlNoa!d)Bb4`}g61PKL
zdg}7PrNJwx;VeG&oe7k#Po8}H<cVKWXncV~I^a7`J%cB~+|%6LwUIHNY1`b=)U>6u
zontnkP0`T0Ws}>HO*rf7>g(zo8tU15Zk5&{CddDE&TJ8x1vk`99l(?9>fO@Xx^-6%
z&s@d4)x_|XD;#s>()Edn(W_V7bkggjzRuo#_kH(5pYlHa9&{$2W)%dlanId%-GkpL
z5*Sz9+y<qYFCo+W9_QKvmCU2!PkrPgpC(`NJoEjZ{OW}lo_*@O9P{08{`iF#e*S~+
zx*evfJ*cSeMrp#i`^ck*Fb{V79k<_h`|Y4Qh6mrYskM#zXAI}GwmNFcOH0dZYFb-4
zMsF&yS}g`WzS5bj))J%M?ZCRjSxu!-)=VNL%|iD#hj0m~DbzWWQT&<=zsp3l8FgQ&
zn~6jqvpVjJa7@HcI0`}$w<DcW8%*F1L>Eg}(`d!O97g8K%WN`6N*IA9QWa5gM#({x
zMas>R<ep<Np#wU-RE7h95^NvYOwR3yN6M>f0gD6MLB*a!Ed*8E22H;%Ik7vXf>oAK
zd+<a65ND+<YXH@iiesSHmq<iHF^Ez?eK-{dUxGs{S@Gg3`yfyf9=_^dSb*aA-2D7_
zHU<PgP|mRxkXpJJ=$hbj=2ASP)$5=fuGVpkMz6%gw@l-96bcjbi}SOn9!{;Ed~0!t
zkVB&-f6b2$Dg+KZ!3oS5x|nk(p_zL1$^g%_wgO~cUyn20+TPmSTvyfVc8GE?dl)|1
z(8fjxuPMN4E6WRs7@7tsNC0m?ijU-niaUHq5Krvqm^@BQDgzWMz;O6TX^bm7#F>+W
zgO@L3o47Ro%zqA@K7IPk=`-(~J{DMnG(5Qtp&!u?QP}eXASD>OFaWV72H+bchf*2G
z$XJM6=fyI274dI`q8~*?#BtJMf?o`;ai#DJNPkgMd@S^D5$Q4v&)|$=eIzhE5l?_a
z2It#dh32}Pj7kxfeu;#H)|kG6ycr85uN<o5GD2nSVlb3cRb|!!BDb~#@Lj^U#xZL?
zbl5%1YwJ_aJDjrPa4p3{h~L;D*vFg#KSYqKgyCSPzz+%W8$E)3Y^Pu!+bQrvLZs?W
zfgciTqS$CNoA6;q0n5k}SX-T&5JU46v*n@C6g7j5rB2MV1uLof>oqy}o+`V=VzOA>
zwnC%EGkP6zo)e?j$FE#I@uFm5a%ye?1?X3)6A+ZYjc8F6@}LLr=%}%!IcBqSXG=>%
z%T~87>08Sv431Vub-B5su3_sAp9xlF&}&rPL;?>2EG{;my>=Z7aeBeUy!h6@;NaQU
zUUb|1LxXWk<Kd6od23JG-h1Bv_?JgE)jR4N>nqFu8Ka^7>I^CRW|Kes&!?Y$`lXYu
zJ%xt~pB4YxcfRA^Q}|@zA-4@P9acx<*6kfzTCsxbcHgsQE3v#b;z#}(@0lzMM0jL%
z`V-L(j*)9oyf>=lZkx!WF2q!u_tsdl-YjsvB9Q_mBQcdti>O+>=WRBZIJ)42hKHVZ
zF_*#gJ3VmevfD;SC?)x13WZt+i!)dm1<H*Il^Wvk7QEyH2~24bj1{R;M#{<1{?3BV
z^r%g;LYGum+e%HQvPw(2t*%{dLO0D^QdV9E#_fL1TO?(pMXM_?wop_K=3$RFk;oUa
zZd*Q-OXs4#rD!rQPOL4jEs6Zd+@cr+TE^bnuenZYj5IhGa8N1OALwT>K+@WV_qzn4
z$l%OqBw7%MS7zoXskMk7`+Yn$4d8M={l_FES)>(2(^C$f9Ol+GOm6KxZ~$kBLOclV
zb}$nVB~H(LnwUO}KORCVfU8QoAR>W22cU2uIb~FY)m5fYxotA!XrZ<7>o=z6mS=8^
zT{spe{f>pjmDTHL(m|)4WKkk90`cl<s|Dquh6<BjUs}`Pwy_CHtW+8GvA9?*lgc%~
zqbdlwv0R~sW%kn}9+x~FBU6_7q*%i-AoOEdl~#+j;4jEZ%bM#}))<>cWv(!kY0Y?6
zz0p!mmEbR*yXKNdmQvu>%m!su98=UfEw8Fxx99hYOX~#oEM!NlgFTbn?Y-v1D+Tsk
zDX`}{fj!p=;tKPToBccX$j$y8I_=Uq%pu_ViV77OfQNYo2wo)7bCXYMYikv!paq4K
zA<p+gTpPc9^_5qUznyyZNj)OK{WVpUfQpuy!@ZcuhFT(43$tl+^QKMBZRp8`-N08a
zL4AO|<KX^Xz1ut6X7_@qfT#F=OyTsSu*^L2$qzpA$Ok|92uIDj^$iWW&hG7m#;SY!
zjt|~)3-uUmR09n)SYKn~=FQ#R8aK>MPs>!C9w208A_WjLgdvtOv4Bwuq%9l+rf`d;
zL}x*V$gN*o%#}o9k$5~2NnP_xr68&9r{MORn>RH#w^pJ-D0Ay2lFR~$pveD9^h7X%
z%`?UN+KPAONj(|}*P(_L2lt%E9A6<4D?BqewuU%sWbjF-tVz7UB@#GdS`0^kPGmoJ
z3Wfj`3Cl0G4L86!it}@eOX%=>{p>|_&!8rXIwUg%NvWyX33T987}O<Y9gyG1RM^Uu
zs!|t8$H>Pm+s3VDH}5sEDpa=-Rsi;36_sKYIR(3daDG8Ju_~Nja0*tDQ?QDf1-nA2
zU=>y9$&9Yfs8Y4F81<co76+~iNLRHQ4B;YWfLQX%atMTuNmT2!puu1CtSl^$4&)4w
zmwZLF0m*A+U1{k@!OEq6L!8edQIhDYDs09QJ5|a_F}ZVb4x}YPBraOZ*|X<|2hX0x
z@cvuJQG?(sDvZPt!}hL$4y^p{@=DBM0TI(yU)NY)1#F-cY_$rxm=o2aN2R^o++1IU
zRSWCYYB0CYtM|4bAQR=2$sdNpy}eHA58B@SPE;2T-S>(6?tS2W2hr1!`h4ONBg2XA
zLZ3?et%o1J?_hW5W~8CjRY4T6?Drn(C5Oq>Vm2Q>+<V)dw*z8u*ZV*C(8C{o`27fB
z-5j#_D2lWuJ?UB1m`r-L6kJ?5Qa+!D2hbPAJQ1yvEyah|UK{#yKVB56V8wC>=OTzU
z>|`4CG({pwpldNdKy@esV=+pNMj~SfLKiftw8Tj(QC>&C$yRPO82O4}OmcY_XMDc5
zVzJd#ODIbE^^k-d9+|o^hQ1SI3!57)I5&CptF$6GY6~juTXD44RMqemdVt_C0miZ*
znHP%_$gQxCu_}}cQ1d|tM;e0+UL4nUPOIg#rO+7!Adif(t$7f~@sO**wY6A4^P9_=
zOv_}3CmshD(`q;B)s%(<`rj=Yuv$4y<MOiKACD4(>@^>%Hx=u{K4>O`=RBEQO%;ta
z9>od4<^*^WA~T|%ho%9la9UL73HLD>j>&<c75srq0eo3NTewChTU$HffuzUU+TzUU
z%=Fas0?ZsFix^lTZyl{IZR5<$Jl+6dz)mJuM$T7|P!0z+lMM6)@+`zi(5%Nl<Ub_4
zPl_;s#ZkKdxOwsPv@~YQZ0Q#VlN5+ANFVF=BeLT##Nu)Lk(+(2!$)rRu|9D`QiTUN
z$%BZ(x*oCIok!^7)N%3?{OpK`d_6<HzT*gUocv23efWs<IKG-8U*CD;CU)cSk(+(2
zc7gBLJOAYS<t)G`WW{NLJ}kj7(Yw~G6=9ecfq7mBNt%32k%w*MQeo(|(S;2YmcxYS
z$rTO(#ta{|0E-5qnOfy3$EM9&+TS(g3W+!5M_87r#6(<X)s#gFpAIcRhKMG_vc#I@
zu;$aK>Ws_*%8URBn5}bQVWF<_R2?Q%w`a5Gf<c2}@2;IYcL9NMX!ni};P~jSttgy#
z>^k%iQXf$y2G`IA)0SVZs;Y)fmYFqRgh`@fSyg7%qKRYXDaAj2;S2wiOg=d|+1Pj&
z5OM!f)D?XaINE25x35uOrp|2KZctB3J_C^8XZPY^&r%oqoxr4u=2zmJ=uw!z{96YP
z60NG8n=4$Zd|>|I!Gk@UYp}@M@TQ&4J$p^22EG2a+qw=MxbuAvV}jwKd+)vH?tAV>
zw!3~%U%;D=XTeTT^aWaNDH>Z=qY}@Sh>-r65vA-B1J6#yi_TyQ`5^HIE=qS}d~7rp
zo6f>Rs%Ly)?s4gZvqWt=ut+Lvu{h{^e1s7f7M+Gikc-f!Kn$e;1Xq=(CHT&$AUu+K
zyw~H$-+0~UdpiXWWII2H1^_~=l?$U|;}a{_d@w_QIFY30Ko-VGI8h4zK`wGQ>hRXA
zdIfnl8OoitMmb`hN<14GNPE{!7!}B)un90mTyloi5mqUXo#v<&?0f}R(OJmhEKq&H
zTh8)In(%}G5D(`P<tfq!&T^IOE+dlg`iUMAG27|s;dunS*<fIPoO+pri7<cSJ>>8n
zWB^7Xp<OC5O`+(Sm+7$&DDckwfcT@Ki6Nv6sdFGp^>}=N#l@w?c|QTFg)lx-JZq3K
z5ryGQ<QT9ea;zy#UMj_8NFU8Sylfgzb`|wyvA9{I35PEZ3|_f>;mnyc7q39n;iVTY
zjo=NATt59WHNasUA17@Lo<-icy1FtyKkp63z|X`e(Z2Tt$)sA4H|WvEfen(Dj+g`h
zND}l)S|v4rm0G!eL%iBA_Gc*_h+$l;m8Q!SjS_1MCmw-|aji!N?}hj86~vdqe6bf!
zqYsh6d-Vo{`QjbUn?6R^8|ZzH$e>9O8QAbSY_;tu=hrxNx;E72SWgIBR6|`=DZ~{u
zKn&r4pT?pWAvTbzQ-z$@2dXCCRwJ@>-SS~r&%XV3`v)0Dt-dycuEFgG`!)fXp-G^-
zdG6eWsWf&hF&v4sES%4bjzL$Hw`FyvG9xsXq7pMrqpP)bt8*u+pEVUGDKbWlbPFj5
zSri$#Fb#1VSCn#PQIkys-91Ok&SnJ`Kf75ho>eFwe|!(5h5Okred$Yg?A@$H;;2zR
z`qz&<@<_WSie6wP@dr;?jn*<H_GKw=GgsEMw-Ykfj;#(yds*3CckR9H{a~=@+GGWL
zUcc3Bz<vtg1-w!jv3^H63?CdQsXPHrkq{8opm*T~qOG5M>=4+0UV%Qx_i_7T@%{zs
z75ejA;gc}eM1Q*dNn*}U%H~h{CWbCvyf|=U$mhG7N-Zx_Sw!-eu8b`qH`mCJGaC#L
z5XEXn0|4Nt0&OtD;w8LoE;@VS#h*U=>@#n?G&lErA~8HH&7zj_i{HL+ojSv5<P}xO
zr5bGtm}ru?fjm<XRo9}t!SFW!wKHd4K7*$Ji4%YPBX}a7fBpy0{qc`~eC-(U$uD7k
zCY(WxSCA4nOreR#$}?h(m_XFs?DX$`iPGNJzy9?-g?}#GFLAqn{=fhC!NTLX-BI{d
z@!!V_pAsK^ei$@qIPa-7!ec38%~(MOAYSBjEYHeIVD(vEEe3rCScH{I3D}ht9JJI4
z-9{n>m24pPH0h!$Zyar7nT)_+<QkwBQ{YiarFfexod{;6pd6AX6^c>-0#?RnVX&T1
zoQA{Fga=81X*mSkv7Vq{<c*0`I2a=ii?>PYt=U8b4#neHFK89N^xzD~fRGbuy~%Hp
zd{oJUfskBWS_}*U3|+<Ew<F<Oym~b{d1HA*R6QKvr35}ux^B_$h17pcV9`Py^H0N~
z3E$IW&YMxgV}eTbV}gwFZv+-CMCv~#uxNuIYETF)x;;;X1E_dGtT17FtpN^qYe|Vh
z;Uh!Em|cy5ksyfnRZfE1A)QJf_(Yb)VVyyQ6c6#v%%|kC4Rg1_+~rIhOarSc$vh)v
z5hKS^h-i(fLfpe|OA%CHek~(0)FB$*+gelek=9m&VRRMMkMS#4msh0m$@ztRf~mBd
z3qhhcm`7S=1d>aVLJw`^tutYRdc!~1;2#Vc@96B@)xls+tI$FHYApnQm-^DYcbMO1
z!B`+j7UiHs!*yl<<T!fZymsuqW&i$d%_sxeOO06i3XKIjUj=-L5r}b<4QRKHoo!}$
zZo{G2;80Xbgt#c&N)?Dw3wX5Eh!0~ft#I&`b~Cm;RW)YB{K#MQLPz5g|NY<p{g?Lv
zBlmqmQ)T?zhyLcHA8>XyYx6QoW&7d7hxft*K}@P_Qy)NbpK((C@<-cD=?zb0d&+7m
zFLi8p_8$5xRf(Jx=MNv=x4i|Emu;PU5Az*u$U97x&6~TBu=n(IZvjA{tn7gY_8vyC
z^S}cSfAr%Izwe&Ix9->ix$@3U&5fw}Z$fD4;<n;rn(e^BG}J<buo~0Pjm5~Nv7xD=
zyrjfr)B}YHodvz#WG*G+TNYChnBSll)z?4n+Lk4DR*>bhafp#EOw9ZJ*GPs<5kxAG
ze95FQg?dmD%+#SMLIAjmBvKnN`lI)bMFWx%I-0?TOd=W^js9Q)%~@8hVG1C+$U!KG
z!Z6cnAR|)p+lq)bN)6&aqBVc=^6c#If&3qn5^WSltw5_JA(t^R$gZsTa;zK^p;43~
zfDj5r({PRI$_lZUU|th&bhf-K=LslEHCk(#Djx<Rso5+O1;;>|k(8MEZJ`+cBH|4}
z_Zq1Ifb#`pqN&spnJQeKU+{Qi!R6JpNHCturXzlm*+ejGfX86!8_O-c=F7;W8;;Q?
z&lF_RR0IXEV1|;4r6N+|LmZ%DK_<g1QZbxEm=J&nuKLAu%gc(<(QDUUxPV42*t>nc
zd=8OBDkj$3^!daJrmLo@vmB=fkOA9+e<c`Lm2db>8y(B0*V6ekYy_NI=t(auc+*lq
zwN-R<f!C%020}KC)QQwAvnj3yY@xxR&yN5zNMfg86s=5Dy>kfbi>wTUCESQcbUJ~j
z3<e|VEQKM)Ec~pE5I4ZnCJ?GZc^F#fxa6d4gIazf!Ef`EQHw0jA4SeX!k^D$7I%2~
z(iNl)S1%zMxIQ^HF}>mqqO_KbBW7D%LG=W$74xrPuxjMmcp!mo%ovAXwl$<Pu|&kX
z;#peACZM}cLy?}$tB1Va<wc~}v|eNq(Q>q3K#C?Sc>+LttWc$L>pIH5*C{&=H(ES)
z3A)EZeu!Oysym6IYT<Kx1wMC|z~}A~_*`LqML0DnjG`KxH>-5p1wPk~>sFyoV)rho
zFe*_DHd-O{5}e8b*Xl*lt6!te#}==wNDKfW=%j0L7sFD1M6^+f8xfOzXQ>a{_okf=
zqrRl1wvB?%IhGiQx5S8XzqKs8cK(?`25LR+mC7LxN`bn<_(0*t3hTDxk+btx(U)IZ
zLpy276OJoj-Nx!FK=;TCTLFoYh6BsfNZT$95J(c8@T^SwLTQ=XPJ)2rKlu62e}4Az
zn%8sY%FL=|_wL;-w;n`aj$-l08kJr(JAU@%qeqW^_3I3JE+X%h^S>XNifG(+><~IV
zI$0{C36oO>G>skbvJL3ufoHo5A6X3K6UaY9>wpIo(LvM{MB7U2R;$QJ{l*~$v5sS3
z-@*4;%Ukz3RHeLl{10C}>$a1vC~Luea5V%Xm2_w=hfD=SdZ=Vk89aZ8X3IM45|RZJ
z6o7&;X_>WFTA~5a0Y4f~Ho%=Mj4VZB$@ubk7T2aLZA1zP{mOppl1RJx106Cj--527
z&VaWPSGM-an@Zzuq7vNESO!;Wi}<JKvVnL&0~aK>6X9X#WA<C+g_M6b2+m>zIc7ab
z<_pq7Bv6PZfrLSAv~kCNuxge~kGyp(vbs9S;*vY8<+ulatY4Gxt>##hlHfK#u&H$+
z6tbu#lEP7Yv6P{PjTH-x44_7YIdHuk1KzNHHRhEIVgN+&x==Re8Q`51XkKA-6;EDb
zhTpHy>(I|K0(6Bs=n8BRF;ekdVf-VjP@Bqdg_@i4c^AXzjpZ7ZG~>1dGqZklIk)uo
zS}V7<ZO0<Ok8n@j&wWiSRV<~yp~Hj#iIO%BG0hx=hQe3y|34u3{uHXlPfE7m^7x})
zBH{{Pp-vnXD=qJY*EL%HPpoza_5YvM3VUU}&Og;xC_D0GouU@OOnxN@&yAi1ntdTn
zY>vQtU_6W@8>d%-&~ekmRwaabOp}{BH=m%?ZaZcm?fQcVGE$eO0)b?7=IS_#rDe-+
zWBV*xEt~SvgR=!fim`f4Zin%fr(XY$Gd{Y^4dD6Q9BNt1%Q;hJ(<bc5WrQYvTXh|R
zoubu>(&*H#E}(1<H-Db6fZtf~_)$!Q)q*|jjbq1=TBSD~c<_<dwyvGGA<+2Tt@qq_
z-+e`^m4t`JhAy34gt_Jt|MDb^_tz({j<Vt`td=Y?1Oh0yRMs{j?5M6G3NV}N5J)s&
zJf)wZb134)BWaA$6I>FINs$EfIty6a00c3lQlSc5S;-d8UK_=D9!6a-7y}Z~QjSCZ
zg0cn$yx;k6yfopGfiWcr<<X<|B5H5}<|r~S8GxE00EqWCPm`iBs)YSaMy8WgSlEn9
zqbgMqa`CLPq1VRJA-5gxAWB^V`hjuivgtgnx1-X@USaBR52=TKYf@g$Y^&1{dJA*2
z9%C{7l<~l$?K*0y=tHtzDXd6bSyHZPXsIyyaOQ(cljI^1Qx*q3c~F9rp<cPcVkDL&
zPp<|OIl0@8cqKGHgMd-oY&9$Q^fg=OaME8Lm?rRPF+Q$8ERyRKQkO<wQ%U+~R%>G^
zy|j{8Kg%F>LuE3Ph(>@i29pYk7@*>c#Q;U^M}&%+9RnU@HI3IqMVOU=+Xm_u2;53b
ziJ-Ab6kM5^AiMbzeEi4~5Fc~JKg|O%uGL!<V8@VP(X_PKEjmrEAc865Ps?oeSf-Wr
zP?9tnZ6y`x^OlqXK4FC^V?9%nLa;z4NOC?fC7@D_(3fG35~kLkUGIbQ+IR15pZsJ?
zQ(wm(q~q<|x8g^LFHhia6|_7*nbk4?Vvg7}E}0T49}<o3=z2CJWNzvc?96?FY)Gj4
zOR$fBY2!ldqma))xHI<(YN&mJY)EM1yM#8r$zejh-O*By0-ma>9or(R03u}&OV0vR
z0~dwTl8eAwMkHlhE99aGxEjS+&N?~?c-{m1>+PnhefJ##7eGnhM*wZdh9ovk;jf!u
z<@jq$Yibd2oh7F8V?74R62~TGB~)8A9l&236{#Rpvo$glrV<SPMs&+9x9mT-ALy56
zYCn`q3StJN``z6QHjM`JonQ<_5&@cHn;JaGE#}~)xvZ{2gLupbe40dZD_B{`?K|LS
zd5ZcvxzQiQ<#~#O=$%XpSef$6z(~G-S5+m3V#D|(>MadT?YnF_-d<Z-YO1UPn>g7k
z2pOIY`Nhs2Qgzu(-9_FDEhdc7W#Ge=Aqd255i&^dWfn1(NA}cM@4fThyE}0f8|xcT
z!NnJK#VLB!H86L%^Plc%f(0re!YR$WWr1iR1641#ePGNR33-MGM-U3eCNJV15z*=l
zDeO!_$D7kcSHd|MiYPjJem<Gg0{fBiXXe)u2#kLI<}^Z;*PcHH>H+_$pW`0e*~CB&
zCA@bKVsaWUL5%D5Qs4P!E`>5>9K$B(l9$H9Fy6&rSmc>s36|i3>nfY8tE=Jjlve18
zf&f>Gzx{tnd+)%wt}^}q-YIvwMl++{yDZ7Qo7k~zCw7WMLP$(VaTHPvDI`GH5Xz#N
zQ3|lIEU+vru$1h=5?VqDfrLaU#4YYsmTXzQOQVsdx9{g%$<Z}GmVbU{ENRO1om<X%
z>+?QuWNKs#A0QCUD#4|UcugsnNA@^jmo9BTH5hyAwYQF0`M-7L!aWsY*evKH$G`@A
zvjPM=S&pzb&7?~_R-ck%PeXj2pxuy&5Q?fkh6o(;N9P8^0`Sr#Om&Pxgkf|#JCmLY
z(0`5=GddX$Dw6b;#^kIVIRn@Q1IH;^)X+@r*ok8&Faw8R31hCM6UR>wiSHSm4e8}H
zg<QG><%iH5FxRr(_Uy$C`K7|SD=sM)H<(f6#JbEEcStX1lK@cSDcVcMq8MXROwJ}f
z0&Pb_am_t<tlqjBoqxsVtLHTT<_(qT|JBkaFW^Icb>}z|awcJvl0mWnVJWDqH3nHA
zYW_sae7#<?_O)0TZSCFrSo`bH@9Q;I`Ff32zCmM^YjMx(n-}sY>ojYBy~ZkU)~x;F
zh+s>zO2NV22n5PAIE52a02q4u13(|Vd5*MD8WvY=1y?GZ)ZzT~oS%xc6^{v)G<Uk^
zz?)+u6M=yj=<wY+GBonW-t&S#BCjYR*e_kx*ES;^$D#)6@80~=`Kh+zN)b46R4%G0
zUsT_;bj`MH+cqph0@qYjfL#ze#%S`nvPuRzxv^9FLJZ~la*E3QS=W{!8%nSF@b;^3
z+jaK?|Fl*5ck!_N^KDx<yzizRJ7|qt2%^d=aG+(I{`woJ+B;3_2)ypv-Z7T;7jJC9
zKyBK*{hI4<yne@38;OT(+<fKMtFPbQEIr^YM75Q!pa}NLZ4GtUE4890Rc?+4@6lhp
zNtntePtymlD=UG41SM6lWYx;Lowr{NNw!yK%EWxxCx7vl=sY={p$63GZrW7ZRxG2|
z^)peuJ2xYNAx2vn6dt)bW>}28c{7qIQJongK8HD_kFe-+it_Aj#l|?ZdMsqEZq(D{
zQpVD@(p=24sMal2@&872qNU>4sdqc@B8!x1q){!UyKTkqoWnyte`)~GX=dO;2RG{Y
z;n9>nFxgLjlnWa&+kKF>h7FkLrRf1gjLBV=pYh9Y9QEbx`%C9&AUk{T=wDg0?;M%5
zdV&*ulwW#vLne<ed+hYE#1dbhI>N{1@)Z?r#Ua6A7^k{DOl?9y_;4g0BhgSegdOh9
zBk9JCNQ4FQhi08oti@22bZBw!G>19e+u1+R+0}98I9A({^8?fa4)h5!L|rDC@MX^q
zxr>pVS?MukVefFZrLFkg0pbRM3nRwFAKrZTu(;M;@0>b(FrMhcoD;QWskl$y`SQdp
z^lf@QHz6x$L%Hm?eD$x0ldhKz*=7YW>Ivu9zOj$H`J(s7|Mulz=ymFHN!J<U0vhz|
z=FCUrQ~f?`Trpv+RWyBJyWZbwm)fKonw55zqdInK*6s}&y?w97qrQ$UMPGy)G;8<&
zVqn{$iDF)_S-aP1)^6=z1#@E8;Xi-#o8Nr?otIyG?X`Ue_Y=!Kv;Qc|^~iofkoKnZ
zwih&1Miirjbl!Zrd1nmBwTL`6K+jDn!C5CHgUw(4#t;kl+^KgUKltx=USS94k5IJ!
z+tcr!0*!m}-M7gBz2yfWnNH2J;KmG6X8-<EX$y;ELO!)0Cr_f;7=@^oTz~D#Qs#K+
z>T5|PT)S#93Z!xM6{zoxtConM+o}zS$M><kyp@nGa$p&qo-W=VX$0PfDP6%b3S%Vd
zRc(qCC&&J1GZTNyr>-KANxdeIA1jaDL$Y)?Z~4@e!GB6mnI5~3JjA_^sli1`aivz$
zn!R3*7iLk8H)Sx<#=B8E1ii;O!`eN=!y!p^N~D=#f9(=-#QD`r*CBP*EonqUH!NL&
zS+{~H;i5&2f}?TOa_M%jXsc1o0n^NP?rfv7Ef<KTBqo+#N+tZ1t=jF5xwgKwiy^yG
zN~%|U-~%7n(sTvJ!s5C*RtwQZ01P#YmLO}ElI-!CU{7G8*;C&9tSqN26kQfPM1XT8
zV6$Mk(@}qICDl5HoGdqDb9qSvewWQt&4F6;fy7!o`Nc@55;R>kQ(kXJbkoe0>akLt
z9=%_fE-ncMiIuVD6e$4@o=G?n#;iO75mu`cU0rNXA#VsLAa5L$0HN?{g2Lq^z{MSk
zbEBxW&FB#lF=-l}4QkRw#7@#Hv};TI<<OL`z?jJ=7;8w(;LQz5CTw%FL{Kvjr&+gR
zw)&7^8QOHGWhc_9MrRnz&NfM+Tq7YV+5Xy~VD*hokK<sBO@nI!3?Vq9rUXW078D(h
zOaP$0UR3b674hrRIT;BdQfVl`v;{|wPVcWhJHjOxIkT4uy!Y&RWM21~<2WG4&Yov7
zpFewoRdPalfg39OicxeDtd0`p)`*sgE=+SNf!#=$(lTE)xV>3vXYs0IyJn?d)v|zc
zxUppc<#1`GYpVu#XtcBzIj?0L+o4(MJ6aY{4q7&SPCwu7E8z%*#LOz|wC8f~i}E@<
zDTJ%6%yV`UweVZWP(y?XOCMAVm`xdr3q{S9orw#sAj+iEOY(gsp^1q;mVL<;FBLSh
zKvy@t^wR1pu+*27y##N9-(oZ?ld}<BGR|I@NNIN^(-_%2Gz;fXkw1?_!rTyPUWOjS
zjr?BjboDx{{wvpCv3c{RWos+s!nGBN`ei<u#63hqMhs-TJ=9xP7N3w7_AwtMncs)5
z`~9EYCVf|Zd|Cb+!4a{npRw$DVux<s6WhbPKISutHlkLW9oxUSc<3+Nw#}T8s-4a&
zuDk8F+iu*k<NYuo-MDq>I>BPGZtc>gqV>v#4Oc8h^0eAH59syj16)?%HhD!mlbX7E
zlqxI2<rd}kVl8LGTFX2f_g5Q@-Gj`(Sr9c`&EC^_l<!=)(ASrj2TyuW&)`rV6-PAI
zNTgMs2ifOh3CVG;FU6G}n6Gf8{nZxB{*!1*5a=0<_(Lx@oIizSe&|R;!(aDuRgax&
zz%BRFATE(@R+3x~LB^4z3yqWM<Om&Rfg_+bVkXPvD`EXbnB^AFusI9y<;of!cI6PH
zb6P2$7JVZ0I*9LqwfJ0|Lk6r8jkqC;N(xRTzqfLf+7(#p2;dXb4)g{j)~gi2#TP|y
z=|C@d$EWlu(7iq;l)4L(3&ADA{01wV_^S;D>SRVoC#I%=vX75XO^4!4$v72;R5oTZ
zkoyxk_tQNd?>tTQKc~azg!pk<xE@F-<fcDgu)V8eZVu^ajU)3<pJ%^#lsxUb$B$qo
z9yrxU<h(C4b^Z*Ej)40nlZhm~1tR9Wkr9ZZfx5`g&|KzAlKh`)Md7W@O1rvX`L#>4
zW<RLW&Ub6H^Ded%ImTTY?Yv8~W^dJ4);DUj^DUY+dy7Up7q=|LyBkabXNvbob-O~d
zW+bP{kcAp{>Vqt+1P!&LQ&d)ri%##gI+*ssZDuUOYf42^5|#FG8_PGx6hjgUuPqZC
z@HeQ5b?PPF$5bOIfk$RH7NQ@D^}TPu{Wf%Xk%_JsUwrX2275j3vd)@gGDR{jv1a3B
z94N(~&13WWED>fFUS7I?zrUf@%B>NBVTOCzR+QJqrYaOiMU&u>UtFJ^UAu%Q%cQGe
zYfLM8Tr<)={(^KWE;Te{r^hJ{9h{6KWRTry$j$tY8*`W)^a&E9?t!bMe}xTIJp8%4
zuj3+Iz59Of2Q9Z&R^D{a7ryX?2k^@OQyg*9A-H4oFqUw{$#^hx#~szllknN>?U>=e
zVJswaSKQ%m*i^^NE(RXXT4~yHD;!+6G>b6&_U82f{nl@!aqL<y(^~2C-uiUfM4o|F
zU(>LXvseVM!R^i~sz8<2RadgcSgnFQ-%s|$lc#pEX$YiHy_9JWGI^sjq6OiI+ERRE
zTIRaM$cv>7tUHL2y!AMmsdxy|a5*N*nhnr@(9p&tl-x|3b!Q=pmCTr&{)VA6x9wbK
z=W%S-@KlH^)HTw@MDH3?xYbcG1d^RVsS7z=uhXRy;fZL}q?@7RIse@Pl+kVrGj~Q3
zEX8cZOe~#M=5Nr^wSdBBryKpAp@umYgJzN$W6B8YEDpLTI)j5S&9Tzlgf35nRv?B}
zd<E%53Kbtqnz)z*w^4v%T4f?Y<Is}&Nzg?;U4nQnev3$s=Sb72`IA#;&yI_FnHj&R
z>QN{o%3vD$3Mi*W)lW)U=n1DH*v5pxp9l>48)ig#tr#3*EHH{d8K0izNWmO1hl8_;
z1d1QxW@*&xs}a;n9H&mq0saSldJ;gS!CM)L+oV`dQW_(%;bH_!NpytZ&-B^-ufF=~
zq0S!eRDb6=y#B5p+D~-x<Q(QOJlitqvs8++_ZQHAU53_Q=j4<;Sqi7k<)jr?kDmlH
zVo0&ddUBNNz*ubs5J>lrR)KxIyIE;RXsDw_BVj(GkuV?CNSKeZrNF&Epph^SXe7+t
z8VPfsM#9|Fvf#V#(MT9=&9YJByL%TSY@(Afy~|B)oCEswG>wuJK}5ral;Xi*M9oah
zL7odzblE3xsybPbebt#%WCnlGZntHXkzy%D|K*9MGbJSsNmP}Cq$_zgKP>>zljj14
ziYhGSg6u3y+-5ae@Xu)wke==pgjfAj`B!e)QddXk`Lt9j_HSeVX^0F)R3503jaQK9
zsc?H1uNH8kb%oL}bHC%<x^>U4G{;#aF(nPaoG0e|f~uOr;<B=Qp_)BTTb8>V<y~ry
z_nbL1GE!7j;1t}dGA_AQXOxqYjZkim%Ui%LBT#kW>}ksLj!kAf%a$#xub7=JD|>pS
zD~KeTb|i-=NgW<`uUd2cP3t#q-L?utxUR9XpuGMn<WRFK`07u8dg#!G4Qs220xd_O
zi3(DLvo0zX!s)lTPGCsW6P@q={%1e=34w)<bkm+adp@*dU|`!ezTLlaO%+S8YSo%`
zSI{nQ<Fy~W_0HWNzU@Q1ZUQ}h{myH*ZQQUDxwLA{npG=THa6aL)AgH(94t?#9VHFO
zrVZ=Yty#D2#v5<kdHohKHmq1uuZpPZ3QAuHLx4SQY$TZFXHKq^!|(I1OpDOCCEFy=
z1Oow)8lJ|%#uq0W57Ho|w`3!ypoD{rZ)PS+W)Kh$nl=MjdX3JUWfSH~V4}BA*ony$
z<(BlsosLPu?=@S8hoez1L|`j3BAM+jcj`xJz0*4kNpTqEKSmmeZVu6u*;7tr-EN-*
zmmnZB7}6KTw*ag0*BG)3b0-Kw_H`e87bAQ)8XxZO72L=(vK{@H?KyQS7*xN7pbfQs
zGjR!5#0I<)9tScW94z8CEf&2<mxp5twweu5#(NW9A2r-eVzAT#$78Yx9u|*HQL+R$
z%<VQyQ4FA&S-1PyRw?GIos}Gwf<L;zu2=wEIE>;eDNCFUW-`Obw0<d=pxh92{8Wgt
z9Z=*_wy!cY3A%L<Ov>SR`>A>uiO8mGcaEqE%ax~DB*Ou(p5BjgTSfU?5R)c)YA{pK
z<B6eyB89=MFBecaG_x)W#a|>0EgyB|amW`^W}Av+^A;iZGI|+I0a8#=Kusb>ap6J{
zUBtIC2INo}ikvH=FETdT+d~P|z&IxAG`XkH^awI<B&N?JyXhJo9h<?t<W3Md_0>}Q
zV$=yJ^we}p2w5e|Q&e7ADV!jAn)pi3kl8#mByPov)ByedMQOG7_j7VjX;#`1W$I8g
za!=97Jw+q;6t+|(o1|#uo}!U^ibn1!8o8%vEGtDL_mt)Z%SzG6J)IF<*`~8n=h?>d
zCF=8g`E8&gN4&4+cbq76n=UNsqtRy6SM&Tlztfni;+?bV?-})d3fbq*_>mT+os&?<
zBP|Ok_fKg2zprTgzh^2WsgX1Oc*_D_?a`J6l>4JC3n=%8TNV(gk7^|SqZ<G328}JL
z=^&ovU_H#uDW(-Nde!(0D}82s0Doa1C?d3x(_JEnmB|2^>FOGh1F3NLg|5Mg@la~E
z=Y*gZpY$UsBhzDeF(BRvw(I6uXM1}tdJ9-%gXi8jaB-N<G%(FZ=9p%afl0r#>dXM*
zdGO4BYNihKiH0~6zj%2NftXIe^wLXz{Nr)m#rW7?UVZuCxsK7;@EiYgaPQu|o!E)#
z$=*|Myz$2A-bpMVDoB}vXWx1I&313W{sRXN{?7ZY*N=o!c~H$x&QZ-qFVZG*^-ax$
ze7D?m&nG|m$$OLu;`+T8CiB#`9YD$+{K%a<Z`yR_hK<!0MQ6=ZM$S)Q2FYrA$9D2$
z|D=eW0z5eBwO*p0b(h0=w7xph-!ssE;NY=SV+(Y%MP+q<X$y?9|Dq#+wVfRO3(`p`
zu0BpW>?eQpqaVHc+cV2Paxb4=FD2E-C`8o<rJqT^A)EiK^aaVEwbNzO=Pt7yeBlI!
zG>0PJ<SqEG|9azWkOe$__SOHA<%)Us*@mlc@fLjk#<90v`Rkis`to;vd~AVk_I+D#
z@pBeF!)G6R?6J>YO}y*Nm-x9Iw_c47+OloueO!`He)3uzAo2JbTYQzj|1O;6?9V^>
z$Q`$SsAbPx*KOT#%{ABD$i7Z{ZGxl1Kzz-RhE=N8o?k|ktFovV8lClvs~kpvYok*%
zECkS+?Qo+_Y25Di-@y4#OA|b%C16^zQGMv7s1%j$);_T2Tym<J`+SlKVhrj`5-DF}
z%0gQxvvYZ!0htseN~6~+iJ=IoBWHe2R<;s1SFaKx*hz(dfv83l-{*Ehwvqt7!Bn!t
zS(ocAu(?VrmtMVbS)JRFNMPxi1Zy|C#^jgQ&|DH;jwH!gljO<4@hG}=n+3mgbd+;+
zxDsb)2k{r0>WWHjv8*faScxG}EdAbF;B@AfR5PopO7fkNNH`!e6M0P(bbAX5Dpp_d
zfzLhkfo<h^5qN4X4%i$9XE3b!x=8`i4^IxFASfzjX+?X7#F3^&zofxIz$|p88XiIj
z(_U@lqNoE8qCE;=9#04}AF@{3t?*sw%bAJs@iA|KsIeV9eSUNb*I<FDHWi{+pmntk
zy=av}BAJg#pH9b;I-46%7;PxvBpn}#S)?duuXE&iXi+lGVNC(Uv(?w<*x1)B#6<OI
zE+h4J=>&e7JKJosnIpEm$|@VsxO5%}q~a_?xL=%F5Z^C2If7UiQ5?8aE>D&e73F`t
zGc-Cjh4KuCQ^3m%k}=z(0&b9=HdLR-iII@)$t&_&sT(J(A58#h^A-dm1|l>z57lT2
z#(R<~;iMoQfV6VWA;AdUai|@8vE5cdkhO7nWlA`S!@Toy`&&oIdG=lmQI!tbu5LvY
zMo%_$2?d)rt!SvglBsA|xrtoK$N&b#$n4BWpSR#dzpW6%b;YtpH7;6>&zeO4ngF%j
zd|l&G?);KQk<G4a0=d!H)QF*?{>(k+w|Haz9rcBDg_lZY)GOi*45WkbLK_hV`|dpt
zJ+x={F8YP+YH4YfTCJs}?kwEItn8f9IlNs(v(hfjj|z>J)b{dj(rC#FwiVt%g+@zO
zXtZR7MoU&SFX)Vl<^}JdLZc<k8l9o7ip|2cI`8n<yZC$XASg;5D-<;kv15!1et#C4
z;^l(syg%^wn{+Yp>OiCmzFS!sX1V?>mhcrbZ$_`+FX^@QUL9>8;3S><{}w;UD&;E4
zpXtjyk(rd#ms>=?%vRVbbh!otB&uEje(J6eV5{5(?iKvK^;YRVDtjoCFcqv{U%-z+
z*tJ=*T}O{L&|;BvSYS-Z2Qr<Rr|KbFEL7t9vxqv^PA3EP`~`S*jaN4UwU;<0apWWZ
zEY`%SP;~YrfA{T^4iJqt8r9De)E+7RtfNPd{dH_|^fkysUVKq{(W|4uhoGA!m+6ID
zRiq{Z29Iu<zjP7`vYcqgCN7CyPlccQ`3c)9<s_eTNl#M>N_#!Y=tU%XrRdywm@QuQ
ze5evo<5SKSrJY-@4vS`fSTt6YMKeDvY$@i4MKeDvn)zYT%nxVF!u+sk=7;6)&kqBZ
zDYmuOh|ZlPGT@VkhT8P$m(I<!()&msTvuM+Do6~wpV+p&ReHdycP`z0tGqr>oRCQ{
zK<N#+mUJt%uzE{_C)J9*s80{gBt^+Id+o(XpwhqxQyR^x0^w*YQ$TM&Jv`JZb<ORA
z(BPb<bw{((&WWnyPR&*MkmjoF)?Ag{Y<VM=)?J#bvRiXiZqr<q+cm4^PR&)hOLJAW
zYi!G{8ryOSTFi#YEW!q&lN}=znHsp*KO6{+A{-|&;w>pSN#blk@CvXDOg_41sp-y8
z=v2_3OFo8?>Li{wJ!2G&K%B<e0sj*G+B_ocIMoup1$pHhoxE_ceecnWBPX$$I@01T
zsjm~EctG$_2-*^1(qZ_6y&N6=c|ZGBz3BKKr2YGQ2P~pfNSSqbzki9a--zI&D#F3Z
zVO|Z4(!E;ep^{uMKe{9&@Q9REjYnN66?52V)n`pOczrNN%HEtK#|X1^4UwKJ&YJAQ
zksj3-F7q!TEW7vY;24s6wD;@*Uj6lmE@d`0tys0@TDZe%GgRsv%9P!J8+{FVq*hON
z_Y_Ag+-GPH^7CI87$R@ZH~)il+;8_wd-iNB>uAS=KB}zW<6p99QGH!$VK$q%ip%Om
zqt2yUwqASP4L9t(_BzTDYebhH+E~^Sv#gRn>urLyQuNi!Di&_@+LbE@gyoA1C#V(S
z3(L(dgkY1{UU_L@u73%p$?SAe&;`RuIUnfcy-Q=1g7<JZI3n=u7s2Vb>PAMwK4!Y!
zr-MNEYj%TyYHAT?GaD@iKUsGvX;K8{M6VdVWt?TU#Z^#BUQTf!ubjeR%}6#gA$qrf
z7-px_YW$1HJV9Brd1baQPbQUxJ!5Z_&^2_u=6NJ;boiI>KVuG?u+<criwP!!((Ll4
zHBD7+dtpUIMF|H&LOs__ps)&PPHQ8*X1Hu}f*e7HLX<m7`738=GSlCm`+ho<INfrD
zNiY?*7W*4b2CLp8+p(KW9KZOJNJWA)MvBI1oHnHs78SVv7|-F$rXJB|^Xtqylh2R}
z1o|Rv0@dqwr-!7;Nyzmf?sn@k!AXA;XKu<$TQGF(ifk3sRtnVD_FShf5y2|6LxxJH
zMQ4&|gWlh2zTyh1l4P6S>NA7~2Uq6#^3q9~9Tyc<tiV7Cx$7Fy=yH6r-@k+kWdeT!
z4Me*-MN}-CBr3}2lfzA=AEhW%Fu{mTxK-3p>oZiF`Kx6y?=YQcks(GFCL%dbu6Zm8
zO$Is9bUf%^l9Q9`f&GSMY_dAtf>$ahBP%Az?1qGaF#~xqAm&g%e14*yQpu1%XTLC?
z`pU?~REQjICS6w}CR#E6)>tSjA5+7Xn&|Y?cPAZFLl<Vr_>@7es@6rHva9`2GAY<V
zNO<^LMI_y)gOb9hgL9`%pNPwPANB^uHWY)YM4Qj5OHPZKo}h&KY5jFO^%GCot->Zu
z$Mqu1ZDS`;F7f}NjnRQ`YSV{;degJAqVwybvCte}$IfP@9kHp78#FRji(9x!BV%{6
zrKkkhsgbceH8S=Fjf}lPBV(^?S+GoYYGmwEjb&2R;;3Nv%{-*q9NKGf)yrH-jJx8h
zT+p$Oyi!r>*eg#@kw+$(EE&A5Zigc%04A5J0-VONkk6)81&mG127?Yq8}a<oQhr@g
z5kgk1*}BN>$S-JIXJ%2qndzomDx5wS1lG8+sE8o?c>kp;fim0aQSPH!C2+cv%GRQy
zwpyg8z@J9q0hU7AY}9A#Q+9{2Sl0pq+yD%5!v-NeD~E=dBU!F&{mfVo3B7$s^@5lt
z7MPxiQTgR|qgRWDhG^nCG&C{Og@u)HTa_A9ytrgLKHO)TDR}za7ryw#&wcKTU&Qik
zt=zxAzJ5`8ZMCWI_^V)%pZa%2lmQ3MclQSZw#NGU{rlS>mQY6_9nPVCuPiUCEib9A
zUW`q(Rzz0SL8r@B8qG4dSu}Dy6664eM&*pprgBZCXeMC}g(xntbGY-vXtjG9uiLWi
zhP<K`*EM>|{ravye*Hij&7q-e2m}U$7Jd(Pjj`}TLl;HkAm<ePtCYYH>qA=5fsci+
zSn`*Z$U@9YmK?j!7B}RT>GItGV4321BBabMIX3J@D4lq#D=;}War)qx&sIKUB%~Dz
z5#OKSI?NKYv)f$_H?PoB?L3*b*N7}u$h>H^VNp4PXLh!&7Gf62S(dD6D#NEM3``D;
z8$#i65e;@!<Ut?_k!v1dpVmr?1?Mytxm1VX$<4NK$JIIn+7X1q7E2pVjv>LNuB~=0
zH`#LX*xtR#sovuPBb8@_@dTO(BY-}y2SX8Bhk;nql4B#vR#skGo=tVWH7`r&iAE+T
zX&&b<$X5e^BJehMY3GUo2>a!W*AhgJDH_C5(<vHNPEJlthHa(<=}l3s;K;~ejp1U-
z#7*8>JPa}Pvf#~3g`)Av82RX4MAEUtL?qP#G_)1>5TBR;dfJ*@Ae@@Iw9aRP%hhT$
zCLta3c-q`9QcUxG48V+VY&ykN12(m|e0fb$v6t|)wr0~)aJCF)o}n;j{^)f^tL3JR
z+aJ6!VlUc!6Ggf{eYSI73Qtw!L~dwN+NJsN{+5MEnU)XY{VfYfi5n^;DHr?g|Kfvq
zf6GFo?Em6}xS?eMDN(19E%^)f+hr5m0QFElP#ZLI&ZQEDcuJ9i^Cb)ec&}kxSRra~
z{)jC^rsql-+_9idlp(3546_MI6*W@r;>ATpXyCd_H4W1dYr1c~reQytcN7cpJy|n8
z)qAP7AvlmL3X_UOZNpH6<|@b<skXPbpOAR(VBaXgf~2c->AH%Nd`~Hvf(<Ye*5STV
z=<uGfu|yNIfr%*dD4h@zXWzw<nTS2hF(+)K+Q0ne%{M7}c&GgclO$T({J>|oZ(iBd
z{NRHRe(@Gj^>EWoR6bl1HT9m!*@5$CrjRjom1slY{OM5tL~%vwoT!l~9IyyRDXT@`
zgmOx&o0ip7SCm(C^2<SX)z{a-oCs+}t4)<PhGaS(iza>U451MO4)}niVp8U0jVOf}
zl})F*Iw^&qa_QY~zI?t-DhJa86HIU>-7CUHIka_~j+(O}%aVH~VG(*+Hn<P1HX&V%
zid!nlF~)svv(uPH#w4wE?<+*WsnSKN9U2OUg`i6x#OyHFx}sAfA!mhXR(r%)&UwJ~
zVkXNtCts|#a(P9SCB#=bicHW&O-5W>?_c87MO67B)k3r>GAXg(d{sn|wG4#2sEP>n
zcXFEt38#w62vxwu=o1hKBUO+r7AFfi+ngHhnuw$&RlrEKBul6gj7>!aaSLS<9{sY_
z^=g^KzK(7*!`N77CoZU6l`xTrM@O_Q;q#cYJ<z|G*-Y7%WULQqAta2rG3qc;3qb@o
z5uFJ{qBMZx8U|2YbNUMyhhSvn6jGpc40ODscuO2vw#8%+q!e)xT4M&zw~5Hf6Ag^?
zGb3H6hDIg>BV-Lv^om*vF+T+rlueZ~KpCud04Z*rVaZ}dO_9e6e_(h{%49iY+j|je
zy=)_>)KJq{Yl0QJDkrxY9MWW#`6=6ytM9n+&YN9@Ten`n1cFSzKG9L>YHJlJ%MUgy
z?b7_XMPsepqVWjt(pW2Zv#mf`-lDNqZqZmPH*2hwn>E(T^%`sCW{tJdkb=%7m5O6Z
z8VnaN4h_BC-OV$TsN7~Gr^l%v?7!%_h@t}bZxFU7T;YBlG%{Wf;ZEGW@d*`vm2I3J
z=q@SoH>3r7NGhTij@{n97cTtU;ln)3)148iduMu}3s>*p-qm}Vo7PMwWfuFS*xav!
zPsZyZ4Fq`OOoyuy-Cl0(-T#;M>;2BT9_+z@pr&qY{P2fiP$;<jZe9#cxoN*OGLllg
zyz)j@qjZ~>d?`jHiFCgX#wafY(h+>TJWFT<A8$<WT4q0e+V2>hz{4BrIe!EP@2<P9
zqRrZ0<ts&dwOroV*IBO@ZeCn<^RB+D_AZRLx5NR1IpBb^ii`a^xTL(Ej*fA_m&<d9
z-^Il{uGH-*e(pKHV^KND(ej3+YuBz@w`<o`RAu}J!E=7+u3NWu_2O0Q@JZLx02jfx
zeAnZGX6lz-0-TPLMZ(KlwaRNynWjYby)K=bn_pZ}g~o=HG1pjABhXs~4#OOJ%Q4q@
z+^Xncz@(c|AwU=$2-)P~HJaRJ#YphvjO4IF1Ui7~3vi=~;@81ACGKHL)IMa#1@t2v
zw>nA#0e^!D&&F!bGA6OV%ge*zDu5K}OiU>ixP+A6oy}6HEPuD0X+iI21BCNP0&%^8
zZir(}=!%Pr%EFV}p~<kjcujAwpDGZnDDr(`El&gQyBLk~%x0L?iFb4{A<P2P1=EDK
zge#-REr8)cXM#XflwE`02+kM<&I{Pu#0WuqIT`cS=u@OW^yDNjUVOc?lZCJ7;vq42
zqv>f9MPq}xf<goH#G+5(I#9T*GYkxPJxxvd^59_1wWyW|u_Y549N~@@<V&j2fG8$t
zgaM(SE7g$o`QlQ-Pdqztx}OqVDx`74=z={!{RF*$1&0+G%wU|R+v!9wW0M+GDp6>U
zvvIb%yI*?gtH1jlPFRj(222jVWT>C)<#6|8H(WUELPw$-Sc+c<mz5W~0h8R>8HkzO
z_*l-=OlQ2JV%`RMvPEe}2&m%=8XM#@EemMPuWM|OXDcMB2pi<{EeqMY&$ldO>z>ru
zAWya|MAkm5kr<!T*dRsC3;D^4miPP{HCxB*V(2Sb9@56ynZVfD9{9t#a=~DCcV=J!
zv(6zbLekl!>lp(BXU_cjO#+wU34z<QNV5Ut@Q~E)^*Uq0^F2(T1%??sNE(c%;64!;
z`>@|L$2fxonwYSN<{{a}z<^(>ALzSq>Q}Fy?H9nN-riSUN$lN=+$oUKMy*`>#V?vO
zpY-^!9!Ady4jX4`;5>rqkn}p=9qj)z9Jm^ank+>T6$lBl@MeXu^1w+EKife>s-weI
zri!Yb{eEfVmiH~K0~oq)6>4nhW@_-7ns5PzQCK4ILd6rWnwsvs^Pvasz4zXmJUZ0l
zXxdrBqOXwd^s0^08=EepxPd`GLfiX!f##Vfytz!Ai7eVz_5XbD2cO&`wMt(ye&*vK
zD(-8RzLdXv_oln<QpMTj(r$-zfXAqGQR+}1zjj<E?%3ZUuZ#PXzN>{i;PUtQa<YW9
z)5<^(1Ud!a%r29FsO(QYc*o5jZh838Ckc{$>f<dfpWd|#!MA2{!<<}PHYXQ%NZ;b|
zMY4I{S0B$fE)$F##&5VAtUlrWLGcVI1PjqyCxjx|vrEF#4&b$_uC_84YB#N@^gG<=
zU-;8ZU&w6;hi&0;V=A@!(GS<Rf#s4mQcq<qbn4PU3<w?kc5!r5Iul2<Vq_R7cSZDx
zc~M`<>)9-UaZJl*1?N2*o^|>eItv6Xh==SF4cdtLXA4n^*O63XU!-JXkR2F6Rk#Rz
zAz%eLNjPqEFiVp3Jy=;`kp-;Llx}E<m6vl>!)66M2x8a3cW27!QFy}^4j@pf2Eq((
zCqlPe%I3SXiWk=~;cJV`>_D(xWYg^ep`}E@>j^<j=--nzrRA~;!eRww;eaZLJ;i>>
z95A_ybm90!(ziSm8XiuKkF!8cnY1tj(xR87UO!G()}yD<j?>fBmB1|@7O=W0I5=G(
zgiP@a-#Qr*5I>a`2nE2mX7rGQ!G`4bz=lC51d<6f9=;^6{Ze7TwP>wVpBbMZX*JkB
zF_AqoA~^Y!Ou|>LNYwBvw8%Pp_7BG}IZmabBG{FX1=@ZB+yZQ!R)~R65y`Y#Uk{0p
zxv5E@YfXC7oM87rj*-dODA$U*7S*d_Jv_+Ordz`-sYnhv6bf=sp_v&1f<`3080boz
z@fpsr2kWnQFfMq8C?pU;!U(BNUshU>|Ia4UIzn=S7z5=gLRX@+L9~JQco5iBjzGGB
zeGf{BSz$y8@XZI0cl91S^6rUKtoqKw-Q6_b5`j1hDbaWkSIy~$mtX!hNY)o$yG%3C
zr=5$PNu9sIm`)hUQim#FrxmIJ8JqSSP!~YZJTPZOq5V+R1q79<x`46BVk_LVBF}?~
zZigEHiJTiuklgc1`m(&@4b3#Zer$D<<2kA9tCG=+$6vm*H}q3U|MfXf_vvP(U78=y
zXzbD-YV6WqYV6XVRY+16cIh)3yYyL&UHY`fE`3^Km-;nY=Ia`}w4!A}%P0$4M%pYu
zpIkdT<&n(SOj5NSNZ$^%2QHrKI19|~LZG*&`@*=IvVeVol*M4byZ`iPH}~LthyKVR
zk!3*PdjD3R2x`PG#PQg46u@Zaa=kLD))%N$i9`O)qAda|^KW&^p+l|Rum9q=zxnpJ
zzx`_WTW`Gf>SdZ`Z}r|^oP3QM@mF5d|JQ#??Hq;P0J+!SXcj@M_%gP^nO=%clBvrz
z%t^ICL8Vzd>@WBt<L_vf+i!nA67^|RK^r#bmtjm4k7r;_d`|j_csMW9J5BDUEz&Qf
zrwpGXN=GHaQvfXfr<K?TOotI@BQMiGf~Qf09tBThNisZhnI5v8K26;I5^v)+IbSZ|
zC*S>d6wpnoxxG@ZlMCf)xmI2#H>-~ZxkP?IzF)pizR!7?O2PuaR(?{hk!d<B9&}2t
zmAA+bwKmI3Ab6ZidH+AUNsv7@t7MPmzLLmD-(@<g@VVzS<c~|25Zs%KT#3~+hiMam
zBQY=@MRZH`^!P;}TelS$%2%bY+1}G=YuE0&UN!Q4T)nSLKUN{&Ka+ka{Yd(uO*Qsa
zTYuN%+ok{Jy&rKK#LwG#Gim8PWwv&ew7v>gsRlktPjX(9Ve*@5m~6TEF3D)1VY1$a
zHUqximWNR8CyA0klp(T=W^i5vceA~Xh2u#m3BfF+CLnbU&82B{785}sSN3Q&Xmk8z
zS!Xtq52Y$O?IrJhneOrn^2uU$;IJ5cC6EDJror4aQ)H-Qlpg=)Gc*$TTlIz4peU>Q
z<ZP>;oss${12eOi>9O*z^31pazg)5D^IZ5QI)&15PzIOjF^;3U8kVyB0++>CLcz{u
z+N`p-7pG{B#<JSKnR60es~OpVuFj}!VGY0=r%s1PA&kTu7zHOzr)JgL%|ry~H!xwF
z=qENdH8nb@zjy)KUSxwz0rllN&4L#)EFw4IxDP~`beV1os--8;sQILT-%8$R;*wrl
zGpE;-;bBENK->Ec!F+h&AhZBSFH>;C8;AEE=@Ckz^VA{fIj;k9Oj-IH_10h*927}W
zi#jXuOfJ)N7u4dFq``^av-+DFaZ>SM)FEQC>T_;2gPDBEt--}%GB=(%d-jq(6v}X>
z{|v22Pn<b>=<s2jE1?M^Gtqa?be%eURunnOs6PW~C)^$*g?!+1eDHe&<0wAVUfM?S
zOEMu<BL%<xceLG0FMZ=1|MBnN`nRuq<tyL(_O{IDczizddFN%y54Wf}^SJ4o-+S)4
z=f3}~FE?jC*D8I(E89$TV7R3JRCh@bbdFIdFa|+qiNRvKObf;;Du@hRBJ8wTC0VI-
z==EF*J%0TBkgQYy`1vPG+aynGtBCV{v{`AF=Es8??RURM`+ZrX{T^o9MQFc|X|&&i
z8twNnjrO}=qy6q{UdSOmpwWI+8tqru{GN{`t?Gv*dA?yRRY}x11=F#>SP$Cb)cJ!<
zpT3K6j56Yz+?9+1j_@oC+^e6Y&zn~^r+hWs{!A*bkR_RA$V6u1`gjyQM;}uYtas*Y
zK8W@X_*d<l#Ne6hF?-?snG@%F`V+y6r{9DS>iIwY2Re4|>$9wX*i~6KX&X&wUj#RT
zsd0V+I!`$}?yVIQEuB~_XhMq3nW=#pWp-LE%E>rfh56a#E7z|NytUtNXcBlc@8V=~
z^X6-J-n?sf%SZ0K<IdfCo_OMkNB8W$?Y7%CEUjYo*EGP(xqd|xrL~)+ot%+_29{oV
z#_&|7Ug^7tg)|YCXg;4q>1tC`MUFK^PrT_7h_Xscn*8QFhdCY5$aWVDL|;NE|5W<D
z^s01(V9yz8zqAi<;~}Y!A^{%KtklCNg0s2Z@r8S@BZPg!haY_M$tNG$y-oe!Uy|BT
zj?atJE!_ZxsN83sJ6)5b{m&3*of(lztLhgo&CT3>_x2@uvDvZS?stFv+;dwt-R)m_
zZ9RUW=!v^=;~l&2|L9|%`TUcge)OS_ee|Or{n#Uqang5QcQYKxw|(&afatHg9$5W$
ze4uB&D~Jr03);SldaeV`;`+5Ja)9P6q-0C;t!WRS2grSkE3g1-YASO)G`6(PsVs3T
zWP{0_1+4F^ly7|Nz`3*I;qYXe{*~5OyPsN>?ZDC&4Rj0X2~MUaJUc?uF}T$LrWYeP
z966$THZ&{d-s~g^f_!nau_$R1>Xj2ZUkyu1l7oUXi|%WRMUF}eg+X*}k3$}pqE&c6
z%5(ZxRpg;XMAO}6%V=Dnj|HdB56-5n<id;HtMUGe>QdPEQ{#a5qZ9qW*_!Y;j5=K*
zARDh7(R*vfnw8|iUYvsIv}|?hgR(_eT1r=#$m~=w78vO5l^aX_s{$!Doa@vZj0S?k
zQ&U-av3Q>dCyZU>WCALpMQ;#rJ)OdrjsRZZhK6FIhp!QMlkBT>R~3+FaGUiM%qHm4
zsTL4r3`UFDXw7!J6JrzpRYjutFzyqcOBP93MW0!{rK%i!XF_o<!e@0Cm#kT{rlC~8
z5NnqsjTAWTz547p?h7qEpQ_AXTvEVi9;=ZM5XC{FtSD(OEiH7~1$)|zZqP3W^-njV
zeuf4IdciRhqrON4{lZ02$be^qH#I{VA3Y~-zywiMNMEA3DY8B@H!(9AwGkb)dEoD<
z@uXfU49y>WBu1Lz*rKsn|Ede30-I@KIC}K$H(veIi!c28x4--C?|$*aAO7&Czxw^l
zFTZ@es}H<M&v{X9a=Jq(Ft~r11mQ8964{!5sxqC*E8tdUStL=~JQb6>yN4k7)6@9F
zT~bjoJl^fM+a!lN8~JLp+m<oebrSlA1f|ojcNS-v{a?13t=VOY-eNF0@~q#Zfc#(e
zm7B`5f2_*ok2fprh+1`gUL%(u(a7a*YUHwDRu$3mk89-e$2D^K;~KgAkVY==(a7aT
zG;(>7MlNe>lGYqPcKY1O<3~@PrL>^q{J_+EQkvJt_r3m?SK8Z2RB;(!e(U6kxnAF=
z2sC*}lO(z?V3_nzs0unhGbgCMG(2Z5CX<4gyD-}VbrsTmsH9|UWYAyw{U87GcR%~@
zAO7zP?C-@tALxEhR`dF~uW!wKG4o{R)B0Ag-+xu+vzf={9@eM-_ou&78;1WJO5T6=
zl0uygzxFCD3i~?@=tSM@;JoZEbd%gBdjlK%iWQaa&d%V$gNF{UUw`WOLBD(Fjx8Iu
zUv<UC^<<8hR~M>n#VdsL=Jk%2J0JVh{r5if=%<imPuxf0&#F~O?2XdnUVK?Yqv&#4
znM1KX#3M9z74q9#I4$5z>Ev-53?1*DaM`7$OBXlcM>H<=??6s}A2a*&lu3&ykw5Fn
zM<0FkV>{R6%!~6aLLlpS@BMHe9Y>0XML%xo9D%J_fNZKfN1}HcKK0lmk3Omq-*|uU
zQ0mOP?|I;X2d-U$q)Mf77tagx!tOCHM>71qAA;X{`BZI@eE<FTwmkRT_Pg%)uimk3
z<GL$1U)g*Wfb*-aSkv&HIOp~D8*bcv?}tb`?xs*`&xe|~UVY6qi15vb@Nam%g)()N
zh=lwCDpbT35b}IE;@qP6a+1+Of#-^v3mp<R6Xf!R1v!4oG@Gojo;6E9@~tT?D#$A+
zrduTusG`Cg_>|^_ws>8(sJ5=Awz8bQfOU11rDer=c}$!lsZvnt!oMO~Ou8LvDU87+
z#CFE$EsV#A?HG*o51W~ZC7@(QJlg{SJ0Yqy>sBvqT(;_p)yn{wtXNu8_@3nE^{Okb
zzvjB_JGO4VN@%I(wd+?kG$5^4k{g8u&T6U`5Vp#~B%GmXB}>TegyJm>&k#p5na4%8
zW;$9}Ob6e>g5KWzydwXa-oBxcf&SjXVS#DG|9($;^SbXs$LW)2apO;u<2`Y1aDa`F
z*aP%VhWRxKaW6ZZoKay=NwS%${4P`!5wA<Dxk($*9WtJx8Nu}Qq<>91K0VPh98QWr
zkI@iJzbC?ZE&Ai)7eTN}_-i;ZPCcf={sY2}vg!;IqM)<;1ldLXRPUS&$1FAYa#B$W
zZQ;mro|!;|4~-WWpYI*?J4eQ-9UGg3PAU)xhN7vb%fxX6MtXX?&UN=(5bb(s*dsKO
z5Z+VLIj=7}E$+umB%vbW<{G}!RlAU4Tc)hu$(?Z6t&nKV5SFspppo;hd3)cXllu>z
zIDU%IS?9n+>^)h|>vvxG?T>%(i(mchxu1yf;@PtuXU`(Ok5Ps!LfXj-bPehnoK9za
z`q;D(=J5${p<BplgQ>n6W1_qu7|C#$7ZBnX&tq2@WwRh0Qfn>=q7nN-E3+&0my~`A
z%oz6c@A2vWI2TR&QnS*IC|1W$G;;e{jof})Be%c7mUYPOuW01<S2S|_S&iI&MkBYs
zq><ZS*2wMZ=7nfdk;b0h+&ig})R@c1PoL}VI(2~Y#$R4<Kd|qOzr6U<pZ@d@fBx0;
zZ|{SF=2X}Dg9pzHpQIn%xdU(g@>jpn1MfVFzMUmJBn)hCRY}RPFf-`t5K+;wnPjf8
zwk?^7V`n-DFOE%yeBfJU0ZpBPa3LNJjF0$>-tN)}aqQ{;`Q`8b^78Zan*Nq|3l7p3
z^{wCfSKl?r^^d@>E*=kNK9%`!<`((cf8DCOP@i-B{N+D=``f=d`m<mD?svcY*3;WE
zAIjXGxhr#@?%$*zafBl$=B0bp`t?WN!3#Zl{P?6Iu$rl8;|i>FSGw~jzy9spZ@+!2
zYsBY-SwlL0{Mh*+X5v`)+2j7rm6WEydyq(6dF9HLP=RgQv|*WQm2bQL{kPn4Bc}Tv
z80J2)=Z+h1x((LJTdv!_dDGg4TW)~;d;5(yw>+%hbBA<42a;7bFZs#AR@Mn%Nky>@
z_^I1qI(ri1VoIO0YRf7jOeFxSoLI1wE*0fCkR7hFsye^<+A^*1mmhufs(GvYS?O8j
ziyyn=VG<6vqb`0b{Yv^X#{CO4sC-R2CJo52xXB(VA@!;6{#JTZI;B2dAtEEx%+vCd
zw_h*4LMV(~@%X;_e@{wNQonQnlmDWy5G%LMYl))gp1bbWd+xdCmhBr0Gk}d`OV-bR
zNCx<vvgDIwrwczp;Azv6Vpaugx0zdSeczH&!YTDzci!r6+R*f#+SsuJ4bgn{j%#*o
zhg0OXk3RCmKY!+*9((koWL@t2$UXNz@|mq_vlFl9pB}vL)(`C5@^MO~9{czsdmeaT
z&%@}I?|L_<)3!pPO3Em3s;Mc;6OkEDPGNB)Zo-CjRdZ=$0109gy5OrILal=xPjt6*
z1ErGPF2cnEq&hcr9)~?V-J5gg?y7=VZ#cZxZ+z!#zd4^w`Znikl@9u)q%hZ0P>RN>
zZdlw<S6*4aNDvD(Hf-2jTMk~v<8)S67t-IDQB}8b-Aes(dN>QK(d?LW9lYS}oNj_!
z4u?}wF~b=h*5mYaQgT$}7jPmDy9jrC0g8bOw^^75Mw8X<-&|Lu(MTwtHOm_6maK*4
zWy||--g)iD&DY*=7drR@H$L>~?Hf^26i;l~x}vZ_Xr|_CKC$O+{T&;mdT}UOMf1)D
zIqH%su(*XqB{mgdEEy&!0Un4;`ByY8K@Jw?3#o?#E$8Q#<_QWEn=>chzj-Pm#3-4E
zp`kg=Gz4ezAfVdwBg3bT27+T#XZP;id+g-F1D)rQF#}^`7cUOY3;>iI={|Sh-FNjz
zFj-g`vFUl`1>{fI^K@CCj_YhbHv~e|M7iCW*`9$xU{lkxQ6D)buMM>^8(~?-LNn9;
z%?5!Op7TW}C)s%{ZHAv6ZF6yC_{hGL5)1bs_dCWiN(8olTJR3e%*Lfjq5go>j-AtY
z4@!GEj&x{VvDu4@rv!TjwNXi15x_s$<YeO3m?MK{XMH+4Un3}zN%UPXBfL1n$k3pF
zGu^A_25bjG;scCeNC3bm$3}+-X@fi1k1~Pec5IZk$pdQP)%5JJ2*JVEGSI8<8<hGv
zj5#01knvXGq6qwR2wzeX$zNu?=xjxfWoEAD6Sa7vW&rRJCB{4<GZOZ19t>;LAZL!w
z>$rFha`Hp(y#4y0-gx~le|+IbKl;(nUikCdZ~plYfB3_zf8BfJ*s1PU-vnp4|IIgF
z`j!5LKT<8j6bX$8wP?$D?G+V6eFPi&hQ}jP%2!MCoGK<pR%-g(;SRhpN=(K4Aa+N~
zm}wE&m>wDE6BHBQG1)wsBj-j(6JJB3$zO#}2Osl0`hi37#1H5c{~e1g6*gwR@vEap
zW_}2$;ya?J=3D<ZGy6Yt8uamIr5&ZHj>k0`^q(~v^!qJ_3N~mK8$D4WNlj?b$2A)C
zag7H3ltzPoLZd-Hq0yj^wJabHn=~4<PNPBB(?OHY9yG@j6Lz5c1fl-n;f@ZtL}*@{
zn!0%A*pV}5JI-Ogb@0*Kd*3}Mw5#B^hv>SZ%8YxjQyhxmZ?fsU6p^Su4v1^XMha4y
z!opma7uFUL`6S0^EAy{EedgTxcMlyu-HCN`cK<8SJ@d>nhY!E-LIgxA&T!Xjzx?s{
ze)+2xfBWJKFTB7<PyGwQM#igDd%2LcS2=~NYcH}_q4jbNUW!Z9A4f$o>NuIg=~=O&
zq0(y&1VohxG#q&w{mxH+>cN%=?!D{wYxqy=w(t7rR;pEb<Zs&4+>8}U^WTKMqI}sV
zdW<e#*WBE^eeQFFcPpMttAcL){O4&pPgfPGNjO5b;h1Q6KjxE#KI8{RD=3jnDN&Ph
zyl;lMyg}#F>!t4Twng<sbJfIy2>l9YZ9cNAzN>kmyIRJ%kjACcQm?dEe)7qy(S3t*
zxm-^A=c}d=mH0(FuHMruJ+1%PLmzu^r}S0v8IKauFvW8kQq_{P^_;o1`+)<~V46r9
zJts}fkWt9QzVqGheXn0qZBa#j>7*>x)`){(;K<L9xz{4ltj3*1IjFAu3y(kYiBEp&
z(<rZpAHHEzSq_2(me{3hmp3)8-t_RpsPSjXn|z&g)sI>$$oS{y<(VmKsgi1>n)Mz#
z`;t;4xC8F>%T{mD`!2O);d>j|y**{O8Yo^76w$hIGdh)yW7k|$;FUK@>qXBwrc)x#
zeK(jb*#yc=rrcb}B!oV3<X2WzmJ}C3l#X*orXe@mB~)k{a!nVpmJ8#;VyDxU07xa$
zYI&b1@pH_~i1XFcEOM5nu3o|B!=fdR5%2Y{Cs!~l4q0u3>dLQSPPtr-jZjOtQ5;2!
zH#KiwyJqEbP~DAuv}#Fh9m)MBBds`H2M_Lh`yv_5AtG7=Kov=O<sO_U^ps<8gj|f?
zp!z&RgI=qBuJ@77JbTc;9>*y?F*-Jk+zkdNhA+ZZGzE_Y6{$44OHx64@qAz3Aej&W
zyE${3USZg==ej9V<2)~Py}6HeSY085&^3zem4!Cq$6=#q3F%N3OX;wBMcZW`34fib
z*IzKv*E@dd^u>{YxaXt&gr|BknZZG$(Ob%;g?wvb9Ey(M6kbzLZ}+*gU1tf__jN&Z
z=X(3?y>C7D-#_@l4_@gnr6o}Dl9gV$h^QFKM>5cgm~ayBIw>p!fIz;%nT)>eU*FZ$
z-Ph9t>R9NNv7sJLK%mOSOydaXAu&C{ZBo4{KI-f|M+ft+u5&7)h)$zoq%1m>D=>ph
zCrTy~`g*VnCS8`$Di*~n0Q2lDBiT)DHPt*5DL;`i5ktHbLrizxQ-`klM?d?`FaL1j
z#4F$V&f&uXF`*Cj4R#zpbLRNr?|kRG-~B%0KY!-JKf2JFZ>Y)6NEJNHCi?Np1^_L9
zOT5N(rox?(tdoO%V@x>MUo+p6<fo{RA(;jL5Oo<KSQCl7<=>GqUz0a4X|s0heNE6O
zpB+o5|Cjh=ub-@jmG-5~$K?<GFOVSlzRWyo?3QMwU78>N7hl+?G#;4X3u{1s{Quz#
zyH(?Xm1^{d)&pyp5KSLZ4qZb@3_2s6orwfpwflPlltT0~P0wCDge^0K_3f>h%EV&i
zCoUx{>}FBBsyCuL7V;UfwuUnzfQ<0}!@&s9N0S*a%FOuL<L|VeXTraOclDdszKb>R
zE)h(KxGoUgCKVwF!^lk(6l52(Q^l&59IB~{S!H%6<8N35%qN0id0%50WjwSfh2e7R
z2Y20g;|Ffub^Cpv{`99GzVCK=1g@2?C)(vGip5Ah%;zG&ePJqDT%-M(Oog@0@ZnLE
z<~9=U;?Zio^D2N}*W9w_@y8#(nS}kz$nF=UUrWEkgJ~y8aY1D6knaIlLidrr;30no
zb^lXw7Nr{k0Wu8pDTmR%?itR)Q+M>uOBsnpi<jnc7FU+Ax{)~VyYgyC#IE1I760sp
zJ6i62;DP&EcHeo&9e3P$&qsjI-z0rb(1|%JQ>iM!Gjl1qupFP_ij7TzIrLKQ!A6O&
z1FZFX!(euV!&4n`OX!ui&X8%CYL${c{hMEVr@yViY(^{)i}E;<#5;nNC^C|1g?gEI
zOcJ0NLlLXb3N11k$N|(nBWOJ5QVG$N==x2S-MA*xV37R{?rf43T<k@q38c&T$OJ&2
z*|aV@549W<h^>6bD)GIP?!q=!2niNhg88&TU^*rmr$hp0MVkgStDp<YCY`@w8oI9}
zlWlM!g^5gfo?{%G8cRqe6^Y12zGz^C1`kt{(Av>UDkM_sW8BXe9APlm7$Hc`Dsq!3
zn9Cp}MFs&=FzTxz3@|OHIb`6DNb2tK;b>~{3SH=es74)3i#Q-HPN^YpvmrOf=hFc(
zpVJAM_gu1o4EJmz-qtWHFup<*&O`vlghc65fQC6Nn8Cq;USVhVu!}*J*19GY(di<B
zWbab+U)-`(g2o|WujZ2jskVl03#W@|a$F^a?7MiD^y2<k|J42lbSHoKH8G_B{q@U)
zjZaE%dI_S2M~%jzalD;N!G66jI~H{2Xi@>tfx|5Dtc8}{SsrnZ^<So%`Wq7F4RlV1
zuYc1*OYYJ}2su2aFH`*S4awls=hisQUsr3%i(8a-#F09RTNbKr%32l>uLT;}mBW^T
z>#(?G0r6VgqI<6kYjMj$)lE^$0^+r}Wg#0|tg(HqE$>B-C@(_;AocZ<L$J;a55Ljf
z-RbGXVsBG`4@nmQz)KFn5p(2-_qEqvs(lI9u1x{bBfScaT`~rP>)_{ZmcFk%{P4Q6
zb<(|j3PxQLh;+I8iLFw%e48{bKhfL_^@Q=8cS*(1Ns4pnqq`qlx|3GKtqT2zC8b6p
zGz=Ff?43RdshO9TOoHUj8x&1!+7y7@QW-FA$zicH(AA~EYHc_v*f;s8tV~)98e1Iy
zFnO`lqoc$2VWx1K0>nWY1y)V7fZpCCM}B$WK(C=!I>ILa52PgUXo>7O?&QVe-Q9su
z00!bVh1R_iQ<;zKoWiev-S+dJpB_9d{hE(JGE1c3{d0$kN~PnasCn=;EA8AOb^MFQ
zmw8&_%X~$1Kc8kxaX-JT@n!y1<I6my@ny8wvae`-nWr_nNY2aim7(&fXm*UMRJ?G2
zB!-90l!;*J#A35-Q1TBq@V8Q-r>Bf9nb2dJi!@?V(00mR8l}0Y<;%2DFfG)z&aVjH
z0KOi-DV225Ydf83lNT@cmLnyMM!U7}MDGCY2PbJbaO8;7q(s>`7#w1Y(to^#dJKvK
ztrRwjV^G_m$C#U5OCn0ryb?TOhOP;AQQnCg4Os}raU?2>B8GUR5{8jvIz#v(RS$g$
z!)}>b<PjN9ceXQJ(HIuZV61rBHUD@Equ2xrIiHDWUSs3prdqG5zFzQ))Ybb<9cMdE
zpYAw!&TqoNZG@EM(x;8J;?pzY(~gd|&7JXGq%X?L%8GOQZ)<9#EFL<zk?nVmK>C`W
zS5Q)R(?8zAC^n%G)Mp|nw|n<JcYn}p`p}1Vx3t`S%ZL1p&;RWC=bn517rziu>RVb`
z?z*dG_syBiu3dNCefRDU?&8hN&wu*!pZw(K&p*!v$;w?+D!P#46J#&qh=iw7>Z)mQ
zA<~MAic3oB{_z$@u?bCoeI^(RJutYrywFbaH^=4nv&hsk$VtBm_FF#nT>8|beoA*A
z!I#s<qN%D@*Z1bB(b*(5;1J@{<(}lT(P%K}%}zUfYC3MQUa$MdTNuSA1RPp(GnwE7
z>@=}JNTj;Ogo&Y1y*h_8PRn7t&2O5S0ALvnhP)<P)?r1F8a8ER!>^uj*xNSuoSTfr
zMXfNDx_K_3U9<r)WtA30!x4Q(qIswCkGC+2O+<YgM>2Ae{e*@gP5_pR0~G>SPD|-R
z4k(oCk?@4adYG@_k$~4Ur4}fMC%gt(&Myvm_2Il606SS(tRkVqxE#}Ap#bCb5TBZ&
zo>a7}!;oZ)(to^#-$&gHCMfuNMf?#@Ea?<z2v&($Kj67Z#L5{;;^#hx_X4o5mFyeS
z#=ki!^#lbUAzZ=1^W7IZ&vl%kuH)cA{GE~Ek>RO8|3BWsC^i9h<}>Zz2dChfLkGR4
zcMqTH=s0!spx@MdWqo7gqK%vV|M1hc%|@CmB4iLkX#>yj6!@o)%&6r$9Dg$WkGC+2
zO_(D-6X56&KVfFT+<gi88|h}uz+T~uRd*Na%1j1Bf^EaXCd)vA#IW1BAP!xRN^MEF
z&e|jF8$97z^H8^0%-~og9P0naTNuSAu=@H;Jr^!?cN1;%ntDL=@}$Raf&`}$IZ^I6
z5s2f{?n|HI7V>Gu+^21Gn#R?vw4*%K;nHXtk4DpYG@8c4mO|5bG@8bv(KIfNrpeb>
z4jzrB@hoT>`n0PqBfrdY&^#u7;Ec)j(SW|y)SGou;-|+eHTtARitEbL72>C))tDSi
z8o+UwQ&%Ooi=WM{#^~OtnN*WGw`T6Kq1Bki#Dx=(wQaVjlA_gQjM*iA%&kUw2LE;1
zYnJV^h2kfx)u<Z+A3DGng$&c;C+wB71U;(c*O!-L63qQ>lS@mV;-{_E6p<qmKT-ax
zfR>ur+ps(&enwi2`W$_VP7<vGFZX{j$ZywNXKjxs!63h0vPnBM*LjELI&alnXKk;D
zZJO)6ec?Jw+8$5qHPOi`CQ4aRK2p1=$eI|RfwBzxFCkUZ76+dJw}D23f;0o<6Pb_+
z+q$@j?4>z617eiYH3*LM{wlIv8&@w~y=L{QRk`7gA<?Y)_&(zB;|X^mpHcij>(#?Y
zV)lWE9dVKZS-U2~UIK$7CkS?Safuaw6=4a=KUf5eXwYES89l{|@xC@KDRuDCnl(}#
zIe=(13EvG}+72H+b`q47EYA*`N^sb6Wv>+T=dcXAN1!ehW2)CuWVAJG{Kz&nUq#N!
za{m_5`0>-9mTvWyP7@AgX-c~1fBcPaeB(R+CCJJ3g9n^fKJv&T%OJIy_E+Ms-hBPl
zn_y^NNgl4YzN&WV>MbO$ZvNn{yZG$!$8j(H-ijolEi5BzZeB?xtTY5paRVDmq0R%*
zkiUL?(qHwFd+&Yd;U^yb$ildH?&)3kKX|WrN?B&BZg@EElV#&qmB|31I4SXT6=AO7
z(eV*cCLA*tI23~gUKw$TBG4}k4Mm8vQx!!$DPle?=Lx!u;0)+2v)yABR3|oQy)ynP
z+?5k&yH1}1$r^Mt<l0Qmg3@x~TL$~-(|kM_BpL0ZhFVQ{>gojKYj9B3`OG<0*`fnu
zF6>`ve-0BR*PT}&yxlB)JR=)q`c(QYZigGyPb?OKe;N$PehA);!ccN&{N_X?33ue=
zEM#3ef0c!@4u{cU0&zt#xRf;WhMtofwd<W0i*;-aNLwqde?(7hd!n&YOu1r%h$DIG
zbU7l1e!^yJs}fp`dnX1IFzG}(6$=N&l%roQA7QCOG9{3#Z7{p4`7^GGAPy8o(Fws6
zOHGUDW5GOxpurlSO~fXL&WYIj>E0>Tzr(*!H(_^PPh~avy4q?HJ<ibeV+@-t;1jbJ
zotKV86Wo1upjQQ|gCQkFfS<oKpcIGill2KG>f4Mukz&j|Qw1k)a(ohH^xjb8S0s_c
zWZij_ThdCtN`$nP&{vHLXpThsnYnz&?q;POA)$`l8p(Z!Mxs2Rk=!3)%PWxFyEPK!
zPK`vlT_aKMY+msBv`krdY9z|G1)on^-m-weU79bLi7LvA3yMp)akeDXjQZ5<s7O3S
zGS)0ULkSyQZi^wI&*lut47;J%(g>Imu9Zf>SQ?B-n!a9|o%@$AUWPo;2%FxqkTE)V
zyhAH&!shZSmuXgCimS)oYi`#Ho;B<A?0rG-SZ=lu*?Q+K(kK3<X^~mg2%*`u6w&8i
zE`-)Bt*pv-mR6gQMqYysEO*jxK^}<(b~27oTM$R)l3MZ@OP5$JZTU&ji%=t(29ola
zvP>hH+?OQNryscX`c;+9H@FZ{7080Z1t~@L{0Bdr5fzpTQp$4W%|NvF+$#*eB@f=c
zi}AsoJFX=5wt7iD$+z;l6>GLZREWU(5Q8w>lTUu`$tS+>&yOLxTD^;z&c$<qc^lHJ
zT8uRUK-)Agy$YxtEXFj?%{AyVevezsMs<kLqB<Pz`{!ia{bH!%?EdjNQD%{i(!3<|
zE+u!#7#toQ5^N9=#bq_n%rQ$a9Y<%0WkU883QZ0UOh=M4f`<-((!@~_OScNSCd{O1
zC~M5N9E*@^_Ndo#B!E}ubdgZ>FYP#Ygpeiplv5{9o;nq<m3u7I`4wle&(Ks~KRHWu
zLf@(5gTdrPFP=VozwkV5UT7zwuTw+}sK3qZsd5Qbm>2X~o(D`=QdXrG`?gq}PBQJ*
zEEi}{n=VRzIYo<3fdQYjD)1mUIfax_k<*ccf%Wb+*vm9h(B(!TE=WOhu?{gdF_y}-
zEgmKxY9PKOTM=W_G$dyO37F}FqR`F^=dMvl7;SiPGE4@0!tZV9`SazHu}F=uYb4{J
zMJ3&M(5|#CrFcpVA$u4)y%AV{CLZHb6IhHS5G>@+gW(WF5#bbTg?3;G1g2p4cZfj0
z1Mn&T5w3$dnQ0EsnYO7^+fp6vi@6la+*iP!Z2+V?HGYB1eB|8FEV7$K{<(qviP_Qq
zI5w5nke*ejir_S>1Z1kZ%E&Ub<|fBTLQH48=0OpQJAWY-Ys=3QkXH^^mZ9Ag(~W}?
z$DW5|l_GE}&Wl(ns)|~YKL}`qD=s0D6=W6VpYwZ|o1;28i>&uJJq#EK*Hog_CZwto
zl2n;G$H=&}S!qW|s$-c(qAt=%)Fm2;T3s>6$hb@+QI}~XYQ09HF4IWV+LnbVT3yRR
z23gzX$D2c*=wkQ99_~KIF{SjpmU_IckZm$ecuO*P6}yM%y))gGmrl30x4-`CUtR~D
z#Ki~?U*NU$7MqLHr0G12L0+Yx9vDbjvMq0R79*vitfUmj9dVa1xp+-7&qqi{ep-Q*
za9|*+6ZA~<*}8Vyrsi$iwh_OKIO}*R(drg26Olnph*z-=k+q&Ov{5|5q3H}dKGR#X
zfhSefILm5l*OA5d8FaJIF_YKN6LgVz2H=*tz%TO=E1ZhaV&gS!a9g>3q|H>_=~ZR~
z+t#eymS;8#w$^3K7Ndbt$W}MJ_l;5$n+x@-RyiUpM#PdC(Tj^AtO;C8!o*ky$;d1(
zVe)&H1M@OdF$S!eHg67l57OKaZG<$@B_q6s(#cL!9g>+Ss~8{&uV7eDry_oFdU(xZ
zEgAGyLzo^ZVrhkAt>Plkd&*!Y8)loo24XwC&B{s~8@B6%EJ%zepD~r2Yf2N}lb_|^
zSLs%x`UY1wEA7(!xJEPYwrJ+vHJW+X%(j9FRO=gDqnUTtXy)D3nt8Xid12l)Yc#p5
z`Mv0^q{VFe$|sQ4{bWP?&-XI@x@dKDX*y2MO-EOncpL$XM0O4{(PD#$&Sy(=1FbF$
zUvo0;ui|E&*|+b&J9`i8d*@GYGA;l3=Y?r{Zf=@ZB+If8CUUr95o8~3da4PRIRz(;
zr-~?9b_DYoNoy*rU%P2ZV|5v`wes)H-&Q%8^4SvMi+x=AK>V`Ftnij|>#irL+AO;F
z&YfGu%>KJ`JG)2NkD-x2wS!4IAN<>SUPYF-uzJz5m5sE7WR^3kRf)#5$|+>R*NO!q
zV+dH&iD^+69m6tzM$sjBnj}{#OI2bKR55*A9wJ1}ELTpUK!AbveQ!ZH#Dd7DraMH$
zCN7&}B5#o(JE8b&I+ni*7fR?cr<tFXH5K{!Wu;Yh%NB`b`SOK@QYaQmqqo8^CRi=y
zteFw+TO^>@3z`#};u$6|@(05vgL<E)QA*?E{0vh9DEjrhw}NKoR!~mHN*y%)e&FoL
z&K3Y-FkQr?;F=VD35@jM@RgetBmfv^MF!M66^<^fFhL~A3e&~(imynoxLxeTshgP*
zE*}(VV69Ob6kPhnwMj>31JF&=fnE&3LCumBOO94J_>)-14wY+1)(b`|a9mG|g~&35
z)+y6g#hwx)J*SSI?;aT86d5C9AghLn(&!T`$U#BU3O5lBskun>jJ6xo>1ULbg$r*=
zw|z;<Jf$wvrzETQyR6h7OL^Y^p0m6+H7o7X{Me*fuiAdiS8CSl#)`Sh?<+NW;!4eW
z-Pp2_ZP}<<uWK}VLffyoL1TGmX)N#3N#So$7etnB03g}W@X$z5XiG#lc^5A#FAXis
z$jD?k4Y8Eb91?AI;#kNAU0Z3F=-&}Iw~rOM|HRQlhmRdO))zoF0_xo_z3QclMq*qv
zU+toB)@!%8M*2|Kv$Uu(({9)TIdm{>$suCk_P9OSc^;c3#ap~CU>fIjcaKel*jZ?5
zv>OpG6^X7g)~Ht(!KW<E)g!qRp2b&Pbya<1eM8l9nuf=isJvb)t@7qkThlqh1Q_W&
z`f>v6=zX-6+nhh;)s4vs3{urbLEsA6jFlrque%mr$A+a#7cFX7)VQd&2qU~XdwLq%
zAsU{>VWeso-hQvqK)yz{8>q$jr$^dKodO<capfb*@>~$nxN|rS#2emk9^w09MKL+^
z_%PRL=AtE|29Xxj1E+)b!cQ|VmVm25P?I##jh;wBT|S8pJKz2PxO?*`$*%jp@9nSl
z>guZMeec;f4EBW}(cB;r6iJbkEm@+awnT;25?hYqb99{KxT;?PLmG+fKNMR>mX)03
z$gv~Ekwj~8Bv~yI-~s}~LIML|_UV~kt9q%fea+|hs%QFwVuJ%(3zIifuU=KZ_v+ny
zfA@EP>-Tqz;u)i%P;>;SxKoEmNITQ(JAo+Lu|r)CY^SusH-zmqf)=op8vTck9)cqb
zj*zD?Ix=}Il^RM?cbKTFuAzZsL1A=JxW^xof|?|}!8;$Ad)K}9oILx81YOPX%l8v5
zLuPW&!Cz=P!Dto-W2eHfZ!GEh<(*ujj}=RnY`^yq6@fg0EwrmxM;rBK%L2HgZigJp
za6=0=W*HOM>+zZZTL5dxd@AnXqTbr6)C|7jGX(;u@;lNO1zgPxL=z({h1!PjlbTCW
zTnqp)x|}g`<tO1K2Bw{DvDWx+JGjCz<H-LfZ;g(qO&4;#xp!*LS=9EnQ_9>sqO6ri
zmAMDHhc>}lc}kgkr<A#ON?9w9DRb|LvQ{2eWVAtLtxV1BYrUzf-7eD(E9{k<;#*!>
z!?m}O?MFPJV<aAp=tW6!3$?t|qKIpM_UB*x)BpU{ufFoi*I#%AS?#rKe~Ze%$t11|
zGKcS>D$xC@s+T%cts*TSIy`&$$g$a($%*MhhqU8ak3v6Y&bcVr5v#ji>SOslg@Qi*
ziI05phkoRvAO7I`KJ>AVX+OqU)XDPP?(h80?|~<_L`5rxS8O7t5$Go-`PkvvBk#o~
zlQp-tsk0MgNP3$MLM9&lQmb4_Q12eI`9f*{=c#1p3=RNF8S6_#LDLLmsWaB;l*?lA
z0NX?ONju=Bjyn!f#K(@DJU%r!JTfsga{M@k(0=HuT_}hV9_R>(gsR896e1erv5_YX
z^u}%;GQa?IIV-`t;6BLX7zS=3DwqK=xs^@u3xxe{T)$q~DwPosDfZ$S^?GLkdP@pG
z{J^M}0s~nV4Yo4%3VdK86h4oe=3HQVp;T79NSIsuWG@{Oc5mERx^eybwdJ)N*Rwj3
zi#a|PBItxgrHkW|HJtLV+0P+P8^&ip>$Gc4gEAN%#<$OrB4k;g&4``%PU!Q5LZ3&V
zWs&6$qR$fweV$P0^Qc0fhZI@vAk_a9^N~OZ&5#P|`8>N&phusYA<=F(s|dFp%ztfc
ze8X`E9~z}ySqoo(ogHNtpik^k<_i*>TA;66t$e=G^ipV)l)r^<(gk<l%?@Kb^y$pX
zHWUT2tJ%(_OsAu};do!1)%oXto}Ft$pT7U-BOm$bM?d<&xF>Zlx?XC00;PKrF9oW}
zy#f(6KCXR``!TY8ePPGrA-f_&rSy@$Yzo^FzGLcI5Whq)9nO|2K${Sy)**O5kq{t$
zV3EV1K&Mu>8#T}<>r(S55@ENo-6Kk^JwAz5%Gqth`BEu|&^i*cxi2=j1wEf%FmV**
zvjkOV9f`T3vYO;MKy>s~VY^i0OOlu<t8j_k_6}x47<{)a8BM_Pd05XuaAs0NZeohn
zcXzp^I41lK@aeSP@}MjoW2pcRP*<$oS<o+D^v_$O`8Nf^y8x;n0#L8{sJwnR0Ey{S
z-UsHKMTp7YKA>>M#}v-^0fq7&nd(vA2Ncfu0fjSuK%u<%DU>%izpq6+rf|kX^ZQza
zT5n=1=DW^gk-l(%uo-L}ER%E$;y}Bz+YGQ?OjuTYSV&K@(aNHH3N<Emdb8CG^;zDO
z@1MZ(Jdui0XT%PW88;%VuL36X4UnfUWG4cF@w<g2o6Yg5_0>HpJz{WHwUU|&cvEL5
znD?NO2O^FuPJ5|dLZtG&XYV?3^6Z(j6gbFQsWBnfTg00Uq=t}FMn*8&PW{XrLL$EC
z_)sWHz2z}6iT%<q{n9`9`#=3-pZd(FKcjsn+u!Y;eoUws0i(M|*4g0c`*C1A{4n!m
zPgF5vpjr7CXjuXKsbzw>bedT2>8bnfJA3Btvp+~pjcCUM{@2lh62>c<^OQbvCOdVL
zfE2dk=1v8Po-!(Y;BIY+ap>08H9I@eYHeH*iZ_g%ZQa<L1S>T}l~%j5)$*pk@g}rH
zeCYL6yt3Ps-7P*K<#h0B?wFO!2)q;Z`lYYPOt7rw8>YQCIbPjGU}?2Cm+Ib>Z%H9^
ztW_6HnZyIWz@|rqn5~^PK%uT?`%OZZWR6gxHe8p&YfPJ9L`Ms1x81PmO`X4nEV{P7
zv9ey+K{S_jbB%Du^RHbdT7K;c5wO|5tqU@Fbl|_QUGryCHgI7Dlg0Xu)y$=mJ#mk}
z!@@b{KsS=rc8h-<*>NU;$GgRHvRi}uYh5N=gJktujT~Doof6T}zf4vF27{Mwq%N+b
zb2SmB@ijHhpTCIad+|!v*j~51AoCDl*Y!MWL0=rlgKqPyn5q1qj*Ha9fAKBLyY<ig
zfveyo^XKS$=bS}tZ+o9IN8hc?Q578-#5+yAt&b^l^nJ=4eV;N%A5-S&gUTFzm$Evj
z7A95G&yFuG?NYPXSh;>}X=TMXq?DI-tEdx|(h|IH9FsF<)CzA65=vPps_d}2llKVe
zc$3}kv(GNCmpj%AU;M(CUU&gB)HAQFKYMcvouaV%Ea+t8Ekls}3cQujX$b_}BzTa~
z2A7D{$jgqOK0Q4_n*aBI<im3hJ}46YgLj=C8-RY(!>6^!L7OEbIEd>Ad$kRYTB{-0
zDzRADHJ?hS{B>N$fbo-&lnG{L>`#CH`yPGt_~QTx{g(EdB(VJxat{7S`=9*Gryo1=
z;GFiaqa7yk&^TEX5$sO8S!;5V$m9Nm+|3_Rh=bv!qIF{61Zw`ogAYG+?_Kwv6cfY`
zWMtKMh&m?3qz$sAKoe`}5R%8vLUuHf057Osw*sLskdCMUZYLpiBRZCy@W#QQqb)8!
zN_H_+=g(JJ;9L#T^CoqDYKpR*l~N>`MmZhv&3sc~RMd_eni84c@}c*n(mROm$c*VE
zvz6sC9hCro8IXLwN}#2_wUGzk$9Ig?^Hqr@Zq)KfQWEvS=-|Smlrp#J)EhhwI$Nb7
z2zLxfp#a8(7O53?Hb~q-YHKtL6ly1Ojv_d_S*kT4UlsAe6J|r^K#Qv0;yY<ul#=ig
zeGJ21ABuiKA7<huFo{tG3ZmH8nss~xSP-(IHYF;kCyy;b%Z^{Vgr>ex{PGu{{ran~
zzJinY)eD!_HhHe?!X@pi{3;J!t)Mx!^aU|#XKe_Rc0KhkNfJVqMOlC9H{gRkJcK9a
zoJDPKdqSCUA5v!A$COp^gPbe!*b~Z(dqSCUPbf1^wXJ<{Zhuw$pfcko4_FmvBdtpy
zq!H9pDmkxWV)I=h%_}c<5pTDUYqu{lX{MQP>&qZGS2oskeRYXApvuN7_TSFb(eYHO
ze{{0r%??!lkWky3ODi{ThW_1Gp8M+8zWV&vzE=8^UvFJF|N4bX7cO1;19G&cnRnlO
z{wi2MufA*;FMj!w9KD2Lx%JpbA31jH(1Y)3QRG}dfx<pHF*z}we&F=!Q~W!9YJBdI
z0c0}y!_;wY&W}v$i$*9hob2m%6A>&y$$n5dv+nYCsZdzGxsppq%pWIJ^MmjI!292O
z*Drngr+@0xKl$mO`g`wvFU9FHp}XJzp2y^mkN+6%r(foFozCnS)tiqUpY3!GkB-mI
zo;-FKQOo`EWpXgS_RLpvvqJ;NMF(P=ow^H)mcPy3dv=Oi8~)eFwGR;tgC$Z>rQEC=
zusOmk<hdm&Nm|}5i_A2ulO#U7YYl>tZ9<RM?r0n_08dh+9iMIn!r_2iK7^%bnhDxJ
zKxGuFoOQd&5wbchIWmmZODsR-!m8oTt_M$JwG2@jHC(uV9Em_MOxlz0sV4^ql9=`q
zXOM)anW$68fOQE^(7xHzzyyTk$g;lqg;#Fg+_?Bn%bSf`TO#}jo@Q9;&oIp8vbnSD
zG=)<lif$2jG|fycZk35RV_nyQYTP^Oc2grD#zc~-t~VPAl}!=!VO((=AC5FGIv%pq
zVR2kVBH<R1H4E<QGTPU*)zz%K-aA^C$e_bVj~<?y%*}SSGK;!wwFbo=WTT$j=5~X1
z)Bn0e-Pi>ejv!({D@)m!-myo|6SGN?mfUQsdj)fVY-?MuB8B<e+Sk9awTfw;ZRHBJ
zr50TDGvXDBrL0RWo>FP2xa+y8NC?!>fn+WcCYqS_A4XzhPbY1V|Ll0-NMG>BwB7E>
zzmLv2i%edBdsLa}k18{LPMPVCaHh=kN0piWs4~+ZRc5+sm3u^)>5nKgeQNI8%fDkd
zma&Mox|Qwij&>D3hL)V)G?u^ddI7)K2*HZJYqPkOC+qI|(l(g^*REUEM$`7jwrhGA
z+~+pY<1KA*Y3V8fUvFHnzV>f_=S|9(jfglaqTG#3=Rw(d=GiOx{FN^}<GQbvL*Cel
z!(piaJ(7w5a(}P*dd5b^Chfc4^RBzKyR#!mE#c`&#M}M=#C~*YbaFB^bfnuIB6wr)
zQ=c4mjvPDv@ad8Mg!bRO=e_TL-(&B3&j%u(5jc?r<L9-X&tlh!4t?kYEYrslkoezz
z{9PaT!0G#csMEQB%<#tUIz3J5+Tmk|r>7>zz`i(vHQ?BZiMt<q@E*#uWrL<2mx&j!
z2x9DyMPjjFI6<C~Bhz$DAD^L!Afjcp(Wzs+%EtR;W(R|jU^_ZCXjATa1ktl*OTF(%
z0u?ZsqCh}+DAj7kun2~ll}4F$s1g_&&c>%B+&<AikZg?Hdn$~RYXo_9mzso;$lw$(
zG_yw%Xnm&+H5wyU)f+1ch!aVG+xdK@dR^?{`TWLu?dBVo*0tsA2rHw}n*v3IK8iWk
z>l8mWjAF~=S|n)9SUU(f&DxFP4s?xm%tp9f0}l!dY9LgXG+oJ&b63`uu(7YLP)x4v
zcw@WeHsP3!8tIiCtw<az`2DpC<&-vy1gT{Sxa1pxu-h=&lKh#JW=ih0a${GnSK3%!
zHZZj}x>Uqop&;}6O7p^tFTcSOLa1{Uk2|54b$;~PDh08&3rktOP|1zKa}WnmHQCFX
z|G)PM`}%MAW6>z@$*%UCv&fY3H(Qxswlcres=qd8+8PcqWq#Sp{IZq#Wh=6)t;{c5
znO}x7zuqFdV#v>BagDNjh@FIEarn6G^4VODH(ib?4NR@T+q;*0e`;iVHIcsC*4cjr
ztuyBK?TT4a4|(qYQ+5<FrgfWg_;+PT>!ipayHVLu#W>shD_I9w?YE?XxtyOL5}R`t
zwY@E-j9p9_yFP_C#yD4aV@zpXOc}e_+`h*msEl1q8M~M=c0qOQ8asBB5DAktrR3S`
z7u*!msEPWw>e=sls5QXQfg^9*p7oD^v2qk4;pwbN7H7z_&zwn3z&^y9N<AxGv&D~Q
zSGCqAG+@f==Go0)Ygr<{l4MYMc4=F;B=k_GlV=w%Xq4#7p0hU!dWAAMrmQEP{n~l6
zND_z1BG&foMyuN*_GB;0>TjAZY_;d!LKiI=<Sp3=sY@?$_+i;W(^6#f)^1&nZpdy~
zb}z{8);!2awn=o(S!BTdEvisQRH2TzLLIj%QAQQ&h$_^fR-%k5)NxQHN=%I#J9uL<
ztn)cLX1=jZyFmUmb9P_-?t7(nl~``A+3o-OANk~vK>*I#<H=K}p@wt&gkZQjE%X0s
z<jJ3+6Eb9{=WG`@Dh%M9-O(;dDN5Y4jhx-YX~l#&XP4|ZUxxtB`MohV?=1RV!ERFN
zje+_7T&m%DYl=V5@zRE-dUIuLem|FLQt6Gc`Te;vqx8nu{JzF8HoqSQ62M1-_Q~cp
zz-n#c#m+dDh7JNuI|{@D##7di7E52#%QzrV>fr$@apE@3IX1W@D6Td!p;QX6lUg!n
zYdB&t2JyACk>3FQU2{%^wBr+Doj<UeAu2kF{=~q@z$q(eX#r55buBJ4%YPCPz6=*t
zwd0b3n86WLFE{JtL&ODtfH#xn(DE{9xmFYTU$9QCT)>t4iu&gg{D<ygblke>YNUH(
z3DJZ2$^%%f(A?S>=A-uZHYRqEnpp8o+arg}znTJs;;hgJp>!MUny9n<P5#J>S~q}%
zYjw?~R0g=>tzJa?<eamp?QI8*-<UFf!&ANSn^dS-9luFs{H6~WzhPzkqNb?ulytx=
zQ8&<|jTTJWAyi5Sm(+^_pGiWP<48el+u_eOEY@UTVi}`o0*F!cnrUZnyfKCuD;Q%G
zrO{&2K!<j)TkGjm+SS9U$>Un;gp4AcL}b8#q~DC3%GmUZ6BL`FKaA0a6prAb1o^kw
z@bCi@rA95IdK+u97p-cHh6aO#vM8^S4cjfs>jK}~w1PqL8SzB&PtPFnb5}C9GH%<T
zz=zhV>*eY~s8%XT6}NoJA4}Wpz-~!}XtzkPlYBs*5_oj{&xjfw7cjdfgW4eaSH_t~
z2e7=3ypyr(<)T*K=~>I(HRmj9d)vE|nW#$ik1BjgEZY67TJKgy^4-czeD~b`OjITM
zN9Xou;-ku{H9o&D(f7~qugRnI*Kjn5F*Gq84~JtEEvK?|d7CnSJ3C%x*s!|g-A1Sn
zw{d@@Otow~=(aj$rEBCyvC!NzoS0?1dwgJ!x&yNsve~ubRcvltY6aSBH%qBWqS+4(
zZIIg=Ohl_Kr_jO2E-F@|%DgA?&Nj-eKpb=NefK|b7Ij#=3ngd+hyRVdUjS(7dcC#a
z)^`Dw0WB^!j^tP_ZeT4V=`>=mR{Lij|HWVY#ee)uKl`aqeM<Wou6_9{U;E0RfAi8y
z*zFeoWV^QDZZF}=eEGSTsT0STLtsJykeN@12@KZbhmIbd8JnaS&m#}sci%@ceWmg)
znX^U2SK>LaPQ!TcH*$X5Ieh3a|4%+OP6w@)>mpMx6^QMqY^_&mmR`loW(w;b27Mx#
zjx;Kmi!1G@g?d?U<81GfAOlG3)j}C>@WroRT_Z32+M7H4-P}btaHWdZuw%!j4yVeP
zimw&wX_rQq8nLi38g+8m_&Rp0j_Rmevd*{KU6@s2eOp3Yq+;GM2KrjH<%Y0tMFP|)
zAS{g{69)FN+&E9Ol9#e%>sPNYtrgdAT)BoiyZYv3fD>3y;~l+H*J44xltVPsXnC#`
zOIks^P~JElz`aCg6}KnhE1<o~CXqq1K*i+oiJ4)K^?`tUms#nnHo0+ng~?10HAn&P
zhO9<;^>wz_Bo7;(M~29uWNM%<lE6hbFa+ctm3t9`63GPNc$DUmP(0nXjF4#mglqEN
zhZpn7{gD|O9^(HDNciHtyb~Q-opFycJ4H@ZXPg?@@*ZWzJ)-c=gJ#_H-2RMHeMqA_
zOu7CLxuM}!9+1FBXM01?0Lw)ReS4$SIWg-jGeN>-ZLI-(G9~)l%66%3^m(J#m~*qK
z8JyR(^GoYnrPkF~uP|=wH(t4R%^PjChU{IZQBS0WNtQ-tn0jNe{MD7ZIq8kx%XGs$
z3YkU658wOHJyegEa>O$y58rz)a}M*#Mqvlo!sbG(Rl9Zr&(&ICtF{e#lsEnhD7Xlo
z7)i(9`-xxpAO69ofBbL#Fv!Ipp8w=8`~q_>>%R2z`74*Mt&|pGwXHw?0yFRH=Pztt
z+_><PH-1_|POwd<Qe(46PlJJSTz>Z0;S)zsp9VuR>q-SnY(pJNZ?uX+O8A0MnQM3m
zb!{AnL^d;oYiP5IIiaFO%ohG3D<pneVzU;YJ79|&W`sqwQK5Buumv>GW~~!X_St5|
z8@J#`*S2r)ojw?Bm3Oy-X^HT%>><m-Z#-&QWhY5^L1l|sX2h#9=XP4dQ<$2zyzy1h
zC+mU+uzhn4^YhNCfVHgT*Kbe>d@Bp&TR?AN`=t^Uu3E;8Nf(6oSKC_18^=ac+$!C~
z-BZ}w+}<FSr*M-2`{p$YSTR)>$e*y1QOk=}wsgOE3PpUidZp!!?=Z`KZUww|nWz#t
z42+osJb-Cva~2b!EvcdULd?J`D^t$43G1|7Z~S$-!7uG%R@RnY|HkW=u1L(|wdKo8
zufNV*%esj~3=IRY|Cs3x2~24s7Ih<T6mvccD^r&LvRStd<elD%W&am{OhOZA(jss7
z&pC@s9DnOq*0p{`-tJe{HObbOS=O(tYyHZ)*00R6lrqcum36IOS=XF8vSZ_G4bO>(
zs>PI6@SI{eTrU03CC`~i7M6}`Z+K3yQVj-&g8YesT@CVFoYeY8I{iS}bFLPnle=2f
z3ydU?IHpImQ(33pHk~#(HMBG!vZF(&hhd&EJ*QH0Lz`N{bAWtyoFC#w`C=?}Rh#l0
zBG6l{i!ILyfxH&cc0I-jC;s{_?~XIH+L+X?k#j0yL%ri6dUo(fa3In`y-@d@h}|rM
zhXR6&^lNI)S){A{?Va>%>VSStDgBzfgMKAu;y&B1H*i8Y@q(5rRzn_g-_M4_yJgQA
ze?vRER7iSGwYplRZ|PY_Ys4Iep^$&BkWWd^Mz!6kXweJw_X9D6-&uMV*a_Ec-|pE!
zyZsFU6_ARvP9>pj2Hl$HG#dX`196I5O=(w?G45blhbT@+G3l%m+|?qLI-(|mrb$^-
z>D+7DWMg&6b4-K(#C$kZVKQ1Ba`9akJX~rNIgzGjmoP&9mG|wP&}^VDT-#0So48#e
zUI^&{8asZASR>_fB=U0+g;?oe>1WTmwi}x)YBA4&csDkl+wcPM<nUN>U|9OLMHjWo
zt^K|&Rh?j=+b2Ok1Y@;YFGHLKpIj#)J1JQ8+jS4*l3JPa;c^z&Th^@QW!(PjyF-l&
z(z*0rAP{$Z1WRPN=fLU^a_QXg9>K~v($RknlzT_L8}8fG)4S9t^n3Sfbg<_ndlU;H
zl*|8;4u;Bl6blIpYY5W2#cMIGI2rYO_W?TC3nb&i1Ie*ly&I;3_j|Wm>gyJQ&R*}H
zp@X?YVN$!AVtnY`Ptw6&zz$Fxuw2{g-Ai;Z^Fh1N7}~wQ*SkA(o`+UT?k90t(z|Gf
z^sXI-WXnxxSl9#S^rRY<FQgQH`*u0b!f#c+kW%=q$`{n$jVt_C$#K>K2S_ymj8y9z
zz{rx7uuU2`F)?1iIdbwFuQhbd$vRiB-XN5B4T`;4m_A{-ApT@AXJld6f$3+?Kk?(i
zIOc4Oz$AFS<^{$>vBSrQhOzDY(Q_J=5``I83t6Jax1vER%Qv#PZ)35(zJwPjtzRGR
zH(QuRobmC|(ed#K!k!}0?HxcdAZ*SdJiFfutaYg{9jYUpJ2Nwh#LUcHq%yg7wM^=5
zJNqOnL!gw7EnjIjC4&fAH><@Z(hfP(`)B?W;2ZRLNOI0u^qDie<U1ILgL2K22k_?u
za?Q0sVR#UXupRn4i;Il9ZC>EbyHEFp;D!!g!B_}o2u!S93);qU>1`YveFS+0-uLxC
zPDiXCmEJ}rIn-==f!T0iWN7f1^fpLuF73Uw^aaA3Qs~&Cx8(+GULbX4d9&OIq94l*
z+H!+ZUkuNGnZ+WDc?SOAVW_lM>u_r%6>Dp2X={rtTClmm5um5D2=gF3G9dj!^;YMq
zpRYwQ1sD3g>&`igbgaL*O7FUgRN*R8#VsqItE_&mLglW~y8&hOa}_Fg6{!N7EzLSd
z2tQVibJVkp#dy1R4IqMZcAVmqFx=a=I$!{4$~hKx2H_lPPP^@$%bGWDYB#gzh^uI|
z_!gO@>|uwMwcVX}7X7BN3(fB%90iot1(enWI8WwqKxth-X<cZ3-xlD`+j8%#V$TaG
ztqbh8&J-1xa$iI*G0teU-EKx(F`5&@8GTGM%I|+Lqd%q@sYAR+kw7)yG;QeBdIkfu
zVeXbQx>#iPuB^(fmY2DeoKPdPXf>bF*R>wMvge#dZEris(_$-az2#~7%ko7WY;*Qq
z4F69ymj$Dk-AUQqFFW5AF@F2wnjBq~oo|cw9W=UpWcR(%M%A12R)5QeJm-1Yosiv+
z%kDAR`E3l!Q9^dUf!%K-$WU3(6Mc6}uXV<pv$!{anxV`^L!nmd+l-*<D>D>oHRkrI
zRrQrw3bh*h)XHz}>(OfK{71~?;LKTOBTr46dRvx>=l`Mi(VugHd1q1E+X8<Hb1pEy
z--^H;&pEuk=o)~t4rjGt!ii<d-PoIQf4(>6cE4rHH3_vXGUcio*9Ed#fa^_gxMF)V
zF2IzO88`4fGUL?odaG~qTd48-WzZho8@Vh?6dzNv+owj~C4|pM9G?U4z`N;w8+v@F
z97SClRNw78;3$+u_|81VKj~YzN<jM|q>6nXjfz^6hKk<~wdNp+!EF>{z5?tyMA>dp
z$~EWiUYm@fRG_}TX&7&6$ByNK$@ti?Xcf#U;&jX!D2+K{0WI6doWY*g>WJ<NwjG{L
z;5&1!={7{EYfx-9YX-DhEqCiIvK(%oWrxd6(HJ~z2quDdF_)26MwC`Ylu^6owT&oi
zUPR#{5rtbs6mDTkD?L+GCeM`Sd1gM9%6qo7i#C~}CNXn*i<&9T@k~)^JX6}?nW6;o
zjq<%bxo3)!vnPXFbIu}z;BS_~5iO-HDo1oVQ=$hfr7f1ymOJ5ymeNLbhP{O&LQ3T0
z@~ZOM@cE+F;!QZC|GnwSOad4%NA41W2p@C3n1TPlwMpcx(44cV?QJ1toTBslGb^Of
zT;Ehr&I&2x6jH`1G`G+5Lv#CbR!E`6==^Q(C#E?pf*D+&nu#2&WsE4*(U-MlL370W
zfZ@b|PR$L>B_>|5Ja!NQ`G|8GIVEH&>p)QKPo~*4+h({ECPcJ`4>H+GS{cJ4g9X5*
zz1!jm7B^kHgBaT3=JEppw{AeT{`&Vl(HCG!X$>=~MKxIncg+z>)ti2#I{iRjRL%TG
zI%RI8Hs}ipS2p_-eqV^IZm%z-E6j4IY?w8><(h?7!P2a()-;0}T7ZAsVQrY(nw>Ti
zTfB+l>Tv_o7p~tI2St#C6uO8hbdlVni#v%Ri79lUMv(OF(}lQ2WwTv8!CHd?+giib
zh$DeKc5T^-)U7*uHOPNEFZ7YJG5Mr7@>0cG2dAQ6h{O_JCOt!#G_fO1pG@qg)v=m}
zT@zAq?OLD}sA0v`AQuY9va@dgRHUSp01%^hh?DZ;xeY`5ogX0T5f?WsucxsbBt1C_
z$5Z2_#J?ySi=)gWN0~_nNl%V4lbn5yC%OhgkArDYgdc2>yI!w%^o^9hk(MDg3`oU5
zQ@zF8bxPc}NNH&4jQ|%hiLkAnGvjd-G5MQ8dH1^R)_YR!%$&2R?QJs(ub5F<IHS<S
z4ChJ<XOtGsC@q{;c*T@L6EjK+XZBmD_0R81xvIA)-T)G-37%tJBeGma2Z^o;<T<I&
zt9T)9u6c3bWf~Pz+urFm2(d=-j=n6Vhu(bo<(FP~;f3d3_Tp#nI+Sv&)lmw#5WK4$
z%|=7mL5ftL2M8ufG*bL$|Nal2?#mY*ee9vT&W?|1Kb(yYHu1|*`eYi+g3&=Qe(L0r
zNlL}d%uY{Dq5r;zKnJqM>KYNUIGY^Xqu+fOeZ1DHwBcl0w=TXWd1BxB10p6rmK;oZ
z@p5y!C4n4Tg<9ry#Ej_SLo;lk4;(sl=)_@)oj0^jTg(eY$1V^~6W!j$_anFg;t1OI
ztZlM%iP2wP-l%~{D*5lAf&>CY)YGtfE>7uQD!2o%R&RiYFTQ-gJ}@RHo{6jvFaG9*
z8`}-n-N4BO;3P43(HcIW2=a^ICRJ)cYH2#5n1qy|#KV^ZPx(y@fPyEhiyB)qp-{|(
zLNOBx#SBdKC`OH~nNTQZLZO&(g<=Ng_dWU(3dQ)r2uxOZ8?NBS*2ea#yR&lR!iA+B
zExIDv?mIUxP(tmp_Oc-SzWTzK|KJb);7c#OcHN5(NhPr8&>?cH50O(HCf>x1Fi2t0
z1ia||BP=0f_kZl?e(vW!ru}R-eD!M886gpT$SGaLE~$ayge!M?G=1dM`^cj11jS9&
z<3U8(^a5H8QYZ<vah;HxN)1m=j-<3G?k0;mk5YyxhRz+HnK^dqG}ugMP92@`q7}@Z
zokm5nxJm?xhRHnHDiB&-*eX^$eW$t*s1^&5^@esmi;K<G1jdKTqkaA(F}+P2Y>EnT
zC}id~d7gq4XQ>o!y!qyvH$Y{^l}xAzcdvG=h?fx$@v(VlQQO<@o8Py?oKV(*!}I&m
zQIk_WIqu}VF6h$!cF(+V8)^E){JwlJGrun%98*T{<o-IK4JmV8(Ue%cBT*81;c3Fw
zq-kNi=?*k#bc4}QCPdLzGQTLd+S2-@W|o}kZx-Yb$0QmHNPI2^JNz!GOsug>XcenW
zqgnwt73^k4i8K9pDZ_}gDuuQg>6)!ZrBTg>`UVCZ6BwwlsfDR2>xWBlt`%B;ZQUJl
zI!<xDkO>Z-JsZ=U>6616Q8hdw0WpNP_s53DD5IJ@mH|=Kbg5mf8MRuT`W?N8l(m>!
zMF3eP8lv9p;OnfB4MmthFQ?R?McQ7IL<Eq=0l!BWbCvk2thHMxl!^;vO$GpRWvFFo
zllDjlU<Z|ON}}t<EsDL;LO02RTmq32r9&`B2)h-8N$V{$Sn8CPOWSLu#%d<e+Lm0d
z%{HhvG={%(4mS*&cDDuQ9h`*7HHqWay23!(@|)a=C!|F@V#J6URHJOOr~}KF2{*S$
z<b{t^X`%L{O|l+aRw5@znq45tO3(glJ_$y)P~z!1XVE7ocBd6ya$4afcPYH&^i+?R
zoK{w!(+V#+sqm7M3NJaTP~vHYmmH+i_V46bWHz>FN3FVB2CTY?$-bJ+B&Z{|3oG6(
z_6X1DTDkO<SE&{KjSE*cb~iU}tQ5##u6HE*F<~~hmWeUBvgDJgVRhVG`tYo5)07fB
zeSCa4jnh1tBIGlZz-cG-YXiY%ooGBTyxd&s<D^x8^rIj8$dCQxr+;+r!85W*oW{cW
zZ#g~M7nk}i{pqqGzEo^Go{L2#m(eF3c{(F{^vIFJCyvcdQv_gQ@?#kaJHjJK6eFS}
z3+qaY_>{JQMT>`ByIpH_2s7crP6Ja!Cefih1mOZcm0>u=^FUJ204YR6{n2i<1<Bx`
zv^sUvtW2V*N0OtXqhM?Z$!JZznoF0qd9v+dsn#G0p1^kCEd^dR6Vw6bCfuQ1(LJb*
zkgC|_tAt(T1(LTwwZQfQ5NE7@**>0y6G^XPjSE;rnvqVTNi>>}DNPI$7f>n*{8O`;
z&)DsbOdVjFvgsv1r(*fW6^a9_6}B0a;x^@&G6~LP{bnPJ*%iRgX6{#Ts{X5Afj9pv
zpDNGHJB!-h_K3nCA5p0C5rrymWuZKxP~{^ERX(EdM>T>*&G1ySP}F?0(7ec$jQJe+
zGf`Sct7U}YiKtaYD6_Uh<(p2eyAj>481M%WG>fZOv2!Hg4!2I{3b`n;v~-=At-=-1
z^lFXjR-t)5ap_9lB4DaWefc+D1Ucp<ZS>f&=~2+g0X?PEv2BOR-W*|Q)5#>};^C=2
z3ArHWk&OaF(`+-cO;35Ff9LN!@#uYbKXCTUJr6wcNH{!v<jg}4Kl;$!XHK5fej+>k
z_^gl`92!v2c>FGE$v*L6**^5RH+u3Uz??I)Gc%G7HZn3k1?r(lN7K_-ZinN7py@9Q
zLS90#e#z6mc-(`KDP>a2vLj=RrGnbrzz4zPHHNyYlOD(L4!dN~1k4UWSXH9=<l#fH
ze&UJn@s0)rPmCN?!=-LFLS4XWHCv{GmmV|maG#Xsz=FdX+G2tdzmyuC0UBeh&yy@u
z`c)`#uZI!GSreQ9lA%FzD8X7p4<rcFBpwv!O1(m=_U1-O8*Mc3vP8qKxbEADL;$@F
zAbgihJdG-{HPCG$p>T{}=0Ly|DWOReOsz&zCX&eB56bv5<NE-z7F=+mFFW9!*Bhn2
zill=I_oc;5zN$8Q`SOj`e1Xy(q{6H>o0XjcsVhX_0l#r2JG@dB9tUJWyG^eNCar)<
zEran$^r+}Y2!gH|5JUyp8bp*LbIU)!|H~ybl^#!5Bhk|ePgf(+$CTNFQjB6u$!ulz
zq?Or|p4*o$(h5&c&+W^HQH7^R=k_&<=-mG732rr-+jYxrBQ!r9yihD%+H%5G<X_*@
zD$dT}Pu_L*r;ij%C$t~PK0T+su7Bp|=Cmu;4_#aS6w~kDaiTyJ;`0i=|J14XAB`tY
zXdmTPRl+i>6wX3=dpcOIS4(ZJT|@kTI#{ZfcRJwyNmbq3*X~ea3nzUAr|tePZ+4@F
zO)YR8KyV+Ug5Y>Bc%!(xRJN^>)H=U?`G36d=I>sQ1g~h%WS>TK&<$B$NgjC`nS-EJ
zLKU=kWuNx>*s(chk<RtEW6DUVScu1zkvPGbqT8KNM&g7r5-N^~inDV<8Hp3hNDL@)
zo~qj=@Y3330yb(*ojk*!W?EiCLSlndu4)t|+N<2P94`?FM}l^`UD~ctcC;_ibpoDL
zofzz=7GsIbD*ysJfryt7xxBg4ju9OhjuRdkw!K8Py1Uap!gOW+L_$I4y_W#)K3uxo
zm>4Bqa(a01&``)rY;4@P()e3xI2_wRvY6lSlAwo<4)hO^MGK&V{2wJNDM18hy$k*g
z^O#K*QsF&Gy_3u)1^uj37k=AhW!oj?lQ0afXcDs<4x3?FzTiGBFG(5da%a~>M5}{z
zyiq5{wv$be4!ygxnM^uqR@_*h-L88{1W-eBI!%&UWZ`CMLwX|5%|<~Zl(ZsiSdH9s
zFS)ZrFm89{+V$(Jt6L-~)^^b?vjqCt#q;2IE>R9`#n5w^I8&BvYe`e>f_T;LWO1V>
zFn-v2*-s;5_P3EFy(B7kHxRecA`zY&&1$0yS4tq;MvQAbt8BG8+#lv3mMj3o5LXGt
z^OJ95pY{7CF|`*fH!<fdLR$VdrqJP_vYrkrbU4PDLWdIy9gZn<sA`O33P%`L=x|V>
z!>Ea@1gE5A7;+4`cQKx?SSoh2)K>7q*7)coXf4YtH-Q3j$4sNUv~mMH(y>u51F+rh
z0$AA5CpF%woVEb)3t!Wv3kG7<lK@;;`o#Ezp4FF@yePOzs1XBXWP+@OC!w)m5PiBp
zs*2ExZ?B5B39_d5=_)w1P8cYtOQArBJK%IDHg<Ept?7xre$txU0uoKCFKLqNx9Meq
z0T-A)0DdZn(_9(U^e)gHv?GXjY;z%qWJ-`Fu-O;0TK|F+;b3T}b(4`*6S##|>q(4;
zB(f5(oz+Pk$Oz)sf&eXnk>|fJ=%LV_z5hdV&LTtMZy!>|?FnVv{<bo1@1N><Xr55U
zP0hRikiyBIP{!>EW!xU0zimg>rWF36%0YU*wlHCJ>)O?g>T4HYdy!hFODtuQiMf&A
zBo=%Fq@(FB^Pp)p5!5f}`fkGj!?3%#3AhlVqiHwFyPKYVetTge&?#z*uN8j#kAC|%
z{{6rI_h0(POVojS>E%~nzsPN0)qXomZLs`SHCS0Pj6X1p<&ufTp?%@P^4cbNwsvrL
zZTW&XduoDdn;1;B$hQB~<M01IijKVp(}A*Se>*$<$}5-GHg=mJAof{SwOL$Sx%>)G
zee>q^D@3Z^xVgISh3DrWt3zi`RDR+o|K9g$&uPC(iL_tW{ty4(x!6y>Wn)!Z%ufH>
zul@e>uiU5<g2CBfFkim@{8xVe*Is(*xo4mK&wuoLfB2_geD=AQJON4B6I37wHbg1Q
z2&7KTj*U-Eq>i6BF?auc4?OhHJ)|LgGPSW$ZV;tuxIhbZ$im&gI>9X0QgMhmvM@`|
zNUMd0qNf6_c!DCq0|Vh8xkEwls9eEX4QTz@X|liL;jWYDbf$s1aE*9>A~rOX>hB9U
zAlb$GQ$yZt9}}aoQ?raCiT2d=sRyvR4W^{D^FX>kPJQ71er+~8Jv1~u(%%UKiu0~k
zYcy((OpXtoJUKHp77fS3&hXUCNlyn2e!}cFwT)u^#_A0zTP88x5|2fYzJ%&)H-sd>
z$1vL!U>I~A4F+($E+yz|4Uwn}QT4pp4ynV9VkMyE+mZUN9flnm?GQ%jWTdmTibO<i
zOO_;>X1#blAIlD+OvUooiqxJ2wVrTpYa9nheJAhDQrn)b)_`LaseL5yd7>LC8(D1A
zg6l_AEWtEDX8<SUxWOp)Bg%)77mhmUxZXgz$7B7G>+M9952P<6OcqTvoIiT*`L90v
z?6WVSY+m}4^r0jsh;~~bdaO_~HF7AC92!G=Ks($MRtZCjN5!^x`(NmP>J4xxl-jFb
z6_|4twY@E%%zo8dp!%DEH1WCiLD4z^W%dW>_pL;#zd5u&`&m_RBI(z!kP4_7oj?CG
zgOpB!SwTGp{otIj{Gq#GftuY1N-^;(x1*8_D>a&7sWbw|&(fV-y1s!<plJZ)ZK0K)
zGptI}zcK{0FS6jdj94N*I_E5Ed)p_J)_y|ab)Qgp-6uHrL8R7?E4=RG${O_vrL`Yb
zc-_YoUiS%Qje1y-S|3!T)}tM&VuMb@>d$O6@#`3k-K~vPs<rNHLXB(dSJ{gWz7W%W
zV6&=bf^i-W2PqZ}6c^Y#Ark)xB5t;FN1J*yjeV>sus1aas5Gl|^U|v?zJBq_wTsU`
z|NJZ8{4@4Dq?{k7%Z#g%8?&j|!>Q4M0g$n<0il=8%%r2OcD>uGRJ-2MSlHG(<n{ul
z*42}u<hz3dvxm<dqJ#iY&(kA^;3+fOwA`^#>FZ}E^@XV=P)E5!+R!X9=TlU#9Rw8&
zEH&@w)Nn*^xq~BN5k`)0F<;{Mp8d$jKl6k4J@|d#;(z}mKS;vUhqWiNhoSL}Lm-5n
znH_Q)%R6A~^7C5YIcfoX_04=UH9j*kNKhJz<@Ch(<m~JetaajuAUIARKX&G>d+$1a
z{4}=U(<jc5FmhUZzdU2R$<#x0v-PeN*%lRwKo!|)R6KOZHIQc<M>oFr%%SmNcprd@
z@{0CN%$5nh^uO_UBZPHi&0r$p{Ia?AQhxVe#H79jikT+x7k1rVNZU?067%goXnL{u
zAo~sxA%|f{MmU1pK?r`SF8GK3y!SIv$lViWfxXX*bsELZ8WG}Bxx(Fb7Se%edSEmL
zua#2MBcms1YnR73j4)}YrQk;p)TZ5y&CP8n$uzJv7YgMXQMipRxlUfP*=bdm)=N0j
zY@4hj_LxQ!TOnJ_3P6063+$WdF49$cO|n+to+9|UQp>xn*~s8w*8)z76TlLV?N)XR
z&!1o20qVhSH?4(qv8=W8$!Lf4M6^$8o5Q7<huL^nuZkHQ#tgP21F#UU2ZEyK2N3U@
z?MAx^0SmN(7&ZB^u3$W4kRx>wBNGTQ0v%Z9c4g76rtuWFpa((X_eE6BrFa*%3zr02
zr1y6F$)iOy^KP^3<Gr<|qLxwH$X~zu#<dOd!$90!lN_-nggi#X4q!sUN?+|5#FoNg
z#3;sEl}yH{EMEc80o5?(bV_xq2e3l2HM<MxYN@(gS}TIYDqrv)H;gERAi3JsFB3Eg
zFrB9Vv!l_*jh$c@g~6AurG15)g&WJyUoGu!`(ODx=_oVWA98=$gw*wa(bKsfm~$3k
zNdES)!o40=xR;8X@-SzLg#EC>y&h1w*TV|;dRXCJ4=CL0VTF6Ch?R;(UmI;UDz9OP
zTOtkTYT=caUZiiAZY(dau3Xff&w4IOgn)ohqN$BE8^y@OT*!@9N*llR<u8BvOV51a
z3yW|5@Biy>y#CDMvtRkz^Dln=kF;OSW<-L=tO(HEcAjEES+{>U>NwH9L~c}%Yxms?
zcJ`T5CyyWb;U|9h(2>K(DMNnt?)xaiks(aijr9wtK$2QTX4WlNw>B{HmU5Z!MCTv<
z!=L+^pZ=+z_`5&y@%L$eru}c)pM^g9$shcYzdQd^pZQrSvhkm}-pYbre)8;DAW^dz
zGToJp3$MI#;mUGubYLuf`t+%jCj}$r=(`_$_mQJVjv-Z@B)k2ST!^fWNl0)Di3H$7
zvn5~#^=1yGU{nx|Mr|WJ7LCEKlgV^oV01W?9O&-@a44KcxA&V2Mjag1wEZV<lvxQn
ztwwH?G^+bX0fqrn_GsV9`_3j09iN#P9T^xn&Z_7c6nDrPmJ?>Bq`jNsIj>i8qxjSF
zK2s}|c3Zeqn`MfJ3qbdd7_Oy<85p5e!qOQUEMlT1+PTqCAW|*t;&`*e{myo&7)*pg
z5U*@w(rRM4pojaM_U>-SO#qz^G^CSA*sW5>8$~ul3Ij`pSz21zSmD<>BDZy0a{1*K
z<=5m_a~R@4g%NPv%t%>({q;95T)cGU%C)6G`SPFKSh{iT%H>NJ$@Tvet^y6EB7n6!
zU=PWMpxDo%kzlW1yL$H5=<R>gn<EFsbE?=Ue-jb85{i^150Tx^$nL$eGi2w-1Ny;(
zemvmH?e8wgQA~Cd5{qkThctKInqpGV@zN~+g`Ir<wuKBjbG6T9V1ZBR1E<h5nK`|W
zcX)MBdwSt5SNA^N`PCVy_p`Tu`)U8<onO7c)%#D*Z}aiMtDSFYH)b~d$<N*XZ9Gv=
zeNM|zgkFn$n_dgg@5`paZ@Cjex5SgZwHvegwQEl<u*+#$_p|=rG9m5fwSywSRTPfE
zRF4na3Lm!T_C2dAzD}R=TxymIrBcp4y`UNAp7uR#dN)T%fb<Vz9+XD=?+o~Y)|C@G
zvf~opiAR{$HSJo)*zV)u#XooZYF{dL=A1=sZ@ZI-KZkQ2q~e3(U!1vpTdp&=-_Oq6
zZA#_ZeG7o2NX3pK6$3f{aVWn=EMJpX*~=Lr?S0vtaYB29eMk!P8bO$f?EfQsAST!w
zF#Vk2zzTC<Z4h{C2$mExNa7m8bIu}<?{8sc4OR7>s6sDdS(bRzurhXGW$eOATf<6Q
z1M~ZB4eaYX+S3__&=lZIbdSTOCC#{TgXl~`P>luSpDtv3NAJ^zJFA@)`CuCZ1E-8f
zz9gzSANu;H7M^x5uCHI5z2}};?`ii-SFe8Qp-+DDA-Nra9(uLPo!vyKl#rL$qpYlc
z@lfym*FW9kk_S=kK@m?f;u7O|Clstky{iaO>WClYk=<j77EEtWdsg<k#8In2QGUGt
z9}8FfL)ra`?Ea0M)BW$|@Zaw3dZVp+DO9|i@07orP)0kUjCN#hpR(0hxC8TdK{wY#
z-C58oPZ2|q*HUOI3tIjur@2LZal-a9^zcTJp;x{@4fP{oKSS@hpP`qE4GknGhA=To
z{v&?a{R}<o;0Co?iyGMEW=nvt-L?C)od)%-Tdj~p`DQKfR{Wo?KSjx%R$r}#y?8-e
zddksp+3U@&pO1%5K|Y>Ikp;U*k{?lVSUDsXSZ2$2+kXe;KYthf*X@S13bQ{%5o*Nf
zl$Pg1D(7r9?F2c5e*aag1^VwoIees~_4;pP<2)ITvDDB+a^P0~wOW*aV;=Ofo&iH|
zf#<T9@hPRP>6FHfM#PPuDO!;pBwdUeCxjB`vUunET5I%RP8$cl2fYzo;=QYFu8x|m
zqD?$<FJCnFoq8~#$n1%^{Z(D6wu;PtCp{RMvllu2s>lP0xqW_<P<ZQ;be=;o8lZS}
z?@2n(DVSELoz}@4C+{{G1bWN%`!WZH{04ED$2~jzW;uMgoC}QjY2y>npA9^_5$K4-
z)$6`CajNY$-A@S@tyQ5Xs1#^JdZem@-PGLb@@sX^u4^n(P7VvYXXhc{Rx*bqDS6^e
zAzA6h9J#uZCSLUHR?KScS~;KgB6H57wzowTPW_$c?mO+dgXXRl`kbSKWNa8!PfKx}
zrW~<J27W=h4M$VPX8tmbJ?Fgi+r|dpln;l?Z-zapX^?N9NYHbXwx!-|%|}7&bsg!-
z(tDoMtq^cy1{fddIhz}Gw?Nym<DTYz4s0M40lH8d=Qt_J%M2cKz)!@>*vwz1F}*Ea
z2YzbCwsu=qjMN2xO;_!Dj?#Mvad^qXlQsQL?0V{&en1u;>-)Zc_AP6A32v=f9;><J
z`f#xBAH3)pMTu_)72~UvI+Qj0)2s#_D?5=MCiOA2|JHvG6ETvbfG@rg#{;m5h#gkB
zmP}0WnSk8uwf|0XEY&Q;TUiXQ!ui!4OI1cwS2)$KspeR!Sq!SKoCT5t;ZpL}{I?VG
z_$+WwX0;=H`$5To+Dl+V2Lu8N0fvMJHEoC%H~HeZtXA|B9^SasW>t<;$6U?4R5Jp;
z-I%L!%$Bm+sbj9naZ2Xpfn%<fM4r}GWpCW4{Z}ZPp8kt)t?N<+*f^v8D8f4BA|#W8
zk>p!GwF&IZX%S?;HtzBq)Um|=P3?Dls-ThupTP3|PHk7|T^;XR63s#M{+A`g3X#)x
zuzYBHgtq7O5x?akoBpT>E2}i5Oyi`{1sW~y4nmvoTF99Wk%m{b|C@c+7ix+0%l7hG
z4jOS)+f}XiHnUvhxOduWmCElVTZ~m$TAh~tUh?Tr^yvLDX|l}KGNIhPCNm*uvRLzS
z#zqetlRwFYSL9?rFO|g2-n_n(7OS!PGR^^7e2}i9`YTi#zZ1#zEqv{=_F10)i{NDQ
z%xC?v`dRi{*u-=C7qz+WKjhPlAcGnYVJ*t(Gmt@+Pw&>|<r2&Q47jiJV;0~L^`)n=
z%sY!T!r#L4`*FM~WveX~jYTAg==^>hZ*+cN+YHa|%dn~ztj=mhR>zlQY91v8yahcH
z$#J;0#^K;#PI452RT32R^oEJ6%Jg#-dN~`epV{Mwa+z(`zY11p@om_xKBKj5aTj8o
z7N|@qHzfLKK_4E@>1GGplH@Ji%FGDOJB!-hrsk4=w{2H*$wTw|($m|uomQXAuzO0Q
z(Hsp9K6NWQBi+l+*lT$&J40!C)odFTNmr7VZ`&<nn^R~rH*sBVH!{M}@bFX8?)`iX
zUrU{L7WbOXIPQ<R%E?u3_MOH&dcc^6=J%z>w|M0w-Yd(XWAZ4Ma~!U%J(<CKxwZx?
z0_;%lPa4QP8U5IC^iskUNl(e>B<o^<QieXzHku#@_J+Q%Wz-Q0vJAa{FH$M_u(HB$
ztgZ^h<FW5#G(6561*q0p{0sE2_Jv9V->R{{9sM8F7YEV+A%<DT|H%wp@f3%HgFOD)
z8aSuD89)axzKDQEp7bv9w;V7Ls%?ti-kJ!6WK+J4+qo{ctJSz2A4W#_nblRFByLTG
zjCd}i2T(*v(IeEg{Z>|2NRemMY(KRZqRLDN%_$V2=n;|meR)oa^0FjG+`#K9us%Mq
z&_i?%eY610JVmN%HJCw&Bl#`8k;)ip&Cl}UBCCHyh{m+Ez5KVSIjkRnYFkbxQ?PHl
zl`;A>x`^JPlNO*Gx%tY<@UTxZPmus;ayE`*lDQxl1BF)}2tRu;6zumPq@bQUMtqX=
zU|8wFzX3j~g}!|c3bixvZ=Gt=cRqE&V&SiOa=`W`*<KEqt53X#-jdEYnPi>dEwW;g
zwfcmtm}JspLR71(et+duJ|ovs2Rf8o-~n7cjU4LFwu6vgh7>v*QuNgk*p$q+A%)I{
z=Jr>cgOFc_6gnGH=q#ge)mR+1FyMijYXBgHA@=f?r*B<GCkU7Eb+8l#gZ+S|SDU<f
zsA6WdZ3f!{fto&=Dihd}I-2%^8yil(?xq^)v=<(k7@;y<iZ@iUAaPOP(^_525*neH
zZ9W@pM{LQBup?wiqih*j6aTsC1zQ7Qyrf2WfYR}eM$po!QVjMC%%I`v4XRZLHj=?5
ze6?OBac>>VWJn$z6*1Up5E4uk)`sL^8(q1pAM}Zl1ynnN1M41@wmPoSsRKg0r@P&W
z?h;nUKy(*}F>sYJP<0m-A4auNhLtf;br*MTf37?8vbG?q%xRiga_Vn@_OcS*`CZ<|
znroxHy}R=KqaMchu4jhZrLcES=X^bbGndSJKxXR0kMP!XI%~Xb1rK3Y!NoulyYAHX
zu3Iw_@<$0f?p<Ea^r-Q#vL`}w`|JNfJz*N-?Jb_ndZclgw{rPdino=OA34Qn!?97u
z(~;gIM>3|dQs;wdexp1n*9_=Y@0>AW-^^uba1L{Qv9@=aWnIb(UQSrcV7YM?=`nvx
z%<ZrB2U&;`oT=I;ReZt3+`ep=P}&z&Mq0HF0at6-sX<Amx3e%4kP=#E@aUOW`6B3t
z4mwl^aW5_p^F=`*tvu(W)pp<Se(52;cufGUsQ1_Dn%kuaUsQcEaDryHUfGHA1>uK;
zI6M7Lr(9SX!M-7p7EBeVM7TvHzQZYoPYq5zp=~>MoiCzUs>uOHh#NoT$`{T#=LQkC
zW9d8};{IdydhYIdXOYhEw}+ITdr;w34=VHIzA2)4lsWQ{!l&+2B%}wFo;#`Z+=B|A
zipSKn3l^Q2)LaBf3ZJXvVkL_a>q7d2MrEne*2+qSs(BPYLSx0ExVuZpmqBJ{h%8Z(
z8^Rj}LKvL>AtI6E*>D3F>dK|pD5!LK!y6{D$I>XfL=>rIZEltTyhYxU7=BM54lX!U
zPm@UBY&cG6^Qga#412>zjtm9~*=aYiFa_RtV|lk}6N(_&VxInBYQbqyG+pwY!qX%v
zzUxuh9(mB~CEP)-c!JqWNChzCVQAf`NrtY(SXtSKRCdu^iMa-6Gb<TKJYQRbQBo*T
zCp)3R$w>HNQ!+ZJ4^6m6J&Q37k1`1v{ry4HBWI2%LbD6Nv>ghO$OgzbmCZT=+!PK(
zi6dzh^F%$BvSFg{^iXnmYHF%K;6EaBN!C7jLRP?d8wtW7kC?AbqUEi4ol;vNx{VfA
zNvo|7m&+a7CaF&E5J*C<B$%fJI~x=d^7MRZ!R~bZ*x7J{5bMp&b;{d;@GbaXU7f0|
zq{!i?hEm13NdZ%S_Ng#29F+CxZ5|+6B<vDUP2_RAO_3ByI46dMr}OkeeZdi_kO$6&
zfez10@G4sYejg?D)17w~wY|-q-{%0TgsW<JzW+_3W7TF8Q0Q1i?m0lZ)f`1CQFuLF
zdkaKMJ10WAr*HOWDERWm(Tw((UZd=0SO=D$Vm|=_VnUj5#mko^1$}+}#TPyK8xfeX
zqTam0dVnnN@2~oj*g-yeLz%aRGH)&V#?szepTtn+uAy)}Lz%mVGI!qr=28xmWKP@m
z(L?as?{7Uh@||Ld+<JOT88H<fMYXb7%G0ZeQ7S%)rL4}@-2Uo}ku--%H0L`=zRCMF
zULjucy~Rr~Q3AZ=oIYM{UgBHz$K)Wp%G=SPjLAWE71e&Gw(1}{RPCiI>I)V?Knk@X
zPn+;9h%rz5nx{>9+7*oCp5H!z5Aq&{V-51d+D2S^oL2EiY~e|u`uu_X|G?PUJoPHC
z=XhP=C1Z7KOyxbvOU6##1qMgP)0ZGl&N+)r5q~?Wtb-?&`E*8^PbWF^pxjzD`{yo&
z8jmY;>7=p_rpsj8unK_4-EPBO+g$?K+GWopnh)*@l)2%7{L(QEFTEa%NlkXbz3UC5
zRc}yXx=>%|R67_alyY#u^ekLxw&kU5A2pkzh-60B+Ce)iap$&|4cd<7=P0+D;5KzT
zW-c9CU*BZGthS4r`OQWuJVvPAaL9|om0|&M?g@CpExusd?Us{EQ{<SCz&4pN#OZY{
zLkg$jzRQXNMJ-?1kks(JaAO>XTn%V8S$?eWZE`%IE><`q6G`y{IKSgrE!_lUDNSzA
z4v84W9WxZ9v<C%1qEQ{oeyBqc$CAK0Y_(ZX;EOFUU6;aZ<aj$8i612B2-F0*KprWt
zKDfM_V-;hy_0kk)h?0xjZ-)Y87`nD3fumPs@dq_cm*0rSs?;Sc)v37__0l-j{AEVg
z9o9OkVM|+S9nF&502a-sbYe%+ZL)Y+VbOO8lr+dy;|Z#5P9)|Mby_xrTattcnuB|*
zxjko;6>4mLA8TlAe&35ZHl=|-uy21nHgDX<5jd)>P}B4KGWhWPzU5(N{&sW->9DfW
z%Yr0X>qZnILqmq_B3PNO8-*TF=PZY{pViktTVw<ICuf^L5K)h-O-TSpvYcJk|F#?9
z^p0)<G9fA->GHsbIWcgt8?Mnm*l$M%h~eXJbf;ywK<7?^tX*`iqxU63<7dbB{>Go(
zcEfb2N6>cl0EK)(CAbA`AhMH*8YChwj$|9rD@^(T$N=mqILmp`CjR;7Atz^nSf~C+
zs~V=_CgWQv)u|pvCbTrWSC~_WP7yGuqD?P=*o&+o`C|A9LqX|+UPlFq{@dQx0)*5O
zHW{R#uNLf=;v+te0muR!lEV$B+a%Vu-U$VJoglvw1edqmyL+%xEEL<7;#P4FLq?69
zQ88h|3YQsBxJ(!>BbEU*awe&)+N!RiVs@(tZ()Vg9AH1u+*luoY(RAo_A)jVwcKEl
z(jH7<5!Z6=3oqJwFg*8e?`ivA{7TqJ55Je<vgbIVm*tsr*VZMlW_-+h8e4!xUu3Cz
zQiJi7E8MZ$*rl-Uc5(j#I~ETTUyPmZ)=%h>wQVE1zRfv|BCnhqjkMt~`NIBX?%~-w
zclz23-qUaz%QVn-7yMr=OWn3_)dcSZ6}_JxKFHgxBF*<Jd|cH8Rit@)b8R4L8>~24
z$fSdJ`ob$G52ML>_}EBw7MSV7!#6M5I<R+?1QWPj&-wU+&;Cx>0Jf-^1%T)fc+QD%
zX$uksQaB6gyEv%bz8$JS;0^Mx5_Pa|VtKpLM%iq3DWuops@<Jf#J>syi6HEPG2L+7
zEpeM|Nk+#K3Sqe(2otu#qDR!rQXxH#(C?u>azTlMzjDb^m16#jBuiwn-UinBZQ-&<
z0qPu6qtnzmrdobvj;ZtOpvW{86<D=(sPl`3pxGo5paIoKqm@c1L=NQBz#knxeBlCX
z&eLGseBu-T;Xj}lJq`X%B0<Ub7Kc=VYLE&a;Bb4pMroqHKK}%XaloEKNjTqP`!wk(
zWwK;Zh@K|MXlZGDoW#<nd*i0I`yk$;qC|ct-g1!D@g4J)iqR&dDBR_lH_XP0HjrjD
z-JAHH`><m?)Oqg9(hL7IYX5i5&n~bu?=cq79X7f{o#o~B9%HH1vOqB6vxZSi7c}iQ
z3UJRFCKq{tb#<zg;sNsY_Al52;|*(I3^T|cYw_IePIn8V0shh3zw}C@^G)r<NqQF6
z!g_*~&|@twI2>a8R--}GEU$z7NfH?#Uekm8#H!a+rLBXaK|+eo5>j*)-Hdq|ln~t+
z;~gt+evS7TPygogy#IiwU%SeCz>{p%jCLMmvpVk>J}ekAaQ&=Uyz8DGi1Usv@3_2U
znC(mQj#ki~(|&`adpxZ+r~d>;|6q?(e9vleqLnpx5!<0%<#nAGQ4r`ey?2R(6>Uyl
zQC?kM9bWzlGBf8aGIahnqi6zehx0b0=%p&g+l-=BA5vD3={ZGCQ`YA=rkzj-tsi-t
zJe?X7B_f%ZC8X*miKOjZyb}V3OUK4i$gh%PLljG-SZUu};qR5&W~Gsf0~tfoJ2oOx
zJ`wqm_#@O+(yayvh?Jr=xW_J*lWJ&Sa%wn6mKpMR#EnGFz;4B%)LO(MFhWFo?3!e8
zNdg?geZ-dqk+rc?ks%+KY$Bk%T}nBHq->Df!|F!D2!kdSYxosIN=WHuG!h~UClr!<
zQ1E>)Wjm&A#$AgiMfh~Jj@W+$I7nKHwTLurR11=rI=OhGi+FC37}RK#Fenv0lAJ<R
zt}1uxTdQl}lk@@9)f3buPs!Ikyah@pYh-=UX_!iBj1OPau9Zuakwr`3XV5;nZA!O+
zMbJV%m-+oYOU<IA3Z?cSTXWh9$HTm28J8C^-9GiovFN`N=_%Hiw_VK-LZbcavb4ye
zEoKF6nb!?oVr7w5igqq@Q9g^tE*gA`m$d3_$LSy|%U@TEd|N_qoJ4lpKv?q*94i@9
z;YM#6t2?1UN6`+x+m@;JBh@N)p#4ZJU6Z_os$TRUI-je`2+8wr@si^NFUS8YNB;P}
z?RfolQQ(2Ck`-Z)*RA=r!LhVsmzNyN_(+>%b>Ow%qTrmfsO@dRxqVx+iW>Z_(G=oa
zJSdJJsH_rdec`C0%`2$EnwmqX*qbfUT@5p$0e0usv*wUCq+vZqxJM!Lv4jg+K|b^X
zEzT4F=l?}KwS=|%#^o`yLb#3DaW&iAvbI`gE20H}><(yHU9zU&=IRkD4EuKxErWpX
z-d(7oWW+SV3vseK`mm;Dv~+LA9)v6$Q7j+tq`yK+f2khG@2bBt1{k-5J-AxNSk+cD
zMlmKW!jwgf4i3BCu^*??J>UC47%`sp&R&NZp-zZcn=Tlji5B1~(H6lP^k>Fs+T3$R
zTj3`nd-oI^aZrbQ_d$fmloq7RaEsjPGG7J>%{z;G1g5DmTW>3CDl*7HwLjE&tpnst
zc{Bvz{eZ2ZAtJ1XhMqEFSEh}ZZ)nEUAAZRA)jwzH--#O=)FRjlR`GC=gcIM9av<b5
z2e={-AUbP!c<<U4=R`TDG_q_Qk~##Ut541Cw{l9EN0W**WK!XGViB8CS~;ayLZ%d&
zP|<WJl{qx2NLsOAKroOZQACegZM)=U!sRLeK8Q{jj;c?_`uheEjRuD$X>#l83V&ZO
zlr~G)C%4PB!jn-y$GBSFC0i943lkryvO&t%CS#$X^JEkh3$~RTF-hYO@#hmKCR6FD
z6DOv~e}7VpUou&B1AL5D0|`rW!9EQVdZWea4UlTsY`~wKI7p;n{AOs2Vo5XHCu60G
zR9@ZL_5s#L2Kaj@U`NR46s)<}lQ9R_Bgb(mK!-!LOpLwQ%o=`zH(&%$#!NFwcK_I@
zZ^R9w41`G(U0%9&`SO(;H+P>Duuilh9uBu9{KPNnLy1swXeA*Z$PL+oArYnOZCbXo
zQ^r5Lvr{5X_sO?kqYvWwzBf)g*b}1qchm^egZw)x&wq=5M|eF_MNZq~;B`N6zUI3-
zSg~2IZGSH!2WuQ_S(qacseB`YeCMxds_*TfTt9W4meyIcPW4_n3hk=CH`PLNC#_TC
zXK9wKQwWNC0tjgV_-}&p9o8KlAMwPO8RfIT!1)cm)vh~{Kh&xPx7y_>b5d=Wqs+;7
z+OD_wul6L}o(POa+H04r)eIXgV{iF;4*VXt)jC@H7e>rbIL+J9<F}5O>Tgs>O!b!D
z$%v^f>j@P-!G6D0z0r}eV!J(3x7u<iqx7xRCs`>f^{H)9=axE3cOoUKbE_vXi8>Aa
zK~f07x5h~Z#ZNyKSE<Y=D%^0!?NRb)maGT|>E4Hw72%MwA{=679a5<8(42AGN22Q9
zvvd1Ck{M-1IHary@xta#ClKw605=g!4y3St=r=bO0v+udwV|&pt>yp(zt-v-o*Hr@
ziLoOmj~?NSufDbrXm-Ewg+Kk%KmF26x%l+V;UT@Yd=a$B{3@4u@mPNez}B@b3emAe
zV_y7;4}bgtW9!Sm`_lPWzwz83|KT5a@yTP$&ph+Y^A~1uQ%!=u;sI`wAV~)}Kh}XV
zssCP_f};4S$~EEbvUzdb6-}VJI#kT80+m<s;;n%pVa@g^_3g%oQ!Ou^><`t8o7+vh
z)7V}E)Y6MLj-SBQ7!RJk`~LgyKYh62#ksbNpD};~AQ++OE3GONX?HiDN98VT=i;n3
z?ocu{F^~d=muK@bQGJ&+!nX2jD=R?2<&a)v^TonowOrTCkYlql;$UM{VvTFXmzS3c
zT_-h~;08(1QUQ4{23Z`F(URaR;0o+vZmUv(YJZtkXkb>Mff=L%XDWOk9jKDQj6w%v
z3LVTUbP${W_K|zoX7Gw)a@i#UN82e${tyPobzn~}UT9*gXon6TJ`APY#9!FGwpzx_
zfCsXxee*y4r~mXvzh7zQVr@B@2%N!We>^@E%f)ZrEK_IL4f?dPwsO;pHD3I^-}}AC
zAAkJ5<Hu%Z?w`uVpLu2lbo6-ACylRv<rz=9x+gs7qz+IjI*cge>cLXe!N=f$@{3@q
zbuw|vtyQbCR@3`H_1In<Hzih*j@)Z%IvjGnxJ8`U76TFm{iWU)4|;&860*~5&l1t}
z$fL==h=-L1f?<TJ5_$x-kLQt%s}(_BUtJL!O<xk=8Tti)_~B9D$i%!NZn+vK<hLnh
z9&mAo;+EBQ*9c+iZq?hai^sRsa^09I@H?CdxJ{{4DCgqoGz3&`)_tN#P$w1)Zv+yM
zzr@p*lg3$@jBtzOytAn7ZKDcTA5|!2RG}2X*B_qOg+ut;sKPBqm9=VAp%T@jI;v2K
zZQ&m_bqhfml)8a9DpJ^pfEq-mt+?bp>(r@<!M+8vZ*c0AmkE`aCnYU{>ptRHmoBYr
zRu|0b=JF-}v<wE*O>KnfIO18K|NK|q$S;^1Z+!Xl0$Wd?f$e3L8yL{_?N(NAmB6$V
z!O?d<Hp#5SbyI6(^+qk+gY3mNF6KCEZEd?$Suk<Dt$ATxeBv+)-~468Vj<VYo9~7(
z9fv4a7$+5yN#5|RiHUT~SumYgYJ&0x{ER#R)jnKHLt6>iXeve^6ACgFLRyuURy}KU
z6kMML(~YG@k&t9$?wWTN{VryAk1{g%C?j)^GBRhT<h=cnxknk9dz6v6M;V!u%KW`Y
z8JT!Y>j|*F6wBks@V<f|x*SOYbsurM#@JYJ!J<TCe|$lU58l{;tcy3!1LyU|;Nko3
zyYJ{w1Uq8PvmScr=y?A^pnv@6Lk~T4h(l8jy}>?9r1QiWa9v|tOXts@zq#Ea6rp)*
zU;{F+mo6>$#`xwXZ}3o%o(dm%3^=a$yt(+BzxkWbT&e*#R=G9af&3d^`uyiV|K&F}
z7R>w`&wk#+2hZb+3@%h==ux9(1d_=pNKhRCIE55~EDzhImaGzkA#z$-wj%J6a9wbn
zc58xj#dw0_Sg9`nbuF4pg+sGm0nc%;Uy8?v5`)A#4wUk;LKUlA!4qA+yt-Lh2$VM0
zE?>T!=g^cxZ?KA|vD>T`VHmq^gr|=L$nEahp4HzU2|5da6$%ca9Ll5gdxLEq)d*a2
zctgz&az)S~pt08Vtl{BgM6QVR116h_3h_jfBOWyXSV4S4v$ULo115-70ay~q&jE-J
zr87h<B_udlf`_=R;yMg>JvJ~sJ)Mr2P&eT(J#q}Vu{4cK^(Zqfl=;12<yAEkRTA{Y
zBeAB51rdqek3f@m`7D+wv5DUDRp8%{tvA=yDkHPXTzk9q@*sc3*u2}Dw{x0ykj$j6
zm2h_5AOgnF0X{MUgfbg0*mU^jgRyux9<q9n`Hlf|q5SN`;9wG%?tsO3NBYOSI8}NZ
zts3Y?9W#KTKi~y!Y;G3vg<=`@2>jBD7f)OD-P-2T(h>kkNHvu5{o)(1zxvJBuCBl)
ztJ~{eVL{{}{OMxq<QB9$4G`KK%iaY!stL<%mg2Q)lfWcd2U}#0n@#+L=)^?)5^&!}
zGxp-do^~a$w~nU)!m4{N%aNevlXTDmFwOIuN(hOmyTr%xzp1$)ydS3K1mh0=jc^?5
z2ZatPje563KJ0olXwuYh-$3sn{rSv85-Cf#uhwq0?Vyc21d29Y0&eL_S3D&hiHxE)
z^gs-pt9T^H{2&r6)sv6zME+N`Gz%X5cDl?#^8cOaGOGOVQ?1xb3%p+Ab(xoFZnwN~
zqE<^(p{h{t>1W@wZMyZ$YdrV!ysqp$zbG^^BV}f$d5PD;w|e_Zjn8RRD}kzW{$)hy
zs(P9+x9>}Q#}T^d(7o+1#!<xQokd8;-&8C2LD_N=#daqa?mNho>shk3tgRznk*bvA
zEoXN1!8I}mscGlu!+}>~ZlpKT86*E%o@#h4D`T{(Es6wGFu)oOO5ruP`>29fwt&}g
zYh(#(nr99VudHxGQe~y~TZc1=E2r)osc&wax-3X9)AP<Ejq$fb^ZWMwQ;PI*N|9bh
zr!?(^B3IrwZ`{^G4=Wt?K}C8wqDU`?=Wj>qQBMbfj^sO7g=u8$2I1kBoz+QYrm`0W
zeR34sk*qWS3?tOlc8OjC-ny%2$e1W;jS^8qnPC#Uuu5uged8`LJOi2SpSvQuZLASK
zpBXOaseg&s`j$6rz=RnY=g)8ab9Vy~=auJQIp2dY2g;dW&)CxAEsI2S((7wwsdnQ(
zIR0O@Oi=O}h@0dWvt)&7j%GSk0<&FPs`vOUpk;C@C&x^SO683P>{gOnH1Ig6EF=J#
znt&vOOiuuxFi(@L4c(x;k=7J6NWz^oN!~yRqSZQLa1_+x7CCOE5)dF`V_9Nq^oC|h
z1>jcJssb!rz4fNGfGHmiOD!1R=FN@eCoGD;V5HxBk<;^8F!pRmYP&EZat>o-W`Y)>
zCeV$Br^P^pd&+QQNq^oubIzi+w>ipse2{<g|E2Cd!0b4$`|fw{%$?iI_Fm8%(Hp_K
zAgL}zvJz3YtSBo>ifqeP6eWHv#b4rk@9Yw?Y$ujv*>U_>pXInFjuTs!WOa}fn@9qz
zAkl%{1+cx{-oM|OUEsd7wKBxWHopOO`kk4#o%fXgIp>GbqUpL%T|cAwnyWQA3_xf6
z$3af8X0F~0yf+$8H>QMZ`Lf)z;J-O55H%Mb-lVD6AbBjWj+6RPm($kpFt5;px`bIw
z#$rB3iM!w`n_4-bOsJhGmg$~FTZl4|@_}<_A6Pt>R+LwqzmA8~ak~Rrd#+`r7@+OL
z^xi&Ap6MTIP=o<Zp6S;p!djM!kXFv{P{UUt0&JE*H+cM+l4#0FU_W5Yr+^jKsw0tN
z##WVpoy#Lc0uoDDeqq2t(K5)2Baz;oxJr*tpe!=PX)<A@5m0kUR6yj}9Esd@$3|n~
z_=EA5uxTv;%CsgBQm2!afKRNE2pC{hN|T#`0fP@!!YU!Hmy;IXVHqPy1_@DTSVlh+
zDHDBO03UdZ0?%*+^$5U|5PFK&6zdrk#HYwA5kgp=BVR{s7Or|nBDf^gNV0%7MVx@R
zDv4n{5>bkPxg(JR0ckD2AHaA$+|uR{%MV&{J-r{<7N9IbMoA7<tQh{Ps(TVXssg%(
z6=Rw(oWb_?GVpl(l6ZCyiPoRAL_)4n0*UVjf^76NNhkq?kk#mCUiJ9?$B6VNy_*5d
z;HEn-JAj_B(yMQ~J84IJK<MLKVr;X|AYY*Y{3PK1kTa-dJKWpo`zxcwoevKW+sEnD
z?s9mzF&`ctZXnnHwvXT;t@j_+djDaq_aD@H|K8yS7jvs7%}Wj+Bw%I?X-YPR5l25I
zZh}Sn8u%n!uSwV8Z|&&rZU%h>@4UQRy74ne_Vu5kVHD57WxwBp*Pus5QIW;A?A*T}
zjfY*4tWN2sxZEs@^c>kY<4x9z=b$-{*C0-Vl{h(nu8dDyxpIy0_|nUj?kMQ<z5MbG
zM?u{85*_CmI*%NG=)2$j?xRmUF~$8Wc~Q)f8;*i9*UL+->yCnCX>vUUYcT;wAv2TQ
zlSznBugMOXSY1a!pHJZWtB!)mF#JB%TFQ!mo)eb^W-*_nCG#0hm*yvkA_?67s-GZv
zG!h*Wjyf}Qg>0U)B?A4I%O-MpS66tXixfwdDn5RMZ|1B_?Zm+sW`q&b0TRsehsh-v
z5A$J^tL}Pqlt+G$r(h!DhlCJX7*!cN(G)+FR7#`b3`%Xf|D`HC9)fc*)_Iplh9l|o
zC_gW<L2*j)baz42H4S$`JkGl+AZX)~N3yw@9YUsw`I80DksoXkT8lgP(EB}5b&uAs
z{~`V7R@w4bY+l`$i~J|_XRR+^Oa8kVxk8u!u74_4AMyNi4ROLOTsPji*Jb{7spwh~
zpI-leTZ(-(RxDkLT}wK8MJZenwclC!^6O=hGA!|Tg+H-ciRi~US%j*->Ulxr@*mcE
zx)$HJrcWczd?DA1uia5oE(7?qBMo%kW%5LlWl+HOz!`EDb2yWPAY_>km<L+j8AD`t
zF@`7n>b-n%gYN$wOQSYE?4btNa}$2FF2S8|7Khi<Ta3ZW;vwrRi5F}c!dNhhHlDGq
z^Yg8)XDo@ExiJ%Z)xGIvbs}roch~Aox>nCM$V+co=_e~AgMH~w(vPTo_lk5RcBtJC
zs<q-Z=rw&aQ7U}e?5g(}lIcP9smWHn5RM&7Kx{`$aaG{l{5&a;j-l;`B|K(Eqsz<J
z@A$#rrpHJ7VZY5c)R_4bo+ZZLv4m#~SJh)UzX0jyD8}Gp)5G{<Lo`^fEfkspH*WdC
zH0AHJ@~<@lJsPi~OI|unxhedlG_{L55!KjB4b+Jc65+>KqiAx46#+HeP>`)kTK|xm
zB)xa9Me*07EGxa1@0NZI&R$<2C@VT_mxEjj&-Q9`Nw0`MruFfl){lY>4su18<iSHx
z61@{ZO!f%579ipcdL$D}q(YB0+iJd~UQ(_e$ppQJP5{|Md5N=WN-SIDC#t0TTMr7C
zs_8E@Et+xFRdBUPrdN4I8{jLNU?7!S=39sC<7#!$BWv8MQO{d7Ez+&rd#gr0^~f5x
zYCTcsns3$0taHuXUW6n7Tet#~iH{f!wx?8uM>9zD>7Y+R$&8$5ljkg75yMS@j0-`3
z!08V9tE4r__=5G!GF~>Zu$d`_LG#xOImh2bTGJLds&L9vm@lOKV(#Hgyvgat;XuU9
zEP8enGp4D$0YRN%2M9R+Imx@rl23WOK`&{#R}PovobK7#g7{cY&gSZ9?Fsr3Z0*Ea
zqynw2j{npJ6i=s4otjM%Iw+L#&#}*$3#XiJ^zsT9+cF#UMR24r)uL?@LD-)cju{gj
z3LbP-DSw51VWIO*ch$8_<MT=8Q<z#}Y!Et2GKhFEPgLD#9`L*=56P-iBsG;B)RGFm
zyIh4&_4?~&T!aaUv79aY3^B3QO|RoGWq1L6dXe&lD4*=gnUd3OLc?%kBxw~62NHaQ
zw~5e<e*-StE<;OBs}yFCYRWH$TNaq>ZlCQf=VzvsfrB1WJ|Nq=>S!l{1blwN0%h1j
zNK?y&cX^S@Ic^&1h6NYl7SRQ|Db)g_Ea&ipaFDSPo_RVU(#dF;@(WggGnUQEd{~A7
zqOx(HfSH(Rx}0Mc@W;fch=tfkXDQHGeC%^33<yN*X=~A@wP>zzqryk8g+|h8u1=eN
zSeon7B9~?9T%o9tDKSLA*vR7UL!xBY9j%9l?BjfzyXd2Jt0v<f7;boH3+m*cHd@z`
zadn;VuHnW^w`;he^X;S=XbNx+tR&;0+v(U=MiO3uqgLzWceX2qlDO-Oy{ee2dz>x;
z;K)FBvoL}0&SNy9>$6jL5}k7kSzJaDT|<S%v`r!_NhG~ITP0`=vH&JK^q8^^aX$+r
zfF%)Z@e$&tMTJNWf}+-yytzq)VK%WD0<Q?LwXF@=4eU-Lx-A|KN1FP#sn)K(o({f-
z-?-{&!z4r)3qqo0B~a*kY`^l_-cE+83@lfO6ZnF_THRORh9krpC3TIc;spGvIRpW)
z{7jEsh@oz!xNb>2P-=^7h{ANk0I*r<`D8G($z(*J82px^IN5f&Pp6y=2@)A;3pLbH
zEa5POo<|Yjhk%KU5}sZz)<^sVl9pZ`vQiP=Q5MW^ro^v_qt-byy_m=I+fNh)pSP#C
zE$Sys4cExu6k+&K7FU*M6OnooMe@p$2$ykdsu7%;_f%`{-IUu^A)w+|#nlSyB}*c_
zTr5|LC^J-%l(|1}tm!h7N1IV(tO=K^OMW+l{9B6;SWB}kqezxjY02Fc4i_m(0&T1=
zuZ~B%UWT>k#mz{sI*+y%FXNJmc0O1_)f2bIjUoc<*X3j6SPJAqGF`Q@co&NI(hrnA
zeh>}3S?NQ!^sPk$*DRAnIoZsg@M6MxPVy%Vrg-d(@h1{pH-EyPUiZ6_lD)P|B_)uO
ziB0xt{?7BaBE_z>-t}B3V!IWs{|(vowSfOvv#q2J1naQ^1|C_{b4>c7lt{25!gs&6
z+e+-?5&o`A1DIZkL(~8ROIyixDZSh)dWYBkxZ1{7{uqBUrUdD5jz3WeNl$!`Kk1z^
zp5#w_=foH#C3QIs-L4)SYG~76l`N#m1vhP12eQJnV;bSCN~mzs?3luM?CDVT>xOj|
zST(HAsFv%7b;O_?XdRKhtL9?dTP70{d%i+lVK`?JO_<%?*RDN~6rUegCQ69b__}3X
z6%)34t6IwwY%Sb??&%dC_8w<KyF?Vt6`2kh%wI68ZK~6ZFT@wj(ss4S<dokuXVj#*
z99xc=-m~gOQW$$nW-Y4X>Q}8T;qaE8q#|LpSo-yt3Gv}ZTik4{i1@JQIB3#Kd>7AZ
zV5ioK5c-N(5uf_p=RWoGpZw&{J0zH*MLhS`WA)AI47v{ACL%`Ui5NkQgLe`!VwQ*z
z?2^&EsY1jEc7OgOANl#ufA+JVzwul3UG=T{z4bdB-~aiWzxh9JeEZwq$X%tDmeRb>
zH_t9v%d^<UC2+(zkt2LWjv(97tKs0U+i};Lk$<!t{0cdQ(utB1%D+M?+=+N~AF{!+
zGPdp;vX9dg?sA_tw(iwr?)x+j>0a)<Pvhe69cr}aeOi0oH*}-#siQ*;F8<zzo<R*P
zmLow|XcD#*wl3^R;~<YwQW$z<OefJ_>gWM`-3fLQX4~g&?Y3$NrV4K@&~Huc&cLN?
zcZ&^L6(g1FeAQ`QU96i%EQT9Ejzq9LBeV0+U3cBJXWhCE#P3L8>j6J~VxbNjPV7n&
zJoi_SO9><C^DQmqko`?tyvlHRF9Q{ay&g&Qmqlps$2&VoR@>g$y?xi<Iu;;nt{@qA
z2J*Qw@t}h7IN-{f^7<mNfX}Fa#pEtPYEqPJdn@nXc<9g_WQ09<+k5}@>)-gMH@)c~
zpS5k<w#^%zkf7_tb_Xi6jQAoxsKVNlebwhhV&^kzNIaJ1!wU~FCWH-F<jh!z>wKNx
zhr+?m<g27_^(G^T(Y4xgCG3aP6pL7z0fWN(_xrAn15=%toSXw<xSYOpS~4yYIyIMr
zYoERf<}f_HSSDj@Alb^htCh)8TLk-8Hj7D&2$QChXpTJp6e*!ky!^5x2%eh#-nVA5
zDL=noxP1BYndhC>EOzvU1&p|)3M_1rR8pu4VEm;vDrD(yZH<$S6|vg#M4C+W8Nd)-
zn>;9Me?A-w8s+@#Y!bVD6))X9*j-P!y`7>+mT<t<`6_YDeV$~bOnc7G<n4-J;44Y5
zMdy$Rr{G<X>nR1oxm&*+B0tc%QZPV?ek3Lq5f6DcE_vy^xR0RJ5ZMXK7uHdc?>P#G
z{mD22Q(06dh&Y){9wh@!V!6>cGhl=GhPj!G=OmB!)j6P$fQpyJOA@O2!D0J21IJxH
ztc|h{X`}4J+9-R^pi&<mHiS~T%ln5LqwM{|4XXK*4GOP@ha02p1KKDX91wso!%J+!
zvWQjK6;tJe91K`N7mmOnB<uw`FByNLdBKEAJkwIPbDD(p=PzBE!Ruh`{FzgyE=*jR
z6=lu>>Aseyr<eEE#YX9?rhyCPWFUHj=)kUz!a|K^k|A10Np<}$XVVKWJa+tV{_M~G
z>}$uLc!508Cr^I&>tFiwKmYS@JpTCi&{>Ty=8%Qw&L{oLGZQbo@WRAQh7cOacR&-Q
zw|ix*ruvCDw>nNyrh#^55bHNNo8s~277@H#Tbkk_{7nOqxO6;Bx>ZDC1W_8=3=w@x
zkQhkCqkBDh;MaMN=;}f;n(09nnw*uP><9U;WSn~njk}ypBuL$M%dTC!ZebvI4)Xlo
zjazr_+}UZGC0s!yFKRC5>rCP?<R*Xy^3m6;q+P^9Oykha+_n)juG>5bn?SA}t5{Ao
zp_F3$%bm(ZZsu$|E=#B~@NmUxHDHKN0PR)Hn-r;Cts7ivZyxMEYgJ^Hm#j9pF<2<L
zm1q&xjX_64<Cb2o)V&pmt6Z@Ld-^wT?&~2@Y<v5_x{Vuq2yhtjnkZ|@rHjLftp@t}
zQ0YReC6LcvDFd$;MM*yn5<$ol;(I=uHy|GYZ=C>)^?>1C=pWpB_`XAXw+(FBvitBI
zM{nJ`cm4XV7@<+RRk&kQXK0{bMk^nEy`Q?pks`<rF97XM^e7PQ+(78`m<4fxd`nDT
z_k92I^4#S3%$)cmPhFh=D80O#lX-=FviaqFrLUJH?mWw_pq1)bErAOswBqr~QaRaH
zD&?u4c98U_X(~`8_k3@0`O30U%uG(tK{tzZCiE5%(o$h&Vo53oh3JjySlL;9kvsO9
z$-RNXP_&L7p+};Ilz@rC)(F9BCt4qHYmj<!k-H=<7ez~1qJS|H5kdBt${i2TCa1qa
zmgvz0b78Htdz?+^vLway;v!TjpJ5#3GHym}K7fG+eh;-$Ee|+Qls;g0R``RD4B5wB
z62$5w8s+*qjdJ~*M!DWKDEBoe*GDw|;Ab@c-~$@vdY?wQeomuY`<dzt1`H7jU7i5C
zT&Z|0(Xy_61vQlb)=NvXz_T)p3QA+g+dyYTl0o;%@|;|e7@5_ouc-|lATqMw?~j0H
z6*!E`IxM3YED*)P<tx^@;_R!V_4TI5UVi%Nr>`+NP^sa;ZTt4^>#8eBNuC)$O*rjI
zf{!!3MAmKJzkh%CNXybvq0U$&7NkqL0zw1;skrP%>F-_vObHroe>yKy5*1LX<kM;C
zb1OE1MKEQ;3`jWCu#dC=bQ;n50r51Q{TDAT)J)vlSLs(9&$1aTE}w!6!S}u5?4Otw
z$4S?xer|mH#g|`x`P7TDoS(4$!vElc(%l`mZ3#i-Vr>d_+v(|sVOgbPz}y(N8d2*Y
zojPR9qQfhb?0nY`jHEKV<&#TdZ@|+H)&-5O3?vx^22F+sO|C?zhldG@#@DP#etK^*
zSYG3bv)>}wU(FYnri~GRn?>csqLR1jU}j4u?gj1bxa5gCw74i8B@N!Sqfjd@FJuYW
zB&?1f`f68;E+5p9U*n3i$>(}L^=;a{dv`Z|2t9vo?h39<OTM}nR>E%U-?C*(b20>z
zV`s0NrxK^?4$VYJC?c|@+Jz+o$R{SC6~xf$h3Mb9KwqmuMasD}#0<Ye>AY5mjMQ;|
zUCEV7F3s2`p^Ma;6%>$BU}SIreo_dWkbeHl#PG`FBz}zf;&tklhuM1N@qk%_Toej;
zTi}M`4`3h5<lvUXJ1I)Hv-|txiBK&TA#*YXtscuEHXwk;oGB-LVq>Y@IJDfu_LUDq
zJuS8sFG(V0A!P+U2uj#OpLSW`Ri=wzb<oL<6^@KYarBBSOprwX+aF|Vq^HP&dx%(H
zgiodf40^Ypi2@(~#r;_KHnb5gr?!^7y-A~YI+DE;y4b1FJ3R}DE{p52M)fQtdW4N%
zPcaju46Iq~<#H*BKldh;RTtEMR)PA*>!JF3)_L`x9rNI?CH``#{_m|XzWM%*Kjpm1
z({Icex2v|=Bh|4Q>pDk{`h_>v>a~gbJ8MtWcd9>B-%;;Sr=7sZK6KRj&TstgcPdAn
zK<AT>oIC!)`Yla6oxs;0e5tnW^>=UcfLdQ#x2bn$@66=lMJM3i>i)<HOdh;_=bLW1
zaQf=^<P)pa6ocGJNSy4+2LkWds=B(=)^{8{C=YwNw)ORQZ}q(FKCEL)&&*_Y!Z}(W
zs=w3o8^w<ug|qz&&&Pbf;RIg#$q(K2(YHMMt?@6dw7^=if;zMo7}RE*9~6&ttvEq?
z_RS7$#-Z+|4V+I?_0j~+r|n-n@{x<5|CLF{^M<Kk8>-(yiku<!zns?*zU7zIeElo+
z=30T+;P<NEtDm5@-)@{ZF=YI*V;}C`yL9r2tYZ)6p8S(s?(L5K^33JHz}B#1&)Vw_
z+xAJvK7RgWZ0}I3V_ym${E1-jF9|egO0DwxXf$OI2=mkSg~hQz|9T(4@~yko=i^s@
z@cf^5|BLsvkg>AqCx_JU7)?z>^-ugg7_qhV>VKbRVl7+2T6%Te-tkI|m?-;1RVnUH
zn_WByU@2ESAvQ))_sJcr_C`0wq^PJ@&{I*Z<-3L(7R4xIuU(Upq8hK!ukjbU-+I^Z
z4J#t)bcG~(6F8?50XcyOUW;m3ap7fpw(B!9s;#vx;cXqnShp<!s6km4pm86r%kGaM
zZVBiVL@0r|u&l~l#9m$D)}kOH5_n9A7exk%Fat!oLZl~qU?8f}V`I3-trBC?2LsPD
zcnY2wV(lv5_=p5^KQmu3;VovcYc0DpO1Hco)_AgmT0I@oM#xrpGCc#y%~)O!4K<|6
zy^T6kU1q?~6kN6aK99d%_1MC7py(jJwG+vunPfAtPAutM(vJZZfe_ARq|0uO`@O`U
zjzz3EFnsa*jv9I9vXT>-xpL;rnaP<Mc$)buGf97D?ivE$)w$eA*Th6x#d~}4l0+);
ziFXdL30M4cB6)*3j=1Dmezpwb>RLAu;JO}saKhMd=iN(77O>oy>s_8#A;A2^XP-4U
zZrtdbot=cK8JkT3Z-+bZA&+6>mDy3INnC?NY2}MZm}?7$GlbVYe0ZTyLZ8ru41*9;
zu9ON@%$ha%q!OS8_<y`{$-P26fUqC{n!-uH?GGb*M*QB9E`PO9%rcSY(&fdvrz$dL
zu1<9Ikm*D^#HqNoqoWOH_x_HgKNN2xFhV;Mco$LNVHELTw#d6%6T}FzATk@Nogzi-
z(}WNb-34=a(qAd&Q90x##1OwxR<gOfE2<W*PSm}8kFCnQv*<)lJOfjD^2CYL6B83>
zP9*(>r5W~Smhyb0-!dxs0u!%Hts-+Gbb`FVupIHwvB6g0Bqo;Rl$)PKtmPx(KE5)G
zQ(eMhMBCd{W}4XJ^&-8uQjGfQco#{`h9GhY3KX{&_YT>|)#}o#^<q8eSC`g{Wv1=b
zX4+nDwCk}528O)yT+w=~F0B{q`MyH_c(93qwNzLl2X|<oqbaC-${%YR>~cb}ftGcV
z`tsPq<t$30yLPT?tw&V6fBVp0C*i^KHswLPG-_UzT`QelzIqi;it+JrBk952cGP@~
z{ggF6G4|M_{D8Je2@ZSI%*d|AN>a@fGNm-GP$4VitvR8oxpWC3ypmm*TyR3^ne0@?
z2)6~=f>kH<;sp*esxWi;`O8kw3fe)dUe1-Wm61>@Q3>i6N}6a}+zEZ+CoVVd`}(K;
zxPR{H*E{~ruY2luzp+n^y=O@Ms__x@P{Qo;i8SJ<i6+iU@n@kkOprJ%nDU^Y7&TjE
zSHuZ|NW3~b+21##=(_HkvDE4_$}4fA*Uf)oYCfkS1YO{uW_T9U9|kj5<Na#vnNp(v
zTO9Sx*wa_OTMS@=o4(+d2!JtIWbw+9(#oHhZC4HJZh&4n1`O$rC_N609vyB_n-_G>
zX^@iru+iZLwGlO_aZcn*K&2-9z9Q#)-ieq65)T`e5W{eL81mt17Xg9n0kt;Iyc4k(
zErKojm<KvKZs~9$>GX6u?e)&&jcC3CDZP+cn1+g6EflU^J%81SjE_GvJ{}G~H)r<G
z6)Y$6<*R3(QCFXNbYbDqN5Ax_gV>TQmB^Z20ro@O_s9~FeiYdZDwRxzV096oZ|FB_
zWZ9?!pyT}^vjjB*>Bb!>lPxPRB9}L5Rs>NS3AR{SrhBw}g~C+9!9IcWND|?h#PUYT
zA(Fm9o&yw3EK#47Z$Km#+gq)*8}p9oU$i=sJ{f41wT|zFZJ_MLJXAQ`)*bxZy*>bt
zh=M-6;(1@NDM;>*xUZh`nULG=K%_|pn%aE6wzeJ_je;X@A8z2tbxug)@93ORSfh<M
z!3janCD#b5UzERuCvf>8<%JuH1_%u<_)kvTMCdcx+6;S}+O}<=Rk{3-0&N5?kiaYM
zZ^fwv1}0&_3{_;-!q3!#6{?Ye)e1Aqh4Bx?Rn1A*V`FI*9T-R=AXW%?;|h(ug&lSg
z{e5DT5xAlc{f{fZlK()MA!QSuWSNLbD-_BevX4`Icd@m3<OgByEp>BV1hzJp*jmqD
z%X?JkdBtb!hsz;^R~bK8a@`5A-CfTj<nqB{3toGCH}q|TTFdKkoYrY2Av_{^LA+i9
z?-NaP6o*LDk5rA)#4o#uVe~}c?LgcuW(BV|=Z%%iNwQ+bWS8rb2}Hv7moco2daK?l
zEQ2HxDabC@^LdK|nSnsQ5(tcXD}hSdvXUgdNy{$R0eKSAlUV&oJEJ6bFbJ6_@5ce!
zV5}@yVY6a~vL&mUtu&2zjjZye(@8s>_N%PHl;ve|U%TBKwP9<u@$a-6_|7OD`l~nA
z^}6h{HYzo|LFuwMR3@>P@ik^@Biby<c7k+fkiAnly0BGazN}U73<#PPa(~W{dx%FS
z{h$eR%lT5Fm{P{bI=snZ&8@^8Q$!C}L4HXHAntDLGZ6kSt^BRSH~5_utGEf=UnLk;
zWph@wvWKU-$sc<py)&EDJbOqy=;3_qp?AV1J5JP$%+fO9{X?OoNWO_5G*{~QIo;<-
ze7<CCt!3%9H4U&nwmjO{(!E61!v3s;#Q-fg;?9PwWgcAdHv*$2|8dD-o|MI%FY(Js
z1k}gWz>s~Mk8~H^H#w+L)|e(^4rm<bz)-^qx0X+GSSv|Hf~a@{pt;M+A~%4sByoj^
zLyEw%xa33@=V__t_?gQ&<saDW7-LH*|I*ml#j|J6UL0eFp|OA-t2)g}-%F6!(nJqh
zi-4p=5-PM{iK;BlIR;2$0U5_JSjCySqHz)*FD|d|38><g3y#qfN%<o^J$)Fg`+A%R
z`FDsc;LT*&1jCMzD-(|oPfyrcBH|^&W?9)ab^a2N^1+QxLRl$>gOx=@$c`lF<NrA!
z&c^j$l^N+D-uLF1X~0?IwqiW;2pdU%GlH8-Ute8ZSq>a<H#0Nt=JI7W?j0*LgLlY2
z?lv?luQoGyHGaseNf=)4`#~OyUaj|fHEQD3+T5%0M0!SBpXP^-gO)RD1aqur+E_ie
zi&Z}0jIJz3(*nn>v#jhAtN5ZbderdMiflZuuYTPbb!o=FA^SKV>@Ekj(&<sb4r)F2
zfcEveM+6x$vHAu=5syh~gJiIZq?=0{ii`)eem!NEbBi-Gv$;_q7b~H8@r{*mRc+m-
zw`coyOkVly;>;C8T{(4%UsO|ecIMKlQ!mdzL{oO8Ya{T6mXR>1eh}5!bgjBPGm{LO
zme(JQ)D^}=eq^L<Z!nIPHaKb*)ANu>gnxo(6|#$SQ$P^To)v%GV6>&Pt~xhu;umJh
z4z~1e+O(mCpn@qoGkxjYxpNC6$!5HTZJPi`{%BOx<lvL@Ne_bYN?||<5bLYxej2{G
zNOHD_y=Z32IJ%S>Mumb`*{$IyhHs)sCX^&Q&COsVSWGHXYFe>&*qG)Kw++^!CTmfR
zKCKOOIrYYnCW&?#FOP%;nOG9g1}qd_|M6z%_x$4K0Sp<J&u|$sF}9Q>gBT1Xe*LR-
zW)a;;j3}IzxE%PBWZc5AHxgN1gxbfW7p@dlpl3aop$0t>Jok}Bi3&hCB{T}<ut0IL
z2#OZe0HPp#*l5IW61SjQ=<NUyGd;mYvG?#{q~&S#tzwAQ(%AND<4l)3y6CgI&b&+O
zrMkve&mg7i%)7KP_UY>?^G{#bm=Ae2kj(Yo>iOEvddB#sqn;B*dE$GbC?B%EVO+g>
zZ~1lQZ2hYFvZH?Yb+so@k$-AcIX<LHJn!DRUEf|Wqt>-&jz4luwBtkd4?=>E;=b{K
zVJ68fymM1rwBthv177dF1e!Uey!C^Q-T$WByF@+y>Fe5Y+vw=1cXSwzeO)=;c-E+4
zrW`xEg=e80AF92R@Nf4Te_?z~1#17@u{VD7Lpww*z9QY}mWhZq-ruCnTyNE8uET>$
z4GkN|(X_kEZNrV(ORwdBrctsxhZ|bIw+!FVl&arARVvoJ&;A*ECiwu3&wftTf3u?<
z#m|b?Ok8wa!!{d_(GC<y&@b7A!qW6YIkK=&#joBdCEC#b7&z5f3kytTXf?>Zi*HV6
zhp3Kt)QZV`^+9sfar*S-v9ZasQwtLpPM*p3o;_P^9~?B7&nDU>noPvcWO)XA_Z78}
zE1S(bb~F)@fY@K|XURti+ZIQ4SH>%(nDf{~)ARbOi5N}{9=dX!rmNKIcA&L|f?&8>
zErpAfFs&A`I9i0!;1WTRDr5mHdlEqdOclWb(1aO)jl}b!)ZBFAwbvhEHj!=7OPn62
zTTh9&I_07%F^8%(bdK=Lw&DXz`Oor=zbVzZDUXh_IVc)QzdzR0<gFF+We^8sqvVQN
zgl!;pE$JPxiixmYA<bm5BmqW3e&Q5{>C~ZsujFcBi%v^31(L>rZN(JJ{TwyB<srC;
zWg8U~iP+P<P+v%eV5E`+Ya?_3*%)aMQWQ$%@h8jb*7S7X$%NBN#P17+o1#7|N46QT
zG4%*hfW(3+DJY}3kfBgR&MhvH$4?MYdhd;Cz4wSlBW}~?V(GmHwBCDI>%B3Jir%jE
z-UHe^d_<!W$6y*h{{XAs8X-CYip|fDnyl-e?+Lb}`3s??4Il&w)st*O*oo_Y!lMMT
zSxcPtVl{Fv*YQ59kzHD>uZGjpv3LLGj?QRvcT3355%V`!3wCszdTFNCykoZ$xOUCY
zoVQ^eo;99o(SX0InG1B(In$wct|&`as#oeY9z-5vP}L;8V!mJng7LBkr8Hnb`G<17
zVi5R3dZ$=d-If5QP%7dUggYIg6po7IkTgN?;DAYwq<hlD@~V|)V>qldVLX?0^N`k%
z|H=W}{Bm(`jj<sKy!c0O7_08q5fw%qv3$O#G(EMH^O1Vl@2`ssTum`;w6z9QdTPd@
zm(~CxR3n?)_(1Yars(EX2~v#evZqRH48f8J<WF?T0;LnDN`-Hg6F?m!fQB-Hk}^i!
zP&MXAPhnwhnfa`kC)yx6#QjW4g+eSU%Gw17)KgXHO2*?!@jeI5LtTKNWc*8rexygE
zh3hn0NR9;+8EVkNh&JQ&4BwES)H;p+MH)Q_V~;^b0gr34p-M?EfayZQ11)%`37}TV
zlOn!8ixp$G-n@D9=H|_3&TMu<Cr_TADNtjDne!))0j(nRPQlC-jUu9@m!aY{Nh4}O
zK>XNG{3g0wUs7Hn3yKiHmJqFM)H^qE_Uy!*yh11r@F1$qmERp;1=ycxCSiJxd3{mv
zD#Qm4*TPA+KK5w!u}`ay9_nM0HoAJW`Z%D~#~!Udwh!N!4<xjgOb4tawUrw`Rt{-n
z>1d#nikTXw4K-EwquwJa2q{EO)!~_%Dj5C_)lpx<BDPfaOU#t|RpQ8AsWu-taG=#8
zZV49UsBNhI`+KY@a5eLu=KW|4$S6<Q%ULTFvgC1)(U6g?a2UM)DPSssj1H_7rjLB-
z@UBT4*ht-1EuwKCUN1Esst7)mE0`~!mR2RpSD}N$V>t&2ByBw=7_(kvNS7Q?8)k*#
zfJ#+!bG#Bti+yB{m_Lo~OxKoCVJRF<G0O1l(I`+YV2W<8F8Vqqm+SR~iHiC{{}K@I
zL)B6w?y>tdH8odj@fGLXR@<bt+77MN!~(KKYc(BfuuW?<y%%q5w3^hEbY5vA4+qQ)
zD-Gs><jpKBwHW2Oxmbc&o2sU0HAAV^^*9he_xwv|E?l@k?A~@W%kg?z2|AwwzeELh
z0cvVBM~PC6C5qU!1khfsd0NU)OjNwjorL7A1fyX>1?5EiAeZZxn&O2xSNnaweBBcW
z6lFf51JF=)r4q1BT^$iWv2O*nRgH3pC6!^2;`5VsMPf%U=0;Jmn6`953Kysl9;;MR
zyhQqm<m^TN*qVVUjuTWKg*41{p>A=Up)B-VM|o0Sak4JfS8;Cx!}f8i+g&ydH~bv*
zc+C5?`D!0`>XO%fZA5hpHxRq~hZ@vo&rpNg(&I4`uN+-7QB$QX{0V4^d4O*3Nb!jI
ziyE4Sbg8-#mXU`A4pK-2B-Bo$0>9}hX0i5VOa3T65a2|a$ov*aLfb<$a!MPkmM7`t
zQ-}nN(Dt_aXxGvt64c~!^WbK1K7lARSW_TVsz<#Ae&J2UOPMF1Vn8k#Ej0O_-PJnL
zjs)^nu3|(LnkD4g^3a-CANh%qiq%QJ$%0=z)F2qFk9G=;fEfW0C)gd4K+x6;9BhR6
zH>o(GsbqnZ;K8LLA;r2VC(|R*y7NpP<R{MMN)_IPhM0HAPtaJgpjYQjxoo|LG8q%D
zpGuHwr1F?ZM|nqA2@o2Ha-J)A-g!vS^fH_u@H~0}sN#`mlM4;5iWz$;<25nAiq#C~
z9Pto9nuLT%lqrd><{abAK2b^IC(FkcOY*Vg10XB880!VbRA#O!;=Qhz|M}QjD&`T6
zqNT;F82NJx3kJPS=B*)Z#NVrp_|5dH+q4nCS?g7=(?<N^;YLroyD{RMoA9O(EZz#!
zz<{AX2GSW+J?Z78Ii&1Jgw^b#;RYBexEe}7I>0(TjcRvboGXxmu)nZOU&+!}95pa;
z1q0{!*u|Hgd+xcuK2|TBHzm-(sfBt6FgW;APt{|jET92|vW&wp2{CV;zbq(8qjkU2
zM5~wbc0P}-nME+>LNdtd6s&|owpA%%c?mT)!Ey_UqS4%iua~~;^;RSuyAWM6XEVx$
zfQGPBLvpL8MYOsmxfCb`0s`J6qe3nxv?fU^;GmVwmMWG_riiQ>h(v)+!fxX#5X<FQ
z#X=r&V~)}PmLyRmsu7zA+{^%^Wi*m;x`IKPikZA01}9*b=V0gfJUX<{I9GUpos)00
zD@+M|qU+Q^ur-OfAfHHpF@|+b4WKxd#SI3Q%K>DFhwCD>$9zh7Oj57H7SZo2PMlvb
z{p5;15+=2v(?dNVeWqXQGwZcJ6Q|GgYJDcI^_d-7pV3h<y^TJDxrf;hq%-jVrAR=b
zP5%;aj>YDxElB}ddumf8-&(zj*cQ0BW5@P&>t2lP*pcwm{T3#)r>8x3k^D+|GmxNN
zJ@u?&R3eSYlYLO<N`=S_qN__XN(nMYG>AYoPj*#~$+O!U2v7@)^i(<sl>>NzV}~#r
z1rTy#jIcw@#{Q}dcK5N^(ZH85#T#Wfq?O06FjG<jA0$7MiFuY1xO^l%o|ctycbis+
zcWZUnPaWQ_)uA4Z^37Tu?$gHI?TtEwAwpt=&<UxN{@c<__&v59tw7G@Wb<sarMac8
zt-X~j@y!bhiYx;_z(BS_%BQNTJT;ZCw6zi&gqx+4xsO^|x4tmAY1`HvyY}32>5__W
z*>d)*@(+^x!VW7qk*A-YEUDbnPtO#hc^m|Sfui!esYiXOkZ}50W_YI88lPoJNLiX$
z9>4PFW;9{cBgx{Cb+Pd%vSp)&rlklXOXtOC3(1QH#L|(cw*syu<X$QS76g_|;W7uo
z+Yk;z`<9o;`~}jUJffKlY`WhovA%_0H-(LNQsfc?c<zDCWewWb4hu53DU!5(IQq2H
zyo6McPvq020)-;PY+%#ku_KTx3|SR~Gkl9yz76xCTi4t#|5@Zm)O9?=$1E%^hP~xw
zK0xsyE(617x3qZBgtxT#OjlBEAGVLv{O;1J&HOq7bh9?|Z{p6)Lk-zNr_te|#>~HI
zs4??z8fwt%O+z>MYRss9X=^^2A}LQo=pR!eQC{4$jLRCaK2gWxQf8>;$w^2EBrM$2
z5e>jtal{aTH*$RS2^=0KmJ1`zPd>>6-`UyGv+2NKOEe_YJvRj<tc+28=+TECe)#gj
zNOLyJEX!j1LlPT81P$(@`goK(VU#K(C=ZwbWub$JBNuzzMAu09>or_anEuU?W=6fc
z6tIE`@SOwhV*VsUPBj>!_HAqAQ%K<T`mcP7a{VeHahN{~5QX$?p$MjmBPT_RJATvK
z)yW691mv+Yr3wq+MxhW?5;sYp7W~V^A4cBY(&EB<QDDzyhz22GU*0YFC7;pWMwbft
z$iId@qI1YTPQ$rNm!^-{uTca&ddbegSL!3yidd~nPkS}$pke4FG&5YB+oa6LW)kBo
zwNoy`)=`x}%IMKX$SY~;;Wu(QkQLP$diX3gO%BD5nBP;$K@OL2Yys33L=KHd!XfO<
z9;ewGnw^Eqfo9CkHi0RFw?kf8-)t48kWVjMICBPMSv&Bu4ShXb-2{fKr<%iEFT7xy
zS>&J>Uf4`{Pq;gY&A}JCQXaj)B-(~$)Cy>S{lM=q_Zz8zoi_*$l=p{%s)NX~02+Ka
z^GQ3Q>t{hjm3MeZs=3B=hyx4X&zxPSdCMSMI^YYjBcRK|cY!$863G?^jnb0CT$*aG
z$^>4Aova4}6$RT@$U3~qFqxIzCFpwgN#bLsR>lk9NnU`=&`~7#i6G@<nV+v#1t5sk
zi_G0v)R=x-Ta$FMBtC0J(u2$`k|Y@nn@b0UUPy7HC<Pe=a2w(aSgA(km8$A9pr1av
z|H==pR}Z8qnkm-ID8Roo*%?4UCM1|ip$V<9YRb@5?ws8<)WC1NBF_%}uwA1e?b@8J
z=ho@b=tjFnH@s7eEfm0kJ&7~AeO>L%bc(jF2O=lV?~npPwarr-_HpU(-mNtLuEP&_
za>c*{rjhqSGkhdOWC?^G@E|%pVAkzQiL<~QWhp-33HtJ!4HR>n&E^<YB$R$25{fK|
z3aZW<C^nbIug<_9UA^*v>9firr1M^dSLTgpm3UTDc!_7lGEC>bxrJqT(Z#t3R3fPU
zz0$382ei7<(X0olD?N^oZsXD|bO$tgtD{*DYW4PepHlVDwOqY28Ka?vjq_x?d%DvU
zNHAl<x%fy<35AVC!L1~HnZ@ONK9|jmv^@IAlk3QbNkk~0_u6fD92u{fR*HJ=<5yPF
z*Wb~K*t&i&se(!0mGhTpXQ!`S8EMI6vOafCqBG%A8ispC`DHu!3o$f^n}(#eGEktM
z)I3s>(}G~^c5KlHnv6i4_UZze?xJ!5EXYzpO~HYMW}bPH5I>?JE(%qV#ml5?yFV(e
z{0IWd2q~42WZ-c9KB4<0KyqutZi+Ug7xJZKkX$pN#pQ)CX={>ZKD~fxNGhbstKcR4
zO(VW^37k5~Lg2ytpmpR`DGTT2f(1)1mBBX(m3Lpqqz(0AK+EjHLcz#nmf=I(5(E%K
zg6L)?Oh*@;s>T>%%r7sal);xLNY)R?iy+-1>NjpG3PD_(qv0swk3#&eF;9oIG4{ho
zBG7UOdtpvkta$nT<$s+p(oI<9<cwMQYVE5D&z1Gc%HH04dq=|PzLZpx_bNx-&ENin
zapdbst7-3sy@wJ;csa>DA24#WNh_WC?aXf`3~wQ6`8Q=Z<+!?-wC0}py(j)#!pMh`
z3G?Emi<c5cM&7hgSb&Qz5T)Gz?9{XK31hZ1sXm3U^Q(!l8o8-@3TgG!!7L~B)G^$s
zr;g!<-Ds_P>d<Doj^P{p%=NlyuD-YWzJ#$9zFs%AuUKD6crJG;Yw1w*P*cKa!ISvn
zFAn_Tri8KWY!Yi_Y}c+k?%1_ky%QpG_|V|GcwCepD^;Wdq5}T?-_NAg7etX~1mJFQ
z76|wQ+qUKN+qSBbd%C#^mt)78ee_Qr{ey&&^;30YvtzR~5~DfbwXm>aW>rOAK`*QN
z83HO04WBx-xOnPiwE()WT2AMi<ANQLUKbm(kE_*1w_(IIN)^*;GseAAn=!4|#k5|h
z+cDaP8{A<`qw+D0S_Ox1<k=Gk0e7*lJeB#2Q{VccHPEAa29oytpUnN~{Ga}&b>~5K
z@Xn+?7o0iLeR!jFVp%PpNZL=tP7V)#Xt(v5F*Wv?q#f)EZ|~i4(3&c#(v<YTi1a{v
z!@lO%Z9eo9*20vUT1eWxZ|%7)c;tTTGT|OC!=g`D0zD<$YHd<Ytx55Nki}@am^9Wc
zs{WMGkCLhEy}C3tYeg-Dnxx%YZn}^?w`gq%s^FF+4vik$Q(s<6xwRS{vX4_y?$V-h
zVn0l+HfgmQ)p+ihHV3R#t6KKLMy+O_oj;R*@p09aQe8>U)4%odQ2jp`-yFqzN$pLk
zy-E9GU@4Lvs9EFG(Rk8+v~TPl-}^RN-+4+s^_`^M(Hp;O@1eI@>8#488x`BUqpdG6
zaKKvdDc?fUd*sKr{mkv)vp;8zL7K*r_T`tBzWVGVf2!gs6(<qLm|BcYEn5BLC+|<%
zQT!eVm1+5HW&4wMTP`?RyO_2*KxuYhLqIU+pU-FtflUzXmR_$>tzLC+8l6UpH;wex
zsMcF`j~cyRqguTNwB8!kdaIsu-9OyO!r+N}(ZB<yDD&U(_WN_>3r(sV{~d2o9oeIX
zMHK`uYqcA{{IekaUX;04c^z+G*Zy7VUnNDC<5B~!Q3@u#vuI~jR>UGu-`)$k*=feE
z8-3LAE=-PHQ5TX5sj2FCFIS&`T%P9MiRaF8R!t<2d8^jTm(-U;KLm@&DDaYzTpG=5
z^yZT{U6-xe$p3rma=0NE-b`HvhHi{}rPrl5pB|rY)aC5Nch5BHa{rw_^>a7sQvKU|
z)B}XdSx9L0xpUvWZ+K;WTGS_j;&YAqtf^4uMtuqr4d(dT#F;0-`FLl_mmg9OB^Bnc
zyyKmnym-#7&!->x(=XnrPw&L|#5hh+$J`2ikXzjveKpuDuOhpR);qo0sMk5ao55!3
zeg)p4M(<3jmy#n%^%t_*EUS0P>P}hB%c@^ihh;S`tCwY!lhs%fsG+DLS4Q7!w|tl7
zYaf!;4q5#xS$$Ymv$ATD)y5l#i?WxN)%lh38LQ=6D~hR(x(;X~A^>#>(0;boezw+r
zx?hMM#ni7+mw-lH^jtOpt^H_(5l@rqNR9x_Neop>vU4~wRQm`!)jv%PmEVyZA#~SX
z)|=EnlR}M*7=NvX>i>ot)M#SJpb9(-YDx}Ei6M{u8fj6lMgv~iW1o}uIWDUvS#6Tl
z2W929?RMGQBdZx%ot0HtR&KL;WY3!f$t82f+L-Ew+-hsBYSXI!2$@<$C^vF*2IA7p
zS$v_4{Y?fzF+R4*Ae6w{f5t%e9sHP)BYbbvuz_lKqCz&(V}@55)2ECkWz1DXZa<lo
ztLJUQQpT4eM&PwyX76)GK^d*bjRi{HL;^+QxlL03;0KMkG7kJJW0BHsrzFPG9x3Og
z8I<Y9lV^=qWrPXgql})kfzG7cBkLnxqvN$leRZ!cw<{)9NIK;{SurS+>Rws7)X804
zltW8ald@Wp6+~N>n=hT-i@o&XALZP#_DH=T-})_C{TQnu^<~+8_l;Fh_F852ysW-0
zD|gU-SN7amfv~wFRgc4`qX8qDEE3U1>fg(e41Ir&B&yM0ox59$BQed^=mHi*l($}U
zQ}<bTwIp_U$J<>mZ&%wmh(sLkk!tRJ>L)qq?RC7nH*Gwk?n>egA~~>x?b<(+^ycQ!
zS!9xckWdDD7cWeO)tnrW+|c_M-+Sy!u!z`z2_@$Jt-t!#f1@jy5qzi|FNnT0qz(Ni
zs$uU;-8cvThsr^oBCfJGSdr!23U7D!uzj2k;4XI$H!S^k4mW7tJBF=6ZWxlA4h+I4
zGn46d*}I1uGV<NSjhY-9Zb)?phE1i8uRP<<;TtkCep?OR&Th<Puv%d&qWXeS5GiQ)
z(Wlx`|5SB3hngk3G<W67m3g{E4-P0*Q3mI#_;?UTUO#qJUvoEMsJh|-G<Jcm=*j%$
zDbz}nmtKDS@yAayOZK$1*u@#*mCP3H7NY853~3w#Ar#vh|75|&DZ8HLm=)WwbLWQ5
zU2i=4)}wD7{@I@${*TQ|-f-AkSendaCRcX>TpjF3|2lB+E$@H-``_|ohu)^XpnhF_
zQ~fc~EacxGsc)(06yg*Ao@d%^Pxf56uvB%O#HtGyzIXNN_byymym9PE7DQTAtYQ3#
z%o$tP+tIsj`<5+t-f{Sj*T4DoKNG{hxl+l^;9?=$Mddkk=+Kb*lmj@^{q0IY&}#F5
zrul1lVdR#srLD!>V!lwzKi5<g^kS`u3eJ|@8a`%yS0rEc_|+-&lvAf?!qd4lQP48E
z0-Cmh`s-v*CPVCNX(NnV1aJ!I$27pDF>b$n@f;61cda`4q<cJe={)}D=ha^&dlnXE
zu3n}A#;(pROwG(p>Bo-hef-4p&p&_SiHE-Njc+{o;MAjk_~2upr5=0e8-M-RfBkis
zmJcOkB<{?TU+WrR50BW~aOh4iaJ-N%xYjdsr2#RY$ut@()B(U}a+7njS1w<=G<GKD
z$E(Q~^7}(x6o`a2z<#z;SJLcKQS!6qxoj;vcmDkN<ijT)dh(&a{2%}0FaImX7GR@+
zXirm9&&pm4Dj0q&Pn3X7VEfSMm#01@X{MiA@hDm=SBp=hTRPw9W5oFwZ9a`}^l5yf
zPorCU{uZA`w|pAkxRy^w!h>H_ax~%Dpe`myRd-SyN{)Jt_!zJMJ2`4zOT#UXn#Y%r
zYevo797>~6bKx8WYSaW)e~Qh;r_`UYse4s`O~Ip1u*npV<na~11|0|MAv{*suzj3D
zxl6A`Z~C<w=+`K>*rHnoL#kh^0o@+mrO}%%jo$QYHPElsK$k{u`Wy5HD<c+tnj6#t
zi1kdyu;bq1e9<e0`<0Pz__}uO>Z(mn)_jA(rE}+&f`gHsF!Utcv;DT)Zrje39a>zh
z2HQ7o+}IwhE;^ATU5uKpBk%d;U;gFysE;K>=gyVd_rBvD@7UX3I_E^zLw#C$)^FRh
zXU{hEx?~6?o<ydK<KSL!M0bcb+sYM|7iSY@jVN`IG>#}Ui|H)ADvQ(`B7<U0VYdKJ
znsp*m6Q@s~o|u})<T$UcC9#8nmgaG0tuRZlNGSvZ-yWZy9zT8hDZ44+HM|jVZ*@Dl
z$A0?x#~=Ro!+&hI5g97jrXsi!iv>%v!!5&Q0MaEhJI2gX&F~VmB8Rd*H**pE%SG6a
zP&8_m79q-uB{S;2jn{zyarN6E(SWRgAyp9xHdz9@BnwlRMD6km{?PX0i{<u@wY(|x
z5u)pCWrT=irH_z+HbQi)e_*IFAL)9VwMK|8S((c=omi3jXd+C9mz_f`NKm7mPi$wD
z{4e)RXI##h*-nMB+aMog28<Soh^OHLWaqha>ZH3f|D-5lII~zr)RKoipH>g@)0~Ms
zJ!($bYFe(ZjG5Oe)iBehdWNsPVyoY0bGS|YEcNjpc2gg-9Q$MH&1`Z_C}l>?N)Gvq
z&4OCb=Glwtn{2K=tDa<ohu{R8mloCkVUso7I=E)Q)~r$uy$1B$(t5A(YgFU=^@<-A
z-F!u_n3$DvcpiJ1+31se?e3)dmux-^cPj+&+N9db<<I^em;V#Tv1XXSQL}HIdK;Td
zIrTUjQng40Eqm1!HfMwCD{QLmDC9=X(jHM15@}Uv=go`_-`}bQnLPp;?Yx<>@x#s@
zrrC?34?lL(zE!oM4I42x`P_p3^O$-sr6@+!W;WS=I{T=(cv<?q#YlQgMuC6C{PLsf
z>+YFv{lD-ODllReJ?<Pc<$;uqnlL{dY}T)X#(tk35gKant$L66r<h62Z%?VeOrk3P
ze~f2o^q=Ch53N%_Ep+0Ij0-7^r&Ha>Ccn`w;=U-_m{Ie+y>3kr73DNXy|z24E@f86
z#ke~zK#@hbR-IIR->(*YYt+K`>k&G&{85by-N)0Mu0p^@%@<0v@Tl2UQ5)DC&b!_I
zVnxL``paqcdu+lUmt$!6xU9kpSJVrfTt3ePH%d$fG>Vis>Jo&(ZZ*i!8;+<qTra<W
z*gnn#;4c2*MlaCyaJsB38XM8_>v}k!CcXGIZsH~~5UMq_{K7M;gy*7KmJjuOOIp#m
zcEng##^e9VxTK8C+l(!WD-R=&jT&1Cd#Mcmy+L_7nMVCAKieihH+=J=wrP6?1qbK6
zi2iadgodB3P=$YLUF+KNzN<2J^%aLig8xNX-6tzo_h!l-y0=vw#^X2kPRX9DnX{6w
z5uJvvFMp-R2E}($eOFd@vm)A%?7mS}uC^vDdtEmUFUg);Ehkr0HVLs)`-kk~bWC^g
zYopk&@x(!muKT%Dda+-l>;9pJ4DKIl$l!jB=h3yv{svFHYOz08KewdTrOdBXzA~YX
zrp(*3TQ;c^sUel}OuqY_>a!_xZ`0O0)l>>4g-<M{W{cH@Ye>r6?BDHE=Tqjj+O>je
zOPLqd>C>1(%>^@?Rk4)$od5Ee+LCh1x_QVxu2z@LT3I)1Wz{20Zsy(~W!<cmb+cC1
z&01M?jNxXD|KHpwt7^gr;_AhVV^KV;N+t5SL1+@H0Q;>jU*5W*3sH7po6|Hf(EHT4
zzx{CU{4#i^MZ!~E;;w~cXhA*n&^ungclYi+cfQkUDi){SuxHPG6RlwDT3g#Yk(v^!
zJsE0O`}Pqt7Uz-YPC1^Xr4vKy3&ux2GNgVh_~6dnd-v|#x%Z&@1o!SuhW4tDe)JE%
z_{IPJ-+%Xa|Ile7PurneZaEkj7#JMnZyn<W@4=*C%sS>~XYo{-nRD<YvqOZenoR{k
z*yG#~EaCVAERt|D2KU2QdsI`?#5Bm4?EJXXbnV)5bmPX348T+3+n`9cxXTMquLcL7
zIt8|U`r`K-pmc$S>FJpO=tiU(WQ#0!m6D;7nw{<Lh~qxe+T$c+0Yr$?Ekv~j3$(lh
znNPqNhi26Hcx!8ae}8X#i__%s_-2=vXMKX<5wt1-#OkA#mViK#dmtKin!MiT$IqO3
zvVC!J9&GCT9CO}kC7(XMZvFao>o#s&w;~n%Q`5M$$3GU9ByupTPFcBx?y&5+!@n+j
z?y4etS7lX{)!fSPe{E3kwM*Cd{`K<JZ;{pQvT~_)UiOw{)hw%;tg^D2`2R=gTz&L6
z<%18%>fgz#p>20H(XKUVdbLceGZj`(SytNaj$!*aB+6ax(CFFi8a?}G8tp#9olVfQ
z+ckQ2r$*227;4b&J2cvTn?}!c@7^^y5Lb_d9*V_PWUUDK&0a4_8#!mSY}wLM7*CTh
zS*BXRnrdt;>m3+a9Ged-pv<^pL`Y}XY}y;&@|L%3@XdesyWgFVkP@(N#PPzZCe>oH
z^YFvd!S$pU>8@UUxby7UPN&bKAPji9qe?WrR~~-&;R&<%=+UDC8#auML3aT6)>19?
zibvgcTTgA`vBw^pRGqhtx3!HsXe7uMs61if2>OEGy{G<3`R94qch^0@kN9W5?rm@T
z*0*36d9mPxQEhnZM}adZ{C89yP9~Gz0~)Ck=JDOTk2`%G?L>qjTz7A8Z%1bUy+fd5
z174OJH{;-?b|xj^cr$q7?(T3sef8?qtO|9f1A#QE7ZncU`2_wB3TxC=UrGGDKyyPB
zE9ERPJ+mbg%|UB^o+lO1<JW-mp^R72s8z}1T~{&!(F&+ur;j9}`Fw`hY{0vVb7*Mh
zizcY#(D*o+0SI9s5XO3{MdAYV_WBA7<KyEQv$?m>*;$|}T_*|;*hR`4;%7mlhzbbR
z3$ekxZY_X%Z3g{2GgCChBP3AI&iM0rf>;qDq_egXHQfk8mVM=E)U0Vjyy4d%?=}52
zVTn-R<KsAKaYxLPAIEJW?BFGidO6uHh-6h0Ki_~7pfHF;%8PFaUo+awXQ6L40<L>X
zanWBc`yGpLWj<fBy+YO1D(z^t+H2EjY$qosIy*t3xDai#rk;O(#?y{wzD3PF5A|=y
z?$PPN?+RtBY-`qQgD&cv?JK#y(?SvcN>(oA_-WZYDl3=jcgvn@b9M>-MLBetzU$WK
zk()<J=+cW9+VPKLse3{``E#<mo7Ir|b=h^f+N$iiRPjF9dr?-d@qIz|PRJ@ItAXT7
z8GDB8<9xQe^l0?4Pos~UHTu}cox<DpY4ovAqmOzFnLdp^_G$F7PviHxhZ^=J|8N88
z5?N?N+lv;mUY~F7nsSo9uKunz5+(E;i(J@FG+i#$YUeiWdyY%{?%2O=+unT#kHzlF
z^!4_+|6gBPej9UP(s$yS7x4aj{+VM#>eK!!Lw64yy=#cI`fo=1(vbR}i6P~1*JpnF
z_y6Dz{_qRGbu6|ozF~Da)Dja}HtCz1hO?WSnHH2#j3^73<`%M&j0dOU+Tx4>=b7|n
z7x4ze8Rb~ab9sJ=JQiuV>xr{ATBD?I=JK_Lg~`cl$71O)MRGyK=|F6ONjd3@w>CwH
zmEUwM_O(kBmoJ^aaOUhwr)vw}Q-8z7*4~c({`P^EW3dGbT)X>!#$ySJ4ET36f_p+V
zdMtJ_DE_k3{5|0fKdheR;+D;@XzMm?J{A*?!<7XGXBz^YVvb2E<5O;VBCW~4JDzQ=
zFZ`g0RR1{rU5wI0^<R>X>vC|Pl)cx<${o=AW$(SRdP!D~$;vgnyWRh~Ae(qCNaJhs
zaxPfwPvz6M$m)Js-6<=#h<!H>U7B@G4qaXj0e6Ml5e%^I9o9bF(6_|3(X68?#Tzrs
zXpU>6xofx~skRR{xE(E$ANQL#ti^F{G>3<8jApT1xXX16F1{+>ie2)a12?KR+&CM|
z1@hsH_ixn2e)T%rv(?;eY~O0{RUKE<Nuav#_Wtwwd){OJoI3D``b}lGZ|&I9zV$A<
zU2uQX3NtkBtfp`RjxB;rshs6nprB?}EJhL+2v=Uha2Mti-t9}x>NIX_D_`a{tDdS=
z@lL92P_;{pP%%a(iEWllSmVnvkizv$En7=x?PXQ+EAqg5FW1J^rAzi1HP@y#Uw^$!
z|E~=>NS_g3iNf+phjA&tC3^u`?Ua=(8x>^F9Wk!L#}yo0*}|Pp+~3Bp>w5H9Icw#+
zjA}E6;1r~f1+_jF)MgAl4@FR$F@jnj3u=8#=ct2?83VSE?q*tJ*3|%P;W}kK?0>5H
z#guVWS+`~G%<oAVkEwf9qJBjkGiE=Mg8o^1;`>|fNf}qAA#o}+GwJHAV@2wLlAQw7
zWcAcqvhfrOLF;lc7h6mjZOVEsbHU)L{mNP}=RM0Qpib8F!ISoxl(7?kcKksR_0a%G
z-#3e?ze`zlFQR`e%DOhyaoGZw1Nwf5CRfV`#Bdcwdj3W?d4-I1Gd#q4tw#tC5&IGH
z5PqG97;5kkp~~`dmzRhhFD*SGK@?^@ZAoiz5RTdj<tHZg1#v6;Ut^!mbLmBMd(s*j
zG9D#X^Fbm%<nsp)-v5^O97F?@^lUG`n6yrusPEtJ_<n)#`ZF`X@C)~-Z>v92k9&SW
z{Tz3^FZ0Eu_1VwXKK3yuva7AFwW(>>t~-z1y-VH0#g-a=GgDJ&h#ZT+58y*`#oR0s
zKr)hz#U^XDxw)odUlvI{=?T<vteKxzqz8;Fc6XnuR4!j$U$}J<H4YD|<A-wLf&!Kl
z0goiv*#k4>F;n@txTK;<tF4WPIgu&}=!iz^fAHKhRoHq045GY8hNx5W$P#nEX)Y~Y
zo4&T>zB6kOZBN7<f_|P7!NY&*)VCh_+9`F0UtYA<C#@}8jF(?_@J1VL{MAPP!RJ#Q
zX}eYw%e8y9tHgFE%Olcle_2+qmz6u8y80fMx<TwlIJ+p9o?n?ve`F=|Xmsv}#elC(
z%Nr&8TVvK8uBdsWJXfSV-;k9{*In+yrT>F){-V{sf5<-0Ky;V;hZ?-X{Ti?EF>Tb|
z&z(ZY@7L(~{aX3%A8POlZ`SDek7;!LevOWALtqwoL=#)YZ{TskJX?+!EK@e;x(M>p
z4JIy{Ol*dIEms3byaYvOsa@rSn#5(gt4gv^mZh5b<U8AT?ATF5w=uvL5C0CNV>F%1
z9NFY>3~+Au+u#27y-Uj&>9*8~%#trPgFXW-1!rA(iWBvdx7>2e-qK^-e)8nyN(V>I
zHt<@)MU)B0e&?O{4Bd0jJxA}k^Ui9uIB@&zx34SSd9)KIp!?{Z>PT{n#I+=pn9KaI
z!d+87cq_@ZCaW!5WofBRbL0?}Xj;OYWM=aDH>+d(`y3dw&$<8p3v14RO<KC|9+i@R
z#+w(9a_%>*Lx>Nz9aaBD9ZRVHl-xq<j{=zsaX}PXXH`93PLzNAi(mZWlcnuHF3XPc
zNsgRtt*uSsdE3&|+PZJwf&FM(_8-`{ueG&hBRO9;wd^~vj>sYF_wQqzY!Mj+Nd;oz
zF8Hx=qTY-KC|eJpxoK_=)N>p`(^PvPxWa>No1UH}`cipmb{ge&`ZDSgL?Y6x%%o|r
zrI}3n63DU(nG6>7EpEswD-XPcm{<fw^mOq{BSJOLTkSMqgedf`d;Yd_=Puf)c&=SM
zcW!ZUK`>|8`NhR^=g!Ze-IzMRIR7L7w8s}0)l<nW5;oCqFY!8pco1mC+Q|t|7xLRB
zdmG`Iy1JS{Z$c%v@q!xf4X~x(5&zr5$-l&rfk(E%Il(r@=zqavfVf}aIR)mJ>|s@{
zFL0v1K;n{kjYv5x**el#)G^WGlv3+One)wWe)A80=XZYR>ufoav}@Nm_eUK5@i)Jz
zekbXm>Q9SE+2b^giwelBQD5WZi$)tq&Nd;_ECP4qgWQ~Y@?nNY64T_3`8f#~RGgbf
z62x0bI@+ik?Vyc)m8Bd$qvQrSB4jd0&Nf1&NE8Gw3ALYj=BX1Xeoj2~%rn&dBru_?
z-e;bg<AF0Lo`DQ*5!Dtvj4P<JLfGbn=kogX>svfa<k7u+dCAkn(arO{|1_EsRNYDC
zs!Q%*Z%92L$8V68t2K5}%WZP#(*H+p>^&=cH|V9vR<{q?$0334a=S(^@6hPwof^G7
zGPt5CxkICux+eMdp$5I&tI^9N8oj(zqnDa&rFx>#K!yg9-a_J<<>iV^m!V$<VR;CH
z3oVVK2yXV#(ecimn=3WT6wm3Ap5ET(Nhrmmk3M>_xwm&>q7Z_F(eYag6BGOtE#*L8
z(%Kj$9z)V%mD!lI`uaINVnWBFsrJK%53gen>Jej5qD0)nuG&Q>B&OGbC@<T$Y~Gx-
z2sPMF?9K|IO%_M`h<??}2Y%ucpLheE^5Y->_#mD6r+@mV-}P@l{&Da)35)PvXL7jU
z?z{h8?@C(lde^)5nn^2vi7`JS09h6h&rk`8?#J{%!+P7=c5iHL-MO=u$f{d*9+l4_
zn{RWof;vf@jwFMtPfVfY?<hzd3mFs`43mLej`$;pjWf9v*6xG^WXmp7Q!q__yp_?T
zQg6$m7ar-Gnp%!gUP;$ToGFiIaq*dFo}sAc7a3<W{Fw60P2wRu4K+%Vmo;u&Oj?t(
zoF3^31ndHzP7`EpG7jXcCa6Nb#0QH>ZKIA2qAw4N6Fix?K<DCx90+oH#6w6<r~Tr^
zi$!+6{`D{a$(O(U<<Ecq^Z)hBU;n!LJgQpLF-0AnlukfC2J2Xo5U$KZ5QkhUhL&3Z
zf=qo`cHJ^U;D}3SmNMCF63cIvbU)&gZ;kZPlXBe5oOF#{D0CLe$y>+R#U&>pc~YXZ
zMtz=fpR`yl)M+WshDS_-;)O)zET&D-u&m{K^=f4uk2X$zSl>BaD-2h}kanFI+GTLN
z3SgHPblE@{Lb=|MdXb4`am%FR+t$MI=m-G8x4jx%urBlJsK>Q<!GtI4;*mfw{*}Ok
z4fNfBd@TS?37k+9bkL(KCjk5jDy5qv9Fq3PQ676IM->-ROhBLc)!)=<^3fDlh*7*0
zoY55t_D4|zx<}+%$mq3dU@c^{NlxW7#Q-QEr71@Qf@WrW@y(GMFl#<ch7>l48Ew?W
z00L^y@KY>0y5RYgEnG53W%y+G7j_1}$x+i=g8Yw4sx?4OD|PT{(M+LX<G4CbmtYBL
z+O;1gn#uGp3qo9(@d=zEM~y<8pqUnS37RSWi-wD4dRZ`k$}GgesUdzsLYDdg?g2Gm
zx6lRm#MQ-HWouY@fi?N3S71%E0(An`^nx0rGG&z8!}f8C<1Y4aLwfjOkX^PWJ^U!^
zLJGv!DsmPWW{1>+y<h4f^lw+{;S8FuQSz`0s;is^_e{ykXpN<WMf{pZ;Y_9Uxy6;z
zFRFF!we#vttEGRnJweB{>7}=a8@#~H;M(lr8+uk+;)cdUCP&I}K|Sq$?<49V$`V~C
zHPHWNse$TGt<=Dy2*IO9-!`d%y<6QHQ0t`5Jcscd9yO|N>ld%N<yTp^HYc5xmj6+d
z-S-bP3KE{F)t>sSi|OlhF?|PJOyBY<rtcXS)7Nwz)3-r+DR$E;rms(aZWLTh-}EY`
z5A~p1osTszeK%7FI^Ov@B5bYp|B?27a^}R{5B3Tw*O<PW_E#q*(cUGc+OUFMrv^d_
zy_cj9_@7-F1=E7{q&mFnIj(u8WE2D*Ss4Xbo!x77Oxr6x;R8eVakaX9aHv58eoEtr
zKd5oUALQP9(I9+as6h`usL_C*8fuJ!_iG&S2Q-fO0~$xXXQ(j>_72?`1!~XaJVNBc
ze0gDMkyt=iuS|@ww>UX<WoePnr}_NSJSoKUmHEQ_7^ytRAe_lyz9M<5#~*y~)J$@q
zTFNiO|C~GT#)0kJyg3B^0t<Vaq^2k>jyZcyoI&<IcRGFU;`#Y%^m~sz^3b_U=g*%w
z`PiikS1uQ3W-gvNb>-@8?#%p|hyLh~{^&tyGT}z&^8__A9!Vzu{Ke!zDKkIum9Ko|
zt6xjwg;Ck_*0;8S);M!|e*3|L2fNaj9(MLf-cl@#h3Tu;#xI=d?P!fjij&r^zP_-p
zFf%>1P>577pFVwl+3dXa)>{XFb`#r_IIdRP`t=<lN>MHx+RkzdIk>CU+@(v4YUj>&
z!<>8e*=IA}-kr`K3Fb-F%%6Ph@$dZg|GewKE$e%??%uug@X*no*ut|XpFXqDSNi6k
z{f{q=`40WkFa6SeF!_|CWC&-u>#c9y-$g013%~eYmiJeQa9W)D+Skt2Kls7D9{UuM
z@0H+PA9VI?=ztsV-@JDxI)>YB`|)?b`Sox67w>t`PyEaGf8gE!{Ec@VJg|5B?p=c$
zx2#9cf-G?hFw|YOTCjWDkt0VA4i5HHvcv7ITLHYpn`=@IFHV59=H^JaWfPt}>w3GI
z9Wp(b*CW>PX(A*@WMW)&X0Z${Cu4=``kkHa%N)S-=d#;U>UMIa_=ALS>u}%=yvaRX
zt#GqEnmBy1fTy{&tqYA*sHLgJ9|^?+u^6HD!_CdnF0!+OSiu2@K0{DH819b!`v;qo
z176~`qA=)amk_1q%#|x8Fn*yX-x54{-tsp&dv+1pu6@JC$kwgfdYZi(wr<<g-PYc*
zX~UML?)Jgv-oA~S2D;X-@7~=uumc%u8>5$Ca!r0h?bUa@?|rv#ND`N|#n`oL*UlXg
zqQ7}hpE!{<)~#z_7rk-~54%8oowLUml30VD5X^os+KMWw90vMPEx!EH<ZK~M2*i-b
z_65Rb&@3Ytl$q-R>y!xKXU(2EHL;Wo;sW$2>a>ZmbUxKo?dp<5!<lp`ir%PRUYc?C
zwDlni#!v=?!}hw~VlZtq<If%qUOkt|$2U{tcEg98WGf-nk!QTTA%&QMta1AEBk|<G
zrpxM2fb(3LD9czleakIv>dKV~kI~Q23K)x5oINB5z_ZFLL779r5OH&fZ%p4JvKgV3
zy?zi<RS%)E<HQ*hMF{adBqk|sZs5A)sU`<%ws%3AIio~<MZ_`GA=w&PB@q9>BxRjF
zc2HD9;UMqq?;V((%NBA=b93{PSI3qMq|oVT_UEll+qP_JveFQUNpuC6bu2|zQsT7M
z^2vcpB=|fM<oHFSPEFH20>;IQ`Jf#FI^eHNU35k~NLIf>uu(GcrWdA{mx`WWA!uzN
z1&_X*{EWJiGAl#`PO0p#!H8E03xRO{D<M+arRT@bo?xt6zv5xwq@d<w-2Vvi?v{(9
z@tOKH&#Wq~$R+<`$UY8Hb(eQ*6!^zA3OuY);P-H+pml#-qrg9*QQ&uL6!?CP0>4M2
z!0*v0uom-4>Gnov%feN>&Cugs<u99`Ieq?o*-!OL=R~+IEnGt#c3}=RV8RGRQnYu?
zPI?O2l7r??O-z9N^~ZD7yf46D3xpTa6V49Ce)a74K%|{~=9wqZ&0d>%;eUVitC=Vo
zV|s(6dR{*F)K|ay)vvvz9_F!a-6_-dmBUHT;#9_I@9I{MKb~Gl#|LJMbCD*<N^|Fh
zD~~&9gqH)c4ICeN-RlT0xqtVDJ+~e{+!jJ)FAoe@Tvjbx7>@@wsQZ$M$jmb8H57<A
zYZuCf(_YT2-MhQ&($z}=Yi{x^-DM)bX*+2)E?l_K)c@8`e)5z5@u>Q3_1pdb=A$3|
z=!f3&)1UmrCvNHBuJk?k__(FI<z1*mKK@pGPyTB%vGv)@bf>8oUj#m~kQF4Lk(*H;
z{_w5Q<;T9(5;*nb|Ng=kzVP7eJKy_ZX9uHj+unO|SNySeyyGow-gN67M^MBZf{5<E
z`|cxbcJ7xGhi_H?o+nR=gkQ=mO5i?1*F#h4RYh(VPbITtsC0Us`E02WZ)tTfUbeT<
z9s5!{ATqTG;1ojQnnXw^N<*NtwN;6pzJxC&&+tW}d`N3hl=NhaNd@Yp#)SNaiQL(q
z$zjN<Nm@*w5vdyx9MXpxF=q#ls`sp?X#q8N(SD}4b<ftV<`UC(?&?)}ZnUdUH0AB8
zm*?i@iSAqXg!3LxQ%A6tYM+_I2v(0oYw4)fRrjC)sm@2NUT25sE0+Oc&;EbZy$N(%
z=XEZ62AqR~c_s*eAPLSACy^2<O4dNlgKf!HJS28J+p*)OX%ag_+tro_fSjc5Yj69~
zo21UoP^Zm}lX$8dCvjp+vSn+YDT(t;kRaxH#`}JViO+lMdA+Xt?pt@g1Dgay;NT2<
z?|%>9{&pxF4j{pl%0%aVzC3sfNq(0Y=3G1kV~NsN2|MN$ZU6*IGK>t!6g*Xef(nJe
zEzBvi#jK2j`td?C9rC!_vU$u!PK=*DdliYFOp#6jEXhIYkX%6`%1l$~SxgMYOgx|s
z3m7MXe~1=~az!cOt}4nXaJkchUY$q@a*N&Ju*w%F7d`Db8tfJaiy{EbPcRe>BCVay
zl3Xr;<Kzxy;`qKu9Fgi!n;ebbAQl&J#H(G?@b=^JY?%=h;1?Fqt*KGKe#AZP(1lE5
z7CLh2%$X6S%ZDefUcG)j5P|vuMvp<ZTroTaRMhnu1iwRVCM_<T!e{{{ww$Ag*s(k{
zF%c~AW?P|TG}pqaRV(MGCRSwwfJXPrXqEiMt+;sWAb$*orLt|6SfOnaE3{W)g|_3J
z1Vgr6VuiL#tk8Ce6_R3Xw@IwfHi;E7N}?ethOEYB1Ma_8vzW@DCAY4w&ecF%t-|OH
z+)FY_j5TKSBciY{J~{be-e}-N0i(!sr?2oW25(JoFOrJ4+0O;S7_kco?atlcluoDr
z{THO#gb(vgvDE9LaQfG8zx{W~CYJ(((H%9(fB3Qbjs|aSGKo&yP;|$p_U2|9cQ738
z#Jb(JrV)l@Bh?`ev4Vn4xCOpx>sAYs%@svVU{7Tx#!zGN@;;24kBv+XQvXo(myg_i
zH-psZ*yxi_VSC`vpJAgOM^4UY;TLI<*50)P)LAdcx@6H<4ii4Z{_q>GV#W8?!lCMD
zbLjeR1Kw=|DpospKJ+lQ-Mt5~0Zlz*=P(V^F)+}ARt9Zz&-%WBfxe!Oy5&*KT=Qa`
zss**LSi3?d-}}-+4*eKPXwJesaBrE6%}MMr;3JsGw!+DqMWNcJ*RR7-6fo;Ok&tg)
zpU1?z+R@ReshMjLeHv`~X4DxjoR6a-lvvka`FIc?PmL-xyG5b1%jNo%Fu#bC$oT#0
z&wo1o&WyK~@b2d6^yJcVAV89nGA<B6$!z#4QQ}*b4|Tq{C<;L=G-Cy|k`V=&peT;b
z%4{lcZ4BJD3(=Ji-ami!$}~)QEOzBG4&vA^E?>TQ5kbz7tP~9?!77+f&dx4p%3gUo
zn2t_qRg8BC2~9h^hhPZD3zftcBg&W|guNjw;zJk~4OU^KU9*u$#Q_0TBM#7FrHV&u
zWrXZhp+0+gVrGVno)Cl)WK(Z0#gII{grwb&tdK=n#w}mIcCCzFY#cW$SE+jY=sfKu
z;3=A83=FT+>d1dDRBngMwTjexaF9Pnt!@uWH10u(#yuj@xCilGvhF`9(YOaC8ux%i
z;~xB&b^k$$#u+|F<A&M+vo0HLEDQ~UIq<Ze3@d=UCuCVH86Yi&%}-G)pqt2`bw#u@
z@R?Yn3DoP@GFJSx#-=Ix6A^z>RL!G9Mp1|9g1NxFXQ-V}u{QPau*z&H9iZz$-#B~r
z+*w@|lXv47^8w9Tp{~F3$}3?=rP#&>O=`ZeMW@6UXCqx3vBLM-3fFv7*ZgJb!w;|d
zjN9s)Oo^KxdOEaaxQpRgKitWL+G4KbI9-(!OJ~>q&Gq&54rL0!a6jFIJ=7qBDz+&w
zsV5ap#M7{p#mvnc#E`B;Gr>Gk{Zv<%RhIQ%_myOIU7qT?BJk*=?_5G5WzpW%v0J5X
zSU33G^UpoCgZcqAWZ1WF-)&XPFTecqCFU?9tnH{Di)|*gExkOoI3I+_Wkdh{U;pJ_
z{^hrqC&M=qLF6o-dTPBQa_PsX^NQV1c{=*);FlZC4jAaQTet2xylc<k&Mmw5?B4b1
z2T|tU+1(AJv$mO7f({rBvWPMYwC-k81$Rv;i@7@CFy^Xe!l_uHSVp4~<`czBETb_I
zOJAp{G%>9y5a!=R1Z7&FNhn!5j5;X~*W8}~dvy^r@~{^@;Q4ktX)+P*1$n$c#iN*a
zK~x|?lqQnptMypBMHK=$W!9HZra86F(~%{t+)Hz$Vh#Q%AvzODrqosDs*&If3^j^5
z)6>(nWiy-^R3LF_vRZ$JTAI&-TAz~}mgi84n29Ufopo!BuvfJ;rr71wN<>jr3wePg
zmeqO&OFx)<vlJLaFr_jalI2N-8q?AsNSM?OH<hsNxLdOrR;5zQQ06Ta^E&*|s29qy
zbP@|O23*9_yji8@3vo=e#Te$+qEe45k8xMISP_$b61W7HVriUcBBjC~>Qjq2a!_Q7
zYvIC`(iD@4=ExA+D0&!BC(frbOe7ovNAbc!Iv2?pFv2>y;OW4KC)l`(v%(iLxfF=k
zvnW`_lgq#eq*DdVFTi=E@I4q?F2c}a5F`uZ!Me4e9w!kKnD#k^j7N`I9Bpwjxdy|E
z(s55m3`FG$l~E7ZK$8wc7IOuRSQ#4~n|=>mHjBO#kFE|ay+BY3C~7HbI#Wo{pxc+r
z-8C`=)S$k;+Nf1plsdLdPfSE8g{i^Fl$Rzv2z07w6&PHwQKW(bTUCc3eAQNcYLGt$
z^HbTRw(22?t@^CQRy~e)9;Q^(!xCHdu*6n<T4JjnlGv(;B;LUz5?i%Rk|o+9$r8~R
z3&9#NzQnCdXF%gb73lObqLSrc#;xUeI)>+S@eH2Pn0KN86*<VUG5DSK)X;W243&<{
z;m*VpXjud+NG=3P@-4HBmyX8VYy;*9xb>k(2}qL+6T0%7-~8svNQ4%(N)0`a7bh2@
zN<{Zjvge>yBZE|GXt%S>^sR>-t5uMe7oX1sr=`vmA3J^e^o6Uu%!@uwM8XiZ1Qezu
zZ$-$gZE$sN-@bi~y}H_FbJkef@uJhB&>HM!FeQr!?@M$M)g9XFEK_sSs3-apCHUVe
zbtD3ZyreR@TxjMi(O!#=c<2i-R1oI8?%vzBSn3WQd~zrCH{_vsa8rN(z`%}ey^rjq
z{+2uxPjs2<nm2dasP&?#DCSw%caltWJ4@8DUm>-1X(12a-ew=4K%kSaUPJtjgIL|V
z`<hV%1+3i;xJhgO-48x;_u)Ht4dT4}w(P#^$dP;Q*fxMbY|G|t2M>Pgo<Zu1Vkan%
z)YckwTw(wK5<|TmE;6^bt=R>(_~zyctix)CUTLeG&{|J-Aqk6~K@I@F(sNC_dVFb>
zpR~P@e~@ejW_ZoP^;D-QvNTc%Bswp<+0*}ed65L(^xv~BTOQf$?UoT<^e6x^&`yDa
zl`qj4l8)PsP9)qARF`Qey<X0uDImk5g%F4lMV730<!sqgQwoux+L;oM>#kIw{tEYy
zRpS#{ZL#F-7S!170vO0)W_1eS^9o?jGvl^YS!EC~|5BXAi+U{=4n^ZU%3avIF`hyy
ztdzjs3lp=jHQ=Ix$ubyL5Kjamaw|SjW6Kx3RNTWtLs_>z!%bhg!4#KD0TPo(Qy3Y<
za#R8@!lB89<Ojz`Py@k@1a~2**8ya8JN0&}344_@1c#GJlfzfaC^CS`7g~;a>4?(J
zMq!EFjU{gE+IWpMP!8Z&mSV{;4kGWHz>9ozCdmHoKhB}BA_7=TT96Q~aBing;K{IJ
z6pzt^n#~}yX*RPgG03y=Xw*AIMguTdA9!3HhK^$XWiF2FNGOy<vsWgQN)kl~$MZ5&
z`oW-^hdCt24XY2L+#1Y7RKV%tD<k&^Yz$i&!=nN7N-;;f%NUHyX^}>Rf#a!h-(oB}
zJvUAeUjaY-%Z0h{G+vCycuagu6=26PA`soVq;&(yGAGMfp>Wmu3hs&YU12My6Nn6!
z7dbG?FuWUvkc^=y3t??_E*p#k3rznlM+@mpJ=RGVa<w?tqj(Ej3}$j}^6KwdL0hNr
z(wy3j)voes(^!39EP4~e*YRnAF$6>V2Fj>IfozUKXBs|*9b~Tu6PP1Hc3^Vtt-6&P
z+CIo1qgJ<_5+8A=#P05w*xj9YFNw-_O6=|qiQU~HvAa7Yc6X=5?(US>-H)qTJF5`%
zD+{s=R^c&0$mLd6UWWrU7AeD{55+x0nnFBL0{6e1jhu%~6IG5g@pN>4a%3_R&3g^)
zE*OuD5P=r|Qm>E4hldBtk12ot^Pm56s)!k0V~f~BdSNM#=^q+y>bvWD(8S&Mt;Nvn
zhi|{}+o_qPx9;W)0;;KnBo1H}sis_GV;edk2iLZeMXm-7;#$s(scP8*R9rra6;V{*
zoRV9s>zr1T*`(k+#-F_X`s=U1b<&4p_}zQ&#p8z#eR3D@c;xZF2@l=BckkYPTTx`!
zDm!^u9`miOjk=%z@P|JX)jxSlzrJtJjty%&+AT^?-P#`bXU$GMBwyatWHKE**xuXQ
zyLs0kG<Dv25NsUUXgQhA7ion?%}&CT6xD%g7M_P1t9mID^;DMH)N!#cO;UpzmgF@%
zY0#Ug)jJ`dCRv88O&ok}^oFWc;FzM)S?v}~JQCH>tx8rf*=h+%U)e*4;%<8tYlI7N
zH^}S28TaSp*i>;`6Radj?0~8^^RO7vl;e*phqCZ_lU(22y=gs;9(Jh81pCWlmL<nU
z&}j)w%{3T`NRbTO0jKsPl4lqo3s4~~qmz?3E>UHeNas?)<wZY+*?Q~L7=Nf$W(yDx
zEPMpO2iaJmQfNMpBqCs@9KuXAUamD+<*78hO*=aIb<3$3pqa&zOy{jr0%D`U>>#MR
z8d+Zu&ZS{4f>9*?Q)tG@i`r5e)&Vv?pDh`1rlMM@E2G4cD<Zfplst7cCafh68!^ar
z8V$z*vv&a-*2KldxkW$(w0S>PIgT#IBKb8~oJF;>r4R`CgNZ~WoXmT^4}{5&z7HAt
z(XHIbra}G~6sxjrl4#+8L<=`bw2<^4w?hjzNwjc4qJ@1DE!-&4!aj)>4oI}HLE`<m
zB;Jn$Yf#WX2gQS*O))obUK<|1JUo0AMi15FAzp2QhohlIMwwU?74ahALJ+W0(d&Sv
zODtW-@(xFtm;dJ1Z@l^DFMfOM__1ThP;MULt6Q*++wnn@@2sd;$oc(oe6W!9I<PKf
zl}>OT!pn$+`}*;|^?mEt!?%Yu9OBD9l%<039y28dTnQvy=cd`R*Ma<1#5(xZuYMK2
z%f#qczV@eo`e$GI$``))?6c2;ziNmto<^zZdQoIT1x{4(z{HaT7LOxE1lNOMLEYVu
zHLbR*3*XeeW!J$^eBu)%fx@@A5H&TrM6Ig@j!pl%uC89V7TwKWt%ej6ko>r{v6@5}
z4MeF_5W^i&LSnPHb}-Ox;O@aLXt0<_SrC_nV{Nt?hoioxh9t}Ywix1*38Wmd<fPO#
zQK6<GoLHY2OcI8SYV_4`Vo0dWw6t`rUE9;-swW?86Nk8<AM0Su&BUzTqM{m=02MyR
z%DpxiKW&+aHFm(sLP4_L$1yk=v-pNM!3c*7H3mK%0(K7TA_g{PF@+A|3<HWZDJE;e
z37nmonH`%P#%omjhj^zAg|yBdv<Z}KBCSk<_61YybY2IH2~*7Ac0r{%j^OyBanjj{
zlsKs8`H}#A<#4M3g+0oVi-id(4qR+L?MH-<w6R7*V&m(h*KdrVoJ#rdp@JD-reQ=z
z;7Vk$H;`jwPL{WFU8wTkB85toUKrxzn7NltC11c^$x4Wn3IXtu&T^XmCd$-Q0dJZo
z0qpYfUt?q_l||v2;M%1cw^^cb(plcSBpSCF8b@&LQjOaz(YVbYqjA!yJ<^VU2WbCF
zr9>hI8ySk{HM-G>;HX|_N>7XelOS3PbPiE-j47ea5w}{G=gVb3j84|$@Fj4{3yZVR
zgORy}wdRetZoclUX<GT!>(m+1RxW4gByt(^Y@z(&hYOvZS3WEjuVT4~dK_AU=c9RD
z11bC_N5-~nYuGYA7E{)5B_V({#glSqSw>0~d>|lnTdi?q!Ac%oEssT))w=E=)m-1p
zukOMH{A=nC$}4;Am6@u&g9Ku}fqb`LV}ihy6oK;7PiwDTGd{gx!`wgr^FQZ3j*eQ~
z@tUS?<QE6lw7DABtzWyYv9YzSwTJqIXe*VHat#q(Hi^Mjn2ATD&I+U8=Lm3IEf;P9
z#~nPGm<gUw;$dQTW!7R4ESYSWtG0mjU9|Ej-?6N&$fBU242R7Km+i<RDsbvp>eN+w
z9YP6<QJsmcZ8D;yGo$Km2XM;<EiMU=T}OeVolf)2OtUkSSqGQb;Blk~|0fm(h)^t<
z=Y<7dYym{08Q%i(ia2E?J8&b@a41pv*J`7|ayg1q&3h0Kx~uYFam{9#0@@d*r)Q?E
z)<Sw^nt1+9T-)e2)KURt{V~i>wiu5$VXbP$;2;t{Aa{@3U!>$lLnxRD8T0~`4WR>x
zFJ|2aOhcleTrycXmdlZHWy#~nQLqq*uAzphlCfjWrSr>|*Q_y@0~fKXBk0y-Vs1mJ
zprOad%iuH^4+fRcup*|y5S&)iAb$)3UfG%?+92ig>5*td3*Om)=v&I?(<IS`CW$uu
zXZU<-B<qh;vi=wn8At{EutopMl5b`)j)ba67ZXTnte})KH(Mxq4NGC%095qOT^+uB
z@%Y(AqCa$Y2?^q1@LhcHUZ&tR)T!Xc4Gs=&#h9!9t()4BK|`WSVG<SVJK(@{bzuU%
zN4BRL(y|BL73A>^V8guhUwsYSyX;>+iWUlVSy<MHiZ4Ef4EtxE!kzFK8i}Dr5Zc>=
z|2Oos!xsYxm|+J7>?YWJlZh%7Jcc~+EU<xT$3K(E$&g4wZ>5_y3#cmrKJPUUmQWTU
zl)wYlt5d@DK%@y4X+V$(bA!$x!w^FquYio=t{F5cgSoZ}&|c^(+77}7cwe<H47c+b
zqHtZxB)~vmRRSXrTr!cCWsvzM5nnKjiO2L@!mY;D8=qY+39*&yxTe5thy9}BI<n9+
z%LxUGgH98m3l@-Y7(E5SU;^+Ll#~!~C?aGMW;{mb2OE}1LkV1;i&rjOxODE~1ehe@
z*%dR`7fB*ajHA!Q10VYZp;#_46xt+YI38LCdO;5+!xjOelO0u*bLAXcf=CPGk02oo
zcu;D~-og*{4D!byZk4S^BAe1F)>7Yy%vK{2%6f@!B%Ng4BazK@65mKV$$GuSH~P2;
z#YzOT6p01=lQ$=)R|1RIPEStAQ{&?vx9$cV!)>5t^|i>CQPHwUn<8E-k<!BS{Ee%>
zef8~Q!#B_V<R9Pujdta&xA1{im^lbBEg#$h658@?QKXxvytZhxzh750)U~eP+|txk
zSLdv|dmvQT-wz&NH`72x5I5$}Uw|`q>I}YOJndCXO?~Za4Y`)x_kVGa68U=%-?eAY
z;GRM1P5v)#?)lo+FigR%yMvy<oh>H*%RheWTi^126JPauz-!a#y1RSZ`nT^re9!*9
zySH!Y>)!o|o{sKr>IrcOW$@;ncI37Ddu!{-;-RY-X@iLre{2LdkM2pcxu}O#Hd(C}
z2ykPE5-1#$faCbSI?9OeD;Ggj9gXUpv`A;nUYkPE+M2J?naxd|?X4zb?cm*2jd`ZE
z6<I~MZZqW~AIVRU)}Wg8GLeopd2zj$mJsK}qW*>Dm1sOPJHEWkWl?2w>lSFjC{8gJ
zGxV{X!o^T0y`mMx8b2mH-<+7Ax^m&t)X2Nn^4Cz3y(W5St<kM0W%U-=+>R!+bKBdz
zHW^wIkS74DD}rDIu71%U<uYg(O5k#*%RJ_9>a;Mo29ujs(q5ZdJv<y2GQs)LtAN&^
zFdI95U5B16(2Titiv`3|hymJg=bE~DaM});_dAqYeDOP|4!n5F?zRu|#~`kitz9D9
z9TLBPgT(H3;GIOaJ0-H+DY3hq64~yM$aaUs@9&hzwoPJpr8QBLQs79oI+iMBBmSj@
znNU@322DJ?h9uD(b!-J<1xAQ=FNP{BnWf3e`9MB4b?wrb<Kyj#6L_oI4kTAk-&RDG
zAnj?x5E`$A%?k>(oMX@np{eWId$4QCcss~eMa_+Ca5OHS&jAxa$7V$81FuG&G@9&s
z6({(XoV!1>gL;vAiTTXgwn6G&hk#obHUIj97hinwfB!G>6daD}x54}HS6+*?wzYL_
zOOva?QPZ}5VCU{5z3l^FvmH`Yr(=i_mzS~_v|B*NB}Zh}g517nNoLb|^kk_8nL?#j
z@B$MmD+tJ2o2Oys67dMKl_;oWFsZ?72`3^Mo!wET6ZBS_S!a^ZP!{5^YEu-P75~yq
zi4+p(ut;6;TFMv=9}R^-_>l~)_?PBG^5g<IQ-`!NLbszg01p72XEY+^@LDoU@17bN
zAH8z*%8jwHldt{oS2ss*Qa{F_&+PAnjGEMuoSUxMD^e&qnz0(7M1wYAcm*g{q*Wz9
z!8d6HC8SfUM+%F~C=@A;*HThoP(6*g(ndouID7u$LQVE0ap$$=YA2$I)-@cQWi+LM
zPr_?~$AO8st3Pi2Dj**IcI9GaQN$&_!u~=27{su$9gxWEeu>N;kjU)qcxNYMcE3bs
z_e*5<fJA2ZNo4kbL}m|2WVS;hv+E?jLQ}<27zst;2$AgI&Fhyhe{gPW(gz+Z3>#ST
zk=SBUbo16U{=B3Rb(3Q-FEi5^`wEW=Q!9}tqiJtb#hG}0d=~5RnKNhJd-do4@-Kh$
zowwe;5Tcl(f9B$O1hoXN#&-pgaKC5}Ex-MblP6CeKNcgyD$y)XVleb|dYhtAfHWN@
z9*GGAnd{ouHoDrH%`jQZ{s^b4K?=VgSV=dpcarFn6Zsy*p6j|gMdUOJVDBrrnb6pn
zw`pqXD_{A_mUb=tpy!@@?%78lK6K!dcXy~GXU|`pP}#PB;ZOhUtJG((pT<FSN;RoP
z%jf<G+h?Aj%E)786A7YKH(!0#+oZ!p!Y)wYAi759)RDW6+;#Y_yY_AEZ|~~v?dj+w
zK``lvs2>=psyNEkz>8Xub%G@)G*ZB1p*C1Xi5{f<C_RHBpJ2)HpjC{nGU_slJWGnn
z!eOowSs;N{Je1tq#Pir)ty%-oBIdKEwxxAlyUXR!Vbrcttyki&Xrpigsen+?loEAj
zD++)HlbkdxB2Fr}89AELniL9veKuRGVNswH4gH(;?tkF$ZCiUBYG5#}br$>;!>!!>
zB^g5Prl6>6=|IC<LlXfeu|RiZ+>FL(^g>b)&qND6Y#F|QuzTgBNh-&pCZ|*IDbgy8
zM3kF<a}1J_=0uAhxPm|^M&`tl(i_2ZBJL+Ug2Tj78pP8i!OzMJ7M%gHhR$HD(yMaU
zX0X~!U`Ic`3E`V~U(}`o_<%o#;ez=*a7rGgxx3rjB*PfTXdVd`hC!GSjbk!oEQYeC
zfD#|NhY?Xn;C{LJTpAXsP!cV1;({d-Sn=SJk$MxbID+79QmYYBM-xS)tC0^G86TUT
z8J`T~II~f&%%=P|hlj6&^vBIdeW<m>bE0K@67{ReDG-ry9KfQ)=TlWxc}Yk_^D>es
zL;g!3Xi)@QWI(k-@pU+-9t!iF6<U!_WWM951lt<98e)PAY6SEPBbzN1z?b>!6~3^P
zn>N*o^g_r>mH+Y9%GWr^AA@12Y>g5t(j>7WO%f}D)|AT1*DSFj%@QjjjW`-4R-{Q{
zMVcg5L>h5OS3bR7HJ|5^vTJOn2n@)d^tid1fL@O*my7`vBktALSx%)?!20YtSSFQ%
zYs+}ciJPu^8!}R?+HPC)8Y7W@OBn&=)I<$9^BS95vF5wE4!wV7nRl~s-wKABPmF)H
z8)NRz|LWhj?LBnp(2@HPl(@Oan=Ze7Uh8J(PhG`G^A>Ga|9W&@_HVfBZm8_;ZBX<f
zEl`OXdwtU;cw}o`b{SdBjI=B#>XJE4Ift)ZT*!duCZ{4im2S?UO<^QC(kR7TM&~sK
zlD2XZ*uu*f$c*Q-g(3b8*I*As69rLL%qL<Fud$S$jb?DSRT{YZvDjju@}@u>(tuKe
zOd+Jb##rp)*my+{FJFeZojZq?U^hE6S5|<Q55y^6ql}B@2?kkEq%)+PmBc#g=8|O;
zT}p126XbZ0N^>K^Lfx&lWgqPE;v8`SxtW~NX3n`;Rh0pA)5&^CHWX1SbyPii7rYex
zb&5V(IrpZfTWix(gZwcFN@aUWB2~{wr0O||R6T=t5`XF$iBvr!k*d!~)~2T=QuT~P
zs-BTZRrRB4^4)`YP*SN{*U|ukW#&jW+2pK&5j2w|Mn2ENYnT%>IgAbmA`<E2G=`C<
z(e3UTG8K_cq!<jPS0b5bcGNnntu~QE=Fn8F74@YuOj~WOsvMY_oLUSdSns;qcOw*S
zRW!hyHgDR9F9aUmY)+*(+?<m-dxG?pYLjT_4zUb!?i`OV$p-y_GF!^4%*`z|t^K!c
z>hA0nxxW6v=I$C%Unp(a0_m$N-hAin-<`X;#Cv<EKm$1MpO3)`Dj1Ah=4UQkV3>{$
z7v5J>TdnQrXsEZZJ#gT_Z5!%fkGq>-k<FZu<qDWBPI8U;Od>sZ?b_90(Kb2~OtMJl
z$Q3Y;V`DM7skWxpX||d;PxY_PzW3gH7mv@tl$ki<*ZlS${(<8jdu;zs%0nKCZ9Dtx
z9)J9feVaeMi~3RJ;TE3T4IYE152KmStZbDlGqCZ6NVJ#;Ed-8z|NGzjk!btb%h#9W
zHlQ}lue|c=tFO-L+jni>IoP>=t<uw5sk5x90>0nW*wc*2O$GWC>*2#2;mCGv9vs-e
zfBUZ8{kX<E_U%UL<?e%+>}!q|Q$U5Xs82F-3Q6*GV0mdpw1pyci5FxThYiz?E?Z8f
zQz_+`zFw)u^wNR1#oh(5y@lfp7~qn@`FUtrQU=dBpC`ymQ#1hR0RZO+u=#8ys*fe0
zJ?3&*P~yu#7m*1?k`cHP$#h(_MWTyQk_e%YhQgLBYpph`QOBXM+<WmdqWxvr68?P(
zfM}m@S&o+POvaC^+PpZyg4;5*kj9JT5}|$Z6J0l#DZSCmVSaorHZ!|2H#{;M2rY@W
z`MFE;!?T3CVhrxcc)aZB?CxxEs8C|o=(R|1%Mi(zN~}`hc5xuIK#CI~+R}W1!2DC$
zLIPhO%aCkwHb>lSQxOX%ikc->u2w75Mw3ye)r*|LXi@7FqP|=<laNkcj)Sxg(|{On
zZw8p^Tskm=go?^s#LqCpV64&ddq^Q)#qu{ZgC8UK-?uPI4so0i5}Rb4QmHoD4Kh7&
zVHBsaK|RE3yUWN?0AZ$5$g-d*p<DtQ04$!gw^vS5jWQ)UnN%K=m<kHgksS(UanFj$
z44%c)Idpo1^p9lkLnPU4E@g2dOu2{x8c3WO3Q#?@QnUfZ$rj+pluKAfQ5!E6vH<Ml
z0M79AnpCiB8VA9jtt2p+Jzd??Qz%@yvV#0>a?YQ{Xck{+0*S117w526WBACTXwHX9
z1%R&e3~KH)Cotyv`i5E&=cJOS<LHIR!vAq#pRtuta2c5Gyhn+$0xPFwh{YKNAtkK*
zM}HIM6T(QZqHz9KGc<o(u4R>U`Ml^Ak*dazj|e-_k-a+cvynWj5Hy6zv)?l`lfk)o
ziAL>Pp2vnk{us5o^-9)=o<~2LmA2<mSv}q|NZ$7Qd{Uoejp&oC5gP_S>PPF7tP#>$
z+lEIK_0;Ozw2#9f+gLRHkBmTI=L5d^xsmBWlsN8Saze{BUE>gyH8ly6^_-bW7u;+)
zRa4`&YPD@`SFS)*=0Gm6aCr()dI<KZQ=TDupkGuD3@lxT=$tqn$^byHGBDuPX^GDW
z*PU$0GPByEYR}%igFAQcI<#*svvbRk<~ns9fWYo<bkI1igKAy!fr_`!(i!W1>c3Lo
z#p7>4dGRgkAE}qAe`de*Aj|H+>lcP}FHtXj_Nk|y{;ZCNr+(W@lue^CnI3x##`%GV
zo_zM%FFgCuCw8NX2Dss$i$j)1^i?!AI*hPD28*1At_jtRjl`?5(JMDdbs!Kho1rF3
zRt_cB@WlTv>v3SXFp;Qeh(yXHO^W;}ftM8lrS{sA$&rzYzgh^!GkFCS3ogSBA(C0d
zhi2zR!|W`rN8YrdQ7gxX3bNT*l5k6<mY3o52T;KZF9j3nEMgXz5b{mP7ATFzOpGK_
zS8_$%f-Hgw8`98om_&E#)ag^h)3Xb+qgN+k<KBA@&9g(a-60wrj@e1#^(PD@uJg~^
z?OwRo1kpgYfFB))zHp2rx&asl)R{)b8ID3U3RF)lS}5Uum2xT-8H6Ueb%4FFI$0bM
z>bcV=Klts5$zb{7xgl*GRd-`zV)RD3fNWMB=nZeRxG7O%B##1t2;1o8)GdEWivAds
z=z<iJKPd5+h(ZvAuoRO&DA5HeCV!hm7o?c{?Gk@UT6dPP^ij14kI;z;4D{5*7@!ry
zffX#0+29nOPWa$v4#_#vUMS;LZawTYieyoaz=YI7WO3d@J|3J8!GRb#f9gLlW^N@6
zv#SnXz|;3h-}8_|LHITVbrr5UDnmf}&M4Xu7FX-0&wl8sMc%uptphblQ!Of0>(?ui
zfGFj(K>PQux5J?sqBAKs^4FYOpUdZ|b?Zz;(k>ZPR@bld)B?brt=oOiJ@*{mdFWYi
zn3#RP{`IfpwcF9!^M%bIdmD0u{6yr^BvU~6U!Q$;P4@b?zy0kSRek%O_0&R?8#e4m
z0s79Z8++k<^!6fsFwobB<iN)DBmi*O8=*a|HH0FBK@td43!E;b85^45*LYA<&}$(n
zd3P<&8WAb5Z&tg*iBi3R1ZN6;HGCV3fr8U4FOqhVVm|KHLpD)1Qxw8j&9W(lUgxQW
zLYmAhK5ndY5pb~9f@_^s*Mao8)&O$gAxEB^LM}~C2aynk;#qD6UTi$9uXlRL=tQ|(
zhZ?=ST!b*k6<QdlYGnyefqyIDGBQPX6^lQEj9i8(6u~3|v=!7i847x8;Y~1^Wq2*q
z88Aip{pkYI1Gw^d8V(|^9)cNjGX*LH89=UKVIjri2%HLP$+zICC1Q~$WtUVYlfXBY
zWiSU+p5SC7IZ~OHGsIdjG}`NEx0>K!F#u8xg3wIdL#mZ@Vgau1ynkt8bYvv2L~KjP
zm*J+~2$3uv%`0)}EWtY<OF@l|MQKcDXwoLa{xJ`5{qXz<Aez1PtMZ)u6E+z|i$A<|
zlW>Bo+>g5l`D0M7%C=jgiMu6{%k2_P+>3XT$YqaYRoX4l#9fkAX_rJ3cS|CdJrYg)
zxRuwn?KTK~odX^Wo1=V_)3HRhID_l~$0MDjvpSFs7*f!wB&wFODp}gCS8JMpZKz2o
zvNJQ|(?IrkU4Q!AV~;&{+Xg-M5i6bh&AT%Tk@UOJ3Au7FbhdrNt$nQcLAok$m*aL?
z9s9PU-mqkhojCE<v61PV*L8IqYBe?+g1bnmOcp~P9hhwh!nd?GVIMVC%x6(n09hHd
zf0pAOJu^a*%0AUcfGqQWd;KRr`N^yA+(bTwu5RyYPAVFDKDCSbX612IxbLnlTefUn
zPYsC53M4BG^m%a(^;X$WzmF>RDO>*^Fj=nV4uCT1?I`h?>eg-CabU~VO&ixkS2qpb
z0bJMq-PDt!eHE1@)YdiNWcs@6h>kj2YYl2nWL9xmE?hd%b@3AE9S9O)9<E??)aX@g
zffNvzBUcg4&rTr;t1RafN+1ghD@C>2kcjz$&{I>2wpeQH8Wmmk$ba%v@SBZJX53ZE
zTyy`1`f8!jirmBa!s}=&IQIcOAZ0mi1RA@P8!1$|4gR@{W03ELAiJim4^75Q+2ex2
ztF1NaNlrLd3N86TdS6(^az-;%P-Tstl&%Hb0VMsjOwO&BE39THY=+MV0!u6LWXUT}
z5S7a=FSx6s(*>)up{}$ThV?w|8zVRHCRs|+-HFCsy_wcn-TJBDjTIm-oq`OAzC6vz
zy)F&OI%(8o>0$u0&(df&Ci7v#aWuDP(^(9XQdTfps7HeK-lM0<3_>*zyeCi-6^xdv
z(T>I4<+LD{lI4@J2%AqtX0f1LnVi7-y&OcdoU($_;^|y8uW}n`mejTyOhAeRlgSE9
z>xVECFZ~eth?j;)=6lN^e++6@*`yt8Qf{w35*^)!caqie<G8)HN_2FyL`SzsbX3ai
zrIKX6rG2zcAY0KFgZ7j}7T3O<6<}r^I^`lR_!6m@1EidGn=szBjM@emttgI=)(K2_
z-s6lSUdV<^D=SM;T$f^0kF}=1)_m@@*Iv6s&6B=w9tPI5Ze2~OWB{aOg;F@M5b4>8
z4?SoFAXyz{clVC<SS9T03~Ih%T5zF=>B90NGKF&1ZNmJVm3$U0FI8M>6gugr&0QX$
zmW5metj|1y1~$!??!No(&5kgt_@j*R;7&9M;K3ZE4wC~&mm+S{i!Z)(B^fP0_0&4m
z%Fj^xxy*Dt<#BFohL+T9efsH#9s#|;fsLECV%xT31CDS#^+%$kR8rXpIY3<<Kv!yD
zOYE)&C$f7rj_S%nsneo)<#%qU44G(N3D|C>-#jlPZSO0w6k(mzq6`mprIc<H`oraH
zmJEnMZ3kywDyp;|r$9O?Oei8`2uopFNFs}Mb0JWN1=9ft5*C>PWptZXR`MY50=`5j
zm-2A@@`Wm=$C)PummC@kGNgOGoacxitCWYah(-{&;OtQ~cboKjkPvW)?V)-C)+Qjb
zgC45jsm>sn9wS{Jk%9~dTTX|UplktHRCKH63vQX+4rT>Wy||cFnVpaez*QDK&RnH~
zBo_+#i5W@dF*X?>t}JO8NmV2Ujb&~V)_<O=bdMI%e~td$axU(1#)?=-l`&LTE+QcH
z#TnQ@As3lPmT4YobDS^7sNANerba!@p$R0EVQXRdjOECL=X)6U{EuK<qUaYeMOOSl
zMX$OB`D0L(%GM=W`?@4+U%y1Jy6{f2_H{_szAnky*Y)T}5!uI8LAxYtpOh<Fnzgf}
zfN<5-*U!x0c7<2M(O3vWkjf%Q(`kQAji{=r2@p<&r2xm#9*dvGLbP@3yYJ#cj9nd{
znjMXW$-5aQcx_-nR1FN=ID>TWrJD*R<FVMaa8l*+ZggR9A6UPkyQ6=5Hxj@AxXBFH
zuZybd*G;vAmSZheGmo$dy`rE2e){Rvt_tqYzwq2Mj{}?Xx6IQZtwm#;qWPtlMAb_#
zt=S1hc=*#YRncP^?1xrrwV(Xt?%lih9=P-H?RVXO2qSDwDEL*~3c9RSxOo-}`3?jI
z7W(qLqJ=|WW@2i}LQE&CKw*qaBYOiZxq!5`sEkB(L@?CyeAa7Gkv7K<KIrJcg;H5G
zYLzBgLJWhm(ACe*imKV!8j|_6>NCl*N2{R#Awl$cYhyL%$9?adJo(|tQ>V{-c=0D1
zItETY08YY@I4qVWo`nN=?ws8Yf6o_=ppq4eQnNUYWE8m@rQIG_ftG|4THb4kr{KO8
zi>UD;BeUWUgaf`63?2pk9g&l$RH?EloD{eoN?yy%3UV!(%=z<(j8C6Cec{@<V;8^$
zfV*0Z0II91s|)*J$EKz!bnaKKN;V}{en&C!vLdku2l-<V!pe51L}H~i&`(Ju_71#r
zkWx_xBocc-BC-1=D}l5Ix?i#q?3YOFPRUBJQ&IzM%wzRK2c;Z|S&q&Zd`N@c2<3GU
zqux$ADe~lzIk(d^FYN5aO7C=*Nb$3Fiw2FYvk5~!FUkxGHHhjP<7pU%SXM27XRw?|
zodtCMXCv_%*y+daSA#lQNKh^jX#|yikn&odfakP%Gw{--(w48<{fNALE)WRHT!!i*
zc4ie29b^hv+yz=u*SdjN=?(|cfHJoWu&lu~7*QftGhAQ+2Rt&GCx=RL)+X3-JD!TH
zx}e~^x?Tgs4faH-Gce}e_dmZ2D6Psv{@9jU+~A^WH}y}L%U(fn(GTL9{|z}?PJQj<
zzx~_4{q*N43<Xk`mFo|qKDr4{MVTXmc1BObjt=Oq!(LZgUsu!I)!UC`_HDcN9zx0G
zzEAwgm!5zA`3JDCzZP9cJJf9GZf$LCTeER9-m`tz8bWkpw>dio26}8Zec96p>eO2s
z5cu^*4i#bK`fvS9>DDjOq)4fcqKu*ewE#=iT0G3`&49?HZq6QUECZM?2rS7D<_o2q
z5@y|sPJDQXm#!_5>Ct449bwo>eQ*<3BaCdmTRHbZkRj_rSSAx?flM3@VIxhr2lPTR
zlT74_<xDk-zumg>9H?b~{^kfE8<SZ~0K<+_;s5$eyqcQidAIWHcP2S_PU;yYC@v>r
zOYjPZ>=APN;zYxk5?h`}He&{*92}S4MRdKK#X2We>%h2zi(xU7GHF@eN{)3Ul2fTg
zLcCY@HcroDokIgVp!7_xkenJBL56mE40)M}*oT*qLK(pUiSS$G1{e){RS731G`{^l
z5;8@m!6C9CTF`nMb0q{;Ak`^>VYir!k^Fizj>%4iLN2>RhMPnYpo!I3%?ZURV37o8
zQAC;?Te^t)DVwL!`ra7M;m=C0h`yq7c5eJS?Do}39B?j|ikv`6|Kuoj68kCUXfn*o
zVMjcP&A$w?(edSUDkoxeaw6+(<VoKbim*i}6NNP#UI4l?VfO(~7kK=V!|4?%_9#pE
zo>9}HVrVMNQ^h=N8K&!b8+CdJIftV{k%WqtlH`?At0q5{MlF8nh!aBbn4+4K$=s}+
zLaPs(qOx(3^=VTn?-1dhy<?C+218TX4t<PO`h>(P9l|?_e|m?+Djkwor8^~7Ny^o|
zPhyqslvpJx!+x_$MLZjZx^^9c8-s_0a2x+XaI^(<otYUp^l-1izCy8b^wKCO)IdsF
zEDgC_9w@{4`N;%B@)WEGeSk^GA6@*{pTaAh#fqh-Ik-GN+=nEV&t}Gt6dm}DA&P4F
zwxV5WphiFZuuy}&#S<wInSA)+Z<l1qnXKhK&Da$d)4+WFT38ngUYS}pK$Uxt{;@-D
zEiGL@*n#&GUCyGMr3FW4=Oi%p`Dnte=<L*{=7^a1Jtmw9BzO4uzE8uNbm7&Sd!FBU
zi-cSI$DnK3jMMGD_i4cH071f`(Lh3pb~$6X?a3$KoW-FfCKmx(d-BQJ<#)gLz3=_U
zMNe~Qrwjg{$=uZi=WzqlEPL*M`g5QA+^6om^Ugb9dGEjf$enjme<2Pv5IfYg0gi1;
zEmAuAHE_7wtWag7f-JT=cw4S&k_WQi8Ze1dCjPBV-dKw)hJsvxRG64c$Yv3`yp#f*
z2;L@WU#TLRfO6>)#sw*oxEiorjEG+3TAdtPmS8;1@wg6_Q_$_)jLT<$N`;~eFhd}4
zkr$DT#Q1Ny9GK%Ftfxt;kQD8yND&DqeE@sY8FlEObUHWIsNp30acd#<(A#opW)@0L
z<Q^Ss_y_Ql#Phh(Dhl};M8D+vA#cLrh7i{`SXQ`oaGi0&!Jt1wnzXe5Q-DvxUB_~Z
z^KgL)R3a3Z!y11Dg`r98z0$~nDX(y<i)ES@<qE(ZkTgOjPir=~6^n}+E6F7&lO9n;
zKwokpOPaB>ZgVQK0w*MjdrbP#5FA2wF$>H9pf2{6hi{=JW)K7oZUqn;q?V;tDm=}|
z(ZZDLt5;@`H$t6?S-x==prIR(AU_0nfjl8om@Mc>BopGYrPSi&WU~hLN`~-P1U*n%
zKz_W@QSCWO(ceYA`zN<NklP3OV^H79cDqE^Z<qMYNB%Fmz5^b}p^wq^J0!Y(L=ubM
zA<^~QCAz*t;(<u}r5izwk^-cz$Qtxeai6bT9g1WM6fZ|IE>Th_5JW6`hIGZ&4g}jx
zt#XJ7tyGNzHyxOVJGU@f0<c|1>s;Q(8b>@33#M|st6sJ;ap6L-dwdFQa%v5gT=5kQ
zMsPr!!>)37esb5YUHk6TpdFnyRlNlwx0|QVo;`c|{Q?<e$JFlhHV3Eu^9ysnB{WzT
zi?q?s&9^m!en>8-O9FV$!ZX*Y9zc+Wg!wZV_j={(^^%7v1|6a<xMw5szrE{FDS=V9
z{o31n<JXstpFDQz?C@MTmu1>EsgHl^6D**LdZu7Z<)UM6|Cst5T%#e~@o)YZS)>2<
z5=#5%1-QONq^=KA-&Ow^GQyvK7Ro4>3mY+8+}mub(W^n`%nK@m#Zuh>D{#kFcosW%
z?byC&%huca+MC*Yfx~Ug@gybP($cySmTXgB7Xn*VHS7f-5w~W&s#7^nGZY=mhENhh
zQBI8)WXpi#O5M=5r@cxmkKROL^hpt&r%?CYZ0sAflXDA#&ZUC{yPi7QoXskAYOPXE
z#iB)p)~GLqp_cGAl0}wNQmJf?r8H1*y-c|@LsBV=S(3L(=N+P6!DGOz&R~WXLmNVI
znWs6HG&wAGgNE`gAhYGFEzhV`Xp;wn5)eZ)h#WY|hIK&C8?JqTJk|9}34&mcrq+vk
zgQgA(Kz&Pv+m4=GgzZiye2Yu7zGy%xgr=v*$5-;xGqIIGcxCw9>nA5yPy|>Rqke)6
zQ^{5f8a<#1bm()EFNwP1*fOk?ZyJ*s(MJ8tDsNM09_5;uY2SD{IyrXz%!!M`Z@xEm
z?aYaHU;EkL{q%PyMwpfxXQ{#RpW;@QD-#jSdKIAn$to5^jr_xDn3S0*KVkQ{I#~WP
zRqt&C*R@uw(`b|&QokHv@5)S8AWdpO0)W*`sWGx)k3OT+Rnk>R+TpWh4wsUjBrIs?
zx2|-eM@<<|vru2t=xVC3vuPD5_?Oa5jc-ZM(>$-%$xV8rwV{K*29vD_JJvX%Nv>M-
z6KlhwUjNFwAZ<T&8c`5Bi^eyGJ<VDT^5$x_L0w&?RcY`Fugw55tLRd+C|7E%jfl+r
zkO&&iD68eaLB~sOp^%McaeUD$N1G8T)YaK*T59^&*Hz;M**aVRq%ei4ESl-p-%(o&
z<bP!cJYTE*20fQ|3z_H?ffG!<c(mf3^bYdJD&`75KCbTCC$U)ncXii(iFYFHag^3w
z*FE~t)G=w@Rhls~=yc@1!Rhtubg>wM;YK%uG0dJJ2(AYHsyZ_>BeF9y8S)&RNnV4~
ziJ=NKGOX8}&iVNcBzfJ8nQ-9)Az-(PtTlY%gvg#a5hl;=XjKD55*s2UnEhM7bP2FL
zc6O=~z1i%B4c)yhqEc4WHFQ#)4Z334ZChNN!eacy6HnmT=Rdy=>n-4(&wT##)IDH=
z!cv?SS=Sv;JR!1AJaIc>uPoebudSt}8aju`B`^&8_U(ZseE8vqkL=q={V^)5r81`<
z7^t=wjcsj4qq%xuK#%nAt;%W&D3wG)gF6nN-2^aUc?RhmtZc+70oy%}JeokaM-eGw
zbQYE(A|_t}8DaDLtq3m>12y>lrP3+1bRu@V0_e#yR#t{tSb_6aY-o_lz!!l8;))M=
zWRFb{2vr#zrl=sKQd%e{Uh=6FG9={W6mpT3=K`2V9th;fbL6|cwka?tmdl96lT%a2
zkN@oW@#8=G(T{#`{5bU^a(uGU36Y%`UR)H}#l>Ord{jpN;kvJ0c3gf;HYC6r9_)@#
z-*htXR)DG?o{wixP<5lMTDei={kUJaSI}UsQZ<v+OlMW9*@fxgkQU)TADc`~PA<hj
zx<q{kC7c(BNFU+7gZwcFbY;6&vJT%bS%)8xNcE@jPLjKNK(Y=$Ad%{OCF`)1Tk(F$
zIxOW@q|+(4&8S`^qeNoa0vsV&IYzF73uv_`LT*;6q7&#gBAt_h%xVV#mzpC!Uql89
ztT3KrICZtCvRh@ugRz3Yg>-qZxNS|<=dOZ+WG<G$zTj!gw6)+N>fEq2?q*FE#wSt+
zFIOt*<eeKtVI5}ko;Y!0N)QEM0#71}>UE-OLnpZHN~Nyt+q+Aib{<$D)DzZY?s|8P
z79*&FD4|&8d1TP$XC0Ns61^G#8MOk9(a1KbQ6>>MwYCL*ri}(|gAGrdh>Fl+q*BWX
zHD<QpZPyfFh?nDE`eT5fx7Fw2>^<<n0~>S+gp=?6Zp%IZwR#)vXiTwN;MC(B4Gz1S
zu&~wL1Gjx62(_4vcrsY$P>Cv4wVkYjVCYGgJ!?Da5kA*8Z5x0y-qlMOSKx!+bKipx
zJ@n9B2cLWvF8(tQ9on&b_rA?Y4tzsgg9Ld)@3w(~t=)|nH~|nWPLIH+9gW>v2L`tF
zHW+X*v<`<B&IL`ilh&Dbxf0$^G^G*%+T&$pzytgO6fAL0@d&4cs}8C(1)|q7ykPiB
zsq7MH%$5-DV%-<=qL5eM3B2SbQMKsHl5%8VVPS>#v};UQ_!oi}Jy3XRUV+sGs{op3
z(5>a0RhnR3@P1<<A1q?|MX(x94qq09;iY&2;lCj*3TYFb(D9{VQFVDZnS_3fUAi>N
zc<5Z#ZBq;3D0Z337vbvSsA-PmDYS-60udcgr$ve*A}3?C22lVBD<B+!Bn$R3!ep37
z4jXO#C{p8MBW0k2$c3}+mTdCcb-3<RB!rM-@6nPD$6RgCCLz?RBGOT4rG(=xvS}(0
zGQ70FBypi)5mAW5@g%|sY4r8wflg*kU0p_R`z>dZiO1l_XDYNwl_w<d!63gR$$f*;
z8H67N(kO?Ira>%+0g>eWSt4^_Z2`_Ji&#IG&H=NE{94i5UO<bslH*1RTE`zN;|0`j
zIaxrMtJTiV;>FTRGM7w*6X*`XUCYLUaZx~|G=UEUiOdD@WGNbogMcXrekYnnsT%3V
zAyQ}h&+vvz=j8CKHiehil>hIz(@A~cDA>POP#ro-t18^-)fMh^VU;`GRN+pSS7?4H
z8qOkzw?|gF(<9{Lbg{yno?hin&!a1l>@xZP7w&ZXDtG#NIQrnuuW+Z=t#YTY{R4M;
z8}fWd>G^4(0qF~;=*k2E-zs<dIb^zy(y0n}x_^~B9cbUmWmrbC=YNbvA1JfR>LQf{
zUb4FU&t;GgkzpFRZDT;x9R2+ag$?vHg(L_WEz*kaV&-f`7>p)z5t@*ar0{Px!1Txm
zyOFekEMy6Rd@gv4K;8$Zmi+BB>ecxDpVf!|bv*i-RavlAWWiC9g)OVHVE%(FEL3D6
zRFQ@GRap>LWr3t&kJ8bKEKID*!py2Hy!{7R;2-6WQL7vO=tn&IA2&-wz<Y_O@o}=i
zKl)LX?Em#N2`Z2L#1NSQ0i*z#Bq3Wz<N&pSZ_sGn7-9$<?kLUYi5O_p6)~V1$Y+=?
z7<9A&gP4G#)2p*2mMeQZ@42M~()ysZ1Gq=xV@bIheqSH#lGwxlQ+-h4V|7Y$9i0*%
zOIjb4@>oivh$^(BULP5UwJ(?PV|?UB@Z>wEFh@*oD;0I%ppknBkRqQ!%X-OUyioA{
z^fgqt-zpUF<Cm}f?8es-T{4*EC(3*Bxmt@F<JZ7-QA$P7zn=FPO-X7iTGqF0Nu{=I
z*}7%xw$h<N%FP@`twer4K}7@cQi*(k;?*L65+0^)p|l4+DXD&V2}Yh?S~^fc%ad1L
z>V<NSdYN`ozZfF3;N^d}NKFmTfe}Q81f13((z3j#s#b47FFSxN1_ORzvuwJ1Gnl00
zOL;1r&XvpLlqiN55xEjCriw-$yvoF>ZI~KpG|FW7VXCS&H9K8YvnWq-Y?9QZJitiN
zG8qn&^;9(}ti5X*QJNG4{AlS|*SvqrPGI)sK?N5`<&#Mda8e8}h+yCHRE0~a*@Y!I
ziKP;L_!j1(H?E9OH!%<$-F9+#PnC;|TspbP!b(0j4x-+vDN!{wH90XlmOS&z)2Qyr
z(ZYsylUwgDX0oJ_vI?0Dw6+t6nZXZi)bi*O#8IweDX`npv<Jm(KyE}7FREfn`tpSf
zK=}y*eqdwXfAIu$L6omiP-^tRGUOboLP|v354J;m8bs0PL@w)w5Lo{cRWE+05(n>p
zls`tTZqm%%y%K4b&cnDD?<HCKdnM9*kHn@Ql<4tci8S9Qk>-0PnL8=c%UV^5edGv|
zknn^Tf&hs8l2uKSBI&7fmyREwSYBS5o%MwYL-aICCppAETAG?=lp0+st*_yj7}Yuv
zfZUdXQ&*60eeeDEk0DMzKORABN#;qwJxa}<LEGdnPkTf<8GixH0k|Zl_upTTneDZK
zkjzkrRJKw!f9-wG8kYdqG%D2e-*wkr_uhBkq5b>!_tu)QE4|ZM1qaJmzZRML{<YK|
zQEaBUxeC*IAdH$)rp(JQyTYz2EKVtyaD`@lCaA&)3t_*3RCEnnzjlCnqw@GI^$s3C
zr+!EtmOt6q4v({G$BuQ#kFVML@K>=t1gHMHm~dHUl<&?$aF(x*MxwEBNvpu@ip|yO
z4}WFi#?HI~s`a;TRAYq2ngIfc(>3+)yZ`?C?>z#7!h7!7vvDJV(`+QPvIG4C>j~4u
zdeXk!%*ul#1CdW>P$ej!E>2l2YB2RhWpswn;swGnrOrZf_-4y3epR~(*HLM-leS%F
zbv2oU(NJRpj>m!^1A&Ug>L7U;Cpgx{W)1}4Fg+~TN*M-~vNEPjaQSpT2P&0P9w-kq
zs_6_Ki%CZ?(pr-dVG5EWRzPEH7QwBT84Ns%Br>fNG1{6sxO!qU$RJ6G$SDZb9&+d<
z3T47H*dR1ISpih%vz*N0sP|M`$&`gkXDEJ<n7R^GW6XvXS5b!40XkziJ!+*as|F>0
zBvL;_7xE-|qzMFQxk8!E0cQ;tAB>cqM$%yiYVC=MdHkX>@>>NA(z+=Wf(Tz{B5)K?
zok6=<4cKH0B|y%>sgf%4YE8lqP$n|^nEH`f^sE61Ahvu00n)<4B8W55w4X>Lp^sVt
zDKMcxNJK9N-~euWxu7Da3pxvO2|=S*MhH=)1!WPofh6#hLLQW<Yo=3pu1?LJ{}s01
z{N{J>yz|bb*(HQT!0Io;rue7F5R+aXqmJPk7Be*@xi9ERQ4cBcB841gnl;<AC5?&P
zS-UB|H17EUMgR5BD!$M2gZwcVfXep#;76<ea}sOueMx@ddA!pIYw^6qT0AeY7SBo6
zzAs9w#g`@4;(3X+XnORcjyB_?ntJSh5D#iohDB%wu|r9RDq>6q7eT%eG22o~*VIg)
zwn`NwkOBTYN79^4jV2*GKR+)gBT;H&`IK2t)(gEhiT0bcAXoZB5r_~zYmzf=lZxXN
zs%B7cIVm1wSq`NvQ}%QOfo8HJC0yfjmOwM97bcOb2mQr`WyjuqJjpzpz+}QGbW{vo
z{>nYOo3vq+aaEK9-#M2IwAD2rmr+-<yn^I|PHP582S^3y{sYY#)@`yVRmQ3VJNNG0
zM5zW~Va)PK(X**miE<QVq%7ykbU1Hvv;nTLW5<r3Mpt7)HDcbi1G_%?_@fU$^4X`K
zefpUlwT?BL_5n69Ks_aj>U;rk;7PJrT*4qlZ8nrFP&O#;T3544fzxa~bm)#dUD%P8
zI;_XLe0=L&9>cCG2qQ98CB3S|jwaUJ_Q~IK(p1O;m7hDb|Ii(MfaN~?=eGmy@E$cn
z4O5uMN-a}!AQW1leAM5wJGVUWSG%b1Q@<k*`p<FCrp5YlIhk1;x%eiy(7ydoON4SQ
zGP0DRH$MLO;}7jWvc}B0srz=pD*l}MDfKdU;J}@CY$y*>ukeldz$xv0gVgJuO>666
zb8z0(j=E~Q!Rl%zxOwD8dOEv$d)7dNyZW~sICSXFJCEFb<nFt-ba(Y^ybYJEn|cx#
zq*TgfP)u7vaynmhLml!ZN(I|v(izaZ0d+GpH8nP3ijQ7JHOV1S3D(%^k)y(nV{KHz
zzMGIvuYF-?AdA?YXlo!$p*<oNuRyC=R$0cF+9V8|f5E@JI5#~pvpk2POvBe_eQ}sA
z9~=j<R>y0jDKg@sL}|&ekz6TjHIi|~3s)~KrHgKpe|~Oe>Iwh><J8;~zNnZhu6Q=d
zz&P(m2Gch+$H>ds<sbq60SZ+m8~yixk3jY(uTM>kT)lAm^3=7fSLWaP^~KRJ{ya`N
zO>1k^)&(#~p}((at3t{qRfw;xHzIR?_4QY7L<(-x_|+@t&%E~58*jWvUHK3ODwi%y
zc{Z^s;!pvjWtFSYeXLWLao9i#W*MW)g=&LVrw6t~iFys1Y?aFT`YNpqqN5>*181s`
z)xc_#T4W}N&&W7=G?B#BS5#ZoGLH#{oR?dxtX3mM*oVO2nlIxt(YQ}Gxg6t|HCRWo
z&=zc12rWi4j3FomGN^Lqqv=>8Q!-j)nE*69g@KTS)<~{1L17&Z#-rs7*nb*Ty=0Y9
zrq;Mkg>*6=Q)zXE5|!5g^lMgfCC{b|nHr1@tQIWIV-^lc_h18I9qcmBHyH^m&Y{f)
zxuKaE@arWaLEMShEs4g$!tqL635@L_Qi8+|L*o#UYXrwy8K_M_!cc7mEnj&#kN3$-
zi6zgb<s8yuSoE=w@r*&949&ri03SRyzc4*ZhJnuvpZ?Wruf6g5Pk;8`fA;dZ1>e-w
zGe~uhQa^<l;}U5N4%m{G76s>S=Cr_=1Q7yEEzW@j0tYdB;>7#!qnf!8q)sH@<eKv{
z?|M)XAgx9;gC;y+n`N{dJOL(+8GO8}|5^V2BT;WzThrOn(*44%82CRkS6Eu_C46-x
z`r9g52ewMq0V(!aIz8hy$vUuEvJTWp)&VI-(p**LLenEB<Ip_O<}`6!E>T9WIl2rn
zVg%C_MT}vYnw^~vuGA~B^3gJ94J>$d8)gi*x9^CS3ZyVrZM|!Ai$W1!DisKGiE&{8
zA2o<o!=vxK_ujiB!-FOmVOrQUfV$_pyG&lEAgCT(*R#I2cis9vwYnLAt!-PkY}>lE
zZ}89|st37;l&Bc!TiepIwtsUZ37#Y%K(M_xlJcUKQ9VeVQ9t{+FMa+`{^(0zcGy4h
z`L7;C%Ho@tkZ}}0zd?PS`U*f~zd)cwswgOp@qh8<Pv3LTL%>@O(Gxy5U!vV)L-<C&
z?Dt~bZaUD{2Qvt|%9f_CJ^~FR|83l|YZtW_d&r9ldo=+4CY!xj@XDbPi;MH20x85e
z>9)fnrUy@il7x3Y>{}e3Ss-k}Q8Lsex(KHSLnKgdt%7?6OUZJx8R%dcV0ok_b8{K5
z^XAR>7J}iq`MJ5_;WtlTo}Z27eSQev;xNi9XjQ?*s8TCio10se>N9b;KxNXBi%QJd
zIGMOym|a|iI{CvPO#bovXQ#-~EiDDnd5A_U<R7Y{39ude<53G~7P@6BjCwoob%MP9
zcW2I@JAdxN`AZ9P*DqeUa^~{2OQ^k{d-q+;njJzuPZ9Fr!z;@nz0$2HmK;v_sEv(s
zuM_hYW`SM{5{9vS1}-nYg8U!Cp;u0sMezydDv8kmN|{HX;cV#jMm6ho#$u7zuad6E
ztCugvLf0>xKLZ5msZ$?b`rz%iVc;uYd-cZD+}zag)oQg@4j@fuXAd}&)u6?%*a)JC
zyebL4*UEpXB=a|wd$A;2MR>{w`D0L_%BGU|U2=)vrI7eta=i0@WR|a7qHl7EzDc7r
zY0iOt_X_o{cyzG*m-I_0PXCp7l<jvRqBzPRv>7A`IhM7N38ZYcweqXCnQFwV2lrCD
z$v^5rU2~Le*nnGml#L}p1$30XF-yIQ6ik_9Z;C#WdLdc2kIOd+kABoA`~Q@M<|P*A
ze`@ZL(pNG>b>t^wfyN)DyZ@M`DcZ6Z<vILYH(CcU)iMTP4L!O{m&m_`$w}k)I2nUX
zr(+}+<-bYG$lrjguly}SQqh&l-p)b(7;b81+ar;HT@ne9&MVrFcM^usy%LMNS91Ql
zC7$;liRZob(U0oY(vGY;lZh11&~_e)q!BF?A`z1*2Z%&2qC!ljig<=NAP6WK>w!@~
z6iHKyc88`In_HNTQsz2`2kk~WMDhBjriqCFmb&D`L{n4jjW^ziPM9$F!#qLJpjrh>
zJ=#ReZZogIn`!FohJIUa{)02`&rq$~`aLe_DZCcYq4o8xCsAx)A9jg2R^R7@HE{M3
zT6`Hx2!cES`0)ZKYP!)1Nt;mStCEE-U-q~VSHau_<MA(l`Ae8z^0hC2IUa8Wi(=!K
z2XTgjUnV4TJo-#Z=`;;2R2Fjt)n)4G?|yrjS@X=(pY0JwzVlsA{l<-$8)yJ=@R1{r
zedQ}(dE&?sIGreb_Z+z&koQj>f%t!&?1xfU)pc}<madL^n;!SyQf;laqP%9Qsz$hs
z+!AH{J)x*863OAxA_irc0$d!BiQy??OC*E<TMS|(AlV~!0;s8IL8B!2|M3N&jAjI#
z215j*p{U0N=Lh~0hQ-U}c|@d9xqN<}L$Q*V&ms{rBS!}j*-NPmXtrp93yg@kOxYIZ
zqpYshUS}xIPt18-DixWXf`NvJGvOuV;~-nf5l1l2!Q<xRxLZg>iNyH35!U0%iJFkX
zD3sE{P#{UE%|;IcETG$=A*3Iq7KNG;8lK@bQ7HizN}fXZ1r8*W0~-Q^3ytQEe5On-
zIGYVzbaG)TNh@469uv4^;G_^og~fl!4B^?30l+;V^O2aKa`AAom<UIVXd(gq5DP+u
zm@XfS%XNCng;N9M4Ld-(2&KkLSFZv`0M{sb72x0O+*PnKh+K&Q{7EKqXuB!r3!-MM
zZH<XdjE{{+X+vAvtt!|fgZwe5RAqZaqJNJ_^zUmD3;ZPBN%CZmOZ4w?iT*t<(Z5F|
z`uC{B0zWRXz_k*ON7|cAT7TQr0-zI`Y!Vj<Y#a&V&*h46(*d7g1t?roP3_zQ;3Y8+
zdRqmV0lu!-h#!WJs_di$9|)|L;1xEEG*X~2k3wj`-DcG<E!k{Q(pGD(VwY&zNXN5q
zBXJ!$T^%xF8@HT11JRoI$Vmm>h5V9;Ci;!8kLvBD7=QETYBAo>19Z9pC3;UoofRPo
zgPz#KhmY(5?6rGM6T<AKhE^;5VZ^oT>P>Ei%G$F9-?D+)hnpp+3lr!_;jUkw$fN9T
zCuMiEJlntyx>}MiP6A<BM4{dz>|T$vlmTkBmwFA4{{TmTn>^H?ec-NxhYsC!$Njzd
z{+-l6kcaR`d)LB-*m^%l7=?d89`y52<L`^OY6eH<-_g?2_|i*nq&}+3lal?-o2w=J
z+?y}G^kxo)d{0-44H~F|F2gc>;fr7V;^X)2-@I+>;0Caoty>2Sz@fwU+;`u7_ditE
zgv;29@Azx66ZLw8-i?^H)`(xOKUC+@PHk;%T`k=s%qRafR@%j?tqhVn?(P!O424)$
zrz4;XxM|D&IFn3<z!i+l9TXE|1#$D|CNv71EHJ7f*!EMo80PjN;*Nx(l@XnlIz1Y@
z@^<@b5kEt?v(dw-_jJ%0d64rb9gdSHS1{~wabzsOha<DmToEz=u~=M~1kB>x38$He
z7BwSwqJp3DO@q~dhPUm5N3&Y5udg?zySi43`H6+u*@Z+rS?}rA!c3S!Vy~{LsXVni
z%%JeHn{|Xu7AkD1CbQw1+rWBPEUJ*U!99^N$jlkVM*Kj+8@H}fyeF0YIH2&A%08z@
zR)<5qzf#gi_fmEB@NgyJLJIhq43m$Pu@({cvq-A@TE#qJik(6YQRLE;42+y2XSZ8q
zDB=sGh>yN*6!>+k1%92;Za3;s_V;uncL1Upfnh+QM7qR5-hlQ;w4Y+YE9hB5u@q^G
z%q3DWyh!{XjJ*e#oM(0S{Y>w(J3BiwJ6mUa(`qHHdfk=ehUFTHjSIrK5Fo}0A^8$Q
zqM2EX5EAl+z?<Yv;G=|40t5#zj*V?umMqJ%dS7ktWp;Y6@9!Ro__@CK^>uyE!fHG_
z^?B}d?sNX<oc~{p1ZeWvB5fsJQWbp(F34I@%|{#&NLxWKy{Pn;4A9V&xb5#>iEs(D
zbWt2V`m3Y3va2^{muF^)Dnq2Cuqa)hTjfR=ra`8<Zb(PH#FVK>zNWd^+uGdhE=0-z
zuPE!^xDiy)YFe)Ohl{n%&9%kw*bTqMY!u<BQiU{=Nue~836<4IP$V%Z{u<ZHa;vIR
z+?o)7eo%V^7gs)>m-)j(GJp7wGJklOM~V#ad6_?aUgi&dGJoim`9q(~ANpnfaI4H8
z$}_+{8=Aq41y1b2@2%O;H<HQZ@{RRCbr!&0gVPF!J7+SytRNt1X(qo@t8EA=v&PJh
zhF%GDZg=SV4bhCp9tTvtcE`XBdPE=s$mFrS8=A}lgH>yzH%`w$u*veL@mhe5^RqE*
zDHHead17d1f9F=Bnq9ZucH4)a_{e{TX)WEpnF3Y~v~?9dZi_w(S~PK9F?jp!LxYSW
zX*5m!9ZnXYvvcbQC25Oy_xKCHW;W*19J^vcdi0N;KF+uX57QZXh<mo}avAwVI`iC%
z|MV6MNKCRxMKNOj?%Q+I;023*!^BclsS<dL$~TZtzo=i^vu0g1$#+NTPKzi;rK1Bz
z$gR8Dxzt+q-rcz04Qu)bC=t{eOUno(*~3mT_H99rESFt5_r{mcrXvZjUTf4v$ac<O
z80KXh8wR_qW`k0+>1Qelvex!jVFJsme(Q^;r&PKcuosc1r9y+H$6QrUJ^t}ePcQTN
zv~~yMoaWa44}Jdgpa0^ZbXfB{wbfM?!+z*n{_2*Ke)i+P`v>$KZg&;VN`K(BjP>{6
zEgM?ZmSpteH-<`|FQ!#r4^1q3ZB}Q+ga8r$nUGrnYh(XsDJiNS_S98tz1G-Dr0p4w
zPj+emR4)7XY~C?=*WC|3{P4r~aB*(Gqq}$8)-7A>nrR_yYo?8~zOlV))4qNChK6pt
zhbwsBXP)`^$3G5x%%>TB_~^ZN?!sGpz4m#ue1yJ)q|$SODkx5r3f?YDV{04!s>wt4
zy?JwATU%#mw_xnpxUmbAO+<YTWt>@qSwH#RprUP~ch5Dz|K&*t@Q`93yK-)!m1)4_
z`~n^+mPx@b5s3*%Iwfi1qa!0@;~}9WIdx+~XcPw)XKqN+Rqt+xN3<qa8A=6}QagDy
z*sanMkO9o0B#BZw^HzACwBG5lp@~H40CohSXJf9=mkEUZdtN$w?(&V3zx?Gd-+uGW
zH-Gh$i$fWN-!5LdcJ117GM)&JEUt!x0+h<Kdi2%T-aJm9^5o>{qi<g#{-3yZ<~2$B
zwRd;>PDnvEHKVu<ZTPWYj@+e&xjWCa7rOvWNXtUHCK<K%?D7z-<zSOntDEroHT9LX
zv|l#*HM&AB$#}yS{#H=wRHvt>5xRj5GsO)2(n=z<vdnfdJ$7{w9<O}9e2OAyE8*vZ
zv5ZQZ^Li5VU~9`!YBktxV`mFP9>O}6Wg3sFYGl)DmFo23_$o#({veeEXd4Qql6<zb
zf6v6#k?Ex+;BK*T(jb~XapL&#g#~On8d{y5oSB%KxIrL(`juCfVbTqq7T5x18=9v^
zDFshSc-<=H(gGXg9JF1<qPerbzm+1j5Ou;1YMe!MfSE9veditK!vw&Lmj|qzou%Bw
z95Ta=)UyTABRpverzAiXQMyH=q9~@=a*TqpCx?;@GZjk$t6(^_3_NEFk`|c4u7SHR
zPYan?33`jI6}2q2w+s0vwb<M!l!_NC<zgX}xXL`8YE>R<WV}T*xoQ1|I=i`4OmVG?
zz5%6bXK`#|e5730E@t`2g?ubDP5J2Zg&F4Na`|^f1^Vjfh#2e)peF|0VYfyFg<L9L
z%xbju_H_q)brz$yE0@lh#IQiS_yiQ#A|vN#lBp~$uR5bHA<p1vw8Tbk^Vho7umqP6
znp?T0(~1m0#QkbFpPDao>lZi5{}cZd|EX+I+1xF}WY<CM5w@K2vFqS_m8zXGykO{{
z+QS0|#e;TwBs%{=C=V)*NJqpy61SD&_N2JI^Wb~^DccWfj&Rqcc;=3S@8!!o57O~;
z<mT(ixvbp>|GQFUG2i@V<!)@S0W&o=suvC$ZrWVwwb+{3BbscabkU6D@g8y;P1^Db
zpoDKSGF}AH2oA<&&@gaczi*$&IJ-O!45*<{@a#Ew@Zb)QgQPDc4e{h^2mIE&A^h3S
zYH4I7scU3FZLQ5X!jl65F{Ny)a)A1y;ABl<)9K27NK6{p15wCT>8XP<gsavTq@EsI
zPN)h6r1~De<UD^~loVUr`(Rdl>@%NfSf-jDXntxhSS3HoA!!#ckknPB6Oe->43@0)
z=%XFUlVAJV*DguB9_7u=aO>Iao`xnodiR<&^=KOEsv6c(Me;y+g2JsrQ!F46QKVcf
zG0<NGHebprtL%QJN~kDkk~)4bFr=!N;N!I#-Cn7FW@ZWJxUdq$2|!@DGL8S5SzhE@
z76lIHP9@T1&RnsKQ(`WxkR}!jrQ<q2(U~*oy^mcPo#pq%Kw#`N-NxreuVZxz>1CcA
z4n*_922s^s4na+%$cKp&ry?sAJlWw8l@~;-$XXchG}@_LR~g07mxk`)LnM|3rP^ns
zn}K&tBnnEg)U$<9!Y`r4r}8<&b2soMN3LC45-g01^B4IPY3USApvi=qsa!$uAjD;(
z3L~CAml~PnnHr7K=Y)R{bE8yD8>?Qg$cBkM(-5N^QWFr+P;L|6Ljm6*^nBDLHKjzH
z4@|c%u>_zlzG{MnAvij8@ewx2fPe>36wRpkz-kCsmD0pSRApy-v=rwj{ANbX@Qfuf
z7o$~pQE*fGl-V3z-N@Vcq{vsLkWZ@c`;=)({Xdk^<ibs5H#u9$PFcLTLl!R%$>PPG
z7?{YPcgW&Jxx&p3S-iMy@I8CnJ}9$CS-iM;@V(0Mw!#0lN2#8<C!A{vVbPV9dDLwL
z$$}!W$j-J1etF1U%4QG`<s=p|0-Tu3Dy#&7rV=qftJq376_~sRy712N<FiVfytH@*
zOzX6u^>P>DQNVd7`LmI5K{|OdrmUkh=`1dv^w(1c5^hpoi}`^Eo64w!v8Bva;^GRR
z>aE5C3L2|Lg9MICBPhK>Dto`*dHVEO!h;ptHWYB4eDX>61aCO*y8Atzl8wB#xv@zv
zCT6n6rUtY0%rgVVtAt25v^~%G>)YCDiR+p++)i)Eef#ze&`iE{<Hi99zc&Eh)<WXw
zXy~H2(FI|RBI~GjH;A0GrJ<(W0#b2PV%J++WC@uqAUh@t3O8)_xC|>HjurWvT81yw
ztaAz|WE7Ix0^5t2;fL1B;`i1T2tS|%1xczys!huvwyv_FyQilScvz!F0ybM-eLB6Q
zt*ciQA^=Zubie)eMB#)7>9~-!=8`4FwncEs--EPqB5$3~0Z7>(HOYx-%$!1xrBNPT
z^(&#eMA$wlSS^E$t(Wk-QaX&+6O+HR62WebETNL}h-rR4tq`o;Moo6!Uyo6Xf}mjI
z6qBHNbkGgzVk#Vgoh0L>7XSz2w<-9i#C&MFpf;PiX1SQZp8X7?)aO>%;_1vw7$L<p
zXBIA9x;RG%Vr?j2_64{Y%sU?%8x3Sl%`L5#Qgqx;W&z`<!UTJX$;6<Q*2=$DEjlH@
zW^{FBhiwIk#l?P#3lt_P>7o6A%NLB<ZB}z?l@^P+iGQ2Seq~mw;p`Oi<TO581}+ID
z@mG~3wt%2irKUGlpzMziYL8%e<>QkwD}7XErJt5r>Ek?7WOa|ptn}lutnP7{m3~xa
zrH{+3^l_P$z8|MhU!NerZHj3*ndXOn=dOL7{AZ&FBBpHCwPR>-qlN`A$Fy)Z3ve6t
z_NL>(l|){vU5y)n5vr;yS)u6F=z$XkXnb1J=7>x#OwTL@U~%=EK6)36efOLh(|7Fy
zC;B(wpf8#4#TIw&5$!nfwVxlty&bYXV|eGCcTS3gJO&6c>+KCM-ng=yHk+<5*j!zm
zZCy>Zjl|)G%Esowr=ENI(TDEnnL2X%*zxmM$LGTS-dBz?26Aa+i4~ZPhDO68Zn|=r
zYP!p1GV3qR(egFqF$uPL128(;sv0JCt1QI=6MO~46#xXh)tRN~%O_5rI&$Q#S#{%{
zEp63yiz4SADt)r_M~%-v|NOUp@-D&a^7P2hM}Gp##J_&0do2lwyUzBl<M;1nET13U
z9qtXy&CPbLzX4fYvszo#S)b3CK-?9P<&`LlDtzYE@AwXXWvKKArO&Aj9X0HugIN2g
z_xJTSD&zh>h;!*{QHx#x8?8gua<hZ7v5CN>uFkDAc9250)p@u?wJxa>9$I_=!JD2u
z5PSjjTFgp&VatsMh~j5v=3`20gWE<{iU=xUT%RHt^|}^7=wquj4B%%||NfsxkIu3&
z1_KD0R?Q!M_1%jMZt1HiGa&E>2a>nfV6jyjRjEXUB^84oClJL{sn%yx>D94oqqFmY
znAN4TR@umS41Uu&0``Tm9*HXv9x8pR^m)Vo_#da)&&NmeC12HrzyHd2Us&YpwIVa1
zRu>bH1NBxqn_8>1kzj)>x;%PgYHTscNC>m*p~#IlUVQD{vo{vqy_NN?o;oB}{e6w_
z9931Pc(z)%eM^5|E#VGYVj{M$=;-Nb7A>BuAo#c`6-Az2m;j@YhpA#Ijn0DqFdC2)
zQz~Ixa5T5KG&Z=b3BFVy97S5wuWfFiDv;IrTg=RMGeODpBoi>W*A;-Q^c>^eiKPH}
z3{@C9FSOVR#U;f27Umad<zw5)L%SogC}{o_S*fHZ)mjKcj@Kv3|2DHp@I-)j7#VHi
zun78glE|W2pCr6U6-2iR>=H_EuSh3Kc-uV5l*qO~=tc0Z)EUeS0s_7vF&m7K`=QY5
z@7uf{5U-`tj?+dRq`}h2lJT@eh0-t*H!Y4?fUJd75Q~F(LhY?qL%&)qW};L=^1vSw
z9PJtf1m3oqmcHKZ4IBELg~c<MXTs<usQo_?x^a@?`;y}MpMYNcN7<v@H>f>=lPVt%
z$~@YGGLQC<%%eTXBe&qu9+Y{s2W1}ZewjzRSLV?klzFrVWge|p7I&<X#U1V2w@|fm
zJIP%Nj=@gWVLCf<4S#^}9w}x?(S*CVyZnb*Z?YL`s?-Jv)(SFPm@%~mi=&#FapJe6
zhNjQ`-Xo7ZvY}U8sO~}OP|ZD@(s1k-KmXa!e)jV9Ul1S^6ua1(+t-R$EOQ$gT6I+=
zhgA){L{;BpbN6&A6{h9iQXF=kA0g4ZHZf0>qG=Mg7>%@dLETg5?7}f_Z*67?x*d!e
zwBI5+R8^R(UCe&tr3gD#=0>hupD0z-{<i{c?LVSj^4%Z2c!J=?e49{moSJyxA?8DO
ztVfAf#E-aG{k?Y*B5hrZOlJEn+CyD)-I|T9*~DtJ0Au5YV?X)sk6$XbY`bk}!%aon
z&h|A7l{LDBhJE`W+PNHeegKqxNKmD(-@5w)jK{)(_=wj72O=|K3WKL{&9)tzw*aH<
z-o1TbT~}*!W3#8hX42ebLbO+v;Q`jM&=L{9l^SIg*vSeJfb|Z>qD4zwDx3Fdl<AVY
z*6mY<GHHM3#Y?!5XjHIUEWb2?RhkWTqQ9ipTt|i$PF}}&=4YwmwL_oCz;!7XNJp}f
z46{k#i^S`NWJ+I3svXW-EQ*~!`#HG!+=7*GX~cJo3s`LvXwt@Yt_@s@#qe*)^)8-f
zaHSnGMLW~9>CyOnaxO+!D43!G3@8vZmqPmP?pvISo$%q;)>c}m)D$xdwJet$ME`7_
zOEK}gR1&?-db1GhZYeV>DymeG<tSNXu>@v=N`lp_py~L(2^P!Jn(4)`uYT@FIli*R
zLSz;WC!;YS)T8qwAX`^2iD=k*lV-8X!19}iu^m+guf<U1Y-~}Of6KMlX#wyyTg_q)
zxDca@heN2CGUhL+TEYoI517snbtz$7^m?EPNeLBP0a|mF2+Vl8N%S$Z#R%pWe`hNI
zcXOLZ(6?qL@T`nA%+GMvR>RYvr5C3rxhBhkL$y7(1ZbmCq*s!mU>vm(J+4e&UDMp!
z+yK?;QZND2Mm#5KTpV;B`xMF1zY!5GwTSY4v=<%Lln@F|B>qOJSF66F!`l-SmP|h7
z;(sXqntnqV@v&bHshY<Y^$I-l-_Y=-|4O+Vzkg7B1P4?;`eoj#M}}JLmU*jw9x39l
zUYWP*mwBsxnYWV9mh{WKRlm$zX=UCDfw-$zM@J(wEQ{&sj0iE~0hn!&qOn0r779VE
z!S9#?T6y@OUHSaae)j8MPo02K<oK~jitoC3?bpASe#66e?IN9Bi3C{@^Gd5gD~16=
z${WSam9I1>*6e6lw`b2_WtC$`=OM!xc8JV0N!T^7YH{(2Cx#@y<W~%SdOsZB;^(iW
zuWH*mF#F#A@}CY#ALf1j?(gWyiM;yq3qSeEPk;K8AOG-&KOA=1Y>3pZZ(TzWv|&KB
z`!qIs)~^Sk@Y$A@#4<x7majo<!690pTw)T|rP0*a!}Kp2(gD!LHPb;F&JN?VghB*p
z=1S35SYuTErAx2hxDjHzdI4tEXobL-#ogX6RPk(6Q{;-yx+eI`yGXq`gm4^sPm53r
za|GB$iQHo-{J?l%tF9J1Urr?S3?+$vz+rF2+}y-OCW>R3oG7m{uZr^2oY$vsY~*|f
z0CRnsqF|}X54%*VI67(RC@&ofiauciAjn}7ytdWKvz0VuimPQ3y`sZ>^0Be==a)tR
zcFvv=!Ya{7==^zD?R+-$@Nzj#ja#@cB5#i2fBG9t?91hK+CHc~!qO`r?Xq>+BwME~
z2j4^2nmsqyX`5`F%Jp(uW$UzAwyU-rd@q}Cm#tIt!S}Lx01ibK3d{5g%Vl<UWJFM%
zBkshh<T~l01VpS!JSdjDawU8fko&}mU;a`6LY8cnt%wCtk-c%lZXY)2Nv3EZAoS65
z30l@{YuQ$JNH-Bkyfa(4C>af9>{3a$gGy+6)qLR2FW&jZU5E59UR+%K^3m+S@Ce?9
z8k%?oRMpyd?BCr#)c=sq(ztdlPPf|2^0JBL1rme?gV|irVGC7NPA5uyhv3-Z1N$^8
z6joHKVH>_rmvuUGR*G4zt=-)MNwV05<{j5sZEJ4kK|X7aI%Y0LG`qUGuppQc=;&v6
zV#83wY^~Mukdml8X86Q~f=H4Gl9E1wM{DUqt*jg_e=m%&{Hgg|338J}D04_}(rIlr
zqsl6YVnG^i$+2sA^99mZfe~361@R(5OsiX~?dTX*Bj})l3}1q;@20A;V^DiUx^*~Y
ztHdFTy=r9M%)w)YH*?5Vi9_bi9I{p7kgXDj%$qr6tHiK4nVWy<$oF5CzU@6k!=6_W
zjSd?cyNj_O{L6{+(p%i=@pu(8GsA|+_2_KRVCNPB{X>e$Nfa1sht(55ntJoGLFuci
z5C4e(B^58f>{V>rHf*R+R~Whny85Zo9pWXCcQgyf0q=CcYpCxvwCr4a-)8Ay{+P*l
zN!^DHfuNyg=MGP$kjXAT!)hHitlz7uD6Xz)f(W3@vaf(S&ERU55*IGP!cMDC`6I_-
z!v?iUZHNbvlLyvQ7z}7uriTsYCX;jG%+zJE+!Zx7UPT}<d^3xGbWnRlx^;Y1cHZS#
z{4=ui{@X16aoKr)Tz1|cm7VuTW#|3<viKI6b;@hApv6#s-u1v^b@gIi$W!C2s&H1B
zEkZ<zL8EP3*Rj&K-?8`Zd+xaX026rLu3$L3Oy3dBw$*|qzM;_|O0Q<CUWGVjF&qm_
z0<3_^LA=n^M_F{so(I;pb%7$c*1H|m?X?<p5!`rm{A|1^y72XGOI?G>+U)ms-I$DB
zns+)=ips8j5zg+YGLWjd>MOMRiHY3A{MFZK&;_we5BIfNvA0w#oGzz0YB)$WnXJA>
zOi}F|+`n^RBV{jy*!$OSALyj_&)cQ7neu3{Kyw_N#cxkc7@;h~3QHQR%LR9BRUKBd
zwoj=TuD!=Y<i9#Q8X}Sr3cxT<M50xj|MbuP?9cW|&(rq%57MyVxzEu?@~Nkv{@u?|
zdQ|<vhiL;Q@3OYL)6=I<YZWWk-}p5XoG-Z?xUyonXlfc5$SP|(cRu~}(@#CAQIdCU
z5%g9q&7PW;7O?>~LA6;^)6~9|P<z*|?Ry#O<e+7F_u%gB@VoS8GKoSy4ycTpb55{0
zCz3|Nf=!retAfBON%F^6s;Hok|7OMxKV#pIe@?;r*FXRM!t6MHVq$J_H5>>>0w8RY
z%d7EU{Q7mKUtavt&%XcN@BirEq<{DJs?~O@)(!uwUR{XC*nVj=CLGOCj*}pA&{mmk
zb)?O<DuYh#?>qM{jSXi`zH(!76u5O_W?>~T6G%mu*>6?kE%QN2dE;kCPQP;nq9mXh
zt+ut++}E7Xo7K7HMX`U52ZcU+B$O^@TrOja!?S@Ff#w#QMeFZ7KT6SHZe|`aBQAv4
zm6Zl{Iw{)d$7d#9ed`3k5AS~J)X}%jvUhm9Vu@Td1<4$EW(6P8Zr6%LL1$1a(KRn3
z47)5g_*Ix4`_u-afE}Cr%pyavRglzXBn1&GJ5*wIUgOlVGZ%8a4$3@u2ya(@MR)JU
zY7#t)-ARJn)L4#$6%~Mi+3d!~`1}&E{o)d;j(t>0bviB$J*8NNm<t2+FJ(gHYr)lE
ziZL=WOKJoN{6IwE?d88>2@%Uh<JmGDg<72<v0?5k8-aumxq(C+Bz&1nC*|*p3JJt&
zmmB$ZcB2v+w0X6ruyURZ_1wGfPS4K~NG~j*88W*VB7*5<e063qMI+waB5)+TS!G2i
z!dXaWV$;Z5CSt+GDe4@jPBHT2udr%w&UcnKO@qc@EtmHGySP{UY8eZH1@@4@Cf`q!
zK;8lSsLZSF!vl)l<TjaCyG`cR<eCKgWnOKcY&Y2_+fC};$E!7O?8BM$blF<_``YTQ
zp8hVISudrXR8k?BGZ@XFQ-|u+I-}jwX3uLawaw0wNfd}&?#gm;u2_1$`KgCK^q~(u
zaF1u-BM;rasdo1x_cl8#iou?NHYaUe6;)2Df!EMiRCnyTvpsF99oW03=;+wBYghmJ
zW)X8#=Zeoan<{DBYib$n^0c(IZ)%`>vd!tNnH|$@8lo=v_+!$Cp!Q3yj{M^PeRJi)
z>0@-{O<X+j_KBB%{q{w0Z`R|m*4eUY$Bw;sLF8=v$o@O;z5jE2B-@?$qQ`mU1<U8e
z*w@AK&spizp+PZ6q+Gf3?|VxhDs?kCe&L_LI#l{X>5sH8*<Sjl&+i*5eZ2HB#qc+M
zs)*L0g+{-!S~R_O)VXThZjaMob|HLb&!tTsffo)8NVoIxa;f0hrP<WVBHgI!NI+Dl
zkduSxgs4jFvCWDb=e^A*PrrNW)af&$=TE$S{`$<-bC>6qU<ZqaR^~!LUn623`%nW;
zn;ab~CuJ(kXnF?sP=ta{#M?OX;pXrB=!ZY}!H@s__zU0u&d*;z_wvtPym(_VrCyjG
zy|e&j*|9gIS9uZI55g;fT%}17oMs#(%65}V7NE8)MQAb}ZiY{d$VrL-6Bg6RH7laQ
z!2BfSuEANXXf-HC2b?Mm<Z?CU0x_Y}TG9$>N+!xEo9V=*kLR#aGF)8&Tr{m?1Wbxt
ze|u&*mP?A<`78p_hn)7Tq%xR{sc;q{vQ)vs@^M@8)GLx|b>(m~T8enKR46IT9jcfT
zoQL_W(OilJIfV=J*rwNkJdLxiO3S>H%~&v6*mNC^N{bJLFw&Cdd>TT@)#VFwNB}L4
zuBwYGlz5|c9%=Lf+8D3=MhuKP^c77z53H+f>+WAyo2hN>>+3@{sTJ)+ESES^p<uUB
z>J>_(@Obrg;(v{YP)00Yxxv9(wfQZB+9Mce`PeFpPqxeA!u>K!-p(UMEpWTclI69)
z?Xvhpu3WH9X36sDq4#B2H@7ta7Bn^4YCGB*YAmkyCUd13O%#RSt)gu&m9bP9BZ<7Z
z+LkHmYur?FQ>!VzyXMaAd-v|$v%7iV?mM=vtL^*1E?1LFa4jhPZtd)iv0&8QXrEq6
zySiE;xyp4Lkm3xE1pReGR-|QJ?z#@U7@W2h<KcqQ@c`Z92c-R8ccHbO9@(iY=eWdD
zZq;5}xOiHlv^F~w{z2()?M*Fx0|Q%jez127;YUYqek|+k-!J__I#vGp5%&2HUU&B1
zJ?-|`EC2e9WrLxVyxhAz^DkdDYCLzYRr%{~Te}u5pMj0r)-kxWp}(WW)3Ii~;C20g
z^r+Wes<f~xM^~3~VpmDQ!o9MnWJJtRCLymIV$$;~-n!}Qlc1F&BXiRiuZ&HHRwm||
z8WQXX%kUPsAw0Hd4f%q)%BYI3CKT)~$&yhkS@r(9(=WgEn^#_W_0{w5{O7OVJT*OX
z?854#sMlW`rF+z!H&naK73s7F#_GVtiaH%b7m_-MyTV@=EQ<1jnD;9p5fDn0va4a#
z#^&Z0sMorcsaPVL(;KzPbU|k^<%+OQBRrgqXZ>|AUmeFi&}lM1HM<g82p20<)7PhH
zTz*-4g>M{17PiTWCIPb9YH49*)#^?ssv97quY-O-SQhO`?5OE%iLQiPdI4v!L?%?D
zNTzcIr5@BuTyqWL5|#=w@?>_n?qnp4SkU6a`066@MX0DT6yt$c$w7}uC-|_l%dw26
zrny5eptXv~in6V{P>j!q%VZXHBm^R3tWzv6V>yCT`S%93M=*x+@tn+ZJ|(l9zmi$b
zGdxo4fuE6C&U3Oo@L8GVJR{o!KP9uAXJmVzygs)%Sz*yaw54#?I~`S4W<HIIoJ8(w
zCz6YXwRkxJsYKC)aR9HR6c&{z)hscu7+wbarI)KfKY~wLa;SWi$i3R^D)&XXp$>8*
zob>{I`vk71^lw&dSl8arxnu2<fAZ|7pZuKz2X<`hsH$nB-;mRq%Jx7>48Uiq-356X
zZAM*vLv8g=BjB`4H*rz8^JB*{jg3Mty4Wpn7^teXu@RcxX5wD0Zj2ifaj!nG#GiOS
zwSTkL;Og19eaF^LXGNt=i;v7@aMGXxbV&|)96X4Q^zD7k?9S}mdp2*~va!n!Xl+*R
z*<Nn`+sxds#V5uUe4He&wgFeUt<&Sxwul=&EndY$?s+_m+Ts{^>~lk4-@~>qeq>#9
zYllUvEyN>%WuXvvOI}p-+#UU7=KF4TrAuD*C+@;g?YlWnE&a9jkH7FIpL@86&ZB?z
zO6no-F>kdXjrij~zPF{Np6^6E9luR3uXgaszxa#4_{i;E?SZGb@z?>c`Xw<o;DZEX
zv%A*Qy>{LDbzP!#=cX&kZWq;{GWSYfn+K?Zd|_RWD8&+b3;=4a?P`?n@tPG4b)XU)
zl{%f4@679gn0vJr+NW!)tX^$pH8<=e;F02Av7$GNOnI}O05!Za7n~TMTUZLmBB`_j
zJrmM2o?p_%sA3X`D-{WLFpMr0o>>j281P_@y{G|sATnhXIOSKY<asw0RW2=esR~|g
zl->!eI`383%|7wHi~h~|bEn=t^X3b$e&Z|u@V~zOi{HF*`rK5Uo|_vtc;!gyJb8<7
zJ(pjBB9~n1^&>w$!L+pWhS!BH^U>MNU|SUYp^6(q22ri^YD;2dSkK!nqr6dXg#51A
zDLy#>ufN7rTjzGwb++%i^S1p%NHKM`H)0PQzFM8Bfq0RVRoAwGbeMsFp0@5fXLW_N
z!Rt~cM7S)zy3r^;ddVVQ5IPxcPK4#jyjQCfBhv}Ak?BV%A#6<1|LV*l0e?J!9I~Ox
zWK~Nlm&Ks<HIVeA^Malpb1SOpS}?Gr(vaS#1LM$2nDbLJ_%LjZ3<g7V)|z~h*{@ED
z(u`l7;-5vIVnsuUKu+OrWL!QDSQ<`H{u8}WXo`ZCabVt&RMuC`2MfnUFC}ji6w?EV
z9R9JQ6by-y07U`(w)o6qZ=_vTn-)W*iIi8%40SjhPkPmYG+FVb&ACi);_8L-7pF)`
zV!2|0T80k$E_2;nTL|%Nvh#~$^JGx3zWVB!E0-@{or(hJn2TpFTrMB83|!+{n7CHt
z(_ABwGfpjfwR2-4d7J~_QU4X@_a#a3!|zFozyCkH>t|)&^;wyB{S%pY{exTH^|LbX
z`dOKG{fx}Jen#e9pOtyn=VacsLzZD|zA-m;?&LccFU<+z#dw0~H9_H)RGg~C$k-g;
zoMx>nWAps=?Af#DFP$PizCtswS+zhLlQ^PkH8G~zr1!CgunJM%32-hlqFW|j@G4Zq
zkK%m$H~;d)OW*q2zx&?zPfpFu%+4=PO-w9JEi3|^eCIpg`OlZc{Qoz<`OP1{^bRWm
zv7>K)|LfoQhkyDpW124QnNzehaLh7g#bwbu5Xq$);?>T+OCjJ|*sG0<abpo@u0cSX
zcT@Q{x2r1G-?npIuMMj5WH1<j&s+$ltgPVA+p9DzCo+Q8Y8_t^U%8=g<3}Fbu?F)n
z$E-r_4=5iLUG0O32I2Q23rSheGpq49`Z{j7bYA_E=#^*L=KQMr)h(YILLt=G^Sh6?
zBI><}GVjRQGw+@{&4~jexv$+oKKtBr&mHKt@&&)}g)e;O<G;TbKAuyEK0S^?jceAk
z?-QT+1amwan1JN_EiVf)`n=ew_Rv|r#^lvjq5Aa9h6=C#G$V6j@+a=!wBFOTZQtGx
z9Jv2?9(?fr{d=}<Si7dVzM2vgO`B`i;6D2iTEF+c2Vm#nwLf-%iKN||aN^H<H%<pd
z0fjd~GeW=v3caA>GT1k6WH+S>=-Rlk#>ow*d*eoJjy;fLULY|yU29!!BROD`hw4Wq
z8s!cY>Kx*xkQl9R6wP03AD#w5*UgRQrp|hIO9P_thnx<0cf=qJr7O`}QA&#*GKCUf
zE(B4n_`S0HHJyJtl^FWt7~Z^L{nnw|@7%eorwL@Ku>m52#tu-6M$v7$Y3n+Y6(~1$
zZeGI;?%BQbu5B9!w@Urq0YyhMn+Z^K1%ydltzs<BZ=6lZ)y%!MBw7YhX91N#l9Bh~
zj0|s{4=hYvADNs&7!89+B?JM4(2h^x@8%W)*vL5JP7C7Cz&8_9O!AG-5FEOcqR~Jc
zNMi}Vs?wHgG8jiHgxigk-7GiKMKASEu{%4CU0)~|DqWQu*LQWUf%2)cqFP;2_!@AU
znVf|yz}uQC8>mEqkvp6nW<%<#Wb~Rdq7$9j@p(GFv_7S&P3u!snY~)8mit!qUahUj
zjb)Wrahw>3ugoTuDCHt6!DuX}q@zZo(W;?@5cKI93NvvwJ&i{A(6ZhLH=?n~+zdj`
zF|R>Y5PfO5h_n|Tb$qhI*C;NVBxp%;R4r(sp!KdutC*-%^3AdNIVmx6>cYrG+-No%
zZIw1by9C%~vk@TA#EUEgtYRT17*%NmxG{eHl@~8eNF!c@A-Tvy*e_Q>s(2SYvJ|3j
zLZYz3jv57k%8DByQU}IMvts%{E##II3M~&cg8ESWgT|U2gdcGf6?|}UzRP}Ct^>PA
z=7;4vuy@M*@a|iFSgr%RN9Kp+I<Rtf3AwV}ZkZo848B)gYTCSc4V@0e02YlRu}qk*
zOpt2p?F|skI2@v@&W$z-V_G^<?Nu6@#Hf)@nPd-NT|C@$@4Y+vJ)N{6ROO>rkFJDM
ziAnyVuI|`z@4aZH>UnxKSZs~WVqqnztM+WeyIIw%bb?$zd$>v1LS76+R5f(>_ios{
zZtePg`}S?DftE;l=ba2h9@0&VJ$xxr@>vzy8$#Y>CY9$Sxa^1Fzhk^sO#E~Xe)O4-
zJ^RO>diwYFB9P3F=5w2S=<XeozAb&5RPkH9&TB`Af=^Erd{&k9r~mq+AN}a{m6Y(l
zy@#7bhk7;Wjia%(tGByv?V8>-IOx9SMuNmGTciU#J1RJ86B+R-RIn&Omy$1XR*VKA
z@!KTgy{3~VFHS5jvg(5|+RoyUP(;+|mgmPWo;-Qwihw!XjNj7mBUEM7g#_4fB%+W+
z2a=`gaMQ~#pSn6HBzG5+*@`wsNfKI~4$s5eFTZ^4nsl9~=i`Jn`CNiPA-8&6P~s~j
zga&KeEr)5R(P+yZ(8_ddX(kGrOBhFyBiA#TqEVsO;?@aWBoxLt-3qM(l{@gcEQS*c
z9YzSxgrc6$84oTlEI}F+TgBPLQ$?c<y=T#Riif5TT2lM0N_D-cn%b1hT$q)};ij9B
z5;l^hZ#533S4<RWBN_N$N-Ha(exoHcGZ=K5VGI3u>>qli5U|bU4mV-0qBTURj4n-%
zPF%Y(GCD$!)YVn2xp?9PRGo)(H7+7^L})1V<r+XQnp`?)%LAdvVK49bb%LDl+{_*a
z2en5qmGU9iSC->0a@LmHc%;Z4_sQa$eKNZml*Ko4++~+6zLD!I%N2P%R6u&$8bvdT
zqsov=8co(JEs>+KS`<f2CSh2NzE}CGX<ozNN;<cb@L8W1!Ash9*mL*Y2kzXleg~G-
zQD+ED8ZC}GE$gMCv4_qd5EBY{O6vZ;YDSQ_zf>`>h8FgU^f=K-q~)-O0NhpYX(V0k
z-nw(wru}<wzvKRg9(w5heFOaEvBxOi9ad_KIiFQiF?Nkrw_L1c!>%kGHjxBv+I7c1
zHt|Qkcz{Xazmz^tbn!LmpW(N90sbrT^Mdqs)pI;>NIEN>#lVhx{e&zfYhEN<rsiM#
zkihC}eg`o_YxZyx+<Xt*vwtI(ZsY#_`*t3<`<{F5V57YI{`>jM=RQYB0F^-f%}AiC
zwhgP?eMfI6#ft`a9Vf*`UM9d%k1#V2Rg&{pZ(J8umx=jUc6MgshQJ~LYWU087y>Vc
z>K7J-d;kJy98!wW)Jz7jhHYO-@-^)F)vtc_UvHi~0#1Jh5qI^C>*r2g=d_<ad4j)O
zzKm+kq54agrg#OV9*SwJ6q*waVg<dOOh_{=UV^a0W-*Cif;x0ORFvT8<6V>*p%+QN
zS%J#~2<oe*+`?s-G&bQxv3e{cZ#t}PYVvfrtXf}{N=gP6GPuAnn|e%H#YuYpkg}!4
z27F4xwpD9xZX`lr_6^Sx&mH#gLE^MY@}g8g!f?evk;R|p1>-|(auRq+h>akSrSe(x
zNhI9OW*t6(kFPxJp`I}{Iy%kvI(p{pg|W9zym90=FLS(kjz9e5CxpDd8i5dGSR2J+
zY8i?_CYn`CY=|k<VUn?LeM3@w<&daXykF<xeX?xg3E3`o-z{sqPiAd${j2+A)+X;f
zykBN*_sMoKhb)_rS7AF__tQBy(CVz@o0}Wj8nx+kZ7rkF)%6C}$%?YBwX3<eixF#^
zKDA0fOsF$C)$HKvrJ*#Py3W?FY#4>iAFrhMOZ$dkDmv71@IFS5DskNEu5IhpOH2Lz
zOG|~iuEJ{^vF=?T*!AE6zpZlhIyFGRm?KAry78>xoWJ6Y7g$v4?JtdDALNo1{?2y9
zmYfX@wK@X0guSb8>y8~|+-2A9y`V2Ux?MHZY(&!iUYo(ybrWo<SFUxi=|mEKeP;(V
zMFX2ODqv}(XZ)29&cu7x4GnIC#b9x<=b@**aI=}{JvQ1eL9_HV(O@KgbdL;d>f3kE
zLm1r)UYldX!#9DHUFxU$*;^+U{S_bnARy`Qf1Wr7Q#P4g{>~n|tEH9q72<o<Eo;`&
zp;uka4!LPFV-*`Wu4!v)?d)DdVb!KKR^eVaEDDF9(}!4BU&dHmHA?hOIHMX7#dj)P
z7H{W;*I$48?3<US;TTIM$If0_N+uT<lgYsK^D`prj*MMCf90K15S`hQD*a7Fq^9x0
zoVctSzrL)m8otzOqk4kUnP2~(U;W$f{Kvn%c4gIHd*Q!cn@XogM$+l|cV3$&P;X3~
zd-WHu{M(O+?`%Px4THjx*KB^_0$<2s@K<zf!qLwCYIhUg8OsX#I~6rfquP**h)r&m
zKIrA?Y4m%h7emo<g>N#RR~CU$C%raJMqoJ{D*=avC)1T@S`mDg3i~2DA3zvtf9Lh3
zRTwI#rx(Nng7XVkPo7*}K6!E^Fg;0I&&YKV<xGx?@KYHU{BArn&*VIxyrIUgC~~p$
z2@Qi%oI$0(GmUG=Q%V*>vf4s2$x_p5*~mdJxEW26++;IJunAi+BN_uZQl+RMU(u-i
z6=KvCA-|$9bUt6f-?><6NXAz~krK|%nw*=ue)X!=N{Dv((s_Pgog?%KF3$l#*br|j
z;}7f?qahw_HefOs(ag20w5|)HhBO3%LRd~~gwKxFZT?5s^3AK>K$%bY4)37$2=1VK
z_+%0ApUZs5VVUpn@<>r3@yUFLPqtJ0WWM8zG9<z)^Bq2!@7O5w9dfpjJ=IRaV8VHo
zxrXhB&BtO8S`o1RSsXPDjd`?}#1$}@O|=f2K~qe`4Ao?VR-*{@Xs`4hYEO|DtpsK{
zC9%A|)>FfNU^a;vtaLO*b^=eamdoR_Gwn_|retzWYpTFvtU6{7_H^~S4a!_rudV67
z<BmHvb#}RJ6=K-mUQye<e*2Des!$X{_f;;}#_m?TA-6PV>%8;8j)rPMGL{29JhU@N
zS?$Wzw{b)Zsme`*B0a5fR<i8Ev#X2^DJyNJbV|s>WYtFYFO{^oXmK`CBdN2f7X5p2
zC8L9$1P5ZZTurF=94<Xi)>={Za8z2iGffUF(WW)^jV-N>we^jy?e1!AuB0_N@Jmh7
z8ia7*si>}R?E(gr!qe{_zd$It98Ke|40^Rd`otC%@@W}U;zP%M`pC>A4_S$3h8q(_
zXMb;JSO3QKl=4$LmuKxj6|2?K)PsgkyN3pmra%9}pZ-5Ij6AVx-`)4@+p%l^y$@{Z
zvm}cZ?sWhS`=uvn-D(C!*?sRrPdxF2H1_&e2TNb{{4XXr&rXMgOLN#M<R#{3W@hJZ
za25jBFAxaK`}7m9zs!R!OooS92A=MozIB^->>?Z4w|C#*){R{_jP8ML`<Mv5>#;{3
z{>VqsCAoLct{qzk`quPxc5d3XbLY0Q*h>Ef>9gKLy`l>0aFTJ_D})1N6;#%>t>MHC
ztRLX_y6(=_8hg1j0x=?3OW0?dnmL1Qtt}ouz0w;jO2*iHdsbJ#Ba21o>SjpxXP0O?
zN#JXOk!WCcnuvkm4?HQf!bs=Te3;s(GCV(WV>%oY@J2?|XLkx=Qj3v*MHKGi5s}|z
z(;1er)&wUJ17X<$^9sUb%cy};GMUIx@EPfXWb*GBzcCk#Ge#9+B>w2pvsW)q&IkD@
zlZ#8^=iWJXY-M$EQLOeG<6}qPy*RUyRO{w0zWUm`GfR1#c$pG!rvX3at`-9{4r_5?
zYFR9Rh+qgc*-dPU=zQhqTNZ|;7JWi0gcY-yC_XTfm8$)F0)d68$?-9IF@o$A6s#9!
zXE+B-Xv{J05gi>J8=oK?oSR<=qf$IIcJ=b?N-7;)nj6J=jp3sYtrdArl;U+DkS=Jd
zFleKZSqrQ(hbdr{I7Z%><v`qoeR)k3=X54coL((4Ie+cS>EkC}e(jB;Z=NAcyMF1N
zGw+-s+&ppo#F;a|Y`^@~%dh?hr1t3Xw@<x&{M7L`Uiq)%r_N1|o_Xu&&wu{&Bcjw^
zkr&%xc!4-GA(@&xsGaa#ap*b7bJZ%*g*$9lTd7Id4UAz1E8XN+CMh}R-y{YsbI7J-
zvjUr!#8enihoZ<mnQSi4oE`~4Boa?E*Pfz+m!h2<#6eetkt&%+O!`nemYmN(@L86Q
zsjL$H_Bxn5x%eb+pxk7I8nxDEM@@#1SuLOpgGr=p^qu?ns1#`;&UiQ&ig3+}=|ngv
zQrJ9=l&hg={Nm-ySFUiT$5$A3T3A_LoS$0_)3k)98Q*q^j_N}@h4{<L+%#scw7PrN
zbzn_);!@Io_DhE3>DV=!#nd<>Y@7lk6b@E5+jLzOoTz>WM5r*2suW_pTx>3ozd(9j
z4TvQ6wDLb%Zi^qyFm9M2^`;FGz}#YVIXI|2!ZuPq4$Af%Im6YnvOVWxJW^zb2W5NC
zLD`=3G1;DTP`2lMOt$BIOt$C9vqL$@V832)M0Gk#^({pG8dTzOi)Jg<>ePr{{EEEN
z%9fJSR5y00m0A)%Z%;U*O~>IlunG!shuKOU%0<hzI5}0YjN7U!G7+pNl-Cr7`zzM6
zyWF#;u$5{|voS^}f90%8yjibNgewgxRUJD<(Ac@-fKF`!hW7SML`~tvu|T$NErqZi
zR~^oGZKKP>>({q+BR0_46rFkV%{Rx>#>{Ykx1Co}c?{GKlWMbz7w+y4i?AuJ7cD#=
z|NWNRAtKq*v!<e9XJ?zV$?J7O(xHIrHkX_S?Y}mD{p>sMoFAW!`YOYL;%eyHcuWBo
z(OQpoE;3yANH_jpdxt}ajq7U%m<j&qGoxpD_fXXb@47jVFI|zc(%sVkg8qsh^`Aca
zM9UC5*{YA+C;bucwwf=hs;D_GzeV}$2fzIB*T4MbfBe;(Q@+a4i@B>KKls&*vghfi
zpT6C4Y?3b{>R7Jw{IJbc=MlBmUV<Ehp{ll%EpqQ&?PBxm@9t@6UEkFK3xU^(;H?5S
z<zl&l6$}TL7Zz3`v8=B$lcF*o#Dy6MA*@2Yn9#Rhk(}}N2dLk~uT9|#r>26ml0hnL
z%7_yDY8u+A@a5UWIF^<PO^jVwiG@W&UXNX$)fp;H>O_PUk`%oGa4+RWfSHUl4M<bH
zPKZ;%(4-sgpFE4Fd*xIS=;`EiRFHYvoiVXdjK^l!b6>t3e4F=7&7M5|^NHnoh8Vm(
z&6cFa#^~DW3`V+|&qh{O0`bf;uOD0*TL>lsD`o+vSE^N(;eK@mPj_2Ow01j<svKV?
z8WL@KCabCp<QF782A@@#?QTlMAn#shBB#ownR}zltGe2%)3d@Wj5?FA(qLwe2v{hW
zB0EF&vM|h4oUbR*lvVP5a<~n8AC?VbpnoYTxWq%js#Rj<RJzJ#Sk6H>;H_aN$<79{
zL|7#?CgHYM=pfS4nV2w-<_uL<2W*Q`UZ<$GRI2>_ap6cysWKCCsUQd!;!!xz5w9)?
zHssmK^818i@q9XzNCKXDsdIa)U|mtDbXcni3TXCJ#-t(d*GL+TiH$4Eu9iX!ez+e#
z0o>$5hI0g8V37Bn9JSauRocunRjptCaQ-CimX{~S;!EeJW~B?99UYz+E@QRcLEPC?
z*VNJ5+g9u3?3gQ+R%=tOQHo%=3ps~r_-FJv{=1~$-?;aM|8uVS@%Qm<e<1U1Pu%it
zPsn`R6Yt~O9(o_&CTH)HcO1!mTVFvyFbH!nTVmH0m@-<Lom6VseN=gX!bm!rjsjgo
z!6Oa)m*4A7rD5fz2p}0i&g>=&4MbH|lL$_{s08W}_)Z5!|IKP5JKUEMkdCcXK$fw?
zl9|JoynTcvN3Uuc5sm5aY<PyyZYHa+FsTyqdwYVRu^Z!)fw*KNZEbhBJNx=t>l|X+
zLCcv=2$L!_%C^o3b8NW3O)s(;V_lJD-Qa<_j>wD|E%<Rg+Xw>pc6DrnOr*c3zrAJe
z&`xPBS23f`(~F=e<e~&fgd`+&a|??xUu7<|G&?prNxvzV*HtmQGF*2rq)Leu`!;%Y
zUAu3)6Tf!n{%Zn!u<!rEK7m{F^S8<mKk&u9;1B$$pMK=2`|sQ<{ViS7{zK9;-o8>P
ztWOnmm8xuVk_pHcUw--ZqeqXOJT=SrN!~d9#()0&<w<2D6i)-qZ(b<*`?s`WdG79k
zb@YR8+0YNb*VDt$Zgq9rhJAu5Vf*GSxVVkm_uYBdLm$2inov0VR27vqjK?&$^10hu
zM9r(Qsik!ds6=;Tjm>1l5Jab)-H9-#$nkJ*6W)FTOi>rfikf~Tr@~^y1H^qfF}0IW
z6^fV!q_E*2WCsMPF!q_WRaF&MgH|B~Gm=HIJ_H>(JD>u@nixf?qam9EDA?Z*Z4*a6
zwTvTJOzYX<TDvu5!ZaGfn3xH}>B2hDM3-l$={TY*hj*}>8Q`v=*D;CLUCpN8oe#j4
zK-{MUBSJApWi9I+)QKLne)M-aDER_6s0%4pYj8!PWTjOW1W^L=9+Y-*#8^K>S?F$g
zo!Km8e+l>+fzxeftscgB6VzkA$`UjVYK=<DGQC8=l+F!Hc?jD{$#`Hf3OC{0-0ZM3
z4)7ih-&lk>4e&i}t1+RmM;7n31K=^IAI&M?53H}^HK|Q{rQ)!)2*78eaf|I%+p(c`
zSP?JydX)K;7??`Y)}Ewrs3E#j=gHtnOqrj;gMv)OArK7WLA*UGQd)*um@#CbGd?BQ
zoXVV{jJwctWHJ$_@;cePk&R_0i)+(o0xI^ZCD92-dvv8h4Pbqs59!_MnTvS1(eaV#
zxznf5Nn_%?>jY3zP^dL#LR$1CsH#xgHL*&y71b!*)>)(!Cm@ulsVd_H{fd&!`!lKS
zx8Cjj)VJ@Ip#`6mdA9?2H-Q%X|54vQAoFf_%ObY}vdFDlRxgvI1ua@_wbd+T3R<Jn
zT*}0QtT4S4Sxn{BdMOoyuW+Pu_)yEL&L+aN)(%6tJz!ciMQcnQt=#9b=~kub={^SC
z&D5wB(X6?8O-(VnIHu^RsgS15ttNC8((2quBJs<6c&Y2wmVQF2+YZ<SIHx@(+DVMg
z1GjNsUyJp+bnMu}{x*Z5as8fwzRrdkdc3yox_kew58U_2r~d4-pFa5T@7(p_-~IDH
zf2?cYO~~EYUK_uL*F1M7mP226o1GF%>dZOrxt^+Pmo{vO`c)3c-rs{ALI2#79~s<a
zM+D<T#9ZH}An+yWU!jsXDJ?7PQW7DIOVV4?OVW3x*QG^;OW~q0@UZmtLxTzc0po+)
z=6*=*^*_HhoA4?7{-W1sEv$a+e{#={S9UxoJ^SpGzrD7W8OFXIMwRK(>ff++(}u0v
z_uPKpU3cu=vvbR?+wZ$?sB5G2DPGHF&O&cOM+E|rN<*!I&zvteR|NBBo8)q3MfTjR
zR^q#T?Wxr4>~tiTj)sU}Qs_$Dn3$T6#FyqL#~1M+Q&XlhtD>~lqL0Ml<;YtUtx73t
zxd9@*xWawt2<xTF%B%kNNaWo4(~FEV&Rm`fp=~~S^yJyAE0OW*XWl`rD02RM&5x(0
zqr6%bF%~9#{ZdM#l+n5%ztfRR*ST+bez8hwZ2Yyqy;MRWE1%3TiGc@?g>xbz4zI*{
zPL6OYm71>3K_-957}J<4@zPE=d`L=V09;>nvsz>|X<||!(BN-}7bH>4#8Gf4k(4bj
zhEnm>;KDf6dy9dkWu}NuIm03kGv=$?Dp`1qjT!|BXoS~Nh=8dHt(K}hOL2q0T_9Df
zP{F4&1;E4Lav;b+^YrNC)a=4yU~zhMbS_aoXU0TYEoh;vOne{-1lDa)RS2#Ivof8K
zA`!J8adU<*ub~REO2gCTbL7OwkN($BzxBhP{PMqEKk=KNe)F3zPQ5FAgO4>6FgCHl
zbacXDqYPh+@Ue8A9o*BTTbYrrUpI-5CCJdq|G)X`*6s2?xBfz8^n;sMA6I-U@4I7A
zdjyA2KJJvoMt8`(hg>uG13XfAj}ORVqYubpqYudPJ~^}aT{7=+m&|*-AGdrnIuyoy
z5n_D8n^H1Vs<NnyGz_KCdddV=S0@@v5D95&*v1_0f>0qTOfhgrsi;PP1TLjlxv<de
zCnRsPr*le+(^;t~2F8nRwfaI}VIc&GMdaGZ$ZI=`{zIOUp`RG3cYRjW3Nvpg`JK$J
zL$RTwPhFBupC0min+*-M^)(f+GBmZduI*d1Wy{Vx@4N5ry}S0_@jH(^ve(roeH5kl
z-b!Q-E?>Mz<C)UrF@anaFOvUX4p@63QA_!~mDNK#_H1f#yL)cC|DLCxeBuj#a)3dv
zZ<qOre<1xmZsYH%Bff;=I4S+Ta^Oik5k+3l!PYk@8Gh?u@&c50-(JJ-QvP4Q#eJ7N
z2c^dzTlKd(o&5uAdb`_NS~}J+jJ9Y0z4t%((4&t&jQZF8_kZ$}8}Hg9{W-5xy|z_g
zX-$GgU?Un4;-3M^Z5~f&Up2r|i|`Lk!at;ZtpI01s3SoqVoB(5<I^*N2ysO`6b(g*
zBdnuw`f3h&;>j>)J{40zq^&DC^8zDL#l^H$FdLUFmT7<M^z@A>6sj0fU81V551cwX
zF^^9O%r4CZ3aM26k$`lWR|<w_*y00=@I0H%rLHu;b(*DB?wd>mrP|te{H<U%(WT{8
z`r;x2%~}x(Wpe^pSz2Boro1Ap&<4jPRaWriib`OhT&}Pp$`*xUrKmDmiDp9~hrg9-
z3JDBEEHvvZtwfe4X9cb19KR>Wm<M~)z9g!p`mno#sG_cpuIywfHf*YI;6GjNurxEX
zk#$i(kv9WP3A~+2pxaP5NGi_kM_`3!hfq3JK0~pbAYZl$3{OdbBqV>8$})3{22Q4U
zT*(Wi7X!@6(U7`0GdDJR<HDtLC*F7ipYYC!*Is(*Okh-ciLW&pa}jB`w=-v^Ql*zO
z{8p;l+qthIJ}OO4s{P*u-}!#|SGk+!u|e$-OtySHA+v9}Cio+==-?q9DePO$=_H>9
zm2*1XFN+Qymf815-p9WCj3WDhUZ$-^XVj+ihWZwRX<>41W^74WAP7?%?a*4djRjE!
zrj5!=v$lp+L|~kZSwt%b$-w-}uUrQ!q*Vle9LlT68##y5{=O<F4$);d+}>xh8CH{(
zoA*}QPrY{H&6mzA(!`~jsx}ID>#9<;E+r)g1o|aofwU?@b{?2_x362b4p{uuQ0Wg#
zpSQ!<8>ZL4^yZsmDJ_`*^UrVkd$Uo1Tp$H#Sd4a;8C%TdYuEPmb~p@XK87y8L~u8s
zHPdNe^Lv#Vb?$jjL2;J(dU2!%2AYWkjRp;&L#<vkr$vj-4gTKf<m<1$K36PhlsRY5
z##%@Z6X|VFKl!l_^;g$YcdJOh`;BjW<E>~NNl1s#mo({<zE(UyM)mc-gHw?s@Z58E
zV!<wlvGm!`ZnG_t?o8&_f7ah@7eGX%!%0M0+t^$O_kz8;xwoggv#C~;uHDrppWcX!
z7z8SmCcG@l;`5%8LeLqDBkyumV9XlG1YL+UiPR%gGP;C|@Z6+<>nn?c(PeaFk^L2E
zyV>zfvI>l?#>VbUSe%Lzd*8%xN^IBOZgK%$k_%!q3!Q1vxmUk+OQTrGDBD3nF4zj=
zl12xO5>t#+b;Id5uBBGPT6OH)@kFGpy|HzzCntP#I=aGnor<YQ6BH1eGZxF335G^g
zZg<i-KpRXbH1O1un|Vii>J&{)cC|#DU({Qh{Cz0rnM^PWIW0=&kC~}=s5Prgf#rp8
zNi?=e8WVX_g+?%>GCAh$r9fR$;ztBnoYI@g>$sf33m4|Oj~$j~o_GN?f+qCT3Mr`h
zORZJ|jo5rM4zS;FizNDb_>us(7G0Eu7)3A8E9t(3V-S-^;$Yan*;k>E3iy|V+QB{j
z1C|*-EU4wQ16_+;rl4SYM45@vKTB%_=0P75Uz^k#@0=@ZkQNDs_!8bm>&>*VLdBlO
zCuhF01oe4A=xV9yZ}RtQ%vhBX;2bi_C_<3%L8$_xV-wTiGQ&qsWoI9()}+V^qpa$D
zLG`>xS?XYsi$izq+5*>$Xoxr@kP(w#W@YHQ|FER^!G9bw(;)MSLG2NoO8IzF=7AoU
zMHs&;^FU%AU3efl`tqbK!gx{^VLT!8K<_t?u8o)QI$D*tQ_Sr|7z{EfRMBWC63Qi)
zDOW5;L^P|;!f-^>dU%CE(7Ps=6U}5Cs8)#RlA|~|xxjLyfItCaHJuZNLC|GL&H2~O
z=kUO^x}YVIk58<oO*TnAMNl}FSUOMt$mvNzL#l~Dc{IU0UZmo&7Wup6BFmFwWu?=@
zsl*C%M~<8Y;|PXVOD9iW4<}hohFm6RTRrJtXJ+6mA&JSodQgV;b`<WdjT^UZ-$t>l
zrKQDP5yzv%E9%#66BF(2f)0zyh3a{#XCqgDusNbOo1r|LVeRjCOABN&Gtpc=SqZCT
zE&9BRC1-tGD@DEi4?Hk1;A!0Vhkrpu(e~$`e&i$IFI$`E@hkJqyFZPV-=Q*JlUMnG
zw9$)8(wTM7w-!qO{@rhtkLmVyJBv@v#LY9$Y?0okYy9=eczUVz8UMOEAvou(rAMv>
zf8E(hOLBeNTD<R??k*Nub3-M*p|YWM4R@_u*C}o0YcT#PzD7`tMsQ@wzkPHcd7+y$
zNdiTQQ3K5B%KVg`%Cbahj{$LmFn~%vn@s1mg>)>E%b=QAQlyF|(Q#=cmNUWlLy5<y
zG)nbcbd6f@z;iHaDe6%i+PXRzI;!-bbX4>84CiQ71UFfY)xWMv4LFyg;}G4^e1&LK
z$|fyJtx^+LxWMOI9AbQ3p|xmKqGslT9AGWl9J=Z<OjA*94++$S!?=EZCvj?p*`}zk
zuK|oT7&HJQNn^cVpA=M?jNlc$?I7ssyi!w=;t32tp9*oog7hH5DwGwaD~>Reo-C|<
zAuYfp#=bM6Zba?SQWUcphzsO0CDG|z0J~ALcr`F%a!P!?iIv2S(V0+i21dS-aOm=d
z(UD72Ini-kR9ad5CVhH(jHNrCq}$QErj%->Taxi+qpq>DvqSXU<St&k%3H3`cENl>
zQIAt0{L_-2``6JoOBoaPJ2C7^84mC(pTgJxd&=}qIr`j<YVuItkC6}r#+ZJQN?&Rz
znZ)PkP!qnfqL}Ewdu1dYhJmh&68dWYx|Apoz>gS<i-P&gOc1W7#j6)DUL2X20ytTX
z8}YZs`0@yMUA#EMY$E(o`Qq~yT2lqHsW9Cb)Z=27z&bj*DpiX>0$n|QeDoGGX7ix-
z2yUr-G|PP0=7aC)PwhCU_V9o~@t}2{o7J(+2Ng$t%O}15;Cp=10|(#ZlU{dFbA+c%
zif67nsFHrmA-(zFdwkMPSx1Jfn+p-YTZa+=P#hJ_I(8!}pLU0?xo9ZX3Bs5vgVk1T
z(`BWs+gq{6EEY>N+}dg0lc~sTu@GXkRn@h0HCy6Re7#q48w|blCUA&X%GuGvyYId`
z?zrzhX*YFR0mZ=yH8V3eKbPeidsQyi+}yB@>Kgcs*m5|^AH{4x_{0-WlrM1a2krZ$
zpOM)7O!_P9@#9C1AA9}SiQ`eGz6XwbE2voV>C4Y8KhauC6ey6_rq0^!o44O-j>n-w
zkH-txt0|5*klYGX#wGXYs9-sS-yke1*MT7NwJS3-^wc61SAnZemNH_*gpCacFP0P(
zPm=rCu_?liWI8)9N;#9W$Bs=;U%WUyE&alK$Sk1GLL4kG1UdO(#njaBt#ix=y!E}5
z6<R351Q#Xh=-N;+lok-LS!;nPU6Ggam0rnf2`>{0p1(lxnK`JiS2r;chA>*x+O=TB
z)o3(&Rn$vzhZT*D!{Q8Z_QWYDp8%y5LJVrr{8yr|6j%zC-I7kP(<2R*(euqSnQ@#w
z2fjt63QuP;M<EwIdQ>{gH>aHDbXG$v>Zo>T2&KKM)m4WBek0yRgYdapt*4w_{;~dL
z`D_{+nJ^WdM?-_!Bhsy7NVd+0WP9}i*<L;9xw+1VWN5%%*<L*)+pC9Ud-dMI_tyDd
zS+?N$zprzt2_iOdcB3R#B&<lnft#9|;HUy6&Z()O*>dCai8#>*9C=Q++gV{@@JW&K
z(v3~)k-w>Z?cmm(J8cD=U@S`aN?)JHzH?_hu17p6uBGg1OaA86(gLh5y`8NPqOWPJ
zt@J6BL9cr2)`i8qziFUa$BBicxTmML7f+VURe2nahaZ0Y@rNIN_%`WruWhlRzRAt7
z#AT}emoHztc4gkDh^f8mD_3fbalhlaz6y4Qk3RbN<BxyrAYBN_Wak}g*WMu==jS{>
z;@{)aKOGt*>$II3+I{<$?|tuk-~H~t{o8lG^MfCL?}Se=qxY)6_q}b-d4IK?76h?8
zG&ik=Tl~*XKh(g$`W_LiFdqKkGY>wv?~C@CJTfyL64u)GjT?9F+vu^ZNL=(LMP-k-
zX?%KYY;<%vPLh?$u811)G9+(-z|<7>w1hmL&E&Qz#WnyzB~vDXJA|{s2MLEY293Yz
z<e6i~j~*Qlm+cUV`;n2+$)iW7r_Y?3Cgqp@&D&7Dwnb~gtY}49VdMp%9Ai{6+5@_1
zGx(cm-$BnHBu2RB=8|H-Ivy&}%^MK(4=d7y*H%~#rc-RfB=nROMFPc@&3e^URVjp+
zn`VQfSosCfrgZ9E*be6BN6*LOSFX&@i@_D?sMlnQECnR?0K37cX3~Vp07JRF0Ce3t
zqrWMP<Sx1`qGS?JlueMXm&`nKbmdPl>uu06fSM^M@cgnsxhhyUG+YCVg-F`pbU7&c
z67VMC5EiM55-Ps*(l37T(n~MBjbmx3W*TUfD2@IlN@dM0Z7wX`!bNLoSxFnjcuaZr
zQMge0IFuG)p0{k28-G*2U`FFDE0xcI|DMcB<#XUZnUy|=MT=gIXJuCUtjtP3Ewj>R
zWmfvTGAn&nW~K6aruLu(AHd!<C`p@~4&s=ebv@TosZ6$BNE_Hly!Cb>Cj}e-%0j8B
zrKPE<AW$r;lP*1@*&(%fO>|inN`2cmO!AM{rO;G5xmtDgLb*+$t&E>LH6`dQea2!z
z)Kuo@n8EjVb$1O84nFYMgFhv-iEI+ovK|ACh^=lI$XUIY-p%hA8rr!dmG>EHdzyRK
z*c_eGZC(@kQl{|m=RR>HlOd>r3{+I>HgByE-qF;w@a=CLRT>PU@iU)2N3rwWlc9LQ
zzsUoEIYa+1>ic?nk<nqj&<lj~(ITS*g0^*MJB1;QdT2MH_xj$h?rs<rV4?L=SP%SG
zI>+!^>74UL|9jdwDzEXk+Btot;;{DiMzOC12TPB-Y)?LR@KaL&W)b2YlR05&Tl>L3
z{KG%|GiC%e54!F2tL=xX`pY*%al`K&eCUynKJ&o?h~-e1i~iq5a{lq3#6Z~pM<mB|
zOC;y1PZZHy-uO7A@cZ`f@95sL3HilFV!PI+Mj)?-){c#w@;!U@-F<+G`%gXjv5$T1
ziKm`?=98a#>f>DgFMCbJqOQ_fSrLyD?0MVGjqPoK42(4hIoh?nPDl58=9|iLIIxd!
z&|4<TqMH=8w|h5DEnq!YFD$p^3%T^75OWB!xhLrOfUPK-RqK-Dqc<id!)(5E`{B8k
zmZqe0UXxOYE>B$x_i1!$udA4Wb$}xxK)GT%q-klf!w6dRnpi`2Vt$L2GP!@#=_@Br
zoOt<#tG5+O+0@nRv=2-t;>pO&!u)cOceB_cZyh~);v}+8v$N;lI{Vh~8#hivTV+Ca
z$zVG1;`qHrv(DR|k4;YSfZ1t?-wTE4lxg=+Ycdj}uA$WFTG^)D^%W+SpVdRUXs)ze
zSzZnV7|?6YQ;kR>Dv*rwJ!huEbOLBJK|!YqKvI(Uz{K(xMzK(8X!opO7(RoNDH(C7
zRX&%>n3^07;6TbFbj31><to0_zX>AyLcs`-!VYw$Oa%yH02Nm-uq>o?r`~;+HeH1@
z&ZNWWN}{NTY+57DdI#vqkSty6*0tjTRg{wpI(AccO_>rQ6U&8oUZE(WApE3oj1i+w
z<+r6oSgusM6a;!PWJ+KqY=lG$Egt~d@XaySa$5kQK5-l{aulmjs<akcn~lagZyUB>
zmZ!NH%hGpC>lQEt%aj*`-Y^<P8-94xqEH%E>-I<!(^I3wS|H7wl%lqfh|XNUe*NmD
zdCK91(%JLG_#@-flaph!^B}?0QMJ0N_H`d$BZO$$bLnhZh=yJ<J~tKS(epD@zG(9M
ztq{!^TPkaE9S&aYRp8o8hi=A3A0N~n;XliV97#PWi;d(s#uGeJ;1~yGURT~l@`TLm
zJ}&dR@23ITD~pZfb=H1ByOJ6?7fzQ-kr3-?HMTU3SkZ-vV6KQ1T~v&77BVZC*USpb
z$_9@MK7g!{E5<EK`Mw%1VgZ6Kjub+lS&gXmS7;(Dh}(%1rMXP&Du=W<#R<MTbMB4T
zfAfp)ygCxkUPE{}i@Q#TFF~Ym>>@yZU!#qSRqw9N%^O7*qt+<qrjcFBus5GOdv-Mj
zx8DC|?mfWUIIpzPnZeAU0|ZEdVDC+oSR|@9P{pz=$FVIpCF_JPi8mXkcvJRnHi<a^
z>AmX|JG<FUHg)6Ju{VjGwH;e7i7m;JWm(0dD#hL_ND#dP_dP?}80WYC$M?TCyBSKu
z!EgXf`M&d=@0|C%uXYV8nM$;ymruBw>T1;dr8mwK8}EEfuwh14TU8G|n5Mdtg4~?O
zP21Eoy7~nw!fMIKWL>Y*qUo2mtmKDLmxp;E=d?qlG*Mc=YW12m>()T-H93#?#=OQ>
z+~nd9+?u6*3<}xypS}#I;F8bKg3{~TZ~XYDKmYm9+_7tO)5=d11;;;`%vXSM9@B69
z%x6CHx%HUutg__@JhSWmyEHE^xN)b%2$c*&Ts5-mW1srM7a#b$2kyJCC3YF{jZ2o6
zw)<R7AG@P%vpp%&{M1z5xD$};ecRSIu3ELCq6pPpcieT)s#O>+RyQ?cxLVW1d`en{
zq~Y`wfIxwT{7T%Al|@-FTL>5=G#Y?LpiK`QL^)JaUTHDQ!jI)94!}7ldYsgtu0r$@
z3q*ck+O#SIbiM86x$0C>!=w#VQipN_gdws_;32at5FT!JVltJTqC9RQ5qH54;Q__a
zX|=I1O1Tnl_<Et3)?jiqc|0s<+EHgGpoc2k3S*Y7vsYABH*K#or;}C{XE(xIGZ~5y
zwkazD@^aP4JkIz^_qk*_0aKtEMcT2LaUfWVz;jN-UsR-ufeCJGA(Uk+0*C~#-INE6
z;aHNOhXV&7n&1=|1gB9SNdb#E0xl5b#;6aLX0NmgB87;dXtb&D(u7Q=ufncmn7AoC
z(KtBwIH*2C5;EkUcQwr~co$TKg)(b%%uAK2;8qzN93DRU_>YgzC#J^YDoox4?*ahQ
zGhT!Sz)USp9Xa~is0ulM@XkB!(1l=f^eAo_p=d%##K#q?RnsHr7>nLy%9x8hGZqH5
zwh#z`jYCQSW%J1>B+F7HSpl+Y7_r4DV!e8BkfoWRFCbbVu!AbJG&&x7tsjQp>qAku
zKMF=cqfr2O8LE$$uS62n>p?4rg-cN33k11Pd)+@9jR)q>pEw>j<Ed!kGw{1FxzV#%
zMPYH7@xCE_y_&ils&MEDpeYSs=>b>M#a@bU7~zPT!oK-_m({|nSul3dK{yTEQ(k3B
zQIthq$?H^F{ePp1loH1#pa!#?@=Q^1h=*X{<V8^Upn}303JM=oz>xx@X9R^c6cj$F
zps<F5!Ws$+A5>8IpjXQqOUMIsN~ns$%0jDZT78CAU!;|ZR(4vA(&`ee60{1^N~D!h
z>Rht;f6i;<KEyS04g=j^*|+8#89!S>Ar#K@_q3{|)orvoKr1(`3Tf3$t0}3o6TiZ=
zJwe-@OL|PoE93qLp5E23Oucl*Je{$YR;y?wUsi;+(zFt2rF-vXa{0=LBdgIN9%7c4
zM#Yt_QnbrfMZ0Xou{1YYrD&Ipigvlmk%`pRD4toPqFpvB+NBc5-jPcdJUS0}`t-RT
z@apv~p!^9zAk<a@rpK}vVp(EYjl-~X+EP6H&c(~!-R{$mJ#*&Fi@)!6gO2+!j?Svd
z!_gQWxY5yqf*?@KowhX5QH4RTr7d2&$!guQr4l%5#*Ek|>fW4sWDy_=JvAl5?e5g4
z!0I>cRy8$cxBVSL`fP1&8(;?y2_JzlI#Z7K1Q?T3|Mb&OPZSrQIAPkqe}AW~r3``k
zvgRE-T30tVZ`;<=vbJ@{4q}nC7>j^-Z-o(|sI}PwYfI2=8`U2}okI|`R<l{1Rg#Bs
zCr6{s%0h#bEU^V23=#}56pg^y3ai@*!X(6fEr5EN$~HAtR@T&6Or=DKELj4BQ@C}A
zH>+}T5T8L74EKkMU%*r9i7X654rXf79|5~LzLOISYA5N@fHF<1CGGT1HXU%XVXc#k
z4h&1&P=E9xi8C>Nryj;zPrTP8X5NVhBs)#W-y!xKkAvI@C13<rL_U!$C&pBG(;BEU
zfSuWffd>noSZwC<`9Pq%dmJ*Zl+?8FX|P>zI7<}9<mSdP!gW53sy>*_AIe$y57R1F
zeL$;h{1C0O_CvHvrM0w0qwcUClFnK~$c=4c_@8uBXwrf$h&TYCK@Afb&~&oP2DrUD
z+vxL|ZF3hF7cU*ftm(u>w8{<(nqjb@V04s2!^F|)RJ02iPyOP>3(4e#OCEJBmQQRL
zb|YG4haT-voSHHk18A8TS>ur|o6na&_=}%Kqd)s)pV{YIza4YuwZ&+T9eOlC(}@$s
z#S>_fPL2;PblI}AD=QF|&#S72c2V|<^(fa^TZQJ>LG2Hf=4gv(k!Y8-`TDMRo1+b4
zOh)i^p=QSnVJ1?U&dH|s*g+*{Dx9sJq<F~x;Djz@rpoP{#$*!H1(g;{KINmT%ZQ*G
zk_V;Wo5;ygp-G})rd3+H*2Rc`&rpfc#TW_#5Oi=aqCIx#(E<}7N(r$zH7A14$u1|S
zsVbMavPwiH(JWab$WHXQ-Lb5!P>33(lk+pCF7${bGPwvW8AR0mAheAn4r0nU1GK=j
z226njL#1cKsk&@}5HVF&aa>h}8Ie%HN5H@vB2b(KEij&&8;KxDT8fs5bb6PQVZZ;w
zzlgE>>ek;wHhqXzt7-KGTJ5BjJOFUCB@fXd+8UshmsUMX1Hhku)c!D@$<?oJjL!8q
ztx9OMgI1rWmF$4z(w6M4VAPh7g~m!AxTlp@r)0-juNdDpD8@IXM#%c*@l6?_-=G-Z
zHaarn+j@m1*`OHT)+@$0gTg0K)-oU_rT@lf@7ab9w&||Bzxek6#j3vk>5sKKxyFxu
zzKwA*-|ldLKLM<{FceOc)>2o6rfFoTjB#|-RcOsCtt!AYRcm7-(Yhj|dL9+J)0P?(
z&VN*5lWA0WC!8ir#f^JVRgj+^M}^bTW3IwHu%GY<Ei!<5Ss6}iYG`X~YqV#nRWLe;
z;yF2_X`Cir(|rntYlbg^ty<sevXI=N2K|*SEUT<%P(0SYtd1srdTo_ifDuy5Vxb@#
zrIY>Pcbrb=8SQqECVuV9uEKJJwMgO1RtQphTV8=Y9yUOhE05WQOLS4biI`yKh^afo
z5r<&D9YF<<d4`%Kf*5^6_uU^HhUIzlCqMeO(*Xf8*AE_h9o_fX&q1U7_4JoJ9O;ip
z4A+TJjMEfyPs}0+7)=w!p&2Bo6C=Hsrg7DgsR)xAm|P4b0Y73UFJI|lo|8~*<wRAH
z;52y#&-B0$1kwbHFDh~sJp6CJd$k91w$so4{GX(M`|%UM{R24AUi<yC|M5e{k^U6j
zFJyyp=7PQ;4-XRJT?i()=Usd}g{l;1Hs%S*IN(4kV&jM+;;9B12p$fsn^}hoR#5>&
ziA75TAU)J5GSF!<Kj1cwV>C$waEX2d=8*Z4C`yTnAtJ6x8WGsfQl}%7E%UkxF;DZP
z5aD46)z6?ve-NxU{m5IVz;{K}@>oFM5v{629tZgWL?kX=a{Uv;<=Agw6_<YcBUr(o
zF7e*%c8G`23FKwBqQ~r3^cW=qZa0o3k8rnQ>{T*{?^g5}B@@SPMUUC7=rLwR+@?|#
zFGB7~6nLX$i$+5s(VEJFVmp(K`RhDEu4XVpajKDH#V|QE;X?czff#cE#5N#fn3ct8
z#7@Z4ef!lvzW&DH!>7-yzxO?qmR{+(aO}*RFN~fze(aA2UqA?h`3^qh?c>K@eDUDx
zZ@Vmd!<tQ-N?L1B22zW7EN|9#RtAH+%^>B@&dJT5+PoQ&9nAmWj;#&U)UIn@MSu*{
z>^Rl?Z~f@z%^$t>W|yV=Qg2`1g^TC%^WQo3T3_GM*UxpblanAC)|3@i)YmnvtUXRa
z6p4yJ1RmIo>@Sbsbn92|yZhez?z@k<Pjc=7uJw;d0lV<?47Of$>3{h6Z=ZSQXOI1O
z!-jwPwj=#{_L*ne(*KbD0`ud}%B-xlMTJo80UBG^+>BHLb@hUR#;n@fMpWhil!x*{
zr@E%Ls<5!Cw#H?dn+KG}JwInK%uJ7ZJQJgH<ds4|%`H`?QuZX6fI^}9*^|?x?t10Q
zz~t}*IKf#))S*sCN18fn6%XE8<YrwKwFt7fqz^f<BntE5X1%(zQmego{W|!<O;u&$
zwbvp>RbElsTGzCqtgO7KW@RHHIv^!+s&#stVsW+(w_P)iZZZKWtVj@`lspS=dpLaZ
zEm)%CZ=uHRCqH@l<(FT1`Q;a0dFjZ7z5&n^gG{-X`4@Z$pf1x0fiJiaC&)s<FJk=~
z6aj-|7ewt+`FM4KP82xLNS&;~QeRWQ?)qC);>&;R9hn%1J;fZ>ss86*z1`b;_CFtW
zwV~?ZN&e=BhU>rTU|f;|)l%Qsw_(GrZQwmQ)LE%gxe*B>Pa~@Kc;MYoa44BrR6+Zl
zV7Bma{rEVXkH-U6T9?I0BvnYp0Re1AMBQRFby{`0x1sutFvp@V2l!`NBph&AH#T|+
z+NX#$V@~c=zy8M~=guAZ<LfR<717LAlvlakwe_vV#Z9eMoxCcC6|_Wr%61T01fj>)
zI>bZhkn*xk(R-ESol-fN*utszu2=M4hhn^2tLVM0it$dV9IRvuFXXs)hR247M}{Xy
zeJ{U!<w}3g<+qaHb9TEy8|_s4L1zY%(tt~4u^G&g$_(ZU%(qgHKJlAh{_=^(pMLz6
zw)FP&cK)G<zWvZcj`ZJ(!>0}(KXnTB78+FQiT=sy>51T!OI5MbULvVV*3?&Y7J9uO
zUD;e$UV#i+<d$3P_R^Bl4ave>dwDstTVkw|y0)}t_3D}xwJzNpl%xb<J|3O5y4ay1
z2lI^P?#~{$Zr`>|tqX0;E6gi~wQG0n-1Uvv=Ek+xU58M@ze@-isBhnO>*qgz>z%i|
zbluZEmvp*I0q;Atu0peU!=|m9Hf&h8e%+?K?z-lhy?d@{tFH#4yavG&g9?e8%Bs4$
zs`~oYR!LX0qN*Y*t71h%jcR#lb4$2e1=;2tTdv)jhirFgX+ddOEpM=z(ZK*M0Wm12
zMQs)r?bHS5Q2?9{PcH;P2&2_*-?Dc5j<#J}c01b0Kp5KFZ@=>s_Y{|}sx2wOX@48M
zzYtx^0w;kO#PBNV<_7&}tDZ|kb8%N;B5~m&5I+}So-RE3<dGvs-#B^%ybDt>r@zE)
z4hN7|4kyAcmENS$Nh)2IQQs-$kLDPXq2R*cWr)_9OxDu6K;*5nz34rQc+ca{p6=~E
z{kz9q+BKVRzsF#>=eD*rorOF<izG$_avBMKZVo_D5HWDj?1BffC>cNz9EyYhv?M63
zq!STXPo)Hg6EUV43~vnejm=Ciczn8}M}0o`yt{{=_jx8Kk;5_!bKKbM7zE3QMmbK>
zSr9-@CQY1R9bQHtY1_p^Xxj3kZO<s$i;7W9RLmen94Vq7h>Ct7D*A!8J>&O@ihdv}
zMln$_iiwI*Op)`2N5H|k1K@`7y08JIKW5a$`b$_J!;bA>M;JExX%KDTPjRV>RaK!J
ziWN)Qa@vDw4HI&)>;P*)jW{&V7*;>SBIbpuiqwTQhjj<xQk0qj8x>Yyz2fS3Dz2Wq
z-UH10t-wab)hoSTC3l@tGeGI}D)qxRI5LsALU0U}ne<vV2OeQXL4idNSap>JVRs^%
zk+Nd`3s-=B2p9_B?3R?G*b)2=>dwMgQKO?M*UHsxM>e%}O-1fnhht9#0y<DKm8_83
zn|Shhu!&6Nt=US8UhPyBwirQ052VC6EAXD-qku7yc<i_@#6W5lJT*MNPcUo*UDoCj
z-8>C3$3sacm*B&lnn>iz>tO2ad1*)bYxHA&#TOUShY(~TMIaurG&p01q6bk;OQW+(
zyTf)79<NK918Z+Y>&7=%SC`}iqFQ2y?YCD}*Vg2hme;`jT2+fYiIl~O1qGPKnuIW1
z-pNVm=yEA8(FqzY{w_=X10TN@uEC2aZuzPF^A<D7{DS}7Kh&1}!!BkTwJ!2*_8-vG
z|ApMp9mr~rGykUh82l2m$%@<giyi5G7?%DoavDn-@;VDS@B9=>&{ckn`V&(?`MJkN
z`-s6^MZRU0pe+JE)}->fF@E{HpcLZ#lkv_%)dVtr({rjR1pMDQ*F8Afck;w*m+>|M
zlPxQ93)ZzO;45pU`YEkD9*a9wv*#l$L;w=%@TE!r9Mx*8<^oqPC)B#3Fh)%aJ?Xru
zfrW86x2!4#$GK$XraHK&i<6kQ6ps2*gO4BS8%!du-+%PzQ$HV^9{R77$i%7<ss@aE
zpf56lAv?_m%gf8l%GXxoo#Pjx_)4DF>H+K17?3G9!0QG)6$)z@S?OV;m86q^P=Z@O
zNfb5+XAp&08dTkddcCa_5c|Axz?sTTdbOq$bW8}ICDjO>N?D1}`3uO6O-Ic1{8p&}
z6;~zED%BQKPIFDRwHTLZ(B?HXo8ic%FwZH6UZtdp1;!Vg+8_!!5ueD3MxC5*D$rSI
zsVQsv>>Vo`+TZ{c<*jS~Y*m(7pTvuOC@Da?#y5WWveP^@(Tlg0G<rZW$PT}S*c<h0
z(IFmUmKRacum5*eO@n@YHLE5nM)wb8)f|}!yO`<MWYyRh{xJY>v3{5(o)saXtYblA
zYuStfBIZp8^AsDz^d-jfKoN&n$O9U^DC}f4J**Y`d1x|$$R45yET@MBWcfVSyJXF-
zcGa5p44PDF%Qa>2Y5tq8+Rw4jYMw-C0K;@}BWP${>>qS=#T{HOdU{tI3S0k$&0(NA
z1nLU5B20J22gXu{4b8J*hBblhgJCNLT3d720K?X<WG9!dT<s7KG0Tfu@w}B;BV9XR
zhC>{5n1KIkT)A2?im4qOVQPoz?`p;KRx3s^jbap2D@HM898?*-=m4-XCV^SfhnjCh
z%Ip$Ch-d@pbu5c<Xg&QYh9DGvsgZ)fFT>I=4ucq8Sy1JLw?Uu}v(pYtJLa*MQMs_v
zxR%GTt6jTVF@`CxUHyM}?Yj01wo-ZR%DB|~uRXkU?NslMYYD!0_0x3q9b97R`c+HU
zzkK1jOV=M=x_*|fU%q2JQlEH_mhM0oE<cTXKt26hhj<7VBrkgvPkyiB>i0V`Pks-M
zEGpCEee8P(>b;65zgO|(uT?zxYZOm@kK)PKDg2kR_RI)g36|<y9|TqhM%)n$T!WW;
zM<)jXH1c7bi-kh~O^~c6N{1wEX(`AFA`y=Y5v5dOh^)3xT|qb|Q)eZMq{`^%tFIn>
z{o(@XOJ4cSbB9m7{PK&>k6=9T&dpqS^;Kl!I@qmSrNXUS$ERSo2L*yc#v`vCMlfsK
zxC_YA`l3!0T_%$tPG8&9u;#kmyLYdxg*H#)ii%=lBNB^hK#zvtXa{@xv{VTFKMat(
zpM>8KR)C<->eaa^(g?VGxl`5K8;g+|$hY{feC59OFYZLg{UQD2eC4)VuHW<NPh8&y
zXl%f^{gy9&<ts$W#y;|hRQSjv;PlgI##qYWbK?D<|H2o(&={Wq!r_T0IxDlY3ko)D
zShJ?NY4uh_>p||;P~Y6xP*;vLbV=PxKraxj>tJVQBrOyWF_59xq+LeVM$>m~8al0D
zr~wk0xR_`$XtZip$j{bmizF2bOpX(?QSz%1TeFIOgn+V33Ue&Ewt`|E;$5&TYO573
zuY>h?B(29|(BqKYBw}QoDw{(3kW9i83a2_N)#|~)WU{)tq1rT$KU8mAQ(IBr(6T-k
z{(w$UnX9WY9q9nVTPhqGvE^WJu1XNNfETN%5-Tfs0>LOxjGjj#F)`88bNR~148mRm
zfvNG~a~H<Kvxvw;+h+vq(`WHPIXMyt5usxri-8Cmi=YpKBxo)ix4{oFYCF-==I2kH
zf;%`e^bQb9{sKPexje426D?#MC7&ZBm{E2B5H5ibPD5o|1&rQl(piFT#M2UK5o2|2
zbtmu?Qt3QuVnJw$S*Uvv$g8kF02LyfeG+uXV5Iiqb4(@)sSM=tQz@S9G^PPCAaI!q
zX9LC3O3E^vIRk|3K+iF>*GnU#<5PWu<1;}tsMyRXuwzJ$cd&JJk`{GI<UHu05@Spu
zbaLeih&NCpQC<${I&hQ3wjeJ8E6^7T(SRo$PXm^eig$w65Y;<i&Y+u13o8E-dhdAO
zd@uo;8>dR212~>+BQ)*eA#{6r(X?mgI9D4NX^um4{i}Hcns)Ue`NJGIu3ez*VH#Ji
zHpfvZY{Z|=aXL5wcNL}_>DA}u-vU#Ou~C0B>>bN)#WV<iOOcIaqw)yIwZa3yzA$hf
z^gchl>@GGP#F1=r6kY?<h23Nzm&V3z4)GAPyj+d<eviUJZpN|uFg9*eSV$%By^^1M
zyTU?lQ&`B&3JbZ(k@1B#J2Dos#Jw0z5!;=Xk9*zV<6~o^V}dX?1g9F)9B3Fs5^x|9
z)wc**kl>V-YW#kSB?0R=Jm@O9IN*t8qb-|7|IkIqW~O~d-cYOGcy%}k)@3l@tHHgB
z&VuN^MQgowC!+gVlauA;Vc5h&ueu7ev$P_IuAkN*L=5PqapktHWo6rTmgev(N(Qlj
z&~RZs>O`RI+&cj52J-Tzrc8jDwzRk`D=KqMJo-q|Qd(K1Hs==K-Nro3JjCwVL%+W-
z?p_H-9R$nNXscjj*Ls~6QS+nkKl<pSldD&sI8g#&j?aD01(w-@e2Vwyk{~va^hGOH
zw^UWFZmlW>`#Q5p>f{m}xU^V~luTygIvpt4$l~R>+5ky-PV@1Q8pdMcRAU=PLT6TU
zoA#U+J5Vt0o^Sm);X8gOwJ|>Cd!0<wxg-6zsaX0N{wFXCVHcl;g!*S3%yX_1vw>#_
zsUL~4`Yce~#G^)o&u1_pQ^*UL^vE3aX@+-NVxbwTd_{?32(v?wacAQi>_~OuMg}5+
ztyHIG;*r8ax4WR!1br$!&@VjoWERD!PD^;<VjreQVWSb*dOXjH8du5u=)8sq!4kZ?
zXWpRWxw+9<mYrKnYQnq`gMHEEaoj<D5lL;=tg9-(sHY8wAsh`8*gxRnr_Wsksi`d(
z9zC~MU%*8#o$t@f8yuPqFJx7s;Gw907;n_rV3gSUO#~V)RYf9sc@dmP@2snkn2zL3
z0_yn_D2GdcDku!u4#JKRC`3*sVDjU%q*I{Wz<e0NOf{A6`h2cJA7s@jpTMF}&QFrI
z1MhTCO}%q!dNGlbKt|pPw5#B>q>{3zJjRvm>=3GRuUv7df(tW2#HUoAS^uR0chsxm
zC5?*V7G{R~;O?<rKQc@)i&JgPFC-S*xJy9ZmJ5vIim#lSVx9UNP2W3Xk3DyOaZs(3
zG-{UbIrYkKVM^GcQP6_;Yn<wmjhihPH3BYyir^;>FGqZo7@fZ?gq56leMRbAMjCCQ
zt-Z9`K&v8Jt)Z0+(?RxfIgcr)HD%NeQk_dS?=R^Z-;c1mLZ|&4ty*dI*R*P*m7Iw#
zpe-3;HA!1?#(IIaWZYSt61MV)_TT06|G%H_1i|YAXMYygh+izOa@l|XYuSJ2aIx6W
zFZuj>6j<R^HZB>z!sP7Jv|xzlJPXTno;0o<FA?SI0ETjTO#3j;S2@$A`QCpIN>EO(
z|B)WqO;|aY7ijbL_f~Q<&7qg)Y4sYd=4f@4R(e|HNlVZ8K)ZMdr!6lB6kf|6irM^U
z+A}ko{bdZ3jdA-xduC>Hpgl9EJ<y)<TJBJIEw{C2=5=?pXKF*0xbW=ExUJVQ2xl!V
z7N!Ao{A3n6AYL#;p}fkU67}F9C&)f0V6Fpy9a@#Mp#;oYDF^{af-wkIGsVS=-Wa?_
zS|%nC5t}5rK8Zw$*r?FOG@LsZLp^#4AF$al?>Kp?XCh&+<>(DsjVSV3<fXg2g&x$N
zy9xPUT8^mZOu$xN&TQH=H0lo!MY|xJH~|f@lPAt}4@&~Rg7xX}!EJ4J14cU?Y(GMv
z8`rL`F38W~kp(m8q3Vmlrmd}d<IbHsfdXogvb>l*<rz}QRh>M^Kmb(b)U*70qPJPo
zva&!c2?$OWSj8@;4HSWoXx0^A8jy$jza605!H@O9uYO_wrVUjZs~rq%xmg1IUHM4%
z=5OwR+9`fiU%3&|>sdpn-)k*MVp{mEZ?P7e5m-Bw_G^EKx||2@ziVT*BtT1jW38#H
zuz>D81cDJqz<(-nrP?xzDzIEZYei8`We%K_#>$Ek2sanlY^`-I>(({Z?$jdsrjJfD
zyuhM*fy=ksFz%xSTIB>EXpWw@<y-Y?P$R2E6e=(cf{-A&??jrI>@bu=B;4-}%Cg@O
z0fvtO0V$jXSkvjj`tjks3dI?W&zEI@DhIAJkw8(55oK*gvr!^O$}ktj{m1lo6sW;S
z3ezluA=hS5hi50;KEzyup=cPfPJ;ooqZ&;#f?Rv)Ean4R5rwm;{w~f_Yd~BakH_qG
z0)Q3TOY9QCn*DqL9}L<S(s}pIM<VbMQGpBMn?MXqS^#{@6KoJojAO<#w*c!?s)PF$
zL9A5=#=>9-gFmi?NxKQk4S|ovpd`SlVdAPTMl(3LIF0M^`lT{}{QHMS7v{(2y~9IO
zb3V+EFxMR#>X|}beQW{%+AKZ3Vl)szQE^#WC<<akC(3OmDSJ9HGUg3QR60B0S?pqp
z=jWpdd}|7!4SXpO3ZV!v3`vwN5}SroH$NXF+CXmzEj$Z!hrt+07BXftxbjnJmo6<+
zQ2TtS5t4|{CIY=~rs4GIc|02-GRO0%6+VBdXLQc(2eSwkBB*9D!yh}3n#N1xFx6Rx
zA<)i-S%ZP8uV?5JaJESZA6~xP(>v&nN&@^Ww=dphHZcNA05L4o?93+I>O>T@ivfR>
z=p})lfGj2ol#qh+PJ1JhW3%9Nf=WaTr@Dlg*y0cmG0V#qM`j+jMG>pHNnz2p;8?13
z*`k<<Y;j~P+7?H~qA3-)HYqIH7R5|N8Ko<(t?lnmrTY78Yk5AG_!n~QJfBbb|6&_x
zd^&)!L%zu`Tcl7_lr-<zE?4mlHyk{eNE|#!Vq5hEXvMWn8coYBx7~KzX7F+0y_J<N
zc49&j&=lN012jC}HBYW$o?p@(;rYFLn|6Z#V%y5Sd&|MJ%~`A9@^`QRxUdBUk^tjZ
zl&z68UYt_C3CwON&qYVaB0q$s#{g(Oqq&}OrKgcz(SQf=KIm{gCI39k+|4}3?_I_7
zA9Y|p_?o2N$iS>^Yp_Tnl-oCy4l%`fc`Yp@#7cr&4Xwa1tzNNyeKjd_mDDiT;AG(C
zqHRbdeQMOgMUBG$27P@r>cSUiqZlIOb{6;afb&zx&IV=6)F4>z#{2rFrUuT!I1dhE
z^zJ~7rV9;MLaP)w)J|*snDg*l(C>E@zw%0TH33#gZR_|+So*_9dU}ri_W9?Zf8%Y4
zgHu3e=?rj}1(jFQ%mN^x6@Yzq6&DnMS|mL^T~MG>;p}+cU{<NJ2$GaTWhoti*}CxE
zk^pNJjpOX!>+>#TP=|)3yrCfh1H;rbW&=~;&JNDw?t;60c=^4kai`uo<yn+8?{#Yw
zH)I|IDjV=1IL?yxs61&ml&xn2?hsPSArD~YrU-*x7l{+|P!yS<;#8`;o8(4GWvl-b
za&7Mn96vs}2nXLcPRUNz4%rd6TM}R(XT4ELV?boc9fX;7{X4jaf4=11DzOV|75!+f
zq8}--3v1DjD4wxa(T~<D`cbRGGg$4&#52}9GM>TOtMnsf#5bQ9l2GbBJF^fV^+;G|
z*n<FU_b4t6kxmUFoqoj8LOKab$QZ+OOr4-5&B=k(X!qIPNkE^w(e}de_#_bO$M7bE
zH8lupPGHtKmkmA4Ms$X{qRxDj<6!hgz_4ZQ4WQaZ5W!qk3kgrsuA>m9=JaXA{dj(U
zP7<d;!+;cir|QzBP^gVYW&VK&{^tI#?qr?@UI;&0H0p|v-Uca7%$R?Q4?w_D^T;D=
z4x`YeZb^LWwV(XtCqMgnC$29iXZ7k;t5&XTM3iz9#-QSwI@J8X8=Tb4%&;_$ghP@T
zpn^HKo3KLpY$z_}M?oDfKzu~YCkYsgC}1ia1oReOpB#47cswQ}M#(Iw@uoqLi&D+b
zd~mNUn$1>gjy^q!-h+B2HsDhsR%yeV5M$JgjM(kC&qYy5Owe8O#=$H>=fDAWB{xn~
z;Fv{m0n>Jm2WBpj40)0rCUEkBU`}L2$Z{IBj4K!8z|gcCw81JB;9~_5s9_Gt--5WI
z2600QwU`045DO75Tv6Sb4@zEOoM|HLh37Xz13rlAAbK~4Q$vuD{u3*?C`uyYE93}t
z=3@e_I(xPU42hRu5|3ce3XG2oAk_IL-h`N-rmjwg<C|fma_kuUD=RvGh%~~Fe~2;g
z#~*s`V^EADYPA0UlU&c$@*QeLJWHMNi{%L337Wu!kZZ=Td}jO7+y^KF<~#E2$HZJq
ze<??30KXCp0(}(s+eN=TsBgrtb1-^KGp2+`evh9yL;GXEo#L0DDW#wvWj_9=qnb+O
zhJrf=ZH~jeSU`;|PL%6so{@hGObw!xhFft>tZF%`xqwMt7n@Z=8NK55OHoZfGq!wu
z5B`=8Q7&*Ps@cKtH2p&gh!SOg?mHm1XYAnB;=0N^@V~}&$1sf0`Mya{6u)zkw(eq^
z?xH(T=D<zDzFDBIy4bvIx&!r9OLrgz*g1hz-oRhtejLYo2PmrB!RYAv85=TRgkUo`
z#6!&TVsFoQQwGH-P^{<&6osWxz@Qif?CsopIZwM{6fh`80egF96fk5)0ktSw8B|;k
z55tdAjkutJrxurnMov5wPaG5vy^c7v#2k^t?Hgmk&5>3YLOJgp!+p~~y%VmB2f3s#
z$p?O264x|mTUx9;U5E_8avBL`DVo6cpUqfY=mPJ(Su9m+sv+Ki#Hhp+EB4Q&($n1B
zjQn|cZ~tJ58A^h0X-sj9hf{e}^IrKFXi1+rFKD{O9v6v)QoH&v(S`q+8bmo3Bu9nT
zNu3h&ceL6?D?hDNw335ka`nPn^itlEs}VVR$xDckQR}H|7Z0I9$V;;$(|Q^d(S_}b
z)>Buu<cl{cT2G^*_0+XzeDOv_-&vt(J&o;|=z;-LP@u`>K?>9d>A`{FUI;Bo?Bqa)
z4rwSaGcq#kH86RJ#4E2HJov|h;D~$irGv*n<&hjcaZtucZrzHM(ZGmD(qJe#KN6?F
zxDg`2WP<R)C_z^lf@?R|ZP?eaxr#9rwsq)F!&Bfe)$tAu1KzZB=)1!tt750W0w61U
z;2S%cC-C!0Y~NTfv87ua%%dHqN8lz19P{yyf1DqB>1Ag53h3S7R?%A;Tk1A!sBfvU
zRb11dn&Ej?;vp*Jg|shYBu9DBY38v9(SA~<%0b*;=Y(*dmB|7s(Br|rEEC*)Or$L)
z5fea=x6t{~7>)(QvQbl04Hn1B+Evw6Ty<%OFj87tTws=XC|1SaJsmn6$LdqlQ_~Z0
z7v@s#u?|%ZD0U<yEP`rg=~IanYUyJ;4Dlg2**QZts5I-QIt(QqPcROW$gzc(ky*N(
z<mKXF;dZLLp5W|az=LA8=zIrfLJ@=z2*h-tv6Ighhshrdxe~ZeBj=AD8|og1OK_@#
zuft%UlHhg^Ef#$EDD9s!il;;_ygy1iN_|BR$!*6LYEJ0&wX~AMv<BMBfA8fmZOL8p
zou!hRzX&UG^{bO@!t->})wH^qR$FN$UmQ%ta&THMjFlsnauG9b3N1^|uDM-2#4In(
z?HT(~q8NR)DC`F@*AZ^Cu{{%=Y*yHh#`X`kA0>{==+msQA35!rtfGRo0<Dl1c)w_f
zXyi;D&kLlt2MLsM7Ig)~1_RCLP~_FYBN!Q~mf%KriX$V%#Z{4U7o!sdwG}bFciuU6
zOwzsm_G`Jhh=rV@3_1@h<K8Q=M~-xgM~-aTbnW7Cmr)N`64$mzbKSngwzhrZh7B7l
zJs9Np4JWf38JU3X-Ls)S#M?_XDt<4LcRyvU%rBWI(-GtgAI9q^#jk(;!5ey+uS>$$
zzxCFNPcckhVPR1o01lwjURO}Ce*FfTd#r9nEkFm4nMYPcLYSZv@JNXHX>(oB21rQ%
zPQ6h1g~llI_Piz`=!2lkFbd!t7{)Lvn0@1%8Q+0ap$EhWG_gq}%x1gCgE>zY+I9yI
z7(I7fLdj;Qh=R$9Q$jH;5_RsSn@e9~OoDr3ZaOhLiJ8FMDZ%ZI=AjV@?reK}UbYBJ
zN0UXy(WsONdfkS8EAHs!Q^MHn$QcaF!dTh)v028L1U*f9-kpS2tY>~!#QZ2E0Q}4^
znqxkkDfk@;b8za^i4)Q2@#Du-D%2RALMQFuFI+f3j`;?rc;bZ%_4PU4ewVBskI1M>
zqegHFKZzJI4VX1B#J;}_rh%*X&lvT<0Ilq_l85^Bv?ce?G;PT%xx7zK6h&zt2nsU&
zbFV`@#4In@E5`Th75(!bM<#o)7su{qu3nv_#6>Bqldi_Uzsr&7pSvBItbZlKhAEaC
zHy0WwQ45V%U>of1x$Han#}k1|m*E2p!2j()X|2|1rW`6C0s9WL`hZG}N8}x5qgJi%
zv?Hh!XZg2E))t(CoE=`F=;inS_4L@kI?`X$esAhG&-@-cn5XessBy|KmJp`qWl=|(
zl|o`c-cg)yH5xmCGD5=Lev|5wcype;0Ixtnb>}DBs~>PMztDcU=971~V+ZqPd{#8-
zo1G^wi-&Lk5HtAC8?Ew=xfx$H+9|AAv%0yd6`6HT_=V2F{9b5YvmOAZ8=15C>1Ix0
zeV+L!6J_rPHS$f^a|y4z>8~A_72qpCN`LmE#26&Lt_bdm#A8)dC+|3SdU$cMvywtw
zMaAp0Q#tGL8{0@^Y}vZCV)w_dsoc5^FSdfUp#v4>(NI_djF<;A72y9At`{}(j&LxV
zOm<eH5E&|(c3VxJy|$Kg32JI;E30ePuBCs~5Ff5V0@g`HKvZPG^CJ2?T{0{1v;)}^
z)kBqOz;PmB9`S1x>K6cbfC&K`77w~e)@+1&lm>W;4lu1E2u)v3cDak3Klw~R+!v2`
z;zQC<NiaaTNehO5yn?fpUsR%7+1MzQ72ENOg0fVS8Ss!B%K@R*g|iXq1@A#(BHURC
zvvT1|?|JW>=R$AK1-v?P<nSAZUVG!$&pdVPkB8nkeB=n~R66L9X~B7iMiqu;Z$jd+
zis00+L#G8rPN)6EiMQW8dGfzTy~8h@I`!t;Cr&)|)UW>YiN{}g)RBHr^T_K@{OUh{
z_0&_SwfU0#X(~J<I*Xv6;^0In3kn_Dq1E6FJ1gP%V3|o9QZq}NDA2|d96mP`m>8!`
zOr1LLba=HOp9R1$OHDqVKwKTCC93h)&Pv$C#l?jq>B`h${Koddg9l$ecyQuBJD(gs
z_yS%WWS+za34+0bzJm+%h2SnrXb8!WPu`K0ZGcoG#14Y~AlR_L+#LitAzp&>ArxBh
zK!+_90+VhK{*03agD<96Jh;M8b%kETBmrw+B}~jx4^<+(H8l&un7LSVc6JJ{=H_Oh
zP5|;R{BtkNf-kiPZ3om|@^enaQcJfw9Z$%u0HCsmmVAjj9O5CEA9*>TuvJPefddL#
zb!!>Jw82*0u9%A)aAan(2OJq+;x<QS9)G*Smr!a6+@`Qqw<&B@gH@}xWSP+^OptL^
zgWS5Q%$luH=jWjy1JO80&%-pOK}(^-L$Yh;rxE-1#Gt5U#j{D9YzW~O6!K{&8oVYY
zL6$Y9bpp8CP;D_)los#Xx33Vqg{DGe{v1`+S*F#iTFY&y8BBqS7=bfOWpNHVncaNl
zEUGRB{ralPN(8D?g$*dhXkDjHIgOmkjHV*E{T7^u+0_u%>a?P-ueTSKcZrk-zP2X~
zy2m+>)>MF+&}xdORaE3?gd|98?C}+=T3VWmv=NY7V%ouZN02Z&b2c1xYKT-BkDcXQ
zOw!dbpOcqs9De$@zd4WKZK4l_pnXZbM%R5MyKLkB{kQDD@x~jF$XI33N0}PQ9{8(!
z@4x@ETXPoPdh<<$YlWddKxg24|2pq=8bM4KiN`=gg<6bs%vD&xz%jst1=au{O?jbN
z8%^D~g2KwGs)~FQN;R`eE6OWu_R8j#=B6ejHn-YR+2EqJB?4Nl58>w7M3O-hMbkte
zrJ>+sj@8$a5nNh!w6(SE+kWHUZq`>`gUz;g_wTi`fRi|whuJ&Izo(jd<Ke^qgu-ZM
zyQ{$)47oi)bjt`ZkI^tPdlL)paAbaAd~N|;?vO4+T~^rZ_CW7TvPac=WJeIy#SlaV
zpU@OqTnzZrDwie|#WXaj6~cgUyBfykJp-fj@LIf+D4zC!)a;$%fkp4Y@R|OR$;k;X
zU|9&JP7REE5b(4I!DLlbWYNSRN`r^PdPrMuW-=v^_)8G>JYmtJE{qMh8u+m}u;8IV
z22qaY3xYp8?S@`VC<PfzIJ>C$Bs`}tY_P&dup>KxozR6uwIw<_0C4#D9DAYJ3F2xD
zvuQSh8Xg#RS3~I4H{QOqh@%%S4GoQlaVC@JU;ED|d#Aud3rO72mtHyqi06gNevvsT
z*@tHQIK_o14`dj!;4#ij?Z33%-l_Isv`M4`^G;^bRY#J)Dbfib<R(L-8;^&VgcNXs
zv`%1)a3@1CvNgE9EX9<e@Ce>RqM&AkCB+jJ*NIkxCr;e!IA>Rbh!kgB2d~wPVU96?
zpW48{^D`Tw0cgOFjE+GT5ZyBxXAv#2^F#fpiJgtAb8-o}n=;sG?5j}=PS92Xx`148
z$^~GmE>)Bx#GpYD^n0ZeS@ai}FO4pm3dQ_n@c`z<4N5>|4uX|-O&DY{DT0)NV=xJU
zMW7G_wHc-C>Lie>3=5(HvH<a|D|G?iBv{dh(rJ)yVNx7SSo6H8Iq&${v+rDnPlQx+
zSc7u6KFOZ#hN-~~!8oAC2!f0pmaOt<%BhZrl4xVlq+_hhS=JVZc!*hEl-Z#ch3B_h
zVNKuV6mL;j(-ws_ZBba$W`#9Xa*DTP;)2ZkGD4{odQU&l&0|B{l`FU-P*jQqBNq`J
zcB-F$>+OMoE5m&*^$i==fwRB7rZYd0c;ST?Ui!lyUODy}|J-x9*pSZ`m|6Ta!pKf=
z35bt=|K*pTd;JBMgZZ)e#ryZ{xuI=eXMQk<f+S=wH*9J1wX{$IA5C_4vK7|Iss7~M
z_k8-(_kQM!F7+>d_R}Bz=qEpTv{N%Z{f%#Y<D1|7<~NA0=n>QK=ROBm9{h!#vu}PG
z+%L{OaLKMPear}c2ALUXQSV8wO4p{V)1~;SNav+B#I6l}4=fnB<zFUCQ*%?x8uLoZ
zb?6$mcJOdsn%77?ilWY*rco1#pam&k5P<AQuqE4I=JNC59_b7Qy~SJv_711IrKkWv
zW=?Ra&x}vv>XWff90DzRl*?A<7lUdElUWPiUsBMD`U$7{&UI@nmOP!=rT*pHr%^~9
z@^<E@(}?^`!!WvMG3CWw2cR|)iH~Ep<y4>U8<?J+oSky1S65f&<rU=GJEc5~E5jqh
z{oQB6gziVlb}XeejL`tD{>kHSoH%jx`QN$J_ujd6!-lOl+$>)@nQ8gjX(EVvI4^`R
z=6N47OlohaLja^_Y;;&sq13)i!WAGHOj)?@Glt$?TmdbXoXgB8zTk!DpMUn*XP<t`
zrQY|Ek06=1{|=;l(#zSNzw9i>#B!G7#B!Fyf)>}s*2r0olI1MNfSl#9$ytv2<t)cE
zo&@Ct$VKX66LOZrFJrem7`2?`Fyjs^WjQ`fH2TjOB~zj%lzm%bPSC9LUud-yCHoF-
z%2Bc;ZOOqUIXZojULK;AOvH1Bw#>9Dm6ot>8`{M~%O;E2pok`|S45-R+B37&b!80V
zCwd&4i6(7OM3XkOXFS05?HLbnZF?q~v|bTSDs9iqR;?KiP^XpIv#ED$nZj8Bli=x2
z%?F@Mf&vi{0-q`omUxyKm!#YeMznP?h22+0uwm4caz7ZbhWE8y6`)3H-r@)1(Ylbq
zeuVws!q0F(2lEwtzz5>Yx}dlqM{DF2Ic6M}1wh&R5M{eN_$3?}(mgVcOwwi$Wbkuk
z1X&>uVRD*j@oW^rr<hiNb}Al)%fSN~FQGW<gMebVZo^f9VWd5i`@uLcyl*&6T0(<E
zq}k?=&d<zwkec?xQya$gN`iXd2f@6$7{E>KSAlimPm=h7D6TFhcm9J>TiiS;nTQ_*
z(!x2OzA7jSRWXwIff%eVS!d!Qbt)K6q~eK`i@Y<$%A{{m(Qf)X+V~WZY(Z4UK#T&D
zEGQ5DX%<Ua1FNiw{GZ8U5j@tB{s%Gua%}7GX=^vF<N((i+WIS6U8a>xY$b=RWi#?_
zlIwrD#{UT{`_*H3G7k6;bpA5V`%AR7lUDL2$_QZDKF-p<aazfj_!q@Ec6H0IrW2Me
zxSTD>5NgU%OF3^KUyeY>g=r-REahQAes31#A^)_M{$)KuJPJ??&`Jj6f0nj(&`N%S
zGE#pfy_D~OeBC~J*()icupegZ{&V)htG7>iAReL<{_kbP6ESKFj?Ae2=i%z*-g_|e
z(~)yno3RhY_4F4xz#gKlcRStkW0c$G`%w6Q&L{Z)jjPvB=PyV9H`3OFw7P~?a{H8X
z19E>u_v^&oMf%hErN$}uyp8SRA!d2m*q+JYZB+PN*C>3hjb#i|R`!0MYoo&F+Ss1)
zxi%?$t_=#GYoo&FvMQo(@AJ8qQh4NaF@=2-lh8a}gh0&Y{^1!2)T7i2iJ=suB9Nwf
za{S80i@n1W5*tb&Xq6Zl#T4Hi>SPLEJaO_;Z~ySbOyrq^uXlsYhx5-254pi%OQ=%y
z$>Y!c`q$4NdRt=MVW%b;IYRuSJ#%>D-h4X*Mr^s+bFJGqt}MyXf$7tjWq<}S@H-vq
zkKTCgHP>8o{XU7ciB5!f*RIFZv&Pa1zv~y;4eK_xwxVvi`%7RJGCz3N&Q*CiRYgUW
zg(}p}-X(SH0ow36=0BJp%Rf&szmnKyqf^6czxwx>kKS5?uipy6K13p_tF3D`u4`UV
zT~>yOU1fQZ-Of1h^<XJ2qg@iKQ&FVCo{v<ZRnw{0W$v1w%Ys09){2sxoGhzTB|z@j
z#n>&mIc7{tHKM-Inx)qWOp?<W4H^}q@Y(oal>pfkt4@><h;yk`vZAe4zzLPtR2SOw
zva<}<)m3G-EFBvc%z1f6L_e7-yiaeeTDh{yhV+{Tp%YFh#hF4w32z*qnO*QKdQl@c
zGB)X+_XT5tfNwq+OAx@R159Kjgfq7wvC$;G(MNG6e-v-L7z={pd}^dWa<Tv1#QcIM
zFf=*u_PS$nV4^zI$IcGU%nYABCK+>OjR?U#g|O4Cxs%D8feaj~v?Eb|(Y@dWHeF^P
z1E!ry?bS0gh=RFi=kSdwG!~%eu>|Az#y5apoSg+Dq4C1o@AQtlgF*17FZuz_r#!Lx
z$l>GQq&<2}Vm)!ECY8JdCFb)ZzD{i<6pcmPD7lO{;dr6ST)Qy4=v%ljJUhGKRK-I)
z=Uf`)ZgGf*nC0abN2agcrijUWNfDDFwcI9H%G(r{@)ku*<_1TmuidKXYqvQv^PAfg
zF_~40zP2hezhUYpC*iF_!&Ie)p6KM{_!y`P#-L9$&QK_G9DkfeWMEDW4tULyKaV0&
zC%UH7reR||Z^xZOl-O>c!D9!n#mtPW{?sW^MD?gBnhc_N>eTULC^k3-ZnEQ~m&qK*
zA1}QA`s){s%sJF8y4{HD1-RU$&opxZwYmu?V2IT=HFYE4uHpchcGVv^0C0+q(4=aM
z<-mb^5MjRmuJ!{5?%0dYviD=a&Xj|=x7^CyC)JV*oJxh`M0<@Wb1cTi!Crq7%rSY<
z!ILLf;&cY1wv{VgZOjqoh_0$CI~xZXj8#?F(+&iF`k8t8=K{h&wC51>a}FZEZRom3
zRaI5xdzMRgxNEA>?<b{Ns5&CxJ|EH|fD0_Q&&P-66N!iKy6djhi!VI<@Ldl-{P6D=
zTkg8cRkwft>eVai%FD}Z>sPPdzyGg3aqqqN-ubcp`)|J)=YR9<Ko_q;jCxHYK39TH
z3;cVq?We$xpOo^k0$V8%@5qMflHTd*9KggEle(N7R~>XGZrId}o6)?9Ht)Xwt6%-<
z{dX%imj8&){f_jTdKLJEqY>ODQglSPlj6QqvLyf~447~Xq74+q3L*kq3w=C%vz7@U
zt_nV5z?&J6{)AE66=&7qupTok4I2m6zE+FU+<+Gc`;d==ilYJZKcfNIY%1^?HzQ_V
zfS7i^$5jjU2?TS^%p95?l86wtV$AXQ0%H0R*08W(Lk!QzMr<}$Efnp+{D=>tmDh_p
z8Kk}thF@UOaJU8R_oG+)1s6o@qByw(EB>Pmf_cy^#F1$h<uX7}o57j0xQK)UCbu|9
zp4MW8(3Kp<!Uhr!K^x>nEVdxpbu1Xms;e{GEYZQip@=2712;dyB@x`^B1!5IS+KhW
zS*f|<VWxg~I2c603{|?ZU~qW2A4&>6eb9m!8bwZQYzV0}KLQ8-5JI^!>J6bYloTT&
z3zjBqAdY56rB#&En$3Qkst%P_epmgo&(6&FNmwHkoSAv{*(ZKUTp3S2`|L9>p-SSV
zr)OpsMp4~1>IPz6FGs97wTkpNDZnVCRM1CRf#Ly=0M)}m6tNWwp20y^{W$WCAwrk?
z!xMNa-90d6m(P!npSz4t?Ky{>M*x5Hh2bjvrv6PV3*&ee;|sL;qo;oMv!6Znvp3(w
zYH7nu%C+MQ%#Wqt$Ueo@7>Ja-OB#ipBc=uN2(QMp@c$F<5+=|z#{!K4LRQ$`B6R|5
z3%*ME)gJjTn1~@l3*Qe$KUdy{$As-;?`^ZFC#PdD@4^1EcafAPhj<8=AulF{Z8s@w
zdye9oO*oQpxF&^dHz{npNnzVfj!f*zq_FL#jBU>#Vq@t6ex(1R#35=eiC)6rzW7^-
zg8>6-AL!fdyZ1`m27r@T<Mgg&-0csU$0Y9SKplzsfZeWH`w@vNP(p8c-kLUAY!bji
zW=Yh^klT8RD+c6NjHRa7*{KPMbHn8n;{>zq>yx-K#5Tng0c_oK61ND)Q;Y*%d*<!q
z5_bU*+och)s$D#U8zC<%6nCvbao1M0XCi(p%9ie0gW|3=DDGOV!uzaK+%+ZsbVcT_
zF-FCRXjF`ddL4zoV35d6=up-lNcDoer2DN7HMDF}%p5$H+-Cw{)twKa$3utj=$T%3
zAn**jAxahy*0+cWr!aF7N{xM8xqDSAl$NGZ|AX{IU7p>fQtd_alSJSv$HsiDBpPi<
zSrrv_5z>+j!*W<%Cu%JD6AwPvx~@!YV;*C=I<$vgf1P8B9gb~VB%^^L<F#}&r!uV1
z%gZm!YHltsFUs4~p@KE>OOV1c8YQ&XTmn(&7U*;k@<H*e2qSCD%>w6Z0aJ@Jk%t%n
zPs9Y3QX2GKxv=8~6I?}&2IEO(xeXS)Rz7J2pHeB7$D`LFy=Kep0tOc63+qGn6Le%O
zFkG|#NQ#}C?9f1XERC`?oQfEN$7s+APW{l((4=U#<mC~aJWw+(HYVT{Jn-Pgr*IEI
zKaUS0bBt$TaHo?D;4q6|r$~D`s2m4a4Wy7GQtok_Ni0k{59Es>pNWzx^iN5!5hsw&
z2`yFF+}XLVM;O&Z5}QbT3qvPfh<FhSeG4)7B^14~_gWS0@V~A1zKf#&uk^t5o9BML
z)O#K2Pw<I@ryqXIk-lTO2VWE19CM^MF7@DD%#WzzFYRZ(%cdS&?!oIUE!k^wulbW6
zyoI+G)HUs1?!jNsR5$Ot<!j45IG&nPd#%ak9t;Vz7V}-(mwWJ>%EK+Ni_1Ougr-|K
z!=6|6V5>ts#4Im1#htS%dT@cl?pbjx**&YG2U`_A*s8F5Rz(lCD(s$B(Sw!M7mE55
z$kC$b%8TZBs(<R(x!?Wz35lmn-iRc87kBlaez_xkXL^77I*BLe?uevm&i`b|y_J9S
zg&Tp}WMm8Z*$vmg_uI(~FgGx>Oo(|_;$bCWCpERjTT8c>@7RT7VJVkvrG*X6Nt(u_
zKD)ej?Z#aa4{Hf~sktSQU**_y?`OXu@vxY%nHocSTI0<I5E5u?hU}*16Li<xw{P1j
z@vxk*of@}q(A&S*du0ZAHHPe`=G5Smy}!Kt^B*5ZE|DP{%Hm%3cc5=u*#82&rh_7B
z)$QUT?3R~?_RJiku|327SE_g(b{t97wGHi=Xv~`S42q^&VNn~}GviQQduEQ&(4Il`
z>)JCp6a^xe3@VHonJN{B7g%E(HiOgYXQn0=XS^x>LQq%Ac>N5lK)_6xa~wkl;V_mn
z*t*ZYJ=8r)x)c4ghONxV1OpPEi&G%*CAcdNk$>nTjj@EIV(ZrCYDbygpVus$W(o?j
z^^ySpN9zHdU}P8bU6337BXcwJUDclP)qkUV1cU+k%qQ;5>1A};xve#;Yg?<c%6IB!
zP;)7uG@Oqt1NfmI>wK@cVCe!3;Sg^E*#R%6qxzJ=!@wg2I|6|HAplm%O*I$_QQer6
zWki;Uia`0?cgewk#5G&9wUTDOva+(!%FfTb=;q*3mhO}e6?>QuF9ZbtqArJl4~d~C
ztXl@;<7U!DtDtwA8k`>)2@j@tK77Sc!T|BVi2FF_6EYP61g_!q96KLc@CWBXYUJfj
zDB%S#EEwQ~<&PwbD?cNHz@47xJ$rWS^rUXS$54mwor6C(G!!*0-wI5soJ&;=sZ?Nj
zhFjAv9zuhXmlj3qYgV+rX2p0;t<QkgSEFcsN+ol<!WuLwTHi`V>#M&?>r>QX$weA;
zSu~yi@j|wNnjlj5oL)1L9+(>UU<NfX;?!WI!i_`wWAaU=x89=q?o)5W>+SA4I2gvT
z9_Tp;wDCg%a!g|rK1n0DL9nWoxENGWfAy=O(3UMtTduqAx~;3Xtg<`#?8+_7-{5%6
z6SDQFA4eO^*Csrk1y|-Y$jxB>W*4iH>$g9}{6cmAU8(DdsoL$-P{TyKyu#>L?z6Ns
ztY6u(BDdzRoSOF<CJ(+=y-o$N%>28bNzF%vOPh`HR)ZE3`>>UDYL?n1waWZ~fdmu)
ztE=;K(N0bJY66@2xa?{mS|56^O}^VC(I)x%)YO6-gsi*|r}SPkB=7_7BsCi9q$-sO
z)@vw;F_#%q8;$8vr=E&W-ffC<KV5nZ^ahpDJIF0~XT1x)2onvCI(2A`)IT_3xjD+M
zd+C|=KCbERKYqNodw`vI+NphCW90Qj*x>~G;JbK%t64#1T~nQ+9afhuS;0C*J6x$4
zm6TSnPSFmpW(BX7Gm-tuB|k}}(xrj#nHZQvvExjKcB$blTfXI+B;Qm+;^0fq9Y6T?
zSTZ?$^n3@@t}~WTb{FX`VS%wU1UHvJ<gt8nk=m2p(4kVAJ)Ks5Lh{{YrcvO;?fB+i
z{8DY}t8edEYG!2r-aAFI13F7fWpi~)r75q((V=~}$;rl0Pt{C5C$(bwZkz;;*Ynmw
zyUk+N3nsh1gJe|666(McmP^fTO%srSfEHKg!DB02RgEc@^MjfjdEfX%`CN6Wsi}!+
z_tbo9ZVvRJL5Qx)CQ$xj9JbW(I&?z|qoa|bG$=26J9LUhCm$z&7-0(aDo?}{2zj8i
z8TW&i73L3>OYb%~x{cH@@v#O?_sr1w^ON1P#+0wWL!U8!CU7gnr5}7BtY$x08grGZ
zIZ71)C8Nc)iZPcMEk4QUne7T6NU0*A<koXIGGp#`M`p}bGFog^%wo1GW-%o;4bO$F
zRb{DEc|(p$o6B0^`cteYv=9Zf4e-J%0~l?2i^cCpWqxUGwTOAKN|&#4f@P^_g;8K<
zD|T;<MjiWW_^djn+-%Z9@zpy6ibhw_%yX~6`l-vyCnq@&>)o)|0F7TEr$t0(Ot?zC
zY&_x~c<u1y<Qs>F{EUtF1sEu~AhO|0FEDDUBX1??HAA)wL~OtjUOrC~bWW#X|4|s^
zf(sX(Z%cnZ{T253@wW8er@w4HIL5SSMkg8GQc+QnH=Mcx->N8m_x)hegPPas)eDb4
z`sfosP4hShn+4${$jy`#R+N?GTX{?eL?OGVVkI#16_wS%QPmcf7ciS4WtBq{1ywMp
z(<KnZoOc6DsA2`4{YS3!ukYN){0NcygUoNRrk@v>mzgun+st?PFaLG+^qto*mzl%M
ze>%wgj{Bq+(S)bKwYR`L!5^Stm5cWwBKXrC>7A))`fdTImR+0e1lkmoci{wM4lj7M
z+QrEL6B<u>W8ny4Aw`>-Bfzh|Fc%O?aO@z!g=pNw6nI~lgnv8%=6YAjus^{TE)Gp(
zWsRJhV;8%VQ(<3Fj<nSod9=@>oR&H~(J&%tMh>B>Gv|W|j)~87$M6-rt0dkxI1vu=
z$$$OVcxqvK@xm~d&G%7!ZXyQvWKJqNH#&_rAJc&u6`{r4;;N=vmPrO@p|h77b(PFL
zd!k3>)~3Jz{djnMdh|EP(#7ga(BbGGF&k@`eo*d(#__e7@<k$9NLJ*Ru3d@mpLh%W
z-pmzOiGTr0Z2*lQ2#G-683#rZWQzzIrbU?q*_wvj2g0ZXb>z@!3`SUZF$sjP{9w&0
zwJy7K-CDbS&Dvt4$_Kq+#E22Iiko>0c~=&cll1h&v$H)ObzNOuc_ntLQjuu-A4@cK
zRhDc)gi=IWNDH={Dr-qrU=}mUId#H}S`*Q`5XP`(a2ZKp+5pTkkd?`R*U5xkCDsEs
z)~rCeS1gv&r}QliH`TUPO`b)U>dp$4Bc&(~Uv?w%mhUpoV`ss&*RRG^$EJpy%=|L*
zp2Hy?VwRU{6f-7=V#ain!df_RY!!SYhr(L4DaNKYg^#4P7CRKy!l9Tkl`E`8xx!kM
z0fGu3=IP59faZPc^2y%8fq{#?XnB{r&!C3pBp3*soYy-K(tj@CH0L6k3Y@QKLo3rJ
zf}^ei@|6xg`-9*9>YxAlpTGOte|;7;2~RzX7V+Dk|ND;g7wCukKJ#;Y$mr-5XKt7W
zYfHKw?)w{W^ywR5K&+A3H(X`G;O5PR<<-@VAlGWBDX%Wvyt&?pIlR7V8~AE=fmp}M
zWoK(ZjF{k^W=KUb8#flEN07K1NfvK(vD4E_5+9qd+rR%)U;5IQ+Hc*vf3v(x{CE*y
z*Y+ECf&TxZ{PS-e%$<_6u%Q7U@N_gnnzjSK|2^~IgWHmSfIz{kF~@^0=v20}6vDx)
zfIn1TT2xlp(o&X<PGl{q2LgX3kR47A;AJP5PH|3i6gj?v0`TD?h2l#a3tU-dj3^i&
zF+TDXBw;yo=<?+=XO5mZb9rg?$|Ge6uvrU>Yl}-jy0M~Y1(JEzl5*fft1C+}VwNGt
zM&FU;M1)@NG<yJmHkovBSv*HjnOtQwxVEm_w_($@*Is+$`j57*uCCs+9nF5%u5A!I
zbdZ)2XSJ3(bG0ct^)Xa-fF372jp$QKBNn+ZLQG9X!ofrg=E|1<1=rM6Jc&6=A{;_5
z4xp&qiQ(SwM6xY{yJSRKXl~B0GT{&r+TSh-3{t6xI-UXu-lVZe=Aj{7QA<lpzOaZ!
z6(!jzZgDZ;%uNN&IDsg{pvT7W2ytHxTx85urc!~LghnQ+L4ocGXi6e!%05MXl->Z#
zt+SA7#vpJ^&R&|wpB5J*j21Rh!$ubA9&~qmK{7Xn6P}ovpZ0clPbJ}Yr)Mv}^2#gc
zm}#5>WX_xbWhb3xLt!Cv{`@R!2ak!Jn?3Jx8BBn{BmGHKtRO8hf+X5zlebM)K+Ya>
z8A?lWOHqA^HE3*%neEa#;3poF=ikcS?YK(scKk{2runzBcfZdUP|UxTz1wk>-d)iC
zf%9*sbX*jDfr-H@D60U{7>S>lcLw_=27!7TUqr+K9IeoSj)0db3SK0Z1IeAni_V>`
zNrH8%^i`Ja8#(&Y?}QW&CK}vH@4(yGcjSd9pM3Ig4|5RjN5L$QIK`w-KzTiHKxTXd
zWfs+0v5^s1=_bFwsHV1V<J`dLBJvKfD=`)J87eky+EkMbAzq0pafgQ`&DcDIDHDlU
zz^T#G$sshLca?r~bacy2x8DBscb@%2@9gX-(L@W_m%kSP?we|vPvQNqzWVCRFH4%&
zFCuRniTEd+n*7Hed+hLFJU`!6+6*<J+S<A%gQzi4kv*Pv9`+ShH#axeLIeo!$9Urf
zx0D~H9YF6VV@?h6KKa4fB)Bls&0Qk8Dm5gNBAW%TK`X>T4u=dF#F>&wJF(GO^eE(~
z;;*>IDrs_!7}1z?0+TPQHx4FvP&k!V0{X41YHSj$x;S8v=;jqo*tZ(o>uYNZfiIAd
zV-4vMC#uQ?(H)bD;QcmqBX<;0TkwBT)R(;Dr8TA#nAm5J#XY{sameL?EIAgNjZY7I
zMmkgomc}JRI8Mj&OioTJ$dsP-dgm_nT)M)b=nk-Rpz9Z>v2VN|(dy9&(2dJavM3vQ
z+3Y;4MXv%2p(cr*nrl=ildjSQl`0Yl20Vfm?j?qCo@Y|nmq69nLLiEgRa6>+;0RF-
zjev0!3y=5XHfeZd&RnJEb-KB+(UA+5BD)dak0&9durEA`819%4xps+18X4qgnmjXx
zQlukwPE8oeQkwx>%?OYnSPCCq12T0^Cx}ZwqM&|w=^5ekmZK4WPSnna(dxX~EN~fy
zGfG&TLRujcB{83%74lOOXsfX@(JDnN8R8?O>13FojAg<hOLLEV9O5B32=a2T!rt7Y
z@Fwn6*qeKCB-xvL72d?X3UA_GM+Q@Hmm@RxxJO}c?p1gb4GM2U5$|J~LyO)hvlv*M
zpP85#obvcF9(w#~%m^W9pAZGVocfpvz>e$K$ifI}0IUgnL2*ezalXv}kOpi#8z%w#
zML~_CLsXZtI*2c#9&1s^B}?OKb`OpEn4#(6-tH48UOh7~0U5`^$t0eCVXii;*G(LI
z^VqRt-BW4|QtV>i5yWj8Bh9UwHn(nUX|O}Z0NtDmQEHtX)|oU35RM1A>|~l0u!ptv
z=#6Sub8Stjy{M|PssY8j%?(uzm^<XDqiE^=P|OVdF^q9=53~_nPEv2L!Sl2V7tdd~
zc&V>{j77O1JV;PvIqjS_5l0cEiWkCQH8%s(kf-s%x{bP;Z@GC#>z0q~yWy`s_xaD?
zcjpav-f_nrEye}<+w@}Th8?><OUow9+-tAB7RhV986*vjhF|>T=l}88Gta)Rs;NQ7
zJdQ4e%MfxRp#;yVwYs?wqppB3;%dw2<Bvc7nydMyo37iwX>EN~&B}&`l^eF~yXBT!
zb~IKX(__xIf#-A|yo`p1rl#g~>(;Ga-9+ZJQ3uj7Sb6sXw6ATr;kgzF&!voJ4T3ZR
z>N`>@5PQ=22p|!Jj>$rnWx+{sJ3E?0H4_mzBK$Js8Z}f3W{_hvp-7VT`FZ&BW^<Mf
zr<`U4LoNu$DuBar&n?b*7JUe^!LlXDYhu&JSOn;eB*y&^Cu#9$wNW}LJbcb%Rt3#~
zm_Rh5E<X$8WF>jIBHWh+Z=83}=}VyQSW=opQwmOJt06+hRpTT5eWQINW7B12<*+Pq
zs)y#%`5~xW;W!RWO~nD4U=30^uEy0I1y-C1MuKR?^D~QqFb1t)7^8uJO6nw{YEW5&
zLPD5|(wMlP0{M+e(4l8rtRQiLFcdW{strvuL6tyL(iCtBm>knsz!`C&oGUjHk9eZ#
zneo2f{{C@~pMVWu(sbs96Tmes#)ja{47($kqFdC7*bMRj9eQ}7C1v>*0lFdqxP)B9
zX-^^mm}FEe@^XAZc>t&HW#Qr!=DC`^zF;(rI$yuf3sHx_JVv=d5+gjWm5qgi0o+cn
z7n4Kmfm}!s89A$%otu+w&9a!N+84J76EmkBLJy)qwPz@KNF|eq(<PD|BHB7v^T6Qb
z!raINgkzy#I6QIzW7R~A_%=|7>Ytk$M~z)??^INa*1`to#(|Y-)Hg#Tx3R9iN*#&N
z9R-sNo;S&c>osVWMzaoO>p(69VhAvl7r4mjld=i$F3$inE1=zJ??b5n>q7j1m7ZH_
zi1;+8td73hAs&L!lb5S0w0=}!A+N=e6qDYqu#ifH)}0CqxkF(gucpwd)HJS0r^f~{
z%ynNnhf=7K;l94n892Oi6McO%9t`?3qs%GEr9t!-_dS(PN|qudanowhS(-67_eEF;
z^j4%&$NuoEU;XMAzj^$rr=B`|=*1V0p2Gy`;)xeuJU4^}dG09lLwtzHtI;Bosi<Vx
zfcB6ym2TKj46Mk+B3E4Os_=SOYyg>X>-x2Dz&5N{vqp{q$3a{m#L&)DCJ3~;Fk<s)
zDvXepEYm2_WWpZsj1cBUlL|nUa%kvIh`M#r5BKG-ePst^*zlA4^-nzTfGv)O8`M4U
zfZmVdzho)%X?&cP(Sc%_HKZiVNmylOuJ7c@N#w+<t%=D=SB2TU=~^JHuHCiw=9_Qc
zyLr{B6)RyV8|qiBYFGs~4HS#_p!ox8xn@NzJkwmOMzX9#^QeN5^U6H5nyl;`us<Op
zZq~{Xakr~N5G+>o>9T@StRWt0E6hW~wB;lFZN)}jK2w7ei^EAvBS4~(EOW4CY$7-}
z7r+^61q7sB6<TdMiN9}I4P<9)Y4wT~&Gonmb&V@lRF@(LUf;;<!G}bW5jGX)5Zki!
z;=QWK|HIvTK(}$8>B3Vm=p6(J_D+c+MT(*dRVaay+$8rRTdrJhV#jGtvPqoWBx?+Y
zve&!uZW4Q)b#88)P1{Z4xLdYt%ciR&t5J=V*eeJS07>)?{LeQe&GBw@Pwt-NoSc6k
zf&hiV%zX2GZ++h9^`QhC9vvi|4`-6g`DPGp8=XWE>V((p2G1gFuYlj}4n)ZdAG&f2
z#I!-1WZZc(q8T|3)KDsD8?;|hsRX{lMf$+|#pjuk@$o<s3ozyzAD<vB%26*QkRT@{
z#>CJv6=RKN2#<{($~VBFKv}4g$-<<o8w_0tnt8-nh{TYwxnMBI02Kf_!Vs<`i)Dr!
ze~#u&Kn7qg0(XU;2jC?}kYA|MYDdljo_C>_;D*kPT)2>Aad>&|!i6kpBF#n-01}kw
zET2JR<}|*9bReJ<T9Zi$(HBl4hcEn$qPzBEkv>7ukBXj?$}aE5(i1n8#F9}-EE$z#
zosxVev1C+|b*hqBGAhYBRY}&VN@B^VB$kXq;yEcgKjA7NPCKmJ+`zzDo-U!-?5hWU
z!_#dP8z|XO$kS&jcBK6wplN;zt-ht{W(U(&MG|B(mWfXIfV(Zpuj5g_%c|DbU&hmu
z6q}oIkMn5ahGt*mXm3(Xv9fp|2{;bLYQ4RFo~}lVN*uH6G5q4VuE)gDDYMJFalztN
zCK(-RW^GI7GE!!B#lq-ZifO4#GCESGw&u>|7<02Ev!;}cj>OJe<^saRg+HP*6xP<v
zhm65Ij!VpXxG67Zqo#PSq(JVQqIAV;uDE<?vUD6|zjOU(xufURYXHXLHm=t69YwMf
zJ_?cZJ9l1nmC?9)Gs9r1Z*51#j6+se*OG@ps;ldg*9{GY)pd1(gjZ?d;4%i32AQ3R
z&;L7Bjq#Oz_q#i&F64RtRetl$Uuq0eH}l*}uKZhWULqwzVcX(q=Og0O`Gp(S?AX42
z>&CyAnbB^l&B?8(uPHQ>y9vgiY&PUX0*h>z4&siCE-*hmFqldBvOaGV?g+Y!M`qvv
z%4Yp4BeV!AY|nvigh8Hxu(SdTI5L7Nc~HH|%F7M27eOjl-X$*|9UTr>%F)OQ(Q)4#
zJqPzO=<{*@0Bc04K4;dm!9T*I6c0>J&H5F?+9OBKoSo%dvtwx}R<4*C^|&YqVNp?f
zy&g{z@;sZxYM-5hd~m?I3?^uTf9aA(RVp?ejS85RFtVIR;F~`P1kRjEr-_m}O&!6<
zCnhe=VV+J*bjc@*ij=YO2?3A;1N1GwG%~rr4lboj`&%GITI`--BCo`nt9!^Ru|Ps}
zwL~H}v4Cfq{6~sBiJq6}Z=tqn!QYbB)wfC3;W~+wlGfF?V#N}?%b!wL-yo4vEfOgu
zt*g(MtV0Rjg(?_Ss_ApcwjvOE@%O*{)fxQ8J1`#+FOmi$4f!E2LE?fRLGzk1kNHpJ
zT^@h@@t1bw_U10jU7`3D-r!H*w7DJorO6}_f5=Plw%|w5UcnrXcR<`jMVEfoPW?!A
zmklrR2Y9fgfCjYm;tzR=x&opw?9|T~+2eC|>W2($(%op)N*;D<gx*P=pf)VLXYpV7
z8^RCZ%!VZ>{*afT4#tm=zp<divL435zJ0gf{qRHIz4P{c`|u9C{0JE7vbMJ3;)S0w
zLRUt9$UH5ewMBe^0nObC5om#}P`0tvUWea!hst>#2IJxZ#FsSQ(zH-e5#X3LD8jJY
zw{N)r-fvyD-EPM_>VE9Npz1;`{*afz@8U-&=#M8ty$E2z2fg^_tFNBNZ@i<P#SXdU
zA;C*58~g|bAI{6ty`Wq<eE6fj7k_)m{Shd@UDMR>07_lBSzXZhJkk0E{+y8|ozr3D
zC8jQbXl;gMD-h5WzkA^f#FtCoeKgykIEf${sOtO&esCy&-vD}3Z(#@An}wSqzFfFf
zf=Wq2s;OvN&L|1koczoDgE)HW!~z?tl%3}`$-KW!GVi7AJo_;3H(}oIlW1otJI}55
z<v7D_l6fz!UDzkl&R5%)<C<67Khe%qgH@@{vsA)NtS&Gb3v0-W!UCnjsx#-AV2i++
zK%Y9jxxk`_+_ljz7i{7Aq#Q*Ekcb&2u?>rC=nsa7C5J(P%|koEG2F0HXRfQ+e&?Nc
z?rbb8TXPv+>{`>P)2uA06iq%ou#B+$sv2sF5FEBK$B!XvG7{3j+=JblFxG6`xUsc4
z6L+d)3Z%1<oI+s;s`?uea)mrM4@KZcV~tc0Yc!BTSRfHs8p>hg))p020V7gTU`PR6
zY-39+YierpRe=6P5LC-XX5bTzPcd0IL_lkzU<ZZ<!*D{wyxyS84uX{DSU)K22`GFd
z!pK#DIdkPM#1C%Rv}w;>cinZxy2=P_Rh!&?<@MKJ-(sZ@T!&YdcK5vU$}5LHkfqVR
z0mM9D$<+|#CZ`n|N^4fGS-T#W)3U0jrkS({Sl`mTqNcoZ?dIKJLA~y>%dWls_S^Tg
zud9TKU#o!MXf&G4R)p}d%FyzPWLxW6$$l*jb>(Gfab{9Ff%!xn6H5)rO+1U63@ySK
zOW~E9c3pK<`}WPdYciGFVF|3{8kluPWfz+Y_73f*tEdKFG&JL%fJ-^y4~5*L$n%Z4
zJ<*si;&r2%XwnaKE^hMVgqyIC+p^?@jA~gD_Zuz(n+n68o|~fyg-#mP(g*;N7*H-H
zGz`zr^pBhbCC>>I7xf+ntoLYdUm!H(AL=^~VEowdFbH+dpFY{=0f^t0tt5@aEDAvA
zr*O4sV1m0kHcl(SaFmQ;5oJ)bfiI5Z=A1m=J9ri++5-jqF__OU^bPh8oerpcy&q$7
zzVq(8Z{ydI3%(5XF^FFDIh-Ql=Fw_#-!q&Rw+IYsC=$a=qG(hx&;ljL`TqX7=eu9S
zo%`jJzx?Ghzr)Rcqx+S&UmeZ#y!M-?o_gxZ#~ynU+ppj3@lrqKZF!aq&NPrB@i5r(
zw8{jDtCP`s%zcgqUl@~#rNp_<k}L~{$ea>=o>|hgg=2A4($FOae>9p*#^GATlHj|E
zV;sQO1EwA^QUJL`vvPQfN=1&|57DQ<I1pzYJVHdYum-F*D;B0)2LY@jH(#MnM?E6D
z(yZ8lVK%CuJiILfQ2EppLL)djB3z8ph~-w0mtzS*5$+h3O(RH8dZINb^79d3!tyZW
zTP*ov%~8I!ypqu=Q0NBk9sFQpX@vpmM5#3*ijB@Gx&1)Ikja;fx|9Dz$cM75&|qv?
zTU}F(@vdm8uWu>EgehOsblFv03BDU|7B>ZLBweeOB{fEPHaHP{7w}{Z6Ph^|{3jWR
zR#KcGMjt9W<=qg4;#Mh<o0Sr|*(~vDYVk>8FH}n8W~Icdsg%gg3W?mTl-LWE61gem
z>JTA71gHa-MwJ`t?=enr<}+gsX6)ieJYBJwH)XSLyz%m{pDF+FLu4DvYJNq%$2-|~
zUwZ2M0=xa%&wstk6bP(c+uF8Sv3YYM5f24ws0MuCy6bM<E3hxV`0VexK<xYAgJ1p5
zPRc<U@#9dy>YN<8j=G0;?xdba;p0K-9bsqghTM(0D{>uOCWE1|admUcj@xeAvSoAI
zhFWM?hXSRPXsFQE#-qi7K~IV;0Il`G6_s191*PS{Q)V*BNT>!Si%wQ$Dy<aQ=-k9e
zmq~?YqO04sj29K9Qc*7w!N{Akd6jM31=crw^xZD-qoF(1_$WGnFqq%kaoEF7*6SMT
z7udX_>bfr8FfoDVK<fE<^h40=T?n^1+2bdU9~anlt?SlxnMm<bV16!x)`cYX5rv89
zWFbS{0$WgEE9f$5wS9fP=g!7YpT?9^s;7|7aI)R+zVo)g+P8P?==uQ+jwc)hse36-
z8)=n{l+lG$$&i_GsVbTO*M6jzKu%*tFz}s%z)A1N?+HwS{d9f<Tv)p09(t6b*WXXC
zpzuFK7`*+o(n7fTjWsk!{>G5M;Wu)#_`gJmbnl)WqD}ZeN+*#2DZ%ys>5Mji$*TBE
zdkZ2*4Nn|^<(lgI$y?DCXeO`rlBYA|>0R<9mQ|l4uf*JqamicQXqR{6wu#$D$?D%A
zS^YaCtA7(dS%!POQL_3s+L=$-`8V2^t)>l<)xSZq`Zq{cf3?JFD(zghnu^_8Ed*CA
z9D{+W)*z_MfvnR43G0Tp&Ra`LbSj3#da%JlnFfv2Jf+)Te1ded4*Fca9CW-zjMZ8S
zYGAgU5J_w{ZY(s(2$TnWXD7+lb8eI>++Tc)(YRyBj`sB}b!F(&j06Qf0DZ%8w@{a(
z_N2dGYcwcjP7MmF*8vi?wxy-Yu-{G{LI<Ut)Dz<45z{xnc=L`{ONK*PvksIz(2e+n
z!w${H%b$I=sHPHTg+`|O#@E00wXZ$+#V_rt++Y0pJ$tUW;);$fZEG4<lob}2RaR8h
z)UIq;wd(WKw|Tw*1=dBtIYT>9s9i<o-)1YWTG7@fpvGs>CZW|TYe}(2UshUd)i_yD
z79y%#Fh_c##WS!Z&>k6Wyb}nn`=(qj9-%+pIyW~TN&+#2Ev-hm4eD)}*!=!t#Wbmt
zi{?`Elhgiru>3^>e$Oy^(kMvI*a}?dOa$>mY)LEl=s*r84@~Ya9t?+pOq-qp<4`Dx
z>_;RKz(MilgNPUM0Prd~l(C88C=`T^GZ%<Z%KgP|xxA;Rr?-D(%IygUr>5tkBmjW$
zo0~We^5WtYx)Gtz7bEi_LpL=wF*%pQUdbc^j3}%G1O!Zq=;Q@ofGA5hRyIn%)ZjKn
zpa3PQNN*rrj*GxvZv}&}etUW^j!pZMz&oMjI*qF9RO&565O{e>NhBCbW}KRA8suu&
z`Y%p~_Uln-N<xp=C>Y%=uNGh9PY62m-$(N2pQX%84ka=!Fe<?M>qOFqbQ2>|baSV?
z8;eHV?48T?4x2ld>m4qa#KpE%P?U+%U_Y9yDskJ~xxB(QcP_86O`Xg6PiZ%?&62p-
ziq2)f#I)>}07VO5f`krbYLsi`a%ax>4ULSTzm)H-w_v#r4-H;$kydaM6JisCInTMC
zo^zf#0i@m)g;ri>Ei41CH-(hjuYUX78;1^cpFDe^BloS`xAZXg-g@J;=Z}Bz?z>2D
z!d3q!*wcp3{O2>z{O6frLDt&3y``R))wgVIZSA5;1A*%*Ybz?Ns>`b*H{Xl}US3<X
zCsI;WN!;1XuxEX7iP2b6TrbFGW&*((UN#d9%*=FA^vH;vdQN%O4VPcF=i1AzfiiuA
zdV_--u<NGl?bNRo?)J@Bq174O@2BxCcWl{KQ?qT$9fIuCso~KcUe+@@eCiaAZ!m0X
z+q`)Tc!}-X9(VvX$=Ba-{k1FWYU==^p}r+X^GmHpSR2+-D16zfRgEjFd0F+!##O7j
z)X@}(0>RD;x@9NA)M%E+akk3xBG5D&wFQlE%*w#iU@5T{5F9%iH98fXp?cM-Y6B<8
zKvU@p0@MNMupcL)QZ;RBThrKBUska4#v2h>Y-(yjokzn;ph>CQv8TG&e$6%ZVznR}
z9zH$f=4I}obHl^fGnX4486z?f$;p!^u~Yy^9{0_FPZK!z6WB8nK(+5^AcA(vMpSw5
zG97*yyC}Z6Ps4$z!Z&bUH8uu`!WEUdQtut^Cy{|s?D&IcP7V&9eC7v&tf67^SHFwu
zqOWdgXuu(5GEXcT!@qb`<{@;!pyi#B#S<bYuOEAYasZWYiKsvV^EAi9cV*>r?5Wkh
zH$CZ|c1?Mv)bG4AJL?C=>qE8APuLM4qn(OzBopGZv*YAsRSGm`(kp<WA}5>4l7&t(
zYy|#-bq_0>Ji&kmg$PUj^prz|^^cS$<WJIxa1c~F=_6vW%e%#;geQYU&lx0o&LGiq
zD6bH08G}U686<knAklLMiJmh^^qgT?&n;KK<_2V=vVjo?vY6num1hqqyOjstcEAs$
zssQZVFw;D<p~3;=FvOXB<e^iaJN3{N4yuxHqR0(Rtv9wd{f(@xrVX||tj>kLGh9An
zVe)MbO3nlFEmzgE)ogvE1I*m`R(a0NdRh031H9rSuFH*^!{+g@0~P_^%4Gq0P#%am
z5I>_hUasvm4VZeT9rzxcf+)ZKdNC>@smuvt(-e@Wb>!)D<VlQ~TF9$v@+8_mbL3Tm
zJc*%Jk#Yu*m4(^y|C-s+EY6NUQ)UNfZfHkFCL73&j!-3nOnD&N{WjGGiMJupTtN*$
zXgxIYxhtqY2(q<Jh8zEesY7`*?!St79Wpi_q$m_5v#efK-9U{Zz39$)(X&aA>BgzK
zIjR_oFd##56hw!)S359`WBgUzTgJYun?BvyWP;qO!{n)qJnbM)_mL;@-sX{4VvJl2
zg^MI+B7K*e2Z>PEVkG>pcjo@FX#WG`n!ZAw#Av^byb=Lez2ud6*<yPWIeDvFvfriM
zwX_nsChe}JmB=+R-g?;Y((YPXiCoj#m#qtFcP*_%u1UIUQPQlNs`C^3eQ8E#QUe!z
z9c&3zLdlZR11~-6U`gewEXb^At9P(xQM@V}<Mw{%4hQ>F*h;c$+ci7ybFfuNQBo?z
zY*Hz(C_xhblT0BiDkyV+e<MiAw91yoHU~RNO@auTnVNPvSTlGwWkqsRI^V$-Q^k}_
zmW#}V9V}V{q4+F2es09URwL&o5_o4Bo^rD3v`p6ZPk$Bb;L@JnD7o9B2e-_B_8|FN
z4S5oCMPPVXBnb16S7J(Nki1$V2wSj2_uA#%xcTC?S29zi+&*8G%oM`yLr^ACZlAr9
znX=cuJX5ZdXu#__m-DkyZXaXk@><s}&lIZu;>9!?^unn~MAB&j&w=$xo<^pj&;4Tv
zl+1$i*d0b2U?4MSxK%8jKy;5s*U4}ONqemUA&*!VaGn4`^sq6Yf$Lv>IhhRmP=g=x
zCX+9}eDGcHHNWxRfdkz=a7+f?kH!2$FTC)=nHeNNG&ULyO>J_T0J-@>JSB5_o2?86
zi9cm2D;tLuXW{&4cw2wN4L}i)kQ~Siv^U(a_YOqeZ@&XJ<9b9Y*WY9?=vKgwtk=O_
z(}1%I5kHE~5+Z;?JW(kc5OBo*^RqLjPZRnePuAMpEObyWQZIt3Ktm8^ELT{#hx~zp
zYeF3rA0Oe>@9}s}_IH57eBDkRV9U#kZr*`@Ja{nsieTd&<uzu70!C(zNyCZb3-Lrp
zfvJBQD7%()&(lxe|Mb&OpG-I3f4{JD?_R|IYjMrBEgLuP-MjB|-}uHi?!WVvTW-At
z(7wI<+S=A{1h}wmJ-+vGegz8P;0YUws^LbLlN3OW&BSqK#2rQJi?RX?PcbZB5!R9q
zSPM~QLcQ4xRwghj$(0(Ggvm%@l}=?c=@1*s$kk+U@C`aOTuV(L3vVru$q`@`kM^aA
z`Nr`cU&J!7<_N7&I)m>O>Z__)R%OAs>hSedRV5}wYi;I=3R^yGP;DM~d<?(|78sx%
zG?+gyij!F#j>DsWYXQd~n~}h^C}gojVxbi^atH$Gr3m9Uj*^OJGA@^U#)T*E^z;mA
zc^mR#euiLG1I#~6;wLz|5<cY8ZAFm|K*A7Ki7ebt!mTf-(L+_JA0MY_CBaw9;H;02
z4-DcvM*8t0j8X9q;y+OwG8|I?+U@|3!in;W+@nke(#ceekLFn5)u%A8VAxJg35B+W
zibImB!90QUhRH%)IF_+Z!kYy;G(JY+`y-QRX+1L@OU%TFZMh7}=w$F$b1X&?4sjB<
z!GKs<{p+uzfPs|S#Zk%d`s*(~|A#;P;e}`4c;ofs_>zxbL2J8Vq-X{Ls29_KH40bD
zQKa61FT@jA@Z)iGrXHMSE$C1US1pg38ypnm9P*hQK+mG*J-r`5Co&`8M1J(ATO4wU
z6hhFB;@}N)5<C1a!^H?fOrCm)Jdx0uoqC77e26@WM1|0}i?+xVc_nhZipIyA<gJ*N
z$A378uOa2?xD?ZlUUH2~zQ&)OX@{l;xv{B!o|!_-%)t>~<M08VflvX93UM{oH}fzh
z>v(yLcpBe$fM;$71Vz4+I2w0-6}sBoW+rx~=w~=MnUywaZ9HSdnw2xe&nRx>nR3u$
z%X8UjX2$2?K`ZR%<w|N?HwPiaxB&Q&)5OUL1bK##smNL4WAx&r2#JKKeH-lZZro;Z
zYmjIrDaTHOWV}}6lO)c3DUO{6`?6-LmuRL2`?6+gSoY1RLi@62k|GwYy;vRonE+sJ
z0Gmv@-AF6-;?ASLa~=e(4c(y?X)LK|V!!oS#M}A_!HXZb$HS+3yrIyuNR{*Q>Xp^i
z)oaibS{Fm+&l}utZJwE#_s_-gQBb{A=BZ;dGtF@Dc)1^q=p&&ZoH7d%lSP*O)(3ie
zhRzQV^>^>R_g=L+-`msk06HD<^7F%xY?EUc=~XDG+PrGN_1fm<)s>|-1oIHLXjt6@
zHFGV&JDAKSBo_-S+S*puAyHdXi|8TlsFn7Og9{wsSX&XvLZblEVzz?+p;SDTFu^c;
zQ7jnGLR_-+e(QRK`&KoVAwGkevg)e30;_dBfZn`(W)i0|0KYRtq=Q1X-|9zzES<<g
zdZRuw5>Fs7;unK+8uZ=P7|~~0mcf`NQv0n@L=jPVjU5rxo0C}(RTLR_<V8rl7$}(&
z3}=x@@)0Ze_Be3=A=QTWu~Y`H!eH#hR}poCe6T!=LR17D_FIQU#J3Vx4MFA(5K!+B
zHI0wzNx8QYPH%c1^4&YX-->HPm{$z+iZ943g!X<c4iH4$g5~t5tY?d4ej=G5&d)z(
zJzG1uZhU+cnig_nd45WmvnVO<PuKa0jV+BSB+iFUopdm;h@A*21b*lG*-stJ5$cE&
z5rxEd_R38Trk1L8G9wQKcA|}~g8Di2u!FgYx(U_oO)b~o3?fjcjI4Iity~H#s0y{{
zT+5g!lM_(|)0+GZ+Z{{=RpCTXAvGBr9U=XbXPp$U7$1l66(}p)?*x8<$Il~(EHJY<
z?>y-<9d#nGz@5q*K1<Ry6HZEi?t1KB#9x94j^_WxK_sV?t4GRmB<1R{Nk-bbIMRP6
zt{y2T&pb7l><#yvIl{{zJt04pL)int-%b6WU;L1liDnt9rve+27~E^F;AN1akfUtV
z$V0(h7+^W|4D~zeXS@vZ6cSbO88XT@{oVISgH}!)XHl+-Swp2-W>wm>#kLw=2FVK9
zs?1l_8`s!2w(R6(kgkxg%20MXIT0Nm9ptf=h>TShQsag|88X+r3{n<yR+(5B@)?8#
zFy@f8$~iLZ*~9PSA~5bt^0u{8-i?71x7N<(h_sY@qODU_fe+ZphgvEYbZ~3uazt9n
zz|+#XEN@#R^SPmOc|NyDBGOV%K$86hRu9%73?beEdi>GBp&^%R%oRd4c5rHpaIw-Q
zB|HoZ1oSh!62df);vl&Msz8B!`8)5tap=HnuO0pPoud;73639rhk6;iAY{wI`tU`P
zyb|WjSX2dr>XYufq76k@DRP@uuG_Y$d6PV*T+f}QU@HP6i55L6ic(BZXEF~zyzlEf
zP?d{^_Tl><)@LEEDD%VAH*tuc{*(tMy|tkR^>lW-y`@qI5k;_{BzI4aAlhlHzQ($9
z&%XQbzw^4CTQ9%7{X6oiHdv}QEsu*RC@!T?m=bkT1%M}@BRv=@KqRWw+jJ0adYhhf
zx}<|aUPL+|K}p*0szfgcmrsZ(%gY;Ufb1zKE^jK9%N51V<tSKm(36wsp=mIv0Krm1
z_?sA@#=W1M8#y_0j;uqMK_6b1&*%0bvg)1Y%oNTh&C3Du0RJv&5Gn!@U~rOuG^;n|
zLRuw?EkcHx+9H!oUra%w$CH%HmEugMMXnz5QG%FdwG1_n;=8%PJaC-zoQ_JO0UwVh
zg&++0)Ibqgu2<4$$NEm4I@5nP17yWHc{K%JCY0nkuNNhml$>J$d8RdBZNnptnu;6-
z&Y^=Zw8k#)rWQA8x9CPmu4Rivezf7U#K&DDu`bt0eB3osOF}ZU*Vvb5_8N&Lq3v9@
zB*3M7;skFQ9PA%JLTPLq!~?UW_-7OVnn%QGoWwNNFU@12aCrFN{w<q5aNxyPo_p@O
z?sws;_Twg8e4F}Ld>(Vy8&2@b;-yKv&~};JJ;JU6CqUQuwcy6OwOckeZj^=Pf8#{D
z|C32f-*Zm~8b2iget77i8@{+$1)+K9o`)WiM{x#mHCFls90v1vRkev%MwTYBVB5Fv
z+ut@AnwmCT1`y>Ho12<eHlo6K^-ApV4+{$na0txgN=#*CDHfy!v$+&8$R*Mrp8%#$
zFjS$Aw3u*N7|m8|sRgRoQVv?ON5m;jV@ijY=Cn|#)z;UmRQ2`iS2r~^Ro2wkZ>+&A
zM%23%pT{eBkG#^mG@%6q0)~c&vo}T1RiyXHObA0A^Z?uN2uI9<G=^G<Swv>Da$)%s
zn29)aGHrU88b|3=U_8MZhMgdXjic|J%f(TJ!Qk*Pi#r(!pd?`q$x9TkqMVh`bUwnt
zI!qE#1kUXQAT~f{g0|>4ztL(@65J0oRxc`-DFRZG<=|L6!r}M<Ok*XBH8>Xro$b;f
zA*TVjlxPb#+U4Dtl;YMXv4vMkW^jvS1~*kKpy(SVGg!(C)F_$3RgxLpD4D^Hk{Nud
zNR%~)`htrCutdkk21fme*7!#T&<n)*$xL3F$a=v_X7Nj}Viv#q-qIvKfH;fulUckp
ziHk)(C~*!$sGuEqU_))o<_!%S*bvw1kj`Ln=HB?F#hI)9R_D^heTe!hzIbWgE=}8r
zxI9GZM#L3FoX*g+5i|J8%}pqfufL!BwD5)Q5$S@WPS}L``6UIgb5VF$4)zaKUU@!M
zf@5ID0)HtLy;d?u*O3aK^6L7H)#4PbCv*#+%+aMO>J>160NWG9nAhj_h7oHB&A2g*
zoS)3krRk|eb{|Wc%uWuXSvj5#hoj?pRM?>uXQqoYQC0%;iI8Oad^mvO7a7VD0_YOp
z{A5xt%}H9Yk_kC+5fk#<a4$v5S!LN?@zyO($ffzn3Qr=?4C0_D|6_4BZnew1sl`po
z6|hZ`HT$nz0fZ0yQoKRiC9`q6og?2ZTE1H)vvHebHg2^q%hONs2IYd$a8hHnhC+Gy
zIyx~ENX^j<X=oUU&c~3vvSr9fPa*sjjb;%d%C}{cm<W_!_GnpdYSt4iXl$6CUe#10
z3-?aOM`ZG8WIVn8@j2X)lEg`LQa#F6qjhK+>Ey;W=`i-q6@!bNQ1&FUsX$=r^m)I(
z_uSNcAeo*|$q3hcfnE-3A0wDuDu^n^!T_BuV1olA=uZkn8%rpQ%I4FNk>L;i?dN@c
zzj)@up^;#GD5_LfV*Xa>R4L@EN^)0RhYB<8=%`-rMo8xQ1Hk11gUBdwaF7-im6lhn
zXjrqhv~+FD>blC(lKj$D&D#K#-L|H_oVu4Uk>!c_R;#t5q8f3T+M3o4K(;oN06LeY
zg<|97yYKiewjDdj^OtYktzm8;ufF@82e<On*LddM%gg?W9sI-hyZ?b&E0nQ%jZvM6
z$IRw<G|6fTj4E?BgGHfIC=DurNs3tm@h{V%5NhcmBEvz3uq)+)DV%gynapM`HX@l@
zRyOAi$xJJY^yR4}nv|Nf`a%O`=1UZ1@H{J$Za0h++yc)ONXM|b3BL_UgtC)kf$8ZO
zXt<Mc@8sC<NSgCZ3?eW)Gz%YXls6ld96Z&yMgzDgbPva7X{S6CBgMvA?0)*=Y1HCG
z^!i9-c<|J@qiIY3h0`c(JnaLb{2Xt#sz?hup9&Rh1}u3Uos~P~DPI~VuN8{12sxQj
zhaOrQE#icz^9S}Axqeicq0w-Px8;!ajz$q*6X`zGShoZ*46EePGN4j*+I(PsOqG>+
zI-P>kbD4AmPJbkYkQ{jajp7VVYc%P!icsqoF@ijkgBF1vDWlic*A}CT`KnbEV<@kx
zZI(x}00JSfN(H?@^~-D2#FthI3iK+EgrXDEPA0C?JE=0<vIlR!p}mY_@4AbTRqnd_
zrq5|znG!<0q@YKUZsFzE7nI^!je-uPlJ1F_?xPqie_5H6+PM&;lQM+tkm#Te$*R9e
zqJu8SGA35k4v7xhA+e%%NLKx&7(#YPR=rJPMM?R8__D!4AI#KI7(>%Ok7ssp@Z*mM
zrb7_SVbAc#Ks*z6M66ZRO4Ck*5d|N)D5OAy)<Xp735U#q1HH#i9DV!!_uoHuzNhEn
zfdfDK(JRL%F_NyHH-1FD0ScF~v1!aKNDB-~Il5V7y^sYnObG-*u}~2RY}imz+0fj6
z%{A9_w63Zw+OXm7yF1pFAtGGXWWSs00G1MTa_Bvr<8TVFwkg(3BL3Vg!u@_hK@6~M
zSKaf#F6t36r2l*B2i({0x@z-75A8s6?bFl`<zL=`<+0<w4(f60v;zexIHwgW^2s@=
z2@q@=MNjgTi0Q9UUqC>=S12dOS$#wM?mNIUcGuNg8&)<o0aLc;T1b&=cVBS@>@=Qt
z0J{RlqRpE&)t4C{2sG$$Aa<)REUT=puC9P3!s_sd4h@|ZK=xy`YK=O*kwm%`T0I19
zNeMbKBL*zfm`Z>>aOwfQ2E-YY9rHDWS{OAUXW_D>HEdj{Ad0cDvbdBKvE-QwOA27Z
zZCp`EJR?m()kZ)aoZzxCWq@mA3B~*j(m851?vgq^hdUNn;QP67_T1SXjN941-rft-
z)9=1}{M;a>>`?E?cfq0T1SwjKMj4q1-v$jd7?QBQ02@bePATxn-}Ie1dFCu^mfpUL
z7cPvCzyA7>-f{RTW9L44opknOz|!xuCLo)!p>~){A}*AsNu7_9j6xs~jRXTeF<69F
z0bn4R^v#E1^@Rhd5%=;=(nA|1sF3Rh!qArkA$};4C0;2fR1md0Jvq>K9B}<3X9p(S
zy}d8LeDwSTJ~Pqx@ypalxB`4U$6G;1jT1n`ipm5KQ=d!gVK*3H1^~?`qZM$W<PK#j
z7EgilB^rB7(56!H&@8m}Y$%RW9G&znPU{z<FVt?AcVl6STf1Zxw@X&>9?2@US1eeP
z?UGg8E?LFxl2zO;(cPOQy1QMnilsceWfpK@=`>IqOxo+!=|aAtF^?`Cz^x9Utkerg
z^?V4T50s!?B*vHH30r~*1)6hnLRnoRrYy2zRmkG!&leWDF1+#XnZo!O)}@OnL_F4^
z7<Hkg0<t<?7<oM=70Sk|R6#@#gtExYOdJM#E~hWK`f8P`s=jgUR#kHwvUHo)s=#aF
zP=q3IMyYJBOOM&(k5VvXeW4U0fr5JK_(?Ac|I_JG5On>9`VCy$-M4jq3BfYPbl?Bl
zLH&?C*zbMOghloUzG~7PjHXdj(WOTfMz4qP|DKzOB4fE&OM<%$LK>paajo#$EJkx)
z`O5PAb+>Qb)Y{szwSE0&`{x~Ir7kbuR@sJ@5a5tnwW_KFRlN+Ax4`bB4ye>Q(zpWE
z4ZI1>?3MX|Va7-|d(a?3zB?3oMh;AP8Jq^LTh0<@T=Y*iqB6g1(qzuMXT=~2$4yTw
zO{=PO(;!y0ShAjJf)7$um8fWt`eeHFuu(N~3eKx9O9ZG;rq5+%sJKul*jy;2QY9i@
zUr3cBq!VZgL3ElT5+e$Xp}X`LKOnVG$f03?;|vRBOlehVQ64g1nMf#Pv4kR-^sps7
zi^Ua3p$*yDTA;>YV+!aoVwNHbN=h$FqYzx+(EJ5#15RrS!SZxE8V(0%)9B;s_s`9x
z(YMqAv@V7f1sx>eC}$`Ph8!mG{xY>SPnjXu)2R2u4-<*$@zH@ZiT-maAw1icpibea
zS`Z_n;W17bc8pO;PT8PAm2O5@7<2e$h%Wq3@$ho!#lHj|UcwzrVgSIc=MWSG*bU7i
z27qi&n+P60R!i{k=6mQBsMv;SzaNnsf`*qBE}-ERNL-P9jEIl#rx^gF@qZzLhDVhR
z{>O=Olm#rjvQyqoEpE!r<(T20qZUBkx$FtZCDKGLktR}{i6lp}c<q_RYfp;T9u%*A
zRJ?YBc<lu5Pp)1eUcGkl>OtizUL(170t%;Sjd<-2CM8}y30*H;|BZHe_u}PKH%g@G
zO%iGPS&1~g86Pgiy}wx^O{JZYZj?yVn<UcoM#=TxEV=#)i6>Ov`AH6d$~R~*Z%G$%
zB}K}-psy85<<t~!z?&)eybl&?&Y;%AH*{zxfB<*70~#!5u<5e~1Bz$m(Wt=yi`L0`
zgM|35Yh{V0sI1hAG(V!8hYugtV>RmahYzE1!QsP4P7d{YXFTa*a}kLqYd<=QE=4_K
zR-jdDk~~{l>ILG^>n#PUH}2$mC(6WcG*?ztl)z4(XG<D)?%at=HdM9k+}Y8AH}*}N
zQMa<Lc~x}@RmbZ%92ZBPoC7r6$MGPIhRY4qM-+wN@V;qz1O;G>pjmm<p3AqZM}~(K
z+wNWLa>Rk<JDkm4Mg1!tL^6}#{|X}Yhbdn56%Z|c?(S>1qieQKEAkbUz2A=tw6kiS
z^>`2-H8PCHL!=eM=%*t%5+|%&x3%5g(b0jRLdSNfl+sd*rL=VG)=iu6X4_@g-Ehx6
z_gsC2eKYkSugjScur-;|q+h&R#RKZ9)$*`F<?@1p5_mWTEWypE7YbQvMG@AlGDsz}
z(I}X<8B9F^>vE;f=W)A3V9<!gL42l+L%YZ0Byfc{DrHWFKJg)!-;3F)V=Tn)vK6FY
zPDB_Uwva}{gXbs`K?5S3zSSJXrLe-vk<tDO{a)z8U?dCK77l|UKAe{~If*xUW|=mX
z&iH%BhcMH1Y&EGDY-~ut$nwc~c6K%|k2mJ!5sFrzS=hQN^f8iQV6-__p+y@YgDe|I
zBwPmTQ6}^GvLr0-p9=-h+>8d92OM!769&Kh?0iHHqYSJnEYwDVmnRY`g41;}!Kj+t
zPviW^#2jsaYRN<<QA~gi8b}LzJb=h}+@r%Yh@4EvSUQG0j7|-Lp2<n7q!NkF)+>2L
ziBR~hO{d|2>(#)HR2Roc^`;(~!)Ppn6U)Vd&=fodg}3-Yh=ez@0h}cWt-(43)uV%v
zfGsFz;0Z7(u$wHDLBq}h`XqzEDJ<WZpr4<Z0Ld*1Cem)u!W`qpT*a|tN68{Mb^go{
z7_o*1L4G~V>pVw}z&;r_DJv^0)iEA}he~E+1{DIRPJ{;;WFt_UenG~_z<`6==zqXL
z(I^)ikB`E+q?lh}R;X3Pqhw^ocv5jHMG^@g6mr84%yq%h`5)`0zf_&pf7eSXAeV`b
ziJ*-jByb_oONKV0m-IIiz2soxNDf2$)Dg|3xNJc)g@Jus&}J<DFP9|JIpbfb(_#et
z5AN`SX4+<#cSG2Un>0ox<+k1_k<4~{atmTqm*TUO#;CSRBy+n&GD~Arn<bKYi+x!#
zm(3BDMh>i79>fS@-huvP^5R9eKM;-~;y?v?wABJ-9J#rW$0a2YaR{<NXirQg(p_ak
zv+y%iQP+jjn6R_w54;=>zxZO$#WA=4#HkA;N(DBxG?7y>WgC3cjkMQWT|I|6cldBH
zjwlsJ3bHAcwXj&FF_>%HHkOySZC$AX<C#IN0C3O=CN8HXmmNYgq=6WyH-j94Ru!eu
zWS0fqKiqE0+O%=2#a6ZQrtf`w*Dho(_pA0<bp~st2(H56(Yp+X&!%5~0bweiUOzgj
zhRb>7_L(pazor_}uy$Sh<-0q!Z{E0mP4mv3Yg#s}UEkhu+4l9Qp)AQ}4Mp_`Ol@eb
zsYRHorlP`1*rbg{GkAT3vV4*bqk^UTZmBGi1<|mK#91`v;^z8W?`lGr3L*}qj!yR2
z({D~Xsf0k~oHE;%eGQ167*M<=PcaIe5yinWjWs`;Ey#yEt5)P$&46!};G|g+Aj+o2
zE^^2SghC1&8QtpS*uTUG5gwQ63(E{TwbHt>A)9S%u$2{B^mTQWi0_p!Oo}5+yy?X7
zC}LJ1i*vhmknuHjW;J3~6QnjFG8c4D(@Z$x8+WDCuJP%qR4zM%*yIEc$})wDcIL(7
z8R98|K3bz;A&e9{izzG6gDIzGY<PNfOlypKht7=fn$f=g;jBvQa)%JILS(^ca9ZMl
zsJsa5`F=mJXt-OPr8vK<4AkhTRm!6E5O|GJ(ZGB(IzI=Un9U$!1q%pdg+!dtq#u!5
z4QT`6h=GmAS+=VzO|0fzV$L^1s>R07op-s;of%D}lJQ79jgT<B<Qya9F-%bj;#FWH
zM87>^W6YquOQ7c>T?LFPd2+xDRyisZqLMSd`JrC5A%`d-;$tY?a4Kec!vy1!6O@E|
z&6?j_oD=Aao~{C!HT1-Dr$@#zU~!>>r_K(({ELE$9HyxOl^h9J3%QfOoE*h<W(1`T
z0gI-!4{Xl;>4>sFN0lZcS^u2GGP_j9WRcG00N=HU=oWFhVp-;T@;CAAX7Y+5Pax9l
z!Y>i$E&c(eoT7C9OQP5riG1TOaea(LzI_^_FCyk%At%3rJc*aKkGv8Ab0Tl(8uAt}
zIdW+tKpz-6vi*<r7JB&n#p;XyyWWbRMK;kuGt?{4K$#UpZzcCaZ^0{S=N;4vWb9zL
z5!IzFCaTN2c1d-?p}_yCi3+3X2vJ?k_=4)nimEF`o{2~K|KEFiDK?f{CH~TvBwG1i
zXypp{OSeh<rQ0OYCn?(e7Rju=RWfUDm8{COoy(acX<c!{@Gu~0@p!-ss*E9$2^eKz
zJ4ZtEVemMp)EtN;<SMlh%-YllZ!ki@A-9Xj9L(%!GUB{M;c-{Pi4#6>Cu=jl6DNkw
zqwMjmzE4*oqld9>p%NKMX+t>_bs!usFQ;$-Z+OOO{o|F%T@8EpBC~F@RW<J2d&9oF
z@4oxa>r5uNP1`oCT~TgRQ>+r8wgmzS>IU9`L`#`jo}8T}eR1J2IsbU+a#sg+h&m*{
z`%2`UuIjv!yg`?U_o-9j<74VsX<f7Vzt=S*-1RDNxPTzqN?qu}1q!2OwV;{ZAFXok
z(tQ5&pZmgt4?g&X&wc*$-`)k7*T0Alq41$gRX^kVpWzMp(2i#CW#qRZ99o>Ga^_#6
z9-1&N!=qZ*RBA-4mkOc<I3_ghY`|a;V+D6sEmy-b$yZ|z#N%l?8=DV;Llv=ABvR(w
z9uKAF4N-){Kqv?U1f!^A)y_*)Om{UX6j>674WkQ0GK&xAG1H$ap+*FGv4k3(7Yw9_
z7N=1A{b<-_G04r%OO#Z1)wx_G97@C6bIr}dHJS2f!00gR^~|7lI}O!37Ysow3vgZx
z_&z_JID`rbs4|^!N-C~%S$rN_5Ea*54WpyuGf<`e@zK$XLx7%pdvm#k5^UF`D-s-=
z@PKm>6`44}VO|degv*^W0L=pvA(Il8DzXJNjbiU9U@fNRQe8-+hG0O%BOxTxrr?-O
zxf2Nti65EiNF1@)Y#N2;A{7cqQw$`B0GeSAeZBG53_51~(TeS^hPU1t1|G@h8h-1o
zcMhU<<MsEJO1Q`WO9?lS+6Fz27$k5o^b5n5b^h^^?k;N{kTOWc!ZTh()5DHLzc>65
z|L|9a$pYF;+6S{TQsKQH4p<SHI@pl(R4kNuD-;5$@J3vappLe7%DW-H#BFQma%`+d
zBI~3KDqAZSBJEo{m+^F4JC`fGw{|Y$>9%w($Hp#I;Vt3GFd0SM03xvPEAT|j!O~2o
zudlKaJneDJ1b@1+vab*1@5s#Pl_}VDPC63dImp0RD(VE4G6{gkQwV671*(*!%=Yfp
z>%k%fES7EW-UA2pt1m~D^!C+y(j1ANnc+E1(AkL3sj04}fb5uyWHHYLV_-vcOWXEc
zyX>ve4O`5ayjF)CRa$1VP6b>Ux;v<26!54smr(-s9Y7|Z!sBt~Ycmg#mQO2^tH0)u
zub|)=faYC(k=njJAAmd4r>~9#IE;p-&HFz0cYpu)U%hX0)4p5pzWX-xv{$sPXv41g
z8eWl)Mil1!A`(EiECkT0QiY<ZXksD~2@nqrESO*ojD$&8U_L}TNjnMO8sX&Oz?7tc
zDT~#LafFGE0U?>Kg9rQjkDo=R#&hoA!TS3C)9)NQbm+rV{UoPEBMieKjG&U~of?#1
zLv+dI0K~emFHQS=b#*3FkqrXVV5_V1`AnrNfda29HG!Ag2_O+qs#20z#P|vVdrPKs
zcqO3t8O@{O{rzVNJ;78@JU%|&KRAKUP7n42x#c8ubOif>dJiYkb->}dW-><HV_|8~
zFd-JE1o93hS%9APduL#x(}CGUE|r*fpffIsP^EYUN1E<2%<^zA?1(AFvL<b>>}1c!
zA00a<>ph7(o%Nq{a45<P1|z%@nH;Y-kl-i~T+)v{vtZ*${c~yWsg}-V{)3&J%V^Ve
zSREufu}xwLY?D|5+w9A$Ly93;)47bv+t|6>?@=$YUnP-astkG)v?7y}xf~|^q}vDK
z??L!To+5}il9T#WfHVV#8F_bI0bF%+rmO7JVbPvGlBYxzRudsHQ}}6)PX$90PCA9m
zdr=b!lqR|idXkbL8<9c)Na}N`+)ji;w{6}Oi>=tX+M$TTQ;VW*h-Xth9Az>t?m%t=
zb^@S@$%eC+i;+$e<$MCrR9^P5&$sT@4!r%0L+N2C#zW$nKm$MZ6w0g&OJ6|>h{!)f
zsikx)Vwu~ozT0kZ-@5h74!vAUY2^r5swiOcRj8Jv%1DWE83M$>J*ZT3bI9Ql;%02b
zam?oM9-%|WLi`b-F%o|y`BWCIZG&QLva9S<F-MDDP27CU?U0xs0!NZ#A<~F0P9)NZ
zZh)-9DW97rQAkBs8OI^!h&~rkTnOCFi=ZcXs%)BMdr4gTzr+*~*gz3HT7a0fnJ!e^
z@kPs##G#2%Oi`S3aE^o-#k(xV4}rp1iXUq7d3lA61Q)OR<VF$YAdb2N++Kc&in)1)
zNk;r(UQ1A@h!Rp*r>W)pv@pVC92^FYI)(`0sWazL^)+_v*pS1(qC-0y!a}Dqm6fU(
z#UuFl7&17yfB9D|9C6eU2mI@Z?)~30FF~qXbao~HGT2WWHxVzX`e8Baw8+9lqSgCp
zRWossOnVnxBnHex#6`-Wv~@q7ohL3*;+*IrF$#oe$o~-_{9iuzq?G8_OXZ#<`jwJM
z5U5v@cS|kuP(>-iL!}mZs0u_Ls-ndam|ci(iab=ZMII_0`5X4G0XqS_OOb~vw#Y-J
zChj4V{|OJ(Uw7`!4;U6X-;3hCtXxZG!0rdh4A}G_Eyj0CsTwi^Ok@UFDwbwI0DC!M
z67Hwt;?=tc7w$icEHwE(R1)I;ld6zErN&*#-JypiMl{Husm6V|&L&I9JH|$MY6=|Y
zq?+!%w|VNQAP<vTy2c8gsuSc>q>}F5D|l3W00<_pA*FQfe*@BObDI+jd$F_zlpQD_
z<0+#6DniuJRX6ffxd7xG$U1y8;HV&#l&GQe&heB>kh7$ME*#^jC_Yc>=Z0K7HL<|o
zC&g$=aUMG**5_V{r@duybhb$Js}$$4Ria;|IFHQ|Pg~mCag{{BmJ%ez@bDP;oaO@r
z!9PAV_5KGR9Yu$Q$&0Yl9hB0^g{LmSmF8vmJr&|%fAfs4xT32x5Kd+e9_&6fh2oE&
z{`8kGy?5k@@W?;@;N0=UA3jexcn59B@tphP7hJwDsBb=g;pjAWR`N{YdV81IVo<Pq
z_Ox%Tudl8B;+O8Z^`@OWcfhE8l;Y*zS-)l1uG`>J{xgmra&m>`YY~v)WrY=MD~fQF
zP?+dF^+6X~U7}O$pnideL-v*HufOW5-QX9PMCa|70R4b4ri*DStpXF&XVFIBF?{(!
zhn=p%caA%`jhBBJSV3Nf-<NL!d+{iE*PpcKzS9L@pRHiyMnE-J)Ye{h*|sfhEo-j7
z?wZ{VO>0}Xf~~|sC7qmBUx2VIFVpA?3|c2VMJ75kMOXz(iSjMQi=0lUS2C;uIC?8O
z2WSex21csp3@{tP-QwgpbCFJk6TojXhjfyYNrVDjr6`Xht$*{B8iTIBepQ9FpkO`P
zr<kqz1y$5~j461wId$cl0+WiDsjJphfj1bMhY3%Qca@^cN5(bnnT>=);i2KtsTrT|
zeD8&e^M2pV1cBYqXu80~XI%t{BExTg+==!CjM8N7DrGTHL&M{s^7l-C_|dV^`QY4%
z6UR=^xyBLTJ&t|-*q56<J2RKykvcp($Kht;PN)r*uF^QDI%hmSe_%co92y)QpKwi|
zK6CB@=}0h1FdG!>lp%yeBj%ro1)>XwRp?D!rQv8AY3ef<CMR63=bwMG`@=J5fBJv^
z{WpWXr%t{N8Yl;)adJNQMbLAij>>&;+J~d6dB#-N+*Jy0A*3Ei;5-d#utXvriy?s+
z2TO4(jZCJ40;3lVcEm>(^m40R-i@UsZc?7@R>`_+m#n*u_#}}^t&(-OUSij-m8`o~
z`?A;9Dp_}}k_eZykD5d)QH4HTL#ZX0p^`dNets|+^LanMNT*^+Qn^aMc#7vfI&=}m
zGd$CCVo+doH7kX}3x&6CuANL$p~C9M#>w#Ph4W9o#Gnf|sbIC|?nN+$`o2B)ZT3a0
z8vFhHC$9@k;g#15g>`ctU$nWl9K{`4%XK@~)yO+`D!4owwGD^T8F@_CR<l*hGpnjw
z1%~ra3)-6pj-Q=*;Ks`ul$zrD4)AS0$$b5KT?gFgCuIh0BcUAlN9<fugKp^cUs=&y
z%rkdh`xSxF_8t*zZRG_<)2jN_P3zZfXuI+H8?L+IOLy(uzHJ+J;(6YvuSX?HUjC{z
z8^B;tT!7jyMrE=JSU-hy6dVky_@D=k`eIaY)-@FmB~_NHJUH|@R9Erz?nabxwc7%b
zEYH-e#9qPiQ6b+Pc)NF!4F_2_8cIZb2}^ZHT?+0Y)r^rrSCMOZ?yfI4xn|Qmvt##4
zfpLHQp->o7mRhv2ER|9MIT1@ILxCX|ok^w;QReC6W4x^YtP9QSn9*Ukz$k4+LZMfI
z213I_Gbo{oN6+<7`sGtY={TCbUc??M1<z?+{R)oZnc!Hjz{tz%gu*ENQ#Krpr%58p
z;{&_T+-w$}91IGq;VjRkvtZ-P@Ju8T6qqd1_JtFAlTkSckQ$K4^Y0z&o67Z^Ol5+z
zu*Sdu9zzfyF);6s^30fLKwy$uBLZs(pAka`yuN6Bs}di0()^=1s8C^I1Y~=syc^S7
z+_p<1AloHA-gb$Pw-TQuoiVm|E=NGNOCliKB@vMA5(}-pbJ@pRDOn2=3(aCCF#;0%
z5I6E$M&Mm=q-Ze4@fI|QpG4NqkKRNfaFfa7^8gPySd$5z_0Z$mWP&eCCC~`ngil41
z8j}gj9$pkeLx&FWmP3bvN5F*KKY8eoO9|I}eiV1r!B$p|kMpYW@ybeolXF3oLRI2Z
zo^XC;B^>{uA(?DwsJc3rtFBg**45S7<ki(F;Fkx%r%e1GkH=u(0jThJkVh=Ff&@4Q
zj_o2Ni*|BU=}Rvul`p+??X}tLwbvT$x7>2edi}N6hA+JM;)~~#;J0<KCr?&Z@~X<p
zlP3wAWHWewy$BU=s#c)b&nz#H*IDZdNijfWVVy-Ux2{)%!B_#@4-%X*vPdo3^rr$O
zDx^16ssgmT0BHuniD<P21qRe{gE$V{LyO*?ig<hYTbxEu#sCSDFcC3Eq6h9!uWx9e
z>4pYX4K6o7zoDUsux=KVQkXKV-w$AkDlgCP#|VZQv^1PXoJ1+}O;2O67w(nE!&^L_
z)GUI4;h4u0gICC=B7kf;fUyB^3G_hZH`pp=ypoiU$I}Y68oQ%4W}#m1^P%d~=Sd)H
z6OQ_PG=r<q$V7M1W<#(<l}y@ffM86`dl9(6O`D9wbvog{O&>Cs%<7yvN=LH<?Vrd-
zkv*l8Y6apY3bE)BYb_FqQwW$8XNxE4$)pDb3jWk2r!QgV)uu2NCZSXhG##p#M!X7&
zdYYoUo^g;2(7H}}Hx`4qNmtIgORSvD6~Nk48mj#gE2mwua-_Am>m)0uT@oFUV(qo|
zPtXf;jzM=cR&6wp)db&HTu|htftJ%lL;ZsnQG+p_$&5`X3@9}=fLMg*P?F2R_y!-L
z8dV&xz4rR+uf6uttIt3G{JZbH_U-`2s{ftWK<c#^8c`9P7zSRfYh11fTR0>+o_I{$
zb;EFSxQebam9D5NsG1uMlq-jU*BzGBH&Ugqyb=t)^2(k)EPM6Ubsc;6?!9{5)dR=S
z75K!+)zmH=@|9PBlm_PLl~<7S5NjL(>sqYUT?mnhhZKbd39p#U7IVwmmd#i0-Mgo~
zrD6U0#?Px}GrG*|r;2t-@fJ1+Lx3qHl81;L@_npXnN}877FGaKZYd~4Um{yoo+^p?
zltcuDL!bh6ydX2epcxEFaI>sgvt<i@2qdnqVNLrgMDQB6t$_pOFoeS(_d!@T9LB;G
zD<H9E7Atxej!o{9cmd?-IChp<tcjfQPS2pvcgO=ES%OL^QQMp06$rsZGJwsC6}Y&!
z<W>`D$?Ac48tflLwaVOJT$l9gbs;LGTPQvw)n}jFBJz204+C0e#o0s#A)$0asZqq0
zS{W-N48EDgGT-IVSvo~bCUZGg?%_O9KVSp_kENir)HI{2P{~ylBs>KA2?T3M$*)oY
z6g&r%88G%RZlT{&BwEr%P#n2jguF&9o~)<cc6m3oxb3ko$KtP&SY;1Ltg@@{+3T>L
zc1x_XJrb+zYKc{LwSCzt+hbqWL{~{PkzL{q*_YQ7RqL6JWzZ>ba4?%49K`9XGqcm7
zI4zG}>`$lrd;Q5&EQ;7Ood75fITwKmg<?(<tEj02Bo6=;U<<KU#zutN(*v`~`Ecg7
z*GN0-OjKq`4xVt$(OU0IFUR9A|GqyIo%MqCUJ*=SY|5&t1ZHY#)@f20uH1<p)<&1B
zvNDDQ<$G@nwf1do>sQrPZrMV5T34=WZATcev31Li+wS|!l~>;Pg*`jgHaDV<8~{CL
z9-^5kC{Q|040Glb@YCUfg6U~J=IPqCLI+TmkIBCK&AV>7Qfy?s)Z?1jeb-laqSED`
zsehol=zG7q8?pW$A<sBY4O2hI1N7$9e^5V?J@~-iP@mxy0JY_EgGY}F%-XePr%A^B
z<jEiW;0La?YmXi+1Ag<tuL!lRYnz+uSJbw&kfztQ^{ZRJ#k^{D%erm5c7gcyinevD
z8&`oL1;{xjfhv3k#g0yNYXoK$x<su;bP~x_P*qW#cB-qo>ErH$2N#y`!GkaULG`6;
zV}^;B-+trZn{OU`{f&3ztF+YL@f}o{dcsMm9|e!aj@(zWvE1ddpQ0up27*#7;x8Z<
zD%5f)#!shW77HnLjwj})0+f<Y&Q1r^Bxb6~hQL_@1O!dYK46&ybYzq}P3gD?2==)Y
z38o@Xp*Na^S}hmzrxKxBbfBuO4MnHUxmhzCpX{3{$alH&i*o)TyrTfG(8#g$5Q!8R
zgrc3MMDY9o`g+84IxxQ@MqN=Y)E<29;F+O;J~#T9yWQuHy?^B8U%xrrcl_|{uO2#k
z_U-pRKKuUZLF#Q@(K~^02NSeVfQD}P)|G8Yx1zONECwJHk~;%~g7R12|L129ANv><
zRME)Dk=K9wizgm`VfMl+zk1@yU%TD^@gKi?@jp*Yz{67X5913W$U77e4-FPTdj$cN
zf+QEt2y%`WriEJIL7|j^d?h`#W8vT&a9DWuPm`{56R5)s21D?;6j;`PD3N3vN$Ht#
zlui%Phc<5tMH+fN7!+zj;N3ei?mB&%G}m^GTsVEQ=k(Bp)5qU@;l;y;UwHPz;}`me
z5THYa4x_bL1O}xFPE<mo>&MEKxHA?DTAd@MBFHstMpao-yq_(xT1~uJjd~P?vJ7&&
zytt6f!~!UKqUVEf&L5>Xr$UbkA;79q0tdPVIy523ZHk2D%J%mCw)SRpC(RZNOePGb
zomXtxva5ZAJn0?9GNOk@omBWyO6^osY~4aS&V>bzkep4t4J^r@D!p!#NU!T4y>>u)
z?YV^Xx>6#&{#GKrc3(nzbx5SwE{XI)x4f#sL9N=TK~GM-R;5VIc+_f-2X*qC969G4
ztJDrcdI^Of9>;*tbYT(ZU~X<sqal#SsY#G)6L76idw^sV^G#)WDj8E$VAO_A_n6H+
zJ+rZ#LIck66l=&o0G?K%e0bO;e$(1@KsRQGhx79Zy7B1I2->aYkUtY@*9QXY*BkT7
zs@Jz|S=HFGdizb+x3%54cSl1-RrTuns`9dY<9e9K0uHQjTHs%O3hG#0LGZ`1*;zsT
z&Ees1ezT@=$2H#s%+bl-b?+Ddb_ex+>NV;m`g`aed4PJG`jPIQ%XeS<ncJ_vY{#0K
zZ=zd-fZ{-cm#3*$K81h0`f~9E{g_iVO{6q$<K}B_zwg1Xf8l}8+;zv^TON4emRs+<
z<BreV|E2ry+`D`8#wNI~-{<+twzkU3M!+FAwpNR9Nc4^r;gIG$20;l@uP4-sg6hK$
zk9W_n-;j&+bss(Q{s$j?aN^>qCmUPQl$kvB!3R;wj^HV9kw<>?>ewPKQc=`?=W3j&
ze19#<#;w-*c{d2uXQ$mBe>g`?Pg6M*69oeZdc;vtZiVU)%Jq5;MmdX~w-8SNIAX~G
zHDR(S;SSQVWKyWDCy7v(`{Kyh<W%3q!SQ)ce&K>#7L0^^Za}7^0gtO5=mY`XC-cZx
zWhX!;J_ZayC`7Q5mDOmi!Z7oY(X}E^-@(^j{Qa{(``-s%f9|E<{`^-55B}nrU;X>R
zH{SZq?_PQ4wb$R62A9r$#JLoS6s3TmRPo5~5YQy2GaJeHkYx2Z&yJ5j{lqSikpHjT
z_i|s#J;46>XWxHh2i|`*_Z|AlCwJoSU(0<X_ig6sU;c+Z_b}~v+@5<#_T-QM_c&O}
zAH+<7xN%xi@w5uqO7N-_6%iyXYqI5moUf=zs11;!z*IaMo}2Xr0&_wCw0m~e?egNX
z!vTQFqw!RLT(vHnC4w}!2(;u?h%%7d7h_Ng4)lXi+ei9v1pHIuP^SGC&i5ZX^!BM!
zhu%0c0O$1L5Gpl%fj%IGi0DfTHo92ETxNjsAec+nw2W9$Xk`h1hpz%O0p*XZHhpTq
z8&Aq%<tpibFE%lxH_4-Exe_ER{9_9DxzGamQbWL(X3HuY?n`ceExw4RE%|1%yf6k3
z=4?<06Vt?wp7p=?a@h*)Ok8K8sY?D4QkZ@0nTZ7yriP#}S2f(d4u8xbTu-D|vt8Z|
zfh2Ct65FdqVtYy1S6c8%5(T(a=ecHy^lFhvuS<2FE0IVqNe4*E_VGNp3DMkiK9B9o
z%n^Kxcg8>DCE*wf-n~&!2P>*d;ZKxS`6dM04~GU{eKnQp9jcW*8ymQIv9Isk*}m7$
zQU~zyDgkkN^@RPh&8t^8Z{F4Skzi{Lme$uZjA?tuwcB9J&&wyR5lXG-PRrB3`;ey(
zKP#w*+(A;PJ@4&D4e*yow%v9c!&KX;$LRQncIp?}iq@vaW{|e6-nJUpXuc!Yk^3G`
zA@p{+pnmDt*xdBAd+7AD=LOqpL-op)`T3=5^VAzlD$2`<YAvrWN8K?`Uz`H*R==R0
zkD$8&3P+-IF#)Itt(JkJaoSeosR|2e+L-mr@^TujUaK=0b;SlT_N6fKv=O`$w(0RH
zc+&34vTDJ$r_QowjZ9X?jw$Pzg2JMrV(@&nmQ#&5ma3Sii!_3I)tRF`Lqh}SPOjf7
z*!t#CAdyVY&MPvbap-h{B$}P{VO@fYRsi|5I%-9iGriH0AM^{hQ<1s;{#0tbFP%J}
znDfIx^SH+QW=Nk7+KR4zahsrySqc%pt}Hbt#su3ui{4Ja1N&)(7uo0(BD3faf~X~S
zu#qdk4j`Z-fdWph;RM+Q?abI1ZwjAct%oD9IRJ&4n@69J0qn4|iKkcZ5Y(t^MhZr$
zGnE<y8$kgr{@_dSYGDI{`6mk_sZ{D0I!Ugx%eygs#ciEruCI~I^$ikDy$+uwbA6pe
zQ?HZw8S5l-eVt^kUy5m{MKaf0C7RmCX{IvOY7)naO=it%4MKtFuIYu-<iIjVH&;?G
zTu4piWH~hLG9XAP*pzukVmr;FqZJk24-=K<JPIMpfx)xlK8SqL>!Z9bx|aGdtIS~8
zm#1?P!IlnQzROfqU$4`ZHroo&^{A|*v<d*AcC-f^3h=tXAjPIQ3i>0Aj`9K>AMK!i
zLjBlMcl8~2l$6*XSiiQp)xM*>W6!nMKm|UEy<QsObt5lOim-+r9vDDy%`4dQR$g=8
zb-Q=$ShsFX<EC9GyV|-147jamjv`Wf(OM<1Q)(zvQFBwnYOKg6+v1d$$&^l8I-!`q
z=wn%gfAneh{A>(83Bcum2&qFX@tH%-lPX9Rvng}}3PtFgQm~~W=9xodD%J2XSC+o$
znn1Nq)?_3tVjW^*$}t14GfYuyWpOs>@pxHEk9~5kh(0?z%d&yVD4Wg2W6_Au@4>`e
z7;{sG*JX^9FURIc$Pl)+U_+Sq=#1y=+1c5_zR}pZ^Wzhf)8TLrlBmepu$(Lp`(&-M
z$=H=w)D;%4+`T7Grl;4Jh=jvf+~Gtl37Z=27osr~z@il+hvGTVr!kovN^en9#0oZ6
zbM(j@z<%NI%%I;pi{i2wk88?>6iOFetmAb$^g7}aS&de!OeIwUN|9Kn8Cn@M6XH3r
zD4yb2%zp9GN&X|pBQl7hDpmzmiP*JL=``bT=r@moTP>6jn)N6N2a4E?6PY9(Y1fd=
zc$0E@o;;IXv~#!H<=t2i;&zQ>_3V<Yp8F)LrvslPtEWS<dO9SlXNzR@bVycDhs4h9
zka+3(&SiA4gn^E#_>U9E4;}=q#EF1sXegIMoA}XJ`i~z&>%=36KYrr~_1dDw;1Mek
zP^-X0bJUbCX%2gC5B=k(I&u%@9@M@1>JR^Iq-ViNf9-91?mp#<Pd)L(4}bX2kN?n~
z`x^Z?434iX>JuKgDuMp!BOZF?%JwC_Vt%k`-)BF&ZQC{9*;KK0Yc#rbYfBZX%(YkF
za^nq1ecW)vz8k2|Ly#?~7@qF$7r>3pL)C=f`7WrME2$9m8Ti{ncsz>7Z)pSly~{r3
zqSIg4y@y_b4Cg`WWspw4LcM@|=gT4*_$7xOC<UoD;^}9f73kt(9$IMv#4HP1sp862
z+jj0;yLQvHYibr8^Tyhn+OSf^$F?ohojA<}?Zne4=qK<xXsIM=Lbs%)^0X-UnRixf
zUQyi8fZle-tln&v$;@VJL7fRC)8*xrRpqNIVb1gPg0|uT?Gfn0LLORc6rtV)tyS^m
zt2W$pQ(fKm8n$G?g<jRLr=|_<UAEaf+V^%)*Wn8mv=@&^u|Th0%|nZQbYe-1RlGkq
zc<PkP)jt%5+7%h3J;$fuIe?YCzrW`qb#hUgJxZgd5E{*vx1`auZi6x$wp!Ek`Q`AF
zO(P=!G+9)zb6F;r4#-fowWQe~hl>RwPd=sLDn>%Ci3z{oGdLF|{oBA77QHw_a8MpR
zTyCOC7d0IZoS{G#8PRw|QHdI_;&(%DzVuR0&j&w0>t1k)`&~c&@a^t*yWhjlo86?@
z?xN-s+s~5jxzK=WZb<`jG6JL~d^S{$?Rtii^T>u1+pfbd@1_>F4#|p@a>Cp$S+Q5(
zv;Vgh+aX!8JN|?f+bGd@EfRgFW$TTxSV2L?qbV31<V}NvI+GWDRzV1W0=NK6akygW
zJUUg#({LK~gkLcy%jy<%--J-XURUPxH8jL}ER6?5=hRkywy~^SgC?lc?ok=gD53(S
zqicDjGX#A)4UDidQ@EfAKNKqde$Sov-h27wdq1~+<%SJ}AZFdFzrXIf>-XMz%icTg
zy6XmTM8fkA@N{61M_f!G08uqGBN*j~W@Lpc>3r(f)G?|bkDuW24mGX%=4}r>M5to^
z?(RLb4NLMlEXcR1Zg9ePQy-%v@d@f>fDh#OW@t@%<OQBSc5GoWKzoiXXitS;r~akv
zTVMOa7w)`s-!1Jsn?!eX_x0cS;%7hmna_UaZ~yjh@4OeP_ZRpQs8JfkxU|K>8v#(P
zX=^KLUfsB$P)$Umipw+UtQdIzg5TfQ=S@zJSVd=YYBG3kpnqaw${h?ur$x&OT9sA>
zalHY7@K5B}6a%}BXjc&EeDssIU9Lli#?u#%E>QfPJ3If{`|qAU2byDl_#*Wl&IT%$
zHo%yjoFumk^yzU~U_sTc6-sk9RUC<$^c<&KSe^>iybcuOxU11vm`5WZo`$}qGe&WJ
z;|%aWh#)WMU7w(JtCYc@PM3<>@{qFAkB=+!L;2wdLjDR%9-88e@(bFRgZ7o7owR;z
zjAfU#@T5?2VG6FS$1^oL3vLSH5Y7hsk>Ek$=F|kR3gRF@9n&1Z6le=g+D)qgbpwcz
zsAXEHc<L>L4BmhLwcqv(_VyB*nE#Kr_W+OMyv{~vW@mfvi(LSV-U$#O0fI#W2$7Vm
zLN!aWEXAhP+<x1MOPpLMHg|`#6ghU{xX6-|Sh6gu+3MYvNJ%WB*g*nB?`<o#_nrCQ
zZ$XLU|B3SC-sj%?K^l^aZ8P(I=X=jN?|IMQ*h6pr>8;maef_nUUwZjZ)PLX{us_q<
zat{s1mQJTVDrr_gM>(=j)0`a9N8(Zo4-le<z|bB*I}SWM#Ky5l|46h)?~{XY50-P0
zC(l*$Yq?M)M8UH2lt2*5j#Za7XuQ6(-Us?+2eE`pLtIrmAljkD>;1plq5mfuP@l9z
zi~9nKeK~iPg>t%w<_m!tt=i=G8;#(IOoyVVuB7BD6Y}MIQ4Wa|b~@nqAcJM~Xe~Hr
zcRsO%_H~K8o73#*Fy4ICYO=dZ{khxk^yqf&$|NG^DMe*{T~lxW=eWJ{(`SQ}5FS47
zVKmYfkG4rEp)O0V9Dnb<50_Jyaqg5V9ggq*^tIb=C|7R0;)-I?ae3=?b#)DmO^r>>
z1(IxHgmHX$a0>Z)|EtG5+9R(As8OkuheSUk9p%_%tN+664hRIlfqmCYy})cWeseo%
zBFLoET?2@f-$^~K+<o26pT6~$+ipilhx!%XlYj2ChdK8u>!D8f3%5gVhT7XNd`>+`
zJ)==WB_PXcp5fd^r%|ilysfu$OHJ9jjT<eNs;=hE4GoRtyER#;YjDq3$;F96p(-`C
z?9nbw13sdbfy67AaA~Qlu@eWq?s=aixM-EGvdTalHBym?D$l5uQmAYv!+}+jwPqZ(
z1`ngJw0db1yo!QBLIqj1tE$SSW`msj*kJ0w(cr@K9}GVB+(UD7hYl6Pc{buZf9lln
zKfn4sg0g$%ty_UW%QiNksI@ZT(Wc8})P%yk9*vl-@(D!P%(~W!3d{QS%_t(a*<dgv
zbkS^sWL$M)>o!y!?v<}bvyfeaGA@HQ!B{a8q?HR9B#n`7v2c4Ur7fL`%$f7ath*f5
z4@RSWYV0gJA{2SLkncd8aj#q&S*B=Tg!Q1oFsG5qsLD_*&$4thRLSWW+%So6*&p_$
zi&5<Nx=c9cOD4dG0t^Qe7}rxR^Drm}#$>a?H85CYlm@#egAaiMom-hz=+%b~93Ffx
zkQ+I1LLv#DnLf0zfM6JGhy+rw*oTc!)OUh)V%*y5(XQKUpxgzBP=VlGaC2@zaDZ{Z
zaq=I5<@n3R2k=i+D?LWcvl@vG%bI5@UbzFJom#wd#p-Q4u*S(wJs`r?pR{ttJN1AF
zTZ`4(K5^x`FW{y?`9q<Km04xMpjsWBo04jvAGnNW8%T~I=$1(=O;0Z+G9ZE}^q5-;
zkh7#HEnt!{Dd)cYj~6CF$rP`*EOa)jFI=$M<_`T?>8Pl2pE`bK2zNudVMAo)#M^J5
zSc!NTi@w6cROrztO|^jK=wDEAZf#$syAG}W*0tZ*;%x5gQz|RhRi-7<eCGOV2X;_b
zdz4E{YDjIR^VklV$nc1V85zcV#nGsbi3Q^zWAsx$k`L^>;pSUDbN7Ay)XU7BTkhBn
zGT@JtX7d&I3<TurWcUi~*iU0UKLh~%JCE|nkup;%5J;KIJj~?dPkET99-s6u^XFzg
z%<Q>&uJRh7Q*i%xe(LIPe*V@Qckk}*-q2oeay70i`|7QK^<^yo{T^j&YhAU&YIRiC
z;etq&AT~**9=XC`>+Q86a)UXbvLaL%_qwO;YNe3Nr-J_U<RUUG@wm)b#zW9QE|E$Z
zq*aumkW}TWt#zrS9wyI%Ayj1Z9)>sTJdDoFbMC`!b`zb=M5f1+ht5J##_!iwwHN)1
zi$0}RBS-E@IX$g3t?%nwZ^9QzO0ym&E5$u3RO1B8stcUkx(HFNB2P)>8H0``+K}mx
zUxJpXYBc|Z?1={r{qmVrpKmpTPnNUfd|0`Mk)+9c0Ta1vPA3xZVlbj6S!`*EW%Gd<
zx~MLrqi1Im<U6=ru%^&GErNO_Q)8Z>ODx(?q!M5+rb3)M7Y2VXk%Y|0ax@(eg^;j|
zXBYuuP%Hjm04+u#6Hr6}Jisn40mK?%?zOlgtPBUKjOE<X(<{sHo~K4f-X2??Jb5ym
zUY_vF3pqx5;QbFj0P!8SJe`*#yO2-g#kEx)rm7Ziqc&+lX*H=icS($AO_B$yJV+Ln
zj_{RB0}cAf;>C?K8eJFj*VpyS4q`!;#@(XT`&XiU_x}>%>}&8$vU;x*t={WIp7GTp
zoPCW5XNxmH*N8l0_a}J94SyIpKl0pjgM-gK_lJ>Fe?CQ;HjR!hk39O+;Wx(q{rQ*P
zIdJg6;p5bk&?k^FRxCa#7*lcNf;f6+#-m9Gd~WQ)vvYH^ffUy-e4iOSermh$ZQ<MW
zn{N&XUlqP6+@pTu_doo@n!`Nzr|rUB!k3w+e>OOPHr(G9z9;+HFCKd6u|L9V{x&{>
z?8^-HWshVDNg|FuaKNJp4-Z~;S<;7;$om(9fWALr?&yPxqL=a-wr;)s`(NI8MSIPf
zA6?%`sKNh6JwX5cR;*^l-FMx4&wcmacOO=o7jMqIhmH2+fv86!43Cd<MC3)jIxig^
zRVu)4rCB+5ExnmKN<BzT(-m|Dq)7Hs@6jl^qW*^ZH~Q|s%z)E3eC0a2iyoj`Kpoyo
zcTpqwnWQGD>C(>(P<#zwo2*~>JL=~i>L-W_p!QP2KmOcvC3jvveo*zyGZqsT2ct4@
z4Y&4n?YQyA_3JOce&@Q4Ef@3P4Q;o4=H~0x-!d?8#T7d+z$?ZVorlp|nag?^q?kFx
zD?IW{94;lcHZQ;~F&VD4t-hg6=Txs-S6R8aeUsC@3Grn)8rJKbn>(!aw##}pG}PDD
zRXU)(jkRgO0?q4iZ?$Lx#L;fIN29B-1%nc$8&0}e!8L54O#Jrk_4Rk|zN5M8Gh5f3
za8=`VI}FYGdvCZJ3H*)*7t&N%rj97ghmD1VPm9685v_iWqYGVyWQOkU?w%Sw*RX<Z
zbZROdzi{qcaCtfy2q2XopjIcx<6-LfBvKJRl&~Q-hh@u<?Vs@iEbk{piJDw2YOxfu
z2n+<{S<aAf+2g^0Mk^T`E=c;nv&IB$VH3yCL|aet#e6Qu7jj^im0$oZm3bsCBQnpW
zw*oq-tPDjUv(KhuT*HOM@Z8uKsAJ=^(O?X^_QX?9Mn{H6CRRu07v|su%+0|I@Y2Mj
z>dmZ|(GYJP;V^Wu<~15p_lmeI*YMLfPrvx<U!Obor~iC@<izB~EcU|K&wldIW9NSM
z%F8dk^x_LIzKE<ktaB$oQu79lm#K!hI&u8vT3Zo$btJ|CWr$=nMj2|9XbI6KAr3qx
zNJ;#0A99pW04O}QhU|Cu%MQY5l*Vq6g%MZge_do@K8t4(3$t5fVRnlw%x;l|xlUwZ
zc8l=AZjpugB)yCVqA)I3&&|#+g)9bod08e4PL5LQ^2YIT=ist0mVy8=0?N3oh?@{V
zAOZ<GhuH$h;A8y2HIOv3)_UmOBge-Y-So+m8qLUCFA28Z>t1_p<Krg>=L5k6!lmeO
zORgmW2O_|rTMw=zbqPyw&@Sugso%H*N#O^m?_<6H*m>Wr_kQntJ9mEe%b(qF83fCF
zKJ~rN-m&MdyYBh&S71i&$J>I?Nf3hwMd;!y%gd<D{0LxhB~kO6zjXuMO}Enyx}5H%
zX5s$N&<5H-{R%%HP(B!%zos6L5UKu8QNP9GM-c!Rf)N>m8CjtMFd(h?H1IzOm=FOB
z-2#NEs7u&`gD81>`_=tBp^WyAr6T-aQ9msE$G`i|cMu-<^fjBeU%k7%{hMF7>+Uao
z`72-j#^2y9{^;4O=<RK2C_xMn?9h?oI_eT4`Ph`iybVM>eRVm5e!!u#qx0$X%1U0Q
zi!BbHw%N{UC_au<#OxHx?!3e+CU8RpL3F_cifu2U6Rv^em=`ZV1uebs(!q1-^vFm-
zUlAC5<Jsosmt8V?b!BP#)G>GxYc~<lLj*^3<47n`myimF3AVDr%7TGVIH6IYFDlE%
zeM^GegpPm4+0`gyxd6M7{>It_oCgdMK@*(;y^*L(sD<;?&CNB-QbS9bq+Ol%qo$Br
zU64_xuDQ8}bEwP3$mL3JHalBFBqEfe^P|Lox&&aj1`<VxuMS-p9UYolK<`6D7iO1M
zgF&=mT1MMA_zJVrQ>ZFM87Tl0(1{4K=twmtbqUOH4J4#6HTdIyedw1zdh*q09(m-@
zp;w=I<NWbckkNhTKVEzF`RD%lhbNx^?Z8Vzc9$R(5qi-9)R<B6{1LF>o<LmTsV5LF
zxM)9~>z5sbNhpn%ME2ta5kh%EWItZOGk3v$JTI~zFNo~Nb0YikjL3dGC$b+ei0sE*
zqDbIfqDWw0rPbi5s&<)xtt{^9mgcr~O%)b>bzMtGldA%4xLd&7Yy}U~Wp`Ds0~4;H
zsimc=;i{{y+>GWGRb3sn4b62Gm6Z;Y$qJ5`o?YMWE_W(maQdKMT0*0Xv(rS4cyJKy
zz%Go3{3MZF8jI+bj!_B{ha*Jl4wd$T&W7Bj)5Qv22?+Gi6_6w&F)05-I(&ckwr2PG
z{_Q=auSL`4+i$+{GoQVFb7RH8RiFOc4Lw`7c6Qthn)j_e-96py-CI8kdG>2>xcTP3
zYX?fo89%A`n_F((-go!s?nOh6ty?>giHF8?rQ-8<T;97;52MxxEr#V~pWk=vy|*8G
z?6D_)_q!*ac;b(*j-4OH1cOT5@bIxezx4*_xv#y3X6+Nx>blxmkjHpeE1G+4?2+?c
z4Vb=&F-iT?^UGjMQ_1~(khE4AtmZ0Q#fIwo@-n+hWiL0K9$o>aN9h(q`Jg|52mt}9
z(A3Dt1s}4rg%B=FsDShL1#L2oy|%Wlwx*^U1Q3mNW`rtatDy1JhdfqkKywR*w-I=w
zwpJ02mmGi;X;COq*vT*OtA+-vGPAt2gh|RoXCYp3>P#ApE}>X}%mmzSxNc}cjwWGT
zAIqz3wH?j7_Uzen%hfmaZR)bwHeA;9v&TQ29GhB<<&tnee5*4n3*+Zb55M}<lfOTO
zYUT7WNcF=Rh_|0OZ_~Lp?%sX<?rX036j=4H_P3s-Gm%|XgQqV5g+?M5ps4D-4da%Z
zp@(1`T|nFQ<rO~>*Oi&N@Hkk=xQQK>@CQeZfXy$R{_`(>@r$4SA{6x+i;(Eb=Xjb;
z;jNaJ4Io$c*{u$U`&ZWCsg3oGwbfNlXH`w5AW`dedV|?&CIXWtc+1e^)RG(_I6-EM
z7P&XA#cs2!wYD->6|PT1eSJNM!7jI4VzZd)0NeTyE-Vd3j+8G3QI2GBU6Fr5u@i!W
zG^;B8f*e#V`b{KIB28yw;Qsmig`yWcTLg%Z{Da(E0ptQnKF_(FCeR6pI<<HJhvA<J
zC%VC7I-ray$7YnRi9-{R@gfb{{IfwXMc*%3e*eLDe~5@=-)wMoX<~F{5$kAn<ou~K
zr_K&fE(Sv@lS7lf<%MNG<PI>Efb&)ZE0ZTrothm(Go6|D-#>J6`26(r(6H_J`C*8A
zPc33`PEUtZqf@hszE!wZeV_@IhSOPw>w(-fMnj9;3GP^l18R4=i4Hy?Hn?0G9k|P+
zcPEu1Z6p$LLBbjMEZ|g8t=B`%xWokD`i_pxoPOs|hfiZ#AA9}fC!c-dnU~)^Ju!Cn
zofqFZf93>eBCo&x`m5*9og1DW8GPrl-~RUSo3FqA!TbOEuRs0mD=!>6{Nl^D$6k2l
ztvBC1bo%tMBS(%*h2A)L<kY!2C~5S8apXi7RY%AAj)8%JzP|qL+qdt!x@jGVimffp
zIIi#Ah;BF?>(_U7cG}8vn1Gl7*aJ~);9KIQSOk1h#xMnQdASqPKTtA~a(yrS@s+pV
zK6?5bicyXao*Nk%AHQ(s!=vYhMkhy3pFMl><OnRn$#W-;ynE#Bmk%L`P2?p8FW_=d
zpEv}u{At_hnX{+B_C0p&1diti!=d@Pne&Julol=a`Aj<KgXzGRz(5L{)ck{)i4pP>
zvG!$Pp5^6*qy!Kc-n^iI?z`FIaOu4o8eK^dp3f%LX&^ePu)pu0e)RA|KmGULKL*zC
ze?Ilh<4-;P#8bcf$=-i^<jH5Bd*->PUi#zj(X#iE-~R45kNoG)|LsL0vHkXuBgd!C
z4-KFE)9-)!FYleQz4P{;Uwie{KRo*AQ!l;r(%Zvx^T#KGLl9W=SQ$h=Sg9r(o}Zte
zohL#y^9U+<X_|DI$dZPy3k&2FW+W_D2bg6!L^ff*-OY}D`WSk{LMupveGy91Nd5K+
zG<=494vCF;Dvch8cmf)!>eMo{6O_<UwI>6SI>?AfRY<TCvKviwL8Pb(7GzQzk#bKF
zRl^i4Rxzj2Aa$Pxg|d&N-^t6-Xad&@8m1UUNFbEnk^D~J$uF=*am?``63byBDX9|L
z6*{ei*{4VB5%mZ}Rv+)fBe&d#XlEuKiJ=$9<lNGnFBr~b!hu+0m06?JsHBjW$DS!u
zD^yy8QSWkBRgs*&L=Oh19&85Qq_^eMVO+5V!aRczYox47kjR$7Z|Ea24Kj*}ATY}8
z>^z>8MRNey52XS#P|9alOTQq8)hr|!t+=+l2I40TjSX_CR|;Pgq#KWtC&KSgg;grK
zXDhUbl%NeJWLFTM(ddk>N{vaSK`-4R35<H>LPaIEYIs5_k|2U<BL2>=T=-+{U*znG
z<Z2NK7<>u29v+vpm=|zmaLf4zpRFi27@<Vd+>8%WDxL0zZQET<R+lc9%hGZ=>y^WY
zEe%d}(Rdc{&cAYzR7z>kJPY*@TzS%vTB9*k!x59_Q$<(|d_v*Dy(DY;e821<;7@5h
zFTzUCi?GtG{|8q3DzMTE{{yV_v<NHxQG}JA7h$D;6k(;W@A<g8hw6(cS-y}L($Qd;
zZ~|9-fmQTUP(g)k)B5$Gn{<F_v!St}Zk^Rw)7px?9_eM6Cy=oagtW3MYc>k*<KhBR
z;&Uhv&hYtcB7}ndw%IVz=RjTzBOI85Wtf>J2UKxjS>dB-g$47<Zt*9;T!hSRwNwGh
z7Qz$gdrX=PXVT;lUYZ6kdu((J=4qDen>0vs$wVPIGdwnf2{?ZG{KPWkfSMrW{JGC{
zbX<1_`d8n5?bW+(Ypfo)`R1PWZE}?rP0BhpZ*B)@keRHJ=~?jJkH9FrduD7UoQ+48
zE}(?7?Y;4N>>Bf>89F}nrvn)8ki%p`3Su1q0&Qr-HCfkqZkfi{O?s-8MjZqJB$8ZS
zLgbVPb$xYp;`lr0c7@y>(8If2-(?ClW*0h`YIW#wmxa_7R5VlRWhkxs(L0C-ambhC
zrRMV0KqTZd=~SI<q^DYo+f4wD-DEX7oMlxtO#pRmE$dp=t#57HcsY7dZOWz+FszAG
z7W+2ZU_*wp0?Y`v+pHw5oiPoWWN>O~YI=4xj(U<b2>ei;1}gHD5v5PE+oP^Io0Vwn
z*b#v+@OmvmW%u`)9JLKi_0`o-e!-1Hd%j2_<_jJ}>DHOl^mJkF#EBCtc~x`Y*x=NK
zlZ}=3uYKVQU;p~o@7%eQARJ5-WA~QcUDtdDZAtF>tGhpU_gDAag)Zg)w3q7h^hJD2
zFsn;`XpyF5mX`kh{_O)hcJAESY|i0vY`yHtIe^gD|2zh+RUlwN(<St55?C}mQ7HLj
z(wt1hAWIgJxi(&ZJu2s~#Ih{s`aaX&fBCj;n>KVbHCJLsDX*@<8ML&mLv`2s_Uh{P
zE-3AEcXq7nusdoST^*Y)ziH=nx8HvI^}BZM##g>#v$dytW9Rzy?NDD@-`%^df9I7~
z?Y@orqNgt$ASD@V1BMq?6?PQ^ts21dAsC{eskynip{}{3XVZ=yC_LG`siU>tU0LBm
zBZfl3e9>MY{7non2{5yHuC~S~E8!#pk3@rky|_3ej+)YDAaQ1;q<Jo#DVVz7dvQ46
z1Ngynpk1eg9Dqs-t*0C@uPB3;CjEanljRY#lB2CH%zj3O4vR@V(pQwK4LTjZywPDb
zYt>9P2DQTr=Yqk}VaQdV9UHrFB9dGfpO~3n4uySKXA@&%Q&<Qobd->33_zMdNhTDE
z7n0dL`ZUgZ`l@Y2HH-jAAW?G#K~Y4>%BE(ayq>@w!slZs+=?ZfdYUTjS9xd%U<ct@
zy2vV(X0XF>7Am71Nx~|aa7<m?N_I7k&{{!bbGux?W7X>#Ys)NbVg;-9_2(xi-+t|P
zzx&;D@4WrilZ(NV2j4w*dT4%r^qqI!IdtH_5nz(YidAmXmsQnOW4YAXb&^6flcyBu
zaoxA2p$hZd4W4XeWmU~a-0HTrR={hUya>1n&x=nlWBD%!Iv}sjvND#<LYX3u?4V4N
zM>`fXRxufs%}7aZ?(RWZd2bij$C&jRl?pmV6b(=zrHcZ3kLWBe2-nx>VI}MF5e@Av
z)#@8Qe;H~Gn;M-iC$5{;V9?^X28#)7a0=)F*DTA^G6njgNIk@O2IDDMNb)}fDWg81
z@3rB}%kX8f2C`Cu({-A16R}26UBD+ZQmCDKYzUGdhDk;uj8qL#`o{=xeK{RD37uY}
z1XrG@uR+F6TFj9QMBq>|xsb-DS(Ig#kMFpt*`bcJ7JfB^i!%J-heLpGnYcB_%2hf8
zxx+k*f_A-5#}=WDiPpcUpTNBIc4ne+QsY7J0V+MnNs{lXM3IcktZ9WKqCgd-qDTV|
zfKUjCo!n1KC$iB%>18-9`nbLjg0MIRI3xvvU1<D}|G>^wvY1V!&WlhJOeet4U?G!M
zKyU=JEsAC!Kw+7zm1M!wYZfvdi$^1|SR@2}J9sE$E;2ON1k6V4UzY4KIRYgJL=YsP
zKas0KTC*@%c|c;M$gqqiIq{E%P(+y~fm|?SIj-+y8l}#w(Rd=AD3Un<$tu7MnF(t`
zgVO0D<o`92VkS7J)+^OIILJd|qlg-ep=uT*uxgD4{K4hL8EgrYlj9R(!((Vlf<U%{
zl_Ez(nwNO{3Yi%E%mCKE&lk%v_=<pvyn-|;E3+FlXicWbDipMYrSMH5k6u7#Pzt~a
z9L1*q$K*)2EMOAEvBUr$N!FPBw>HQnA?Q>lM|p>q6f=<qJrcQIPOuwH4Zs#@S%6eH
zD@Z_vxrjhZ?@@Xe2`a%KGUrP71vU>|&2Uelav<=KbV87W_CkA;Dm+|Qi|$nz|A*z1
zlE+E|zc9143S2RrqPoI>_fl3ML#(gTTdfv7?hwFk62?VQzSooxP_vKAkd+YYnvJ20
zjE63uqX23LDTR>st|>D1%MO-67Y^G*xJ#@FzfFX@w&8h1n`4^@cWo2JsKlB$Voi8)
z-$Jn_jyT3$F+T2_9~=ya=a$gL;K&C@&Q68HgM;%+xW41a^{`SM+yaQdKu(*5I5>mA
z0>nu|p`3C*%9>9fdhD^Wv3HN3`tZbqKYs8rC=WjN*r8)s=C4q1dsvkVhQ))T9&1kF
zVe>5T7}O=k#uCQ;6^)JV%C@#-(h!>-TdFX_u}>!3+A6_*iZxPA9=1RnT@Q-`paok|
z1L)ylaj?nvSKM~nj)A-GT3M-`d+iTL`&%3Bij|eS?iw&*$G(mF4Afp0FpE9VG?)b8
zo85jbwp0&`LzjMkMN?B<ZA*(0gnBuvs&!Yo>_%ftORW?5uL;5+EKe{9sS3_w0zps!
zM#%%Br%5H*k2>l#$s4CrXRSu_FlS|TeN|UicN_kWf7>y?os<pVo%B#By@v#1KsmDa
zc(5E4LUMmaXJ<uIe}6+mXZO~DEqDCYp6f4fXz1^6T89hVNj2j|VJu|G4<!;(bjnT#
z@x9P^8xp_a{S`|~;Q(|Y;{NbzC_FMcGP4|yqhudlk&8=|-@{^S1bLOnM(`4x3F4<~
z?^KZPub7>UqOeM*>(Ca`)b#MYvVo`&te{d`GK<}l)kd*ZdRQE4@GY7d*dSa;*euol
z3W#r_D+dG)q)N2{ks%l*2~_inSan4509_(5Ad~~fM;b38TZ9L<6aF9h+!c_O6^ew~
zS!wY_VlWYk$w^-p8*S-xCE$%|JVczBoB;yM2uQOyg!B7<^AO~0_7aUPu}Y(uH6rd7
zcDZQ95FLX5PNnfOQB-%U$Wsxk*=!YgDizDiBh$09a|hpj@6^ch^6}&2(~yk?Dmjf#
z8xXjJ+bjrBGhtKVkG}tG(IYJ;@i5KFjvs&SPX`aYw_W(Y@B@qYk>`#d|M|~fc^g4C
z1PuP;m7o8ddJ*q{n;6BU2~Hpw;$d-kmuP1C@i5JyaZS*-ygcuA+ev%g=H@yBARvht
zw=_3X6`s8$R1sapj#~*@q=&`92n{KkRH*K&Ku{PFk^?(-Zj>QF{MpamPzSq?xZ~&V
z{Oo6u>MVWq^f)HWz&-ce<6&`VfbIrEG;nDMbi$NfG==bl;SbZSvAxx1Qq+Ni*-9Gu
zeeI4L{=ul@CHmf8@Qp2P7Mr`52fqAhxwzf!@EjU9^=#^Fce`6!TorI?vHR9L(Ll1w
zBPF$HYOD~I63ETN;^1UFQi&Q53tYwK%{N^IM1Jqx_uhWf=FPizZ`i0e7=WX9cJAIy
zZN{rHgDpC;Mr&$nJS-0D@$IE>&LwztD71jGg23?b=;T5O;oc=5;)>XHrk5rrApKst
zaOjfEW|P>=aP_gHL41iP#p(N?h)U;xT4$#gqWF&U^AlwE0_aIjKqhL%Ljl{!y{v|G
zHuA7Iuqg8(5?NBN0&7r)trBg}1pEyP5e=0kux;@e<P=gK<n6IgX%e9EfPoS(2tTSY
z0MD5%cHc@EB^`$8>DegO2-$%rrl+YTd{ulMEl!kK`N+B@P&bSR_my^)yZU7Zsf*(t
z(XMij$eaI;XpMXU&n0~^?-uPU_lkCvdqivG9?=@PN94_aL9|AcB5%G^N^p@vPTU7c
zL!AyWCTO|PMB6#WI$9f>Eo^*ZJ_1!C9w8!?wgFWfUR1?5B7Q`bIZA<1$P5@&@+53J
zolygd^UFb8D1`5@C1f~xsYioOE%i1?uHNM|nr(KYRLEa=@10p$`=_tHp<Xus>id&f
zw93rV8l&TC)EE-lI0_saB`hy=uE+dyxhkvC{#56G|NZyrh!shf!l?@c?k&y%Vy<$X
z4AHEnXc^oT_MHn5?}8(vQfr&9*ikK=c<sIS7bUgV>|AHk>r`?nP36ativm|rD0mx%
z0z(Z=kpSZoL7u_52@o9=`=dvX=BgYe2L&l%i;7dTP~8nu5-prvMZfTM)$aotIL~^!
zqw>z}5UTwpbG7Ql0pU*JZ-u{O4#}?Dj%4|-G<P>uLu(4O;^gy?H^qtZe8$_zXQaZT
zuYUO9hsTZ{#wnd&X#BwsexRV=^Lo9pT|EfAH#U<pBs<q>M?Iy<W-BAHj*P@;vDzGE
zPFH#J#_oEDERoGA?G2D#sH`Y=mBEFwNKqcnp-8;}H!MgZGJrg|6X~1+U>faWv7U-L
zH8wZ}7B<`kj+IavlNs%?QbDd0K`R7eNl+kP2(2VRdx|B{kQ`lWrTLgYu#!MkwMtTi
zmM~RB2w`z8$4MiRE_iAaQM@>tgW6fTP(($k4&-*k09b=|?c=aSq+BQYbs9q703L;j
zp>RABgrG%%H<r0H+2spkL&2P?%C6?K&=D#oqoLDaXkj%`=rPj>t|jeTAQLM=W>z{!
z`i~WLx%v5dd1V<kUi5q^-KkCzvqK9=V(JCE4NzDHSjQKm0bhdFxg2F`I=O_-?x-h1
z#W^dt!|x$e4h*0Myavtt$iVl-WFZpdR9=Sn6|f_cLH5iXw--)xTQQ!(rJ^g$z^N$P
zMHFXcavUP02&Sm=t5Z{p$PuS9fEc_P5h|PqtH62Wk}4VzQhZx8rkBxXWpD<mNCD2J
zIg^F~B9;fv2#0p>z@{Dr$(0CZjf8|>h_GBD6io9ftI4PkQhv0Ugr|eJw}e*1*&r!r
z$ZRx#@1i07Yhc;PeP;8xVmxULYGBf9`5JPUi(Dt@&T=^=<S_&I4OI#WEueloot!>#
ze5p{rrE|TFUpV~XWGs<{Iv?7?RDc-IQ4+2}!c#R)1We4Bk|6o0V(?0elnt|1x)Q=Y
zij{&b8SckG2Cyx^etAvf{N8@qL721BxKCvJ?iSfTamChscqXxZ_la!Zeg6a7cdy9y
z-7B(v7P0NiWPqJ>QMg8dL>%qy3{-Mqcyw_!6!8bp*h^|RWYJ?1K42oWG(9>r58Lip
zhae*c0?1S%kt&j2vrH(8tA`e^3G~gYv|zy!i(#=CbiyLn86pjsqBBFdK8p*!e0c@G
za^&gfKbRPqI(u$rd_mq;8CjlRAi0E*V}E-7$wSmhPX|=9N>Ltg1kqPIkTWB8$d1n8
zdj|ar%g2uCw>2Yx1Tr>8m8*D+>(mICmV&~JP1TXhAi0uKIXb)A5Sz1U*}OVEH}6j%
z6|b{ZRJdDvdMgno@X~M&X<q87HJhQI0JIM!L?8(X8cfvJ>rjH8&!hYcMs_7At>-#j
zJgg*dY`yl{YkT6W!w28-+k3wLjW1kx)s<Zp%4AvKor7nV0!c&F`u_f%d%pV*18886
z6A?<K{sk2!w6@kd=bwG{*=dHy6_J@LTW`MET?*&<CeI!^bm+u6_03#oH);4(yWtAt
zJ$H5Y^lsVQy|H86y7e12BF=`<vvq6F#tj?6>)P10zN5XP6CAY;^nj{tf!S_CPhwn`
zx;k8znsO2qs;aKW``Mg`xY=!13#KaxI{l^9V-@fQ(482-R;t&?a#@MO>T<w;mFtZ<
zlZua`A+|xMMtzjpXmz-(Q1IwLWFA><)TGb?$qY~^ja@}J2d;rqp^_m$y-4D@ktkWo
z=?p5vJJJ4JrP4V_rchh%Km%jBp{ZwmrNM%>+|F8yupD=kSGsIggW6Wx+|k`c)p|M@
zCPUzjfNtcBR;#9xfUJ@l7tX?<H)-AO(3u&S4rI%KbXKFZ8|D@Hqhc<B#f~s(8lp^m
zIykowf<;+HBsN8Bl{qAfKxa+GQ0F!q04o9An<Na^DDboZcbF%n1G>~&4&jY-2u0q+
zt<-|GqS2@oLWraDjJGYHio+Bp<yx(yoXrHsr-O_BK%~gZbCNQLUZYm3^6}VeAT&K0
zCXNQM1)GQE11e2G1T=>Yol3${Nu=<vr6obD!N#rB8gMk}ge9&M=3fGiKFPwPtum@Y
zvFqR@u*%@lfJ`qZ!F~|iNdzW=9+98|L*}KVl|b{JTFl%6i|dUKh6RP4hj}ZM0tbjy
zz~0HFLW=7|4gq109O)h$l*;rryCM@B8=XSPD~y0`T8<E<3WW*@B=}dRFAV!Z3@3Y0
zLGU&*h>;ROI2FJEC=M6`q$=j;6H*fVk*kSfzDZx0=Y9r-Hj4h$uS<UbIN={ZT;tDe
z>X#jaaVw2YB1_mKvV^-uD6j|5B%abHktN(DvV=V%6xbs|fjuHi*dwxpO(IJu*8Ozp
zwaXxR<K`qXR+m*L$@7R3p(S^A2)EK}g~SJecECO`gL<4lZl*@E4|Et1DRC(mmqSe(
zo66W^7E;DeWiIj*wThR87iSk2XJ;Zw60d=)umwxlF5Bk{7j`0bjvsrOFRX95;-0%&
z+mN1aZ@(N$PF`hSZ+CBR&z9{cXS|B3!-tPTxaG)^ee_7CpL$rmY4es%n>TITbZVsb
zPSU({k{XqL{_gwk`{EbxC0T=hL`A$H=Ca@a+wXnv@3&JP>R;%eyyc}{g(`yZkF59p
z`|pP|!VmVjbe8Vw>Kgo1SF5!Z%_zocE|Gj%yQtgo9V(m-tXfy)N(_DB*HV{Di~Ha-
zxsbf`xKat35+(#?S#%8fUzA3Vqj_T}nJdGD!SyNvIzwE{0##-qhv^SP&Fc2KA|Zpt
zh`gy*En6NNx-d04`u^cl=jS8YE|h0_t#KX;lc6IuL@px<Ndv5LnQfno7M6lxqNWm!
z$&@k*4eiiInJ%Q_<Jg(KN;Fv`#Fc!3_A1c7oFEK2v(J^u41!jIy6r$9m+~!)of}NV
z{Y&#RaIGfrste~YAdY`wSj~DBQjNw0DB{LvNtqA;9S|X8Tcm|}XklS3Mhd0R1-uGM
z2oZ=Og!D>$mXVM_3`QfarsTsAfKLF#0+T*Ied48;rxBSPAD=i)y@XetIyXEtG&Fd!
z+2K_<+uPgV8n0{L=R!z=gam=xNKkO?Na7R-aWg<1G}aEF#QxG%2Y-5P4fXWP4pJA#
zC#|7RiPlgbp8Nk~4Q={_HB|peYe>OP#bXE@BXo>B3!MzDqLGILY0@cFLVGRK^8pYT
z=O%gL6lxug(i+<D(#hUjm?P1P*(qb0AS_=Px9Fvk(9F<VkQnh=-#I)yIXQgj%{*B`
z&h_g{OGwz~iWYWMR*_p)RTEE__1yf;@1SD3w|m3JtDrjORd%=3RfE0O{lS7)f$FIb
zkb^sZ3gQZ>e(LAy{v89`w_ma2s@Xu#cXm*(QhAypeQw$B|NVEq@y&kfKlb+1l*g<6
z+t1y2_0`vZ?mPS6$44L7F8qV=57PZV{_&50^l$t0^_GpBdV8_`ZrQqN>+a8ggDf;o
z@ue@`y$3o)*HBofp1sh}b(aAdS;{J{O=PFWIb*fC>}$)2(Rf^iq8{5Y;?7ceE|mpy
zCJIXu&e2eUjN{~qiz!!|EGDvykl-adt3<ocl`mF9fdmOEogp1g`#~2O8k=9t%Jh|x
zGw@n#sw@VBwYsrFftRHtkwwJ7CH8$Tp)iNZi!FL}Re%s!G#H{0rA|Zw^Mo0!^at_&
z*dlobQyU2!vW#%0i@A|7L5q-qqxek3zqE*(x*A$q90xS?D#vEfR>?m-VN`e(fCXye
zx0YjS)99XDavf3<1}W)@@gUX)mX067JYH)Q>d^2iq9#JUChG_}8ohoWjOq#Sl`vM8
z)$+jkKmYczQ>V@h4vk#+fO-@kc3}oF`GuL04!c+3=;&xgF0rMVtRu39N(*Q0P+C>w
zukdoP`}`9{|8r>(sZ^f5gj?`QT>%t(F7;JWh}Mt{Ylw6sSMH$?qKddQWTJgYu}8l4
zXg}84o=ZxHpVSpWwdazCf~Z0hD}#Z0e;j+xe*C$JO@#cp4!gpB>K>SO?8J2Y?RXMO
zGgv(4g|#Kx+O%Yj<|#ZCd8N`zVlZ+0>G%SkN>98*v-n-V;Mxnbf;a5vrEulQ-~PL6
zA?{8tz7`6cJ+UV;(Vi^(|Lj`CF7|p@fHl}pSAGi}5~wS%KIs{XLIKLdbR#)!0i3n{
zv@8w^GOY@K)JhQDA@I8xrYZU)Op-nszDG-a68eSmy_gxLOCj3}djDFljKA)e9i%Rf
zZ;8;!w?ydVSE5<*H9XgXEAeg7mH4*kN_<m<PX0!OPQE6xtp7`dPO3$gRoj1wae~|`
ziO(Y~RM_8?o}ZtOL)-xY6AkZlm`w^PzogVF=d&3sDYP&vbDIoo9z8J|)Npp85|IZ$
z*Q(UbWo4>d0IJDB%HV2Vv%h9^5QC1(<Qz<M*gt~;YnW#A*;Xj98le@J@wUQ*gbyD+
zyrfXnU48Y{WrdCF8)^-z{0UQq>2Pc{7!JkKv98PO-10Qs{RV3?nT0rE5;}lo7VAx2
zU6%OJ8*hw^2=1Pn){J+f2A#7#+BXluu1^dd$P=H>$+>`h3GT%N2Oh@PDBr$)d!<CO
zfJo6inp!!p`qWiBckJAC4Q}vN;K34)r=C_eZ~y!cU~GQ~zYY=6a>xr%h++9CJIw9o
za(?0Hn&}@LQ7Tb4*S~c`N5_V(eIG7*sX5LdlQ9TxMS+z8=)f_%d;mh~_>o*8lf8GX
z@b{&k19Ua@8|t_C|6$Y=JPh0MB)Y6H{nVqX-Pd2g`?}pX-o%*i7(iXXIogGdquJwS
z;3sp&bcUro9?vOi1HxQCxUBFlv_P<fD98@->!&Q1xQ7UT?vwn@7r%)5<$csYOaJLG
z*=M+3cx}X;MuY)=w%ul{g$r0`w?lL}r??SLF{$tA#p9chZz7}7=4{@${RTLNs9)cQ
z=D;-RV3nc>>By-S;!A+1@L~gy*eQCH6)rnUAzc;A2`?2VoicP*d@Rx8Ef!N=C_Pg$
zI1>0Q#D`GAUl2S^M2L+=OI%#7;^f(LBjbz9VQDIwR)D5~{CBRfJT*5tJA<m7hNKiN
zAf*bT>5P2uGQwgqoy7u~>u6{hjk~db<)p~md$dNa9OhZ7Gm+dtp6ey)=X6>DPAone
zQ7H*dA7TX|c<7lAUVP>4_s)$hXjYdZ=7NC5U&!RoA3k~H^hqcpH-t!ELUd*hh2q#^
z&W6JojjI9W4~eD8vysRWNdQC38=cB)oFLaJ)VSIB%oGPE0ogQwQ;Vf(p2PV;DO-ay
zv{En{G|+40eUwrbBure;IPwOIM#bQiJq@6$5TCOEHyC}AT?T_ZA4T)|xS%rOA7tm$
zvS93Zlq+OUO~m}zQz<3qK>!ULivo!@f^?0{(`3w3tp<!y70X?Exs(@XP*M;f3}p$z
zEe@2Yu6-abMUl#8&>sria%G*_%;uw`qkcaMDA6LVwCPp{gIdqpcI+D)#deH{HE;t7
zr=jFbz^(LJGf0hsv!K8iRE%RwCmr4Wg2xcR?I$Bi6%*mb3D{cfnp`;z!wP^ar?SMk
zP9v1Iwo_}-@rm(h(NBs*yut?DHd?{SkX0dWrk6xkd5_gkh)+Ck1GU5c$k8K5N$B_e
zg2!-lp)`=B$WEVl?bp;p1nTZ92i=k)nIS5KsL?q;V_Ubj!PmKyNvTJ9>g>qG#D%k`
zTCHBn#ytuG9CA|lmN-oUkc*zjVL<Rk_-{XskE0*lPZ6tq90BZ~m-e}D_sb4a7st0n
z*8Mvo>;9i2>;BJGYqeXSWZl2@3D*6uMb`cAMAp4RWZlKONxd+8WDO*fxEVpj-u%d_
z1Tq<tR^@%k$g!EJiK(gSxfx29O$X)|(a=2`4lEo&LK0$8NN!3!P`lJ>jE1)Iat)Ox
z4vWO-Y)dIUw!bv&AKCmA*Bgz3iOXce;Yoa0$nPI{>#euO5(y3LsxTa0_~rWt-#&2Q
z{SOYYhE#O)*hv|kPR@>>_*Zlvq1>o9ma9Bgx7+EccHh?9>kz^pe6YMMukOArX!6+p
z(z1VK^n+Y0c=K?o7|7wnXq9U;RY+-68w>?798>l64PS$a$N1DW4eh(XIDqyLPf$-P
zzV`L6ef7&<{_59Y<e!CQ1rv`m3&>^+4i2tLEW~BDN&|zWC|YFPKSKP2Bl`@swMtA~
z*5%sp=}&*U&*j=h+Rxxeb#-lR8YdmN>84w*qGHse)MNO0wDj{h^#py(eb+)bW`S;?
zzeax(zem|L^p<@T0wPolcK&-F%s`eWV*eg<5xI^>9(iO;-gX~GyK3+e!1w>!ykBx7
ze*M(G#s(lhI5vc@gF$xR(qBGGX_5y@4_fNY<{h`+ekJsxySg@z&FvfC`m68X2&cna
z`q_ue^+Occ{U>_Ro`vS>YtYB|Jucu+Dc|0DgL_M}o2sj?sVuWu%iL8tzPGp5<#1Kk
z+M3s#l1f*Ov@p==NaJ{KFZ>Z=8s&1rcS6GeErM@qmMy|Evszl_P!k>#5JfT+4WcRL
z?EH!!ELInA7W@dNkk5LclbVRHM&_c?tiY0v22holQ)N9iBdRYjV|7Mi_Ah!gIjM^4
zMbsWAD^;n8aw}e9MNk(SR`6aTQY)owLxG0VX){`aQ%k5^oj-nhWIPlXNZ0_x9|o4u
zV_jVI`{ovp0Ul9u1gKHsGJeb)_t;8iU#YGrCtlP=cPOqfbG?MVgdkR-K++o|@C%EW
z;(3x#qtQlknpj7~9l{d1P)x2ySp?NG2zUXJ0y09EO5(8sJ|SsRZZatZG!9OuB`Q<7
z>M!lS@}e)LWmO!LM<CIOz+5Sk2&yjTegrgVL~1FGN*`pr7Dx`}tR@W@r@1nRhQ$~0
z16Zj@oHB=G3{q(xgHUEN@%hNa#KJ-j8A;1u+I{6mZdkR2>ji}s*A?fO!#P6C2AaJ@
zNP;xyl^`TaI{G2N9`MJb%hSVXzdV6vMYGd05RydAEsQue5R?Ytib#bVNke6eGA+Ca
zE8-x;(GMGm?Z4>2=`{P=;&DRh;(-B?8ug)u@$~7_i-`n-V3HhE;inHDIeg^E(Zh$P
zM&5q<r`v_^3g1yY{@CNcfBNaCo~EGf=7Iih85BGK=jeQq1h%z&loW@BbNX7E#WpZ_
z0c99xPp`9il@~q0x+<D`q-6E67vR4K$g$wT7O}P${PXKbX}?v<LSMN@c96O_uGn))
z;r>3+9&o>C54aD{CH1@ai4gvMB7}dFXb%u;M2oY~_lfoZt!NK$pl=lxw?x9Q=qO2a
z$VzJ+bZ&b(BQUH|%S2-F6fIkTPD3uMu**?Cj*GotQ(0a~kvi%51ziPYw^20S0Ix>Z
z0{psUFC;(^HUK`E-kyt2&LUVI667lXVQHi-zL&ho{i<zSHf`Cqg*trLMRhh+>!ms0
zJjwNirxuc^8?H4Y0B)|ZE2xZbUJop8UI~NGTV9iT_uY3_F#$Rl(j6pAOTil}2t-y`
z#^+K6rR>lFSk;4v-<_eVw_mn>*REat+xjYmse_#RGoPwa#ZMlX!=f5}<$WLJ=-b@_
ztkv4zWun5T4%S?R--_1bqghqO<=6TLh{l2NZDtI<uAN2CndvB_GVy^ludk}A(iP(V
zj74{)@I5FL-&gwiCSsi5Vcw#yx(cO!_XEolNw7!o_x<RO+h2U8U-%Z+*;HTQFsl`W
zI;E2-jW$<pLnVS1?%FD+&7@XV0ByU~T8pE+w!w(~N(ar>4!VfHLH&ZI3Oq$>EhIuQ
z&$E(6NL<X!FV4p(JtREwr7Bz%S|Kve!J0bCN?Jgjglht-D|rXVdeG3wAf2>TQo>e2
zq@M66Q6PmGPl{sl=m9533W<c*$s>fOLYRbj9RMMJv0HQ!sRE^1gI8)u2}&W!?Ojjk
zv<hXBgk16v-ce}vBq67jp}{%gv>L!^Ei%Fo)8pZwrFclQ;Zu+-g{nt^VnL@NXNWgp
z(6<cU;HrPgpQhv%haK-?FSDxXOn|FJo*W5Ld>5jbhc?uCNH^o%(8C&wm1Z);fO^zO
z*P`qYHiN-3+)L5Fuv?IVLW0n&q|)Iav8o}+*-#1-CqH$5a(*S6R(cy)-@??`@Yxe@
zf}Z@wu~Wli)62mK5OO*bU7nj5JaG&L<vl3w)9Hd&0h+s9DbZ<IZzafoxip<>S&tjH
zzNJM+Cx$Kzo;n3XF_e|a+qe$W*9^%MlBAHLBRN&bq|kE|HJ9X$$`u7*;ylU{z>ZBx
z@HM3zE)1?2(GD+NejsOZ`5B%!nn{YoXi`$C5E_aH0?_HrP%0DGIlGi7NKJNx>mYA$
zRZwZ)0$EKFUpPz2Otu7|aKx-*3Q6Ch0$aEiPDBTfsIvwaF-w6BO$g0-+%`!z-?0Hs
zURQgUgIYRy<`jber_P@8)2=R(R{k9>=kGBm==)3d?8ZH^gVe?GsZX$HU;V#f&u$Uf
zvwKAmi~B^FR&3A8ME0!Qg^59~Q|X8U8JO27_@HUl6+<#gkxzn;FuCZ1?pQdGW|J$0
z)!A?X?zr$nz$q;VDa$J=us!T4-wK#Ecn|V+Yle*!JFUGLO*=F?gGH<66H&A-k7iRF
zjjQ_bi4ZcGARqrwhYNJ-q_1s#XM6A*%3M43P$eS!AGF69jjg`94qW!;rdqq+>aLTb
zCWfhS7&J<{;DSD`6MG|7?Lif6PT(1~;HgJSfrKe@gsh%R_Vl2OhEuvabPjB_v*=tL
zkRUAG)x$N_m{P$w9PQA^JnQPb@s1nsy6dhxK671HO~<YqG`Njye^0H;!lbti0Jq^s
zx-~`FA)C|z&yg=k6=}5eMH1J_FfkRA<>M>g{q8ru^u^7pvETmt!w+Hn>XEau&0qP-
zUw@bD+`O@^r3y}*yRo@z(`7ray73EN_`=Os?zn98WmoLF0u_+k2l^2VU%##c<&N!b
z?cLNjJsq$M;CWOuY}yRL(JL<B+}luTfZLHq63c3Hf#Y9Gx}{XtR)bh$w>ey58-|FG
z9M$vayrPB<ky>p6U_r){Xx6IaFb3##q*Wmwq{2R+29%>r9z2XD%9KD*GFd?$LQV0M
zG2pYS;aY=yQKEw<6Dd@dp|nAPL@oy59whO6bP>#fsKCQj&S4>C{ICS8SdvihO`x{T
zECrVwJQ>8!kt?AD&<UYxoh^7Ou}o1vAvGdxZB+_s6q&=^K(ag~$cz@Vk?TY?3U0O%
znOCG<aWc?KH6e+u(IYM8#Px?Ziw1#p1A`UG7|{9I1!q|JXP^l?!02iuE6DKM($K>*
zCM8=OyA(_nG~Q-aYISLL{Os|!VSnB~Jv6;Ib^i1jAg<FV&Z77VDhb#w2+o8MYKK}a
z<I%jNAV)K1d~=B`E$~Res)tdhH39S4Qrisorm4DK#b(E*M~9Ih<_YK|wimKXsOd`K
z8zP;YE#%Tk0hUL|pwn~_MWHa?IR*jYG}^+zv||gw^&#+`_f+Cx8XH+85|1Y`;H{Si
zG6^yvLjWDui3p8?ND|BSY9YNkKTX)mGqa0fNV?7!aODMm2%jlP0`S3tES&-D@4yyD
zA?(GXh6ZnvLG~Uy6v`@bE)x@hf~FeLIt;X2Dh9^KaW4N-f@!27B(lW7Y$PQ@!<*l?
z#+Z4rUv}`KS)*PS`RXr<aN1iUyY@VuOc*mSi*VYjBAoWB$gcfSWY=C2*)?(PpGIWY
z`e@W(kO||iwg?GEX|GlyejzZ(turVX!kWp<`7*pt5}t#AJ2cfn6HBe8Se4#pGtxO@
zd0Cy^s6b&+5FJ>|W-FG6TtzZ7GHe2f-7`X3@RrLoO?7xHRW62YZhi_PICHTaAr{uP
z=wt{frg*M?6f-H71bWXG5adFPZ*F>WbQD24Fki8I5rChEI8mRVmg=ks;BM<{C@e9?
zb$tc|a3LfL`>f_AP$>w#dp4YNvSaTa28Ij7uub{K{W4>Db90pttLm}uYIEzPh2>#~
zv%I#p2~k9iQHv$1;^b)64LV=A=q=Zj-FPJ&cuRtWXpj8)2#)g!J07{}=5j5_5<$Wh
zp<YC-_ku4>Aj0@~1hrG|zw_pcFUr$U36MZ)5V1KV$5CpnQW#vIqo%>(Hkk7~BXt9F
zb~tnjwN_SKM(#9aFxkr(sm4%_YobMsl1imUnV>;OP!7wM0l3JO8l5T{3Pw`Ih~y+{
z{DuMHoz51#*nzn6V)nxi@f9M{iXI5fc5TG5LQ1~W@#AP`0;N-~p-=_)^y6U#qAQIU
zgQPPeaHI_jcI-H3w3}+TnqXNH8cS_UA}`hKxCmeSzSL6<;eB21gGV2I)L+}wwMnXW
z)?Nl>sfq**yXmNJtgo$VZf$GB5(D|h;;gbwT{t)CM+2YvxXjVUwzWyA^&WW?%LtZ{
z_LgU(5B$@E4?Z}d?*Hz0zx%Ckd<)0z>PbBE;DgDWw~Yst4IcI`Owo@=JAij-%t)!&
zN*E>1aKO|;c7f}2l~vR@2^=Ge31+L^Q3v4ET3rr?rNgQMNHSJ{cxp$8xTdbIuG|dI
z+XW4fii&blE@`)y*&S$T;3{|OwOX)XVF=B37x@j<gOD6l${DVlFOrD!N|w>$V^Qda
zqn62%hgNvf2^L&U9X{#fLH3Q($Rd(gf|zRnEJs*NT{hzySF^8>&O`{~a(>EJlu_xG
zsW47Bfy(cEE<=&B54F=o=c5I^(*}SCFa_R=PL_@#S?SAC;rX(Om2e6&_9jTbBW{UV
ziKrWvQx*XvpcF4dgR5AcPc8>w)N@io=+r@>8orH`L_h<J@thY@VvM(et|T#Dl>$=*
z-7ld*hwa8$SqaJy+-(WT)}VkJ<odosJh2QnIDP8KSW!pEE*x0^5=Wn(LN1e#D6t*b
zI;*9*m0Wpe6K<kLk7mRAa!uSnGkktLBbhs0_U?uGNSZfP!#1xh&BC&0BC9Yn=o{#f
z%LvF~bP{iQI(T*zM5&}wL&z!hE*!PWI35{2?Mr&wSR+V0G}DVnv)!a4L0Y$)t*)+a
zYU}LnMa?#H@~HF1(5Q+i(8oVnBHDnk51*o>Ix`EbTSOoLWJn%e^h_ClBwJKaaeokB
zC6mJjl#XS<^n^RY=Tycrn^wuvd@2eiCU#R?3~(E;nPV%u*qBPl!RE0_7x6CSg*4tC
ziZD2)3JN^pa4DtUsuImzpq8-5p|vY+XfYno!vqHWD@#jEv52~NY=giI`2y<G_Da;K
zEB4j|7a$PC@WI7d>|4tzK}lt3qS#nl?XpQw0A(+?c$=g$KFvUZUyvZ`lnMBNRB&Hq
z5}*RD3bzk1A5m}IwtaHDZVks`8Ky{+y$Ur?QgBfo%%}MbPsmVqb1LhV6PQcWx+Skn
zsy4!As!1%vl7!CEk_LM-vJ6>5bVXK8$@LWhWJvcakPpFk#QFv6EQH_+Vdv6v_ytf2
zAv`$3OGOd|J2>%JKw>3gYj}$?yo5YdgyJGe765GFTHrU3Wko6rp9bXRMF5}NR6Q$@
za_i_CJ5@l<8U_LhPCShvC5#^r0<}s5x^e``dt~?sgko5(FP%#S&^rvAm~0{<#eTB_
zpJqISUJA)PW2vdBQ6yra5MN9u&}n)lg>Vtxh|oxr<YRfhj4z<jJ)O*IFv|cN;Q{j`
zy2m5QO-m&lRpiPgQc_{sqAB=c@h^;Cz|mLGkcV18*CP~f3Hl>l8mlFXf`bNfnb3--
zczh<1hl=|pZU#mFh7x{r;MXNjNvtODng~(6EJ76TiV(#c7ZJtlB1G|q2vNMU=TgT1
zSrMXmQG_U76GeXXVnhL_Ii1IP$fpw_AKGMRkjojJUiL@g$$TmNm_fUhC=X5}sb366
zR%0tGvn#}bQb^)KiB4-%N<h6^p2|}+_#<AhrE}QH)6_iV$dxcrfE6yL94Zf$S~>}|
z0`e4&AcEtOigJ{lB2n0&7y`X293`PhG^$GgaZHVm4h<DE88EJM8Hj&I6TqZg-@=kV
z5Xa<-2bV_9_=BPF3~Jl|d}0uudje#9yFENJIW?V)El!?Cv~LJH87EI3IOR_wY{<?J
zv(B;>1Nwc;9DgfL5=0t;>XT8Jz5w-shqfEN3@UoPeYB((dQ4lLv=1rV$>}K^m+5jm
zvbmSI4g%&OhW=?(Vo%I2!45>uom&Cw_|t1IKK*odHKHkTS(ae)Rzk%BEH4P+gdkkt
zAvYk<Mq3@cyGFByE@r|j=MEk`cwr%0K=CPE;1LFa!;#nN^j1QcwIeE}P?X7)GPTxV
z)~&`OiBi81My|(iWC+Kiyxhx3B`j>1bQ0HW2)t>4^~UN(939d)9vPjKO38Cj0#dMJ
zkNJ3@8}Qm#LI3sOY64_W2+yPwe&mdE#X=F&Ia7$I<btH3^ZJXfqT;rea!Gb|<oJIK
z2;U+<y-&P1omMe2NjeVzpGJSAs;cUCROB~zfhUYz*$UciZL@oPW?~8T2Em|IUyZ!6
z7WHs_s2CRnwTv)t6q=Wx0Zf_KY`FK{dvCk?HXOS(^LXT$mo+N<9*I>vH{FHH`0;Ss
zNfLsL4?*oZKZa&o*sRlm#WP&rw#}XEYOonrx2@Z_1r=4BHX`}Ap?eb%>D{pt*`1vO
z$l_nI>)LB?`_h-bbn7*{`fk1T)1SWKx@&gr9N4zCYh&5gzWyt(zV7CmH{vyyZ$ruW
z<pWn<cinXZ)ZcmfNC1r2S;`^j)7WSsyk^kwv0K>erDKWdY_UMAyQ!(%f+k`-T?0Gr
zAgz}wQA1v12kWk>p}wX@S&By4%ACM<*n!l42{N=O<s~sQnM!A|B3?vGal3406X1?Y
zL4IMjSqxg}(HO1xa4Te`EEcCx!e`^Lv`m|il&vK55}C?ep~9Y5$P*(Eb}R-}>1j=6
za8--QZ)5PVekc|ape?9JBAFaXdIBycEG~wp8Ha2=J{{C&08bS-0GNN}?yCBFNCBW?
zTB$-JMyFM?3a+mVK{iy@tF)%Fx<<1>DTONOy4L!d3MYuHD$MZe#=1%;)JNPU(tx|l
zRbSs(t)Nl?e@ySpE|pyf<xq%U-(!-)FHPe-5vT;X(@|ZRGNdsf3@c8C;-NA*KOf_f
zN3YQ82;R`}=v@U>Zl0u5h=32nBzNIr*Hxh(q}ANkX0}6Kpl8eFyLRE8sdQQsWR}Vy
zjH1+YTepylK{QN&Pw*Gi?-2qs0Z}*-d~<1#ONrl+3tD=R*+L?Z#bPG53i?1|0c|H`
zq|m$&4@VNoFcC<`H=>egC#uB;y8_KHppZQHsEN!f3hKSxh-FeHOr%UG8G?2nSm4CQ
zu<&6??ME&L!4bqXSLWx72nOZhVUazVVg(gLvECXKU`g_7U4bUK4g~KsRH{hHF{$)L
zSv0{C{=ZiOCM?QLp)kmxq%Q4W#$#qBoE1565#|M^kY0v#NopT$*CN3QhCn&3bQ4)E
z6yzc{6{li2qQfH|ak}9S$l+z<^#4ns0ceNs|1r=|adqTs5nefizySg!&_%)wL;MpV
z0J#D+;#SNJG|)lwqE_-Ol-hvokVElj4u}gT6bEcc5N5&~k(*Cq6+Fdya0|Rm_$7(d
z<VnSi0x@zDyGax0D^nyibGa;^BTpz60ho!EBP*dapf*6{ud-RC1WG_MID`1w2tF&h
zdID!iZzPBU$nb^Z;d!tD=3;4V@J3rBT(){A)`@q$jAZlVcrjFO&<<o3f{)=a6tyzw
z1)Pj$ARnWal4^b=*0EO<P>9wiB?t}VUW`=2Yy(D<W`aP8vn8w;$Vl;s%^XjXCm<<@
zsTL;7U~NdH2|F-aD2&Lj9p!yyqgDyV120i(tsr&~jv*3Hzg<Hd{~fPRwda#LhW~H!
z>J)n}aSUa9K4z0)=@5=#hC1Nck3Uzbz2r~&PGs1B;@Q8QdY7&t(5e4Rcp84+MEG}f
z1QcwFUg=&V86KgAO0Rtxbb$Tz^l3bke(m8B$&exPW_Um98E%bJ_eo64|G(IU;;SHH
z{9n8Z@r!4&NIioyX}FxQ3vcPC9;9a|YG*&?p-b#S6?i23X$b^^DO%aF#x9&9d_-KI
zA#}~yPbW|SN6}M*C3YbevAXm-o^o7d7H;U59i%RfZV~zv*FA_U#Jlm_&6Jwz7NO4`
z5&G;E#k0Ca=(BszrOw*jBJ?S)d#LaKcrH*5ReO6G78|OQl5zAJ<6|)7$pWKLab8Ih
zr6pb+Eh+U$R13t&&7s4i`Hnlfuvf7NV=f8U;1&>E@}o@COxQ+(54jR>oaFs|2nE^r
zX#liChdC!Y;4TqtE`_jDf!3HB5Z-AntE{cTx`cH!DtR6s#hmz%(D&GK5FEB_;SATl
z_~KDum$at7raC2YHr;YD#v;3;cgOB)(MH3=>gp{ZHfb34Cl7eN-c!mxknOf({&_fO
zgG@#gUn~x6Q5HnF8xiMduC8lnAZpxDBLD?~)6%Gc1zC<E!YfV}r-UUYVuoYKJGN6#
zQ9svScD3^40v;$0tdU=$hE^hH_YDaDiw_Hz$$ka<hUm%z&fvrZDSE@sjh>-!>%f~(
zfi@5hf|>+Pa@aC-^eL<YR7dlak^~hroOAlXff-yD=%%O*q_jtY-~ff3$TSjX;Dtam
zPr~VnnQ5})rYQq9O;;J`lvPv^O%aJabbbjAnKX@Sgj|+P23HDwNsBS6oH(s5+o0i!
zVJ4m6gFz13rf67b;%AObR~YHyD)En*-0}<__t=Vstcj%ZJ9d`hkTzwhWBLqdG!Q$u
zw%=lxASN6|T?!!bd;z@qR0zRN9t~FVG^Y^sdIKEIRm!<oUT%Tyl@K*diI9#F4Xo+V
z^1>piSz_~XYzAoa+T23;UPV9Qdku14cz}u`w(98_h>n+-T{=7&f<o96CCQ*p?L{LX
z{sGdNSCOR+<!`<@G#_~Yxf;Z_Q9CR5N|uKz9bP6&<saBfEU>szqDQpqx<x*pSjnUp
zt8N2UU9V`>^@>*ArcYRPpHwL!?z`13UUhoCoH((hWUT->wFP*8vrBNSLY!i*7|%#}
zTyu{W(bw{FrI1>LFwnvr=cq(b5n~0OQzo`Fa}*L!?;Sq}5lYVSes(D$%i~ov-AP(L
z8~Gp-PDhWv&pE-u0CcC6X5cME`x@Z{wLlmI8r|qZ111iXusAJyehA5|RSCgq9qae$
z-+ucf+z`Rsa#?RzbNhzdF1jJ|I|n{>^R2g{k=$OJ%54$|Wk*o{=Fx{Aet2Bg1p%`!
zePy4srp5^mpnl`lU03bczHLi4@c??a_74o8@v{RwBcqFyEpFOWMZ$~K6=eiO+j1OK
zPsxZaIKTY$t~!1pSo&uHTp8*cV18xQTCeudgU^m*y`g^x!I}G=SZ)BeNQEnu0>ZyW
zKxGRQ;S>r?Ge;!?I;ig>kr2|zB8n_GS#`Qf&KZyMB>rHu=#2s>sMWx#4Yf`aWK7Z?
zM=xtq7YH7qioPXy%~@K3`%qEd%Q;nG9{?exk_$6MM3qSh9!VG|D1nAA4HQ#y3GdbC
z3LpW2TaZUnOB6%~I3^mEcrB4&Xk<{L6|xE3zeFx@VQ>(e4`dS<bddAv@)=44Kc$k2
z;dU=B>~jJ>;Uqyb$Yh~!0tHG0a7gW7g5=a~NU0&fLr4RqGD4X^uva{`&*^ZOVb7^-
z)E`1O+Q1Z+)>x@u4r!<fb=ow7QaT}DLoU9q7)E%0d~DzSa#mJ&@BC6QiG>!8^Ii}<
z_9ATutn8Ke&hR-e!ag~e9I134ppF+`TA@#){j=oJqvu!fl<E0ADM;9>E~X1fw3!u7
z{xTo;%2nw&uCrQmF{{(oFFS}ORvK-h_1G?2kL{uuOgo-Q5K*gWJ+_P1W1DC_wu^Sb
z_Wnz|V7q7+6k`E%Ldb_A2*Sb+Gg6CDrqst{oUCZGC*v9|VrXo@r`9Io2;y<(Wj;AN
zomgEdFL$u2#%k1xEuw3Ewzb{2WOpLRrWhWyIae0J&*!W*t;uQE87gGZ5Rmg|Ak8=`
zkPek;;$eaDFL_j9KPycow6M@}&f4Lu-_%)AeYq-$zHGUa%D_OZu-PMX&5!WX)97kB
zaz?4~EtOX?jDfROxhkrw$}4IiV^UUTwK&Rb)wQTNmdOzQrqR4bo&l>9a2#212?yM7
zrJ;FemGU%r%Mvz<#A-GeLF@%PMcyM5!eO;0mq(_SvDh*xh4P11O;KVuBYM5)3uO~i
zi}BE+Rtxa6S2{Cov89qYRY`4QEUY(S7I5aYP{3Q}GSJeXB^nhgQ>9b5ggSjDEmwLF
z5RFCU%1oLhxfIjBz|@p)WeQX_=vbn6Vji*~(;gXbvGP1*nB;0zJg(6|5(pREij*d(
zCOMQ5g5*p7M_X8YWu^eKD=m{F?F&B#8Kgq#*{f(#vzkiy3(x>U0u1|c$WO&QvXn|k
z@kYG2&R8rcu(gx@uXI_EmENlcN@(qu9mFInjaJc&Y!J=J7SW8XtD^p5HnxgpWBr~>
z5y84Wmui6O_gtEd4Wij-Mx0qgJTScm?R5x~ArMV)bhhZ#p_e>Db4$Qmh|guSoLMF}
zI4V)>RO!g1!^^YKAfH|4=xElfi};CubmGvVL+8;^Bg&Z}RVSqoY@*TnDVrz#Y(cNz
zr;)4mYf&dVv?=zRoo2O)#=gL)kd{soYgkO8dVtgE9o2wIWYm?L0FX3l;%u@20K^|x
z6F-n=vWRLRFenB49IYNbW<<y0QGk$WTq##;5f4FtghSfYtCN+4P|WyfDDTPToH><>
z_!c3vx#-hr%?=WmFL!XXR_4{IbwraB>Q^lY%4oG5z90z;ltdnpb5UuvieeI;d0JJZ
z@~P-*FotNUT1DY|Azgtl$<RYk<PWrJK@eAkspR~~$dNOn^I;8<>RF4<gD9siqUsy*
zbdr#u(G8GnsW7Hyl+K{dAj?ukTtOU(us5z7_y#cJWF%5K0DdxS{x@^)0p7@Y-Fv??
zgAM{D0QO$D_uk3fRqv8zTd^#Oj_v!{amlsgYki4}I0S7ewq-|geC@=#jvXiNjvdS1
zU0Je3wcVApy)U_}%K}!AAOQkI`+o0`5=Xi5eUj(<zUTR77XSyC0cPHE&Uw%Ipa1z|
zwc6L3R(5NfEsPZmMm8zO*8LF~X0Fq|zG-RHtZrHwHEWxl)uMgjy9$yLry$qcb_ukk
zv)R;iP!C8nk%!_Eem{$0nElY7$zVYY^8OO=3b~$nI@u3i)#<X#b2#3lA`Eag?7(aN
z!*pLP==Df2A<emH@Od0j(4QG%5ab4^Zru$-osi&PHk&+n!7}7<mewBM@C=#iA~`uR
z7P1uU?noqtSz23NRbKA3kwB6r)k4o9;$dvY7!4wZXlg!abxI!@>Kuh0%%==h45usW
za4Q;jK7%helWx-klCooVn(FA2@)F#VQH-Olqv1)A^9%?F-%5#R>9yeKxO58)$pR4g
z%}NULXdzp$AdP_lR)vK<{LUJ_2RX(vG>HWEIb4isH)bm?dR!gpU`u{UbzON$jtCEr
zE6UV#%9cmC)63y}3vLQ|Fa7;}Lt_9cW->&`4I`P*zT5D07=Vpzn&p(-ZF4T%JI@)T
zu`y%bZfq5Ai0+WCLSQwSIo)kVR?R|NAbWBlS5IxSwKJHEO*P3Yi%DKtO!CUYkyK$7
z7Srgnm}Hj4q(LpF(PuG@K8s0aS(=u73Ko+^+r}nlgKc7n#{dr(52lZ>@yIOhYrHym
zq<F-5v`8EM|JQdk$5l@780JyIL*9YBs~H~hGnI$D!)YGfJPhfuuF2Le7Ps}LKB_cH
zhia2_D5@4>t*L+3oBHRENr&3zCFxLYmJZ&MntZ=C8y_E;nHiUe-NJx3GZ$=ey6|Z+
zaZoa?HjCZhJ8vr}-*jL_ohv<c`P|^(<<5C$$(n}p<Yds5&1d2a_jeJ-Xtg^qXi7`V
zvkPUC<md*8=Oj)k;FW;G!s5d`E^k9zBZ4*Dwg?4R0<eVDK{1f>3QNOYwl9IOR8%W#
zXB*W<InV~>ipSGh5E<^Bm`p16Kv7Okz^4HA9G%QqgDqmZ)w*z@tu`nx4C}Tabn$q1
z-<;;Dqs~@sl{!0gp`$P33c8dbCYRIe2WQY~Cq7BkY*+~vIP(fUZY`UPOcS4;$*2x*
zjx#gQ{mCRV*iKm$wA%4NO4vj;SYWrtrY6JlpsQF|IGl-z@$hJPBG?kh^6T)4V(4?p
z_S}4)9g8<C?^dx|WM(bFZKC7plua^tut^QZr$_*_59?+PYe#aZ#$uKk)cYvf#3`D^
zplR+7nda^bjEll*w|KQ#X-E1S+jGsT{JU4~berbudDDFDHO<#X=suHpPMsjbgvFMb
zn25vy*Rzs{Co`b`EKVv4(4kIGZVL4c6fZj&j>P6uaO7HD7$@uDk#c$c|ECk*`4hp$
z$w}!Z#Y;MeV2??Ehp|b2s)UR$Y{s4>TVYGE!jemt#l8B4-G%rzib1BLV(rOj_gi~N
zO&M?3+$cL&u+cj<7R|Z}3c}NKlt@TjzT7_<SJkd=C{2=enT#WV>146G1Ld{x^XI!q
zW;5w4Ft11E;B(6<tX;Qmy~E`#tXlqmI`N%95p29_1g9xEG{#681(}XX!*hgTIQ{nC
z40|lwB(8zXcW@#;@z&n@DTx^YVJtay2?hHAW8}TP=Vy<QkaSmTHd`^E#G>H7y)v%C
zJ17i{FqHIL5fVA8-uh_aFT>9+^*Ct-3#X{+-V!K*N&#UPdh!c%^Qa{N7KG`U?<w#G
zDht5^RTUMN7I+|D<I{?TPv1JFWK9lkc0>rEE~yoz$3?y@N6}&@85$i!9UfU39wF4V
z@S;fD5iFrqK)7uzz6r59q&}0|_!CWyMs^~zW5MK**Ue0k7cSEo*prtp|K@JxjTkp(
z`a^5X5IY9@px88wH{u)c=imXu`ejyHHI+Q*B%zzs!sl-vAkq5^C%OsrVL;KQoUU69
zu25B9X-r!n6=~U^8ekK_y$J48q9+&rkd6huXYZc>NBy!qZ562$xP0MMg#qZ1;rICj
zz%PduCtfp02tK7aEjn>IHK7=vzI93(XpKzPM&@EQK&on_Cg{tM!lX4VG9n0QdoXwj
z-0&)2<aK9>z$6>9L=-bK!$X<ud`94{E_Sgun1$^Jze%zDY-li(C4(rVl!6|MhK5*+
z3B3KK*h8_=&_;nrj_%+?5e*IVp>&b|`#s~(g(DG>koDr^1RO&~EU47~Xh$=D@{XN%
zob!%P-mxPO3kI<6@Q)Cok?;Yy!r_Hh^;+4_s=!x<q$W9vF2tdPG00>S3or8|Sjh|q
zgLiIz@w}S<=)8CSLQpd7E^Km$l8+%{M?9;oE}2m9)=n9tT25FVa+$&KG41`eMP`9y
zo*=)A7si<EJ2}oUYJ-6!2B+*o8>nYouDQ7c@AO(wS2j(Z#b2CYfs`Re7n{{2$_5uQ
zd3p}37SZ!0Y-b90J%=owSMwj8_s(Ak7BOp)zdVB~QYFpw!e(uC$@RutJ7wG+BTzb{
zrF@_v7x$3riB=k%4Hi?ZYA690_E6L80nwl!NhUKVVZ*@|$)?-XWNSyg8QTpe`>DyK
zCvPz6$^9HD_2h1o4b^C}p>AkeT9@xP>C78UI<wKFGpiUAS$j5|N?1IJxSA_xOV*u^
zBxgX0gfq5eP;uq!P?pcDXn5OHTGl;sic~tNm3Xq2U=@9u_NKey5qn7_Y^ji%D^oB(
z5FO0PiFYU6v7nN_LbrNcGXx;0u<q_nkaR!p6OgfHb!}5g#vZJqJ*`PgL4MhsR-T{K
z3grH5)N8d*Oa^TH5wu5Oc?1`j7j#cKmGH=@SDBh}szHs+^|@dbYdu%Yv3~9DaogUt
zG5dNqZn(kWs+`=*S66!ZBk1f)Z{9eTs;}cW-Cg-==gHGm+O@6%$Y~iz4Rzze8rDq3
z`9;-Lwf>^oD*llBdA{=E5|0<^NnbgMQTF+)+eP}9J?KtYL_8X^k#=nX&F!$KpplU4
zX}MWVGC$~^7cR;gM1-21N^qXdWr4&on`?tL!9EZ967aowj*90wn3~Qc<0YsKPl7BB
zx}!<~f@(zAGJ}{`Gp>N6fXZcMuA~-p&UQyZ16Xk`>7Hn$+?$Bc`{Ll=+1D=gC#lUW
zJJOn+O(#`Ha$Z@e^a&6!HAil1G^3?)S$K3LK@xePQ=%Y>2Tvrx`!Wx8EzglvgTV^B
z&l#EY;pog!r4gf~0-4#U=9|n?yjsE=-PXB~Ge?=wp+K^a3AgZ$MKZovB&fy5rzmQU
zK+34pn5LXEXl)^-OxB{o%W1R9j53<dA`+nYCD)!#aR}-_Q=CH56v&<tG)}NeE+Vx|
zcxud^8Jpq{x$kmDQ^{O!B*`B^yIYwE+sR-Ex^rL(5BQ?loSa0aO`Vyw2aR=?y~)<j
z#4$FzX_nbdv&?ClWp<9Vb2oO=EVG+tncXzY?50^}HO(@+X_nbdD@nU)B`GOvo+oOm
zj*7pQFDY>!FUlO=k3(`lAnuVb<3Qbvy|wbCP~0eA;6j!!lk&4x$@(JSdQQG1!9DRZ
zORg|hw_JCc@89|V;r-kH%lF?c{)THM65W*jGkMWt6oO&@94+uwxxZ0-T)tc(hlH2q
z;$iuc5Bmo%4X9LJN+5^l#Ys9gFNNZ~eDNAQH)<t_c-p{2cBGlNe4nWe_L;`Ooy|*r
zti9C>*|7UeV_=_Y4D2(FfqkYiu(x?>wYtwV2HwH+FDGX<d+k~m)gb5kFsH|+u1(2o
zm*~Vbs18~%pQou@K0WR8p(~VxO?ODZ^Sm27I#?lPZaRJB$nUAlIPubR&pmgs=SZ*A
zz@r^UDE--@)ztL&>(2iEni@i>N+d^jy!`UZqqBur+CdoPNy>@t-o0tl?%mZ}2wZQd
z+Krec)2Lv#40dTFBUGey=H`x!R99D57C3bWZpzX;O|J6t1BRU{RsP!>tK`sZ=zs`{
zKNmserq3*r4k#bH0WKTsO7GCn`exUu8c}oV=9_OmxISOEJ^b*)yXwY7!2iE}nML#a
z0=|uFH`cEMbGN2`Bf_`3(G{}`drYck7a|)7Q;vjZiGa&UI;|i&jQJNJIf8<uGFQoN
z54c(RDbAb#<Df;0MyZ?Nlx5|R&oL#gJNOPwr7*`dG7dd%x5LQ1yrDs>mP-=|&!n{T
z6*a&F+M-QN<mc<o{Cp7iZuhi0tvl-L>+Ke*F%AbS7J4!SjTadJ62Lkg4Ivs?{>_GP
z%eN32#}$t|UcSae(xN+L06S$zX9X3nSJ%8=$~XijCPou<b#!h*g_b7YZH0M(vx|$V
zsR<cQaWPJc!KpFbL5~i|_=zWIYQDw(z_{|0SRIap=O}m*nF}Lisd?bECq>dOSD%y?
z#Sb3Gs;!V-L5Jh)*(+Dho*ljfl(i#t7J2G&rNU>SRg^=J_=IzI*5@Pg7YZkI2W!2t
z*$l=`@H=Fn|Koye+16}p7mM4j=A|t2EzL{FpSw--O4b9gB3pMgFRk<&o0nGlJDZm*
zn2pU=`Q5$J8@$Ujul6>Ze8kO5UOE%gh%r2f=Syo-E~MxY`K0OIYs1$%I<NHgU+YVy
zCVQ{jy<``7BawOCHZU-4^?HT)QqhqkCr=(Z^30)M|N7T2zjEZ|Yb*vk+mDE&G)sB;
z*qH7d8!IoTC&pm+aU4H>ye}q6^n-c1Zw+YU2bs^g*?9Kg?FTpQyXD}HgL#U-(b0uY
z@4_8TDT#`T+@$#5W)xS6jhvax+y>$0k9hn!1?2zH`1dX9F@MWa&mFC35?^yYL$^M&
znZiMJKHb*Tw6Vq$6@K5_m%uG^!+e>q++V)?mfbhpM}5<qcW-TM-1ZsgMB0;{AQW7j
zqjS$iWfj7p!&o|9u0Lg)aXNqbEWRQ+@4UWJi>1`<OuDiz^7-Iem-Eq?m=)CHFwl&(
zSm?F2YbEZI+?(~~tk^0x)WSyGk{gTpiL&_pF*%i~c415;pDLLssBQ38R~eU0m(f?b
zArcBmDHtCMQCMSUYyv-(NHCdFY28L8b?9$#&@bMw>}TA|<VlO1Nim5RMVWL}<z&6y
z88PDp_ML_)%IY(<ka34HnxeJjsf5uc$kQDgpPERq+?a5B;HdQA@R+B11j~QSk);VI
zn?`PO!jY!?<|}VrId$yV8|UAQ0-2mS;jD4moHh9EXBbu79X0KQ&@r_BS|%&B$#{FV
zl@Q-QvI{enp`*>Hsm&(+wArMe_BSo*r_D@^(rUNZY|>AgP5NoGNk45i=_hktjm;+g
zw9I6qtTEXr)>EfQ(d*WIAz8z3V5qx$JjUh6XkuNNnbw7`4Psw%qpA>JSvO2M!IJMj
z{pxE+j-=BkU!~05Yp)+Uav{W$ZuAOrMHz&|q^8XipkPbQ-hqLEOyR1%dxIq<n+j69
zcSoZuc9GG$mFmI`J|>;3Tx`@WMUftDxXqKE9vvROhz3lD`!8M$YCAr;KE9tdRGT_7
z@+SvHD-`|wQ$G6v<4woAmf?;n+9y7#TQ>C`vLA2r%=er*e*F8SW+pmc`2P2UCADj-
z3pQ@_`Bunm`gN-|Zd_i0kFB&;9H0P3Vp^GP1Hk|YVVp6XktLRb4!dwFsts3@T{5__
zjS=wGF@;N3*B6r}rD>iV<_Wdbd`^SOj&Ou-vFF1D(B?5tkXc+RrMD)7C3hWIy$wwQ
z*j1vq%j@e4z5G&c5hb)O-rC%3xXlB=C>-wQo-NUl?(SeoSNGT$4FBnoKALVGGTP}m
z%;C8yupG)9AzxRU$3bY?CCMD->@KW@l7S23$?ooK_Tro1ABG7`PfpN(1HE*HMJa5^
zE8@aZmZG8xx+rV0QYy0~F+I-$i;6N5YZ?JW8%v=$GYMc7mW0JA>}^28nf*DOqFCW&
z2$qar4XbC*IvjoHK|fvUK6{q*KASBu24c_>&MD30w|UeYUw(cq-et{GTw5E2%JEB-
zqJp5D!c0c#Yb)(Y;!7KWOKNBav4^r>Dv@(VZgE+_CCSjUvp~rzR6*s~G{@TDatlK4
zkXgWB-ri(uXKEPR9j1A7i)kL+VVXyGapZpH(QT%Abcbmk-ENvkx0~kCjZI5--W{fS
zwAnO|wwdOUEh|PLB)q1V^K^B140|CoJTbt|wbA(uz6B*Qd<}*l>s)j=M87$vr(;MM
z+P&4|fJ^|O4CONjKG=f|>Fk9|hYlUeWO(}3iSuVDZg=AHF?J4}kIWNf&rY2<gtD?u
zjGj78OPBQZ5zUicGg>ZB&5Ht;il{|Er@X<2c*s@+(0F>9r!DJOQN(8D@>Q}p;^uO9
zf}s4oqkJ=EZLAYT%ScHJ!f0h{C3V@8i22LFPX$urfT>1;4U=zrH<7E^)5FteKJxIx
z?|a|--t+K>KFzkbWa@<%UYPMUep>9;t(Q05PeF$u#grv%Pc!^;)1%Ax0H|6OzW})E
zWUygt<=Pv_Ey>O0X~XWO+o%_H^S<pH0MM=9w0Y}RnBmv275`1QP8L_kz<-qO*s)>5
z7O-BcD{(7l)UxVQOsJCbn!38W%3wi0>?2D8o8M$dwd6~$Y$7o$^I>eDAmxiKNhull
z7J^JCpuNQZCo(C~pxFZwx?qvjvx?ntkx+lkE(yTl&bDBQD^_0tg_*5htG9$Ea=4*U
zC!39O*g5mcOa^}vOJAg8TZ7$GUq%Bvojh$QhMBOetineb9t!a|oJ=N*yJnSGrdvy#
zrE5Z=U<tp#H=%=Qs+c;Kq5CZ&%1|IdI-8A1uzV)NQ&-pM7%x-9{oTBbjZ0Twd=w{T
zNb0Vsu-_k4VL55VO(>_4Pq9iOkRg|>@@);`dmkC41e{(@Z1>7(1Wk8$U+=}U^nUNv
zaat5JsUQ3b_TpR|CyaXTTu*CYR+ED&KYjchqNu~`0MEd1f<8)SXIU&fMM#K~+l;J5
zN-Rberc=|22(4?iC!);nAkOCO6CPDd#E}b0RVJY_zU}#`DPSKtIXqqIfTXFnmjuTv
zY@;!mpkhg&OSrYX$?JrBf}rAM{x#HoT#(ffmh=hJS}s<4Aox|v0a_I@69`rXVHpHg
znNg&`4&rnOk^+!zWsU{4jCDR8gtd^c=U3Sw?Nx(8Akm6%f;8Cq)Z#huxV+>{t73Ns
z9m$+oI6Scng2EmYEz+OoYO=K>P>juGl0I&e^zoXckDDVU>dS4CK5morahar#+a!J5
zCh6l|l0H_64^dT1W~TERnyCt+h@nG=FX^)OT6BE*?lmn+@}#bYF1%+y%e4=*D6`+7
z$dhNq#-<h}Gos@`a7q-F#p*8!I9e2iGFFc2^$orjMePHfIu{B>bYo4FxY~2IMF~{m
zg}2RyXE>B<NRHgTvt2EUWyJ#Tu&>$H&g~i7A8QNuf1xe>rj<c{^U})TkF<p_Bj8Lq
z0gG)U@aN4->5BuUO(CXh$xQ$5&@o-?&@GYKhV3ix!<^SGJp=bV`o0!r{At~iyJFwE
zKT&sVs$Fa+in3Xpr3JEaBD%#H*tD{mn;+1HlMuuFFiGKv^ESorCsyu&^(>u+1ro|?
zmLz3mZLC>iQ?r~vX}cWP;H91x#Z|ZP&Do?bp1_Io)rB$TZ?d%;jmT56X-xS|W2(s1
zj((1lW6EzDQ-0H!@|(t#-!!KDrZMGT8dH#=$T7uczbG#L=9yE^9Br}r!=fte7wXT%
z&u++mDEr~;(>%V`VymOfUss*5XOfu>Hy*rkb&Kt+Do&_pg_eq?{_G&EvVX_pkrvzE
zTg8*szZdp`{DL)Gw`^@}v5hGrq>Ks1V6Gg4_BG0yrd?IL*0tD@d15LrDeQNucYfy2
zcKzAAT5PdO(O(%8_5m?)^5mwI9W6HZtjM3mW0xoLM#3AyBP}-9l&G9?39ep=K*2QI
zB3Nwa3NP<yO2-=~-sowu)n~-YOubmJz<o`&cAC!E%<b$mwR6FL(9S+nJNr!S>@&5q
z&(zL&rgru%wX?`;URueTvNufa|Kj-<uP3g*c-UI5l!y{VKR^|`A7#I&9-TfaD;|8(
zx<lP0HmSP3X-yMr!-hKR`OIl?I-?(eefI<6>lT)}@4CzSbn=_xn?NCV9^6@4SbF1w
z_S#DPE0sGI+kQf~ud7*CX|LS2&l<^cN>;bOXYYHqdbfV?Q`Uj(m>A=Yi~ScT>=VaN
zTm1@6jw`r-s$b-aS=Cw=&lmY|-5#C|YgsKmXYtVH-d6jWo-@|0b!gaHhaYdbsza%z
z+E_qYsp`Q$$!nU6OkR*3yPIt7Mn~{uuFGlmD%@l0i}lqkKpFGqxX2z;U+gmVg}KV$
zmgXfZZilHa3QbmAp~;G?m;kTbpTNYo&UJNVvmpw=k%~1rIn><`W4!K8^`J=mC*n4&
zgCOZ~EMj7_iB@ny6<3ZQf9>TdY!b)V;lruasZ)m!Ujz()_4VJsbcVbMcl?EyUU}t}
zj<6f!An0yv#P%K=j-c0)I2NQ!$w*1SHy~Hax$F1t+O*cWV|R4Z?)&fGw&`x0wh@n+
zdqB6HEDCtx4Hh5Wj}&RKfAWKSxt2RVFC~6Z3xz)U$(!Y0te3tgo;Ch`Tl>F0`$>E(
zzt-KhkAL#d|NPGnl!RY;>7}6i8{c4Iw5lps8dbquuW=2MzmIDG7UNyLX~Wu8rOP(@
z)^6OhZtdMRr4Zemn$gt}x3iUih`eO@mQ_c@CgMQZCdUcUD?v17h0W>q_yo9+>4YEV
zODD8bnk*Vbfo2CuSZ*yKxi(x@OwO60eR7g-qKc1<bXIr^iYn?<RQyPyp}_%rK|_OE
zWfA0Ws19JHxNY^4+9}^Pk25al?&-mTcIC<ZUrVqoIy@5Bq?1dHOUnt|&#+O$VM0j~
zopH}eTq@-OrFRWN6|N^Cd8D$|V9vzF-mFhrVw2Q?*S%M-_Vjd7P~&nqK;6yDy4x2W
z#~%cqMtW%Nm6cpKS?{f2!+d#0Ltug$4M+E>dC-M|JkP|!+H^QHF+DwE&qgqp<}`<{
zlJ^j-=sa`&O4k^RxWNl@RVAHt=Z<4Vzj5)>710jsoUC_$H8f`@yd1QzSb;S+9Zf!N
znNCm=`I}Vfk;r+~sVd*50-~jRYA$R0ro}rm43UPKZ&SZ5+zXMBz0J0EvAFGRUh>}U
zX<qW)-O{||b!e;>!Y|xnZ}XD(Zg2CF_ij(~lJ{;;^OBC<W144X?_Iq~=J}WAnQ8Ed
z3SUlMZjMZ%&0O#7%x3%h;lvzfUd_9md9Y%+vqtUW(44GR8Kh(!9?saD95IluRMZq#
zRTMXnTb+7ME|^|<<<OyDp2RUQTj;AoJ-ain9)l6*^rXF(g_3*64u<5|L?<W1?NZS|
zA*u}|CpgMh$`w*&<+g3h_uO^YUHkU!T8ERsZQVd&_zijL2zF}Fe*QcTKgBZBiVZ0O
z@A}NA|KiVfVPEfgP_Bv&9C-B6_ud3I<1dYWUxAiaSN<E5?r(K>&c{Cfv5$SM&U*5P
zKm1|P{q)l;L{!HB*ML=7v1#Yd#(jGl8ymN;l`EpXd#R{$(<6^Oa@!4!+r)q8?u{br
zlm=&1>z*AuYHLZX$j_0ry+|>Nh<O1)Q+NXQCT1SOu3~WL`t@NR*OR`&LaUVlR9N9;
zxJCzt2c#I%^2rU!D{yI$Zv=t0;`Da83Q_+SuIAi@Q)ez+V2K~ESzN}f+#bN89X@yE
ztUTG;P|M_7?t>FO8gvf~aQ^}SN~WNVlPy$m^vESgcAR{hEV;&^fiTyZa(HYkx7=D(
z7KMk+i=PbI{eFgjBC*h%IRob}43UGSDAQdmRJ@wj-+xIKp`V;jkC4;l&Y7EJ88S4U
zGUi`d8H>Bg(MT&8Oi{sXn+QuLsX0&q8gY!Nspur@B(O?hqAl*|sH~t4dpip|;Mty5
za>Bu$#ABQb1^k(d!z^NkdoEsdxkg4VUhF^hhd=z`#OrTd6vuS;$noQ>rpM><WNgI^
zp)~M?m<7>2Za`kSV3xTO+oY&1)RCfkmyD2;IYJto$bO}TWR&Uoc?wNJx0!*3RxH>e
zcQ@JE#o~5<)6%@W&t!{y!leK1=2&U--EFc(?l$SayG{D<?xv-Ad3V#2{=3_(|4j4J
zWQ&O9@R^4%b#xNBqCH{i9LX>Bj{)johhP>nbNuKF-N(eUdeD;V#^ZqVi>fZUq%KgA
zmr|1wO$FWrF_h`+3)Vh){CL+do;iHv*=OZ)Jf)spvAOON-0$o>`|OcJzx&tAUv0{M
zUVZLK0)(IDJ1Yy2%~VMCcnd2@aG*-;EZNHxb|$%HTvwAXzZ|Un)aK1Kk9?r{;YS`J
zhED<XciS#n-vbvF+ar%W%-c28z4<5Y-cO0Y;v2)0Gm8bHXT!P#={QLd;f3)|UWcmg
z*b!_J2^Fn*BW%+b#d%n#&xkWt93)$}Zfp|2S98ASY!c5~H*S(nliTEn93rWy&x)JG
zyz*i38<A*fQu6q*jw{y}Drrv-b?DMFSU~A(UMP8ySD>qw&woC+{MNN=>-ST$Xa9b}
zZ`C!`dy3WKz4FiMYTj$wzrX(0=H0i-0tnQECU0FfD9k`|O>2?B9$px1nuWDQX=xCv
zYPqs(gTA~37-z0zaF)J_Y%-A@i%g{8Xl2LYaJpSyH)#?jqJgia1Y44(rArgI6!|`w
zpB9>gEDpXlH#fL^b7`rss<;4F2)-Z#y;H|<PX@m{d!)GGO)T89x_Gm=iLawj)*L0`
zfYnDP$koBOX~#7xZ`x}2>Z*pvarv_+PMm+`wPS2@N!Hza8Z_$J9-^byuE{r#zIyh^
zGsmA5KjG_K(yzL3w#yh+<T6kl(*kCm^6ro!jR%*%a{c=0AOGm5Kl}O5Pn<Y;>g?&C
zT!~)(#hG)s$xi(I=Rf<|zx?RU@9WRLB7V=;QO$4R>ufHE(f^4#iGTpEl9}V{RD4y-
zd+~rGUD%{ViYJCM?#z(<Gm+pu5*A}UXG6VIp$US3T5KxSVwJ98E(^Se@pW7zD3Gb(
z@}FF}GJNQ_zr$T8Eys!Q3#r=FA0*6wa+3EBA38Mr6TST>;%UCl>vdVJtj8tW<igEL
zDjnlyVIEgA7cNNTiK=+D9IP^jL1(~I<O!qSXL}c{X>%pICX+PTWs)X$o21F!MQO6#
zBu#djq=`8<)Erwd=Z0?oPe_xppS<?kdBSJ7Lc5%9^&+qAb^PL=Um_bB4-I!JAIJ{)
zIE{yz85|5YW$(&={PBN&^2sN0d>+orSAW7Qd%roDeNXnr>|@!xTAH#e4G)hlR}`2+
z<X{;OHTC-I!NQMi+EjesefJ^mZ&pvl_w&kL#fMSG+PxnGaUdxobopS4l8<FPRLinu
zNP=-B!L|bi>--^>@nucod#dHhaFcjS?%llb0cyQRIVheH<1J03DF=bok;!GlGoUL-
zEBR2J_utRgeYxo4AAbl}>8@Qnw-=QMwvq|X-Xo7a`dL2XWX6C}QK8F+r*g-RGF+YV
zQ7IjIvOHams+a9tv!(&zfXmYx(*)^q`Rr9}-?U<<xRcWn2=c)^e(N$+1t(tVC+@%h
z#-^qw@V3>{R&@if>}~(Z2k(^i2cG0aro4P06RC+}JXDqFPTAqtU%!COgj4S7Ts(4-
zSN5*_{<p^ti(hgYqg_52`)@a0mSo?uVMPfYJ$7tpX!x}$OX?Dt=*;WO|Mt^M(n}ds
zoV1P8*|ylxt;*0)u<SZMK{PW?x`}L_76v`UUSjad=yjYn@A##~YgMzcSg`C@*RD+i
zcz}ZX^~`GfDQX_GH-6};SAQjb#c7Kjin;PuH>-GNm`5t1JVd9{;xJaEJZ0oODtmiX
z`d3Z1cBY20ebF?J9y86O$4v9+v(-X8gth#6(>!|2G>^Vu(#oGVY2`1NwDK2B^XTJE
zOCEwxFImfCxzkQjF(R&BYL?i&xaF(;0f)V$sMH7KSE3Z9TxM$}-;soNhs^<}FdIa+
z0XnK^B7__ZQ?k|X$2QKQTwxI^GlDXzBcnUD*t|u0P*WM8=&GzB5KXoLWDoB1d26dG
zZomEZvZ~rzZyCUjruv3F@20g|Y6>w(Gm%IFd4*`^#~pcrKyI!(uehA?Syfq@-@wE!
zx_Sor-aX^4ud8DuWy%Qs?cTD@PHr*9UvTSM$7dW!_<2aEWS;6Mt2!uVz>4PO2KPaw
zYm0Ptbd0n9%Y?xvgtL@s9Gi4{OB))NLBU#wSzksa_oAW#ufwL<pyOT0BGXcH!lxIl
zTDx)MhH__|(a4&fDhe<tpE@&_XswV?SuUFypaACusE3`J#)0j0g1%;KXOh8v`9%eu
z-e3OW=jSmNQ=Q1}&a~U%I(s!xz4Kk~y8m7G+;bPDba$^>!@_)BH3aNlUvXK0W}${p
zd_pYKi{AgCkAM7Qd-ErcA3aJe-rDp0x4!kQr@l2Y-CC0-9V|JY0oMYydwyyLgD9Rb
zSf4zwcawKE8(h|4EG)5B-p;B*^Rp}C8w_O3PH7LQ4b;o6ErAWKDzB=xrlzo{j%CaG
z^=noT>{(V<TT|aqQ&U;Cw>lu}Jf~)zPVzBFMoAE4{0l{Z9hN;vH4@ZUM(lfE)23Tw
zlFPy-4VBv)@A>p@cim0WW?6iDrEL6nZVmM!TM8S6@<7c~+VCr1dFiiha0(H;%YGfk
zGW(4%kp%ZeW8+~N--tt_mzbkm%OKR*@rm%j*yQx|6iF76Xb<9FG%tZ!Dq+T>(=tRF
zrgrxfa=ys!CWPR$NLmY;S;S;2`RojAr=^($jgfX*lR!f(Hd;y%83RzRQBsb)(|r@+
zuKo#tFw-oKX2Z`v|NQCRuBk{@?<pAAh6bkzvl7LKCg%BSQj5l?r^px{z}a(sV0dbP
zB>bX0S;NZbn1|bd!K8#kd^j?cv9{J^Gf`Y!DW5wIF5Bjk@M4jMKmw?e1U-wHXmH>4
zF?g7mtug^V5~ZkjcKkY2u$lPeG^=}7OrsJwMCcPw1~xS$T6VI{fi>q81T=E;i;{@h
z3Fx?>d1ii+9KuDwE}7e!tH9#KiSZ-^UjlA9CNXy`2W_i{)f5Zvd+wDtE=_Uz<fWdT
zfjMqq===*m{c*=Itc2*+SC1TNf8&ieI(rA0eWPRJkyv;#Je^`;oSnBgV${zl8kyl{
zClj)c50RgFHCIZIs+GlUo(OB6RCYFkO`63c;<Y#?iCYh`AQRd7v7X>Q%-4)05CQSY
zg)+e`47?0Q1mLcZ%`Px!#~`TUdJR*L1(dY-<i>)QKBt~~WCmUlT7_9k1`ulmuSZkc
zm<y=ALJ2GvOk}x{g(80s|CkKh2ltV3kd(BRx$?6dQmS%5ou+a<iP<rNVg1*yORH~`
zOqPj>@GLbA@CZd2e{67E5f3lwxdtp^G+`&lgd5M~6eEV0FSA=)0Sd_cF*%F$Tu6Q;
zjf18dMkDxKB9K96dA@Z%LFq7H6q_iuN{NYN#^Fk2WAig(W22J<|M^)2C|AsyQT|)l
zU}1rmDy$dHfvIO|V)|)(f_`WG*mLP%Cz&DKyWr0Mjtn&f_1-nE*~rjv=z32!3*lf-
z&r~$!FPhGbO%I$obNX^uR|igvX$Z*w-6q)>l2kh@8b^(=UVy^N&P^zcyqui8nnb2G
zCmBmKwaBU9X0u<n@|)Jez=D72b4|8(vACHv<`@5n#(a!p?_wSM*ndJ}e$k{c|Dt(m
z9s8I`V}8J-F+X6^nEO1Qf+|oK75M=;?x^ttk-LouIZbFIpF}Rm+#YzaS-Q&FbWrbk
zWL|o%L~2w7Sa^B@2$r<N&x|iE&Zf{-7RE2h7r+^0ngxnd)gb4RiqfrN%^=jK=52vM
za9?HRh8rJz@WC54tns*46xB3TG3vZUMUp+(pDQbM6qQ$%7Z&E1)vsnjxoP9t@)aKc
zviipNzyJLQ*9e>LX+TjX^6H7-Z(g5{x8_>xF2)+E>M6?I8;Vl1O-L+aRQD2Jx2h-J
zWcK#VxEmUR`!K0w*mycgN>w86$gRSI)lgbmD>0r$CEQMN9`Z>V2$BZe>9EWv;2q0O
zp<F{@IG#LFiH3=e5+m*(R6%K=BJ~Ez(oSy2f}TugNW7MM5*0*srHUF9L7`LN5!yE}
z5bejr?}@55=XBU#a|4dAdw1@<{h@~*+6B4)-o0Dv3v;a=e_0hIh6MqiBQoX9^<=K0
zTi@(}bJ-K3eNv$_zy0lR|M02>@s&kI>J2tGCY!~QF!W?1SyX`N^B{3a=d(54a?d^Y
zY%CDO)Aub~wvqbsySH!NxMEp#-IhJ_ckj9R=6mRl+nZQg?{C_(bH}#raC7d0wq@te
z4YgIvAer38pPSZ*Kh@V1<L0SfwgM0R@@1R1@b<>l%c`J@E~0uYT`y-Nt4Eprg6eI}
z0VNZV-ZUS{p~b<nQk$Wdk#mY1EsPhKX^qXUmfm~g%?IvVV_kXk?f2e$?|t{&$Mb4e
z%{}|?xOY{nmW*8LYD1R68ALnRZ^?7C?jxyekX{*{n3zw5V~7g$1CUn90EY(@mlZlR
z5{tqJJwk_56LEGDLWSv3yk?`*m|mVK<fN9ADgWWHu(nb%7iTw@PbCNhv7sU<5Jh)G
z=&pO<1kA{L$s?tnRqVczkxR#(efHVcFI|pAx+l6WUxFgPzq|W7Vx)g)5N&{v>8HMJ
z-<9*IkW*(ahPtQ5I(kl_SWk5m2lWi%kg?Cne8Rqd#nHMN-HxnGXH$Ty6uY4$GpU@n
zlw>xW$ka%7u7G`xHQ>JX_G7031YGXC+;MW;I(qSSVka-Y^wJBwy!7g;&~)KVIQr_V
zuO5B<O?3L{lfALA*Uw(KdLFm=>7(ML?#W?prmfN)>2}yXC`p)ErL`joIIwxLK{C(`
z9mynOQ9w*ZHZ1BjC%Ess-~IMKK@0nvBfmKG%PZ02zxv+Szy9^F>H62?_P5{s&Ue1^
z_y6$SAN<Sr{@3@u|MSC#5C7_?&-Y#W;g5cN<X6A=#V@}5HSxblgpnfD>0`<0u_#`o
zhm{clwZYtMf`kdwWU)z2DljJo(g=|0BovB43@I5$VJK;!JLRiXYzyN^nl;7-rL~pt
znqG;&6J`R)m?0QIm7tCgPAEXBnX=BLUCodYY^SD#6H!4m2|iGDuT(XB&JqY6oDt+g
zkx~l&)2eUI+8y)J5Y0G%l|biF7DncL&ceTuf{suU3CzQy2<cNw^^#1TpNFRMNX@J|
z@{n;w`C0fE`5~;>ObX2beVCyfRaMp@M+Ne`sbqR|m^%(9WWLS5++48U=rO;qtRm~A
z=%!Sq3!4*v3mdx&@5oOy2LYr&4p2CY#q9?I9z+?-7MhQR=D$imXP$DW(^^iRWTxWh
zzO=8VW~EF!Dq68@@BVbY9XiFgHwY~M{bqCcOB^d#m6c0lzIY|rAAZ2NqM6Y*BVSc*
zO8O~xa^7BEpNBTZSXs=&Fmq{aF|8jrnY7_eruE}`w4toTyxyb@|1%l$>rLy&^(JlT
zFlj>*R$3HGr|y+bVrtk1U0v6%UY>aEg|4GV#bLeGLTVjdAPvZ5-0<4A`CohO+E4%W
zcZ}>*il;-r{`uv{o3ekY9r?;vL{k<5D@$cD1hPSVUzr$1^6<*GG0l=hG4@D|=kDEm
z;K)ti*+d!g_4nQ@9^{Pa$yp$O(pzTB(N%57jy840ir9@nYQD<9HW{&0LZRD@$fewC
z6JO5Gi=QbK;v@K3p21b}2H(<iWf)WsMIy4^GF`QO{_|}RiRBX*r8JDs#}iw@&U;y7
ziuZAN0?yQ|yfvZObm=Z_Q)uy6OEC;CC9vSi&?HZR!s0+fMPXf?SkFli%@7!2)S*B*
zi9+7RYu40mTC)sbsl&n3vNanTZrQW?;6d?T4j-R^uQ(`qK5h6;adx&9Q=hee0Fk_a
z-5MUeK7IMz@Rcj#bq+UJ_Kns~Ck<z2o5Sl(T$4pHdvs4vPj^>GXY`Fj*C!{%0Eatp
zA6w+%>G*=PvaOhThA)vNk*3LoQ8=uOcFv597>8Q{zbHW-%rL_l*;X8hXlGBK2E!+l
z0pzB>`rXd<cJW)jJ;w`ctGrb>Xbfj#+qc1Pp@;tN+XQL<p+zE|YMX5BG@7xkFpcRt
z)0kdk8q*CNDI*nirZHV-@`=<o+1rgTYZ4r@6sf2)jp;hmn6|yt-A!@8Yr2!C$v+(F
ze97=a;hO-V+p3@{a$25!wi^S&fJ<JLW%xd+KGVWTeGq35o-k!{vQ@z?=)aZvoNqxP
z)muNi^;U5^M_8>v!(q4J|NAF*eSQ2boTKHS_$Rn9|A+V|#@~-PR_1g>A`8wv{{#E>
zZF&pExanPY-2MREZb7B8Qg`gwQCj-86VETvF8);&6+SE;17ql4x2$j#kS%!!@;m7%
zF4KR{jvdt)9tL=@_Pw{Sxrgvy5S(rhh!Kb2n)6>A9-e(`Tt&{F9=vFjHe9%aRs}Dd
z4N`|$3H2j8sBhxvt9@YO`4T2L3qrbhXej8%nF5R30)$VQ=$RfDV;sWlM27M^c-Z{M
z$)rKg8vs4!^?#;d{ZS5K>PZ));Z19id1pJDZ0%xkGov{6n8wDtO=DwQwGbtYjh&{k
zVfH)kG>wfNrm?ZPdCB_U*1VJ(QrW!ZFDo-y|K(E5^+4Bo{Pp9<24DWgYh$mzcI@~o
zuk`eEb;()ih(<}piq3|KS7dYtg~uhb+XvEJ3cTl^Z)^MdH=g|JalI+~ZqMWAzx4Rm
zzTVdM{PTwoi*Iu7$cWWC0{Pcf8J}`&S--5d)@G}%ZS%xpd-m+zd+V)t+;RII&Rg*B
zdhWL0dfV-H+<NQYy?geM_}1zG+6WT6q@qU0&Uak8at)RRN&&VZ`W{#meQic2$iIkx
z5&z7?FTSTNC!*}--5(h5$V`#81%b(+e3CESyxHm8ym|Zn+jJ06jvxN`-;NyV?>};+
zjqDghbuJhThW5-W+_s%-Tz|&{cdy^GchB~1?`^TT3C9w@qpb48^gKyv4vD3Z+SKKM
znENLFId`-O<;&$#R_5leTv=CJS6{MfT|;2SviiD}D|4Y~5)E93tgubY$3fHvLzWeL
z9DeY4ysg~nT(+#H=FU409=PGAHFrIDQ{5f6-FWcMJ8NoSFFnAC)H9!l$tf>iUWH>Y
zge!<R@U*P{Jv@vVda2`T$Cc-Pc=TUhxOC+z%UJkOhQ$v!ap4Ez2C<#)@KMAIo+7uq
zO)u@~!5baQaXIb3`<tn6{2s_|PAH@((6j|P4<1i#b~Z9;1Oy$01!w||YI$wIa12vp
zp~W!5v|KGbfwL?<c4Z_zIx-Os>slh406k2M29h|JFdF%7t8Af>o#)QJ_S(_;<KKEE
zdHmJmXV0B(u}q{VMuv2pNLo#)t5oN@_zlCl!w)2*YAC7{y?`G-6?|N!YD}x3fH{zv
zFN<pZ32-s&3I)WVoOf%RZ0%xk+hvl;YfbZRck>deL)sa#@~4@ZXM;&5uWeqE$!6}s
zRVJCd)+CclO?HO2*;CEeH}OvtDoR(^xpU7w_q(p=o_@aXch5a{?i@4jxZX-hb~5vb
zHfD4XG!~#7ZE#^7I`sYT-$ubpS@QCC*-vM;P$BaL{^lL)_rHJW5Y@C>tz%<$DxS+A
zkF}=8Zm+3nE1aL-yBDnZ`ely0n{RV3Tfcto+P!<l9eS%m9-w^Cj@EE^ZY~^dTgV?;
z=uu-nh#97)_Q8+7+kb$f$QQ&9wc>Yw^n?2;IsB6r4cJ|YjA5!B;~hG1CzjxZfj94K
zzO%VW{y{ZE@hQE<MbY89b?fTtkn%D?iiE@f-YBQ)R`<AewSuPb`)g~rZ*Qtuf7|+s
zrtRCQ|LYg^+zmC-Qbf%e=#-8pJ7~5II{W3z4;=XDM;~o^kgQnOgWDhd=tmD6fYWpj
z$3vtzPehzcvW^4Q9v^RmsZ37mg*(C)_N0fpPrv!xkDmMSi*I%heV6*dYC^~Rr9m?%
z^gw@qJdP3n{CCd%{VS6_J@I&dKdSMwe03OX1_PQw3Gh1!S3(>82hIqfQZzX{5SoX7
zVH)407^YztqCRaH=F%C}#vPtIb@ggTNAK(l&%6}r?EtTI>Xi5cM=l1yxB?0w!&>ZW
zD<m`=Gm>NadXv49BUrvce#&>O76*Oew2c2g_WR$p8Draw3_M^O+vYspcbRm`ZU&#U
zH_XVu-KMc^&Nnn819zLo_HNVIt~QNrGcp35;&w~D^4xQ8o6xUBE?osFA$3X%4!TfC
zcZ8_vvS3ORf3iSnVYj!@<@pdhA3nTaR)DpeOloJa|EIrZUuu>XEs;2VT6dg2oscmV
z3~S2Y0EmE<s?8_!7o>ivtwqP|*}E@uSCeRU-j&_k)U=>mTC{-ybTb@sq+A(BHbcxZ
zJq`-3%^C{1-J#Ha!^pnvwtM~qBl~CB6guTe{u!pYp;=nAmtQ7<75nt%mlrH<iD>A#
zIFL%UmHT|f#nR%Y?t-ylb?+?LxOp=>;#Tg3EFkj#G+wd3RhyiVmV_jQXd~WI4jHtL
zJ|QO=ow8@o+cx;}+>(4Bd!m7_a6_k}Ln1AOx<Yh9-cU42VW2jW4#!E_YH0YxC*HQl
z?<m`}vW`7*kW&MJ6)SYdiWOu58+N%M#y&3VW3??NK)x-pk;1BPE<4xz29@bY&zv|N
z?j$$jb$dE2!fBXFbh=S>*)4jx-5!tI?SwAkKtu=n`jTg!KMh!IaA0r{`uW9FUWZKO
zU9i^W<r?OD8|AwJSgMoM=)%RoCPq3&1k6(M&q+?j;f5IkxsxQ@&JxfDP+*n*8F{BE
z{P1Vb4h_9+y}zoQJ#~sba^_pK!a^eF%-%v~q(~V8){>LUV!Ewdf_9`MTW;`M%l|y&
z-zk>N-!u9lUa){5sA#gaGm(s~&NS<)O&VpFNuyM7q@P(=YO>@iOtY@SWXY{<Ub6C6
znJl>q)2u6QUb5thmoy5pZo!6G5O}KR#qc#@7uN(!0qW}NcDu+0z?>T=B#l)2ob%eD
zOitzyiskBo>|bU-nf)ewsiFc%bHx-PJ>kCBdy|?}Z=#g5mlTP|(HVS27oL$WFbFmw
ze{b;zac(N=LGfErCB7@Zt6F9)H}S_)JgUSC%4(o0V9|d=9kJhlKJW<7!%e%(1LeEx
zckkZ&@Sl8IcUOtYj3+Z$zGFv~fcwp+;&mpn6vMN_T=1;&<cXxno1!Mk${H%P#>Kod
z>zsE4J@=N@s&Tb;sJ6D^o*VX3I#0~{vcB0|d5fO&Gs77zGmKpnId_`-w+aUtvkt%$
z*@cT=aFR&vpn5v&vjGu^o{i3mtCwGvcj{p|;7Q1q@Z>DCtU>6es5xV)alB&VBjf3j
zt7CAxi5yMK0aCz`uS8$ZSTnD`^7`ws7ysum-JTFNl&Yu!HbCV<yNq=ypoJN@vf_ue
zg{N$g1Ei87djw&~=B9$0kcl~lj5qs9%&dZDKgmIpjF<L{l<|MePhz%T%)Fy!?qsu{
zB*!$`%zhF?joXc1Jv4YdarTYV8CLP^NoH%Mx>^RMrHjOn>(Xb^CM)&i<9j@H{FU%O
zKK0%CmyVufPyC$28yh8t=WQV_-6d^q$<5j%w*%_EP2x+=d$s)s53(yomU8NpfhEE_
zVhHYV6v3^5ON!kizGnRUD#H02gkXN7G=MlGy+VNUU-%4h{XhANr=B7o$Z(Aqg1RGw
zpe`gvm`|92t#J2!yNfn&*}|VJd|Q-}5hKq2mT;E75-FSum6%00R5orgaNPD{UnzyS
zWavp|d9#|9;JLR2vh<d;6%xFiA~2hqUy{3V*%nKgEDS1(jkjQO>x<42LkLT62_}qm
zZ7y#3^*pvo%<M!@M^_s1)6158f|!QnRp5i*Fx}tV+tb~7E%xT&H|FKauD2HiVvAgB
zFS<sSgsq-0jhG2CLb9Qb5C#*$&I!V&Es~5udPd%ouU4+04S=ksQQ!8|$y1{JJMEcM
zCr+?~uc<{@zFgkt+cMSTM5e+?rpS8fBI^l$OO)&1Ss2gNO}2KixYe7ar`bnhW?ru2
z*njUMsWnN@DwFj5&-h5Zf5c{yos>f`De}_uuSuqMahm%oFDI3FPNF;72r{SBpw9dD
zXCKRc*7o=ie~W+Qm>oNG`ne77Nn4&YQwfAv@BFJ91h1@PTa@$X4UiMV4EISJN->?L
zR7K7K9ClvuZHvMV>w&Lw<kL^<(qkf#QCNa`wN$a%zyH8Z|Lu_v-vqRPN?0w9+S)~b
ziB5;g5tt`OAcT$zzn`14vSzuPAOXp4@W@0AoD%v`-hzY)S65dT-*w>jLSD)2YEcFT
zbm=aUM@&s|gtW>+Gw07<it#E=a0H)XqqfNl2Temd|4bxv<>FPVWWIli&&$em=__HS
zLRYsjQ1u)}w;1o9glcjc7Md0y#5!8S_z`9)B_tH(!iDqcV?Q{hoWF2Eoa2zXI`oN6
z3JcsO3yc5~(DWrH!QUFUn04z0Z%v@d*3NJ+wyNeOByhl_d6%0sZ-66Zb>M(W^Hw!4
zA@l>Lu~TKzyj3R68!%~JQ|6pR8ZK;_<61(ymbs?&l3VE0wHeU|>*3p~n1qkRsl&GR
z!@oe-*Xr7!cv(1Zw8eKvcgGuV(#g`$%ES)y8Hy)-lL%%*Ji_>UzayUJ%p<zCTYO$P
zwwCxe`ZoGE-=PEd*K$ND<Sz;(RSAI6j}D(z1grt!E!1Ie*KA}VnJ>keZE!SX%WGEA
zs>azB!VyZUp=?MU8_+3Uqs@u&cbuVFA#1k|T))m4+}o_U{*I3`T9|(X+qgoPuEoWa
zaJ-SUopqeGojR_IQe7Kk)hND+TzbmTX67CYm}bAZ2lGwZO!lCh{pKDFm}bAZ2Lnw@
zwo{;K$qQ!g!9S7*X=)@;=$+Y4OYcBu3wNx>#Gu|{cVH$t+K(M-p$Fk*dY#zg*!IZw
zu?^d{wc!1QD{h(Ym^=Mw&!eY5@<0Bv1>Pk~jkrH690xbA%U!qmzK1^3V$Byj>UZFr
zq#>0U<Ta{VXf0F&o`M$e{@^F_<Pu<|bEQ^Swz35`qnab9v0bBgw6Tei7P^NDClflf
zy#1ozPbRVP))ahKEq3daHf04h(ZZa8IxEI^`7Y&L@^xOi&?0hmH3~@3_+<$2A%If!
zZ!Sn<bDp2i)F0+NzY<e__~;KW{qbMT^YfYd!<^^mHCY#)C0o{%=htWH%63`$E~wRX
z2M$_$yD^_${HfYVXV5$LTh%?WJ?h@=>M14@McZ%2>!&SDAYR+V=hUZ|K4Q0S-&Vlf
zDcE?UI>PW5IVf92bE?!BUQtPP47)q+xA@cEa)`t*U2M9&ILUlTR&G&y7LK=%DwvZ>
z`%6%3;W(kn`hYP%dP56WM<Iq#W>THZOimlDTYQcE)fBTKb@l>@ex*9yy7-%<%Z&=k
zaf(x4<+@Kv8Tk!khWuxG#5_Y}kH{JF|5lIKOg&<fcS}9eV!LJ?@3UU(Zy|-UoKCSb
zH!ik24!zc58AFoQVuo*nyCk};p~aF*j=;FC^*kDSfC!fwdi1^)X2#P@5PR;rtsi{%
z)^(3snHIGqQZqakl3gtY;I*;^`7IWkh%h(o&Xw8x%IwPe7E6v8pb71nVRdR$9genG
z5;6lzZ?W~eofGbUPMH#AykWOYYcnL2#i)EDJj@Au&Lv0BS;wX8Eu^T`F(XI<)%2%$
zw&@F!sj<n{PE#7285eG5pM0NbCP-h3%(84W>6RvwWNI?$md55K$@Is3DU~L>q`qm%
zPgvEDzv%KLz=QembLXPbYu7TFbLV7TsOz2QFLyHt7xOGfW>uLFf?W`_g2#zWMP;UC
z)vLe#?Z5r&HAseLFaPj|BO@|S`NJQ+BryTM`_V6-XGy)7Yk6*1BOt9SyLShjM6$2<
zj7k$eShaco-mM#I_~zQ(jg9fRj9E4|?z{QD?|tuWyLN05_miq5lPx!u_yjR(T{(6v
z=;Vva0%&mRV2e-fN8UVP`yU^>4P@Evk{OL4rV<V>cvwQATjV|&VBZrj8UOy7+G?Nw
z3>MLIZ)IR^Z&0{eUD1gwlf1TjH68+TFss&X*|ZMc^78Tqd?|jvjB0M)ylEROZaX%t
zUk81l+epGJayuZ?pVcLb+9H8k&L<XA>WWzSy`7I4ek&idDo-K>A^Vz5LvZB<IcT+(
zms8i;V#%v02|z`*n30)hmsy(9WDDXHbbvsVIhj?J4a?VU@?l6Pom;mS7t28C)~)6F
z{BZTQ4fQg|Y9TAL(kp?P#$`EuKA#uzE1)pJs;Rz#NJf&gr6PTO@wm(m>+7S8*Z6oS
z8Jm^;y^xzp)n9&9SAbDDfp5el-4fZE`2oTANLP)qDTen(4JaeCfrfy0ZYIA+%uJ7I
z%Zr`E&V@uxc%UkEl^O=Eic3^QCc@JZNu(oDG%{?eLHaf+3ErrUJ`FtGZKP*L5=lwk
zt;?XH1*Aee`9#%~6K5`U3~^IKI9+Tu8Ad&I>hy6)`CdDJ;WF%wi>aCuGlKA*uB=@f
zv~XKv(@$8*)uh7sH?6R&LJUXHkSdcxc}j8xTZ2||HieBvPWDM`9Ba}W9f1)*=5CT+
z_>>?Ob}@s~Jck=i+RW?^HDd~HVGfu7yE$xTkTvrf?rmC{!;MXvfQ`LL3JWuXY_Vw$
zmzd{pHrv~K4ce}BHqTp7Nc~u!1W#$hy}cGoXD5ByS^#cjIx<4Xk<~c>CiHp)w1-`n
zYz$SIOndv`%M7-3b=k_*wJVp`u7?@QdaAwM;lT3`k3s<v$iC}mIX$zG#rfJmnpLIF
z>ZGk|dV2l(nynBH?%2L%Mb)}BYgfvlmS4Mm{pjenZ3I_aC8e*+G1Ho(Ev9kWXORKA
z(%IQ&?dkc*M{fD-0VXK_3O@H&fAPQ#AO6!1Jt(V&uDSgqA31&c(MM^CC%6UxE`|O9
zzS_Q+#hE*ZyH;0z`O7wn+}?NJJ%1*rKmQ6o`H>I4@7)hQ{J}qM{@@2c_~1SF-3KUq
z9pCaTy`@N|ZPpfgV|d`w3kjVzqtunIEL+y*bg+IfHm`$JP9vq0I1`qx(h7Gjj8!(G
z{L_5{2*{q^0rHc3;=l+se19n8)&eG)$Aga%Z;O%IS?ZO9I6CsEt;*@FtJ~<I=|@kT
zd-LR}<8Pihee~$jnTonPi)H0X6j3XLURA}#o0yw6tC8Hfq1eeh)0N)dwkjiu6B6c3
z)(vVfnbh)fK}#xAV`Cbb=JMCA5;Gl}qLnoxyK{U_R_T#zur|FS93B|w(o+ssEYjNt
z@*I(!84HI!9)b|#oXotES)4fzb9$%F60EJtLgCuEDe^&>veQw}vqq*t0*toJ#xjhv
z3mALpc@@}jY$3xlJ}+U$#zM0yC#SPBbOC(WxzlGl1}<N{)Hy-pPY!i<`u&$KNiazP
zC(cEPf`rExlRRe~Wu>LY==_Qmm=<Nk<lKCmh#Y<ZN$B?ESFBTMo69rzB+;nHiO6YL
zvO0;>J-J|cKGtMwXZjf1W2U)k&L8<ZlfL~TM{Z!Qe!-+~&G{pbne?q04f{pYT>YYH
zEqAYJuC6!D)y6oBZ`Vxk;CN&z)N$!FN^MZht*WbK)$F%OJU$rcNL1u_fH70$8MLR7
z27$yRS=UJ;=xQXls<k$oDlL}~Jx8>+w-2tkQNK*%_j-n|4fZoE`}-B8HJ4ry<qaSs
zYKxM+S9{aJ#&NLlx&6-_z0iB@#IJwy4`{xl+0vc+8~5zlQ)L-s_mx-A^bDo~1;S>X
zi3s@ZsZ60HQCDH%m!^)c4pi=Ktxd<b>_8PR%NuQPf9d#%=g!wjDuD8mH;=sjDz1xH
zUO~d<BDlr&TS0stTpMfu&5QHF#ymKZ5-yJ~Q0Q{x`j#OyD)OAMaUx!h;$>TJxZ#HT
z9(m~Y8xG!lpy|L32exlnQ;Q$4blK+p`}eO~R_P|3p+nJI&|0e~$B!R7c5G0s*tKid
z_ARS3lYQsUpYIt>uHL*ACB9>8JlUE{l|B)E{Rcnz!Ld<o<IWA%px2r}Ay~3DM_z13
zweMXl`{`X}jU9jHB7@Ms>HyH+1EK{R|GQ=X{R8j+(0lKB?;{T(+UoL#hh3{~`@|<c
z(YUH`SbRv=b1#T>hzd>nQc&0R*Q`zQH2xL*)n7CxuRj0u(@!5h9ew1#fA$Ms_`>Ht
z8;-VGQ))(ZJboa%R{pc;XY3z;>|^d=Bc%oX{vraLCHaBEqFQJmDvR=6HV+QX(n^B*
zD>rQ4wszIZRVySGwq8~?B;Zroux8Dgy2?_YXrf8xgi|&NnKcv+RAkA~lH&YqJR*gD
zER#?D1^Es@X{L@lK1`+ip_o!wTByPWDf6%}RIE~F%gyHT#pZ}^f@h6oV&myKk}$Gh
zQ8LPxg|)5GE@-Bl>e4`tuXNeURrFh7IuaVb4$^gO4s!V196QI(hC;Jb;dlym0MrWA
zlaVeIGM`7vp;)J{1*^5FtdcT2r%At(yP$~D&S{F6P@xNcLyEaVf`PA6jEu=3P1x!$
z@~go{ADOLlC3`n5E2-Uh^PP7g|5l5!tC!9KdhMNcqw>mWILlOL=hR3jo{2~xCchnJ
z@T&3g1jdD~)(*bZTC3V*?d|KM)3&Or%96sBD@RBSpO4LMTvJ-XJglgcgBOpSxO|1Y
zn4W$|-RgQR*f^I)n9rWN)Q_0zJaG+yIF`2ON$i@Rn%eA+j84u(r(x0z&C0-`kcsCR
zSqUtjv8b#p=qXozYi(@QDtkA_nxKOw!z0sV{mXRW$<V~O{L+L^TbR23B8=KXZ+dKK
z6i5*KS-S>bxI7)#ETN-h5p<2tX~jj77;v5x4y!dbF&fooh9)|%g#paL_qTFokr;tE
zV^RcGic9>u)n#j~9Xv5*tE{XHxMc8bVk*=<Hb_qlj&+BoCm25i6Xc@hlIA2r5xO%H
zy3*OxdBrFSw`(p!29Tr}lPUf5o~(%-i%o?3fT&)%aPcbXVQih(dan<Speu0RgH0X^
zjZEOT*R3`&&-l`-5mR}24naj%oOrVfIV4US1eZ9jc}tU~S*zQc2VytRE+SJi*&yXO
zuvTc$%)Dk5nXwZmPDC<VepxP7LLxGPygPsF^($RHU1(-t+QSpGpjc9oA+Ba5l5oO|
zsH-p=AvLqBp|)FFkdeh<FJA6ey~QBrOMRB^E0^Rum+Tg->{hpTHHmg>eVLB)9jRbr
z1h9W5K7)3R#b>D3##oW@cm~+)6krlKdq)QPulIHJ@ka=9Q;^?KTaZ*THA#<(F8v8f
zM*0s_@lmiTmB0P6O)3G8X8AjJY$iH09<$ml!kPL8Zh*&u*{3uAQ`Rm37p%&w`P&7J
z_PJ(TJ4(vf^yVe+WNY&he@JWd64FGk7NSOw-_fkRUFWB@S$(_CkKVk5G-)xdAob=Y
z>$A0a3E_2j^HN-}W=W$_2H21risDii|F96dYaANt>+I+n?C$99>*^mE9Az|&M-cv@
zD}4i@vEfT^o}miV;A~WJ!19)!i;NG!pF9P<Uf1BntOdu5J3Q1qj5Zv&P81#dO)B$5
zZ8lvf^Cn!0Fz*izcMpZZH7W5qCvQ6E#ydJYCW4~zjW^n#`M1Nze*c?i+n;^;wPWY5
zoH=!|pUyb>%NJieb>YO%{_cPM_{Tp!J`@sOX|as=U3vpMrt3|N$>W!YY~c9Z-ETgB
z@(q$Fjvh~@5ZngmT`M$z*-T>fMv_4Sk#0VH<K*)vy2HqX@PrSY<D0nh+e5#-$_3ni
z|DU|?fd?LZ&pr3N`>vaA-oKNDS&fH#x8&yg^Zf<o)oW3=n^!kL35C*JxAUg^SFG5$
z^B@_F2X?GoA@0_T)IgO{9=ozq)vyPd-Hdb%u~e&B2Ko`U;gp9{D=W&qMy?zfZkls6
zUA%Gg#$v7j2+L!C_2}n5`SANc{J>rJ-rBf(V|6Lqts~QMF-MI8f7t;v*_|8e9Ez8(
z*>v#T9}NW79DMLIpZUxK`|1LqX^Si?Z@lS76!L)skTU=Y%W*LSNvUhCwK-mTfkjtm
zyyC_iZ#>Y{SUoqvG@qS6jix<4zxCsv`uH}k;K2tUc=x;COEbLhp+9-oy?5SxW7GC6
zb%^%z<*V0`61fijwPwxcojbPg0Lrs@FNq<y+;YoJH}RGH?k(akba!cqFIQFs^g`>=
z3e-huU6ETZYy9rqxpE~rG&LpptU<iqyrN=RX}7MV3~5<bQchvQ@?ao3Juosin~Fxs
z*NCD<rdh*MM~mtZ#5FR?mqeq-lb2tZpHsl9Lh4|zJ1;-a%e*XIQB_e=Sh9TM3ck;0
zvuENGMxt3=;D0D1jpWXAJLYky7Wnc@^87OOk3biP2pM@Luu!8!WD;8vS1MaxNr4Xr
zX3a@KH1e2Sp5j7Dd)Zi4R<mmD%CeQ4*EXzO(a=y)T(hjEj4#`G`>t*4R<66{eYbO?
zwccD2m1@VCTTqrrSOXRE#*2Lk*3`a=W$UVBz1@a-P0AN!HVR&Ekh9P-43Tj6oVS?8
zPHpx2<y8Sjk<UNR$eH&SuU)mah%2BfGO2cv$V_N-dU67GkN8|d{#K%QFgiayHgGwF
zHiE>`PQ@3iRY@mekV+<_nCUnJocM~}(Mf`YY%thrtyVHQ*o=8HGom=ScUw}X$V^i1
zEGlLHe1avE-<p^i4h_$60lB%_oDwLg*-)QX7AUGHFD)sg%(BasYqgLcRgmjcxq!5{
zWX+b9Xspu004$|ggos8L^|dHQ;Eq67J%Z6ZG7J-tUEVnvn_6q_)UZufHTOAWE#;B%
z;jtOXuR9%)6-hIZF{H;Bzb}(zPM?Cd;^dnr&z-;2d97z?SXLR1hvBOkA0IWCV+XGf
z4u>RbO<(85lU?v+NIs~J&h9QkScOW`C|`vbk++V}HeRy9+HA%yD=3j?!e{X~?J6fR
zgvKm|$#$Wp<UAK}_3FiQ=P#VQ(%s$JbG?5MO*tEbBgA31vVzn^a()aAHZT#HPsLf>
zjSux+Mcoc}vl{OWMPiWg6e%<0{cv%kW3t{QrHAA*m(g0Aq2@4~#}Z@SkB*MdS!J0W
ztLDc}@@tdVu3nqu3Oc!I$UnOJdoFi$boE{z7#ba&k?xtPvGEbIBIUe^hNWpEmye;r
z-p=0M{=p$4c!LA|y(B9>F7sTKualdW{b3-h<+;;>wy<WbSvP5E*{n?`2{@y)sachf
zo8g0gPm`@(EN%~()@F~G;%px>t<4_d*k&}@gQm6FLndG71E#gvLrqJ5l=n0(X|jh*
zYqR@IYqPtTG?`e33rZS`Y#6RQ$Ep0w=B7tfl7mMR^QlY(!!ep7Y)PD3!)VPuZp$KC
zD5Z&9$ton>It^AdcQ%Yv?ClP&yVTP=D$~M-Ls$khTzHPmN1Lqx>&lXx>belYjv8R)
zH5#Xk3UOR}I596v$x<~J;wCnV9FQP{&}#KM{I?ur*;SYUQT<B$bHQ~5K9584QIYUF
zI~9$yN@TRn#b<d=+j4UKFjNPCG#*%0n!{?yqDu}LGOr{ciMpwa$%EX970*tqSF@db
zlV#P2r5xF_eS5HeO?_#uABks8&0OyoqISBZZ5taKU>P-+Q&PRm?hdSY_u?|j_TY|U
zMdF!C8Gt16$H5nnz+1eKAxNH^3+}j9uRZ5)zS7#-ddk^IX!<YzGPte^p$$iIDXD~c
z-aLK{2soQe&%{$&UcvIEayiSQl{ICB1w@u<m|STd$;q~u{zoYu+ydEFucD1WVm}m9
zjYUvNa6d4iXUcY5rz`&bCJWhiyt!(>_y^JI+0bM?IlvoJ6PrPPHUTNxFQ&ye$)nEx
zjjFh;Z3nWS$|SNkx}KH`aX}pm>qnc!Z-M}wJuo9U;n+h@LGs|VwG|~W5VHye;B5#^
z=?5W6)n>;}k?#a+vEV<IzF~kX02t)riV8s9WR#-J)6+@else5H^pzJDk<IA$!xd0e
zTvk%#bGMdc#SBZJjOr||c008cki0_bcDdc)6HD@JR^p^aZWf3mSzZe(lD;M*-y5H}
z+{M716H+Qx*9R?=!zrOMVl}n3l63)PoSYP}08|m~3{z3rI!6yD95Yt0jO1P(kv^Af
zTNP`$1g=!RGm}@2T2_{Ct1n}CklM?rxYiXc8otoiGl;+$N8`@Th9_f!#!(ZIpg%Ks
zVR}`WH66yp8=f7=s})ytd)IZ+<mTt*Tb(xd<S2rCYA&f4kn9WmPFb}J@`|deLT3uV
zM8{}wb%HSqSA;B<hkTSRiMEoK0keh5_3-ti=A&Hr3<g`<m-2ze@PT6Fax+#qhBJbm
z%px0rT!4_$v2F_bKzUyoN>h5Fq|&6j-Qke-4%8LV8S0)z`dM-GOw7rNsFTZ{%d(%=
zQdOCPC+jTgTAF};t2dKev5NJDFKw(ZE(X`BR?ScZ##h4rB$a~0X_o*d>hd{Umpj8V
z(zBkJ9lzd1XvwNT)|t(IStw6v>9|O@YBM2^tJR(s^W5oVf3V2zaR%UmdgoRUaM6T{
zKT!0Of9o2IwAvy=m)d^|NXV*sU38aB6;Fo6e5=-fvb>O5rXqr1>v$0^Wr<>csL9rj
zkTteHCXqjElE}>*c{dXI5tBrI#3Yd)`Xdtg{U(XrY?8?Lm?ZMOW{EsLf*r&1t`F*`
zzP{e;AzYSJp$1Bu(dNSaU6bM2xhZsH|JY1Ci6_!7`3k6~Xvzr>7U1p&z@pf__0^32
zoD>V+!J%OU^O;wleHKf${k7w-z4+oEUOjn%yr#~Mf&ZJjF9DC^s?x3MrK(r;CUvW|
z@3v*hw!BGRWVaJ<aY#rYKoYWuB}~E=7-rz(4KQ8ZQXs(017_yIFp!xC43l9Akc5Qn
ziXCrp;!TomNtR{pORG2azQ6xex2<v#WyruV^U6t8w^UWCd+XeD&pqcq|H1H;dxj4_
zJ$MnT;>RC<{9ym2FNCR%Pl694cTLu}yF_kQKv}c;@_i1h0c^1V^1n}<bg!wg8nrr%
zWQ{zXhyc(<0t%%|Y3g#7(P&CB8e<cjSIxE}6dN}QWmw-MAr=Xp62*)gqawWmdQEm=
z07<`#j2+IrmeuZty>0cSw0N*_sBG&GXV^6KLL^F5_nfJ|p)tbP8lad3`p4b1zN*y9
zGzu+p=zQ55Q@7<ZjWI*xO{RGC|9=1b-@lw||JcVq_ThWoYu<aqmbP_(5wC4owW4vw
z%I4KXS-)}>5XYt!?b~+khVi~_Gm_djwr|^c1M`4j0p~dKSg%dZ1}Ow<vNxlt9qn~Q
zRZ<J*6t)WYnvZ>Wbzxjc4}1`cIO8q3`G#Uc+6y|VXcB}>n~;JfyL+wd+c2V(#p)tg
z(d&;qKM7+;Av0nqR_t=G(HU)3Rd~Y{W#v_MHMNyC^2eJkMkwnvud`Pdo74&-VJtSN
zQRmPgSWuPo3PH)$>}&Y4Bg7+?O9ZiC1(&)47$d!2=U!v0YT2>{l=vIguW#S6y>nwr
zQ%y}xU40dlXWC$2yS1stqSa#|(o|*E@<`vefICFaydk^VRg(5nx^FHr-8Td?bWttG
z)K^yOUNhy1%+uTozkv@r%r912kH*w!Vk{J03~9CT$O37|87M*EEqJ6;5XFWhdm4Eh
ziHsuSDhl~xlufD4#;^`yRc_nJI6ORLiG#c)6@d?f8pW|Tmt|&dF`BBYXM7`2vcZWA
zr-rMDw}9V0i!5|79$e)R$z~QkJm)I%Uz%sIGAiYXbS0~HS4W5=1doZ_P6f)`<+U>G
zS8P;ZG9l=)sVG!!FrLaJFbzVHAt@xUy9KVGo<WZS6S7+;24fU#A`}Wm!|pYc;XEBl
zisjTg=uLzII8H@%>Q&ifDCB3EL}&t@o56($SZN|ciws-{;Gw7W@=}&_76y+@w9Q$N
z3N$q6WnK*Ru~D}zp#b+BS?J<MrD$nO5UmHxn-!O4f}yC3^Ie)7I)_-kvY`xy5^2+H
zGL}xbie}GZs)s7iQAAb6yKRfAj5k1Qo@=%M?w16sx#r2^mnP<2+|X06|MDkTzbJ3n
zrjw_#e{0L8!=4xs5Wo6QDD6V_^DO2~lL7jfDymt#xL&ASakEN%KL&}#EJbY?a3-NP
ztP<akRpR@xb}jjS>|IM1v$bo<Vm3(hvjo?~bNLr1gK<NN;Bw`nPCGZ?cPgrx>M=wO
z3O^k$DL(aY0C99Ood+4tm`v|*yt~~g2N<OTUf4kNdO*IviFCTZaw5k1?Jo&jrKNcN
zhOK*06pfiHBe;g1vNh>`c#(3YI;vC_vrYw)0Sw|_5r1k47>ZWor(?`m<<j4dC^_F)
z+zIe%@dAq9=Am?Q_^BAgN-lFnOchf#v2=QhVZF0KrvlvB0fq}J<)=>`?03pRo!y^*
z4nj4F^Q6JS^`dLV%`92DluCSXX30EhugSj$gJhmGNao2>$$Kc3ya$71o-CF4;G}42
zNk+`lI~n|4e<pG1yrN<fsT~6IIC8`lk0yi9|3cAmjD_vI)ETR{?BGJ|O17_209=Oo
zE5uk8nla|CI~6~8FAFlfr8957ZeMGi^&@N@&}DTZb9w&F*fy``d25wo(Ub#ffor+%
zCY`={i(;}ShXm-Q%fo>ouSywZ%|3xKOMY&Zm2axi)v)E$gsS3vft)-SiYoL`ym`rK
zqy2q3Ei=Z}PY6ss;7w2-BI;M>7Da@W=d&i14z8CeY)Z+SQA$RLQu1b$IG1XpDJ5@4
zCV4YTi3Ou{ER7Ip-AScngh*=+N^$IjDeD#hqQh=I?H;7v^|X`GE-Q3*<1j^^pQBxn
zb{A-8pk0lS&&6tVaJ_hBach*cuR+qjHc9)Ma3*PhMoIe`CGBf;ENOs7N&6ZklGh+<
zpEN7P(6xjgG9lJI67T~Xi2rlQorhDx2>>8JH48?k@tG;Kvl}OIPmc_bj*MO$y_A0H
z*=HG`d(nRW_?bgTj=b{vs{*6w77X#-wKepwp*FE)_il8T6O#qMV^`bSwd)<70Pvze
ze8AVM59~d#?}okaJ`nipUCeix?>f<`PDH?W0q65=`KRx{|I@pGy!tBA>AFp;SDQC>
zbZiCL<M!>HA3Sh?`IKPLW;!}*>ujhnQ(N27k<pSQq4JtaFu|-e@+wqDRe?;$0@%D6
zHwFd2T1hbrkkn!kgp+c0Mstw~|BCn()zwUG{-hFZHHhC#7QEDMQ!14n2j3_dJN*6x
zdV=cwQMY)59w6fV7z=DS%5Ehuz+e-%NdM3fC9eUV!Ve8zo|+mR0&i^!-6HeCw4*e=
zs4TFsK(z{~>-=6gDDru;IEOniJu@{kJu^AQ^}YHkGlX;CNI3l(h$e<lo~G^v234Gy
z;U&ZZgxJ{BDp1{jRRJm%u+G3*sH6Ml^<0~S>xBS`Tbo4M+9c8@t&rA+GfCRoB+@2j
z&uEiKTbo4M+9cA}CXu#f>N7AlEC4`dtp(k&+Ug5q^#%Tu9Fc=jj#^EPAg`%G&MEJi
zygWWWF+JaHJA7(j;M6G;_bD>39-j5X?-ogAbp&b!X2anS<PHZ?+xUTFFC98`__e-n
zTgUcIn+S!LN`>P4tHlLqRi%%F5#=NM`%&|^AHWyBbL+<S>pMEPcLOoN^ss;Vmm=T{
z>3xyN1Z4DIG`sij+r4M+^^QRjPI-0pBaaC3M;@uJhLoaIfc$e0KKLcddg|`Bt!rDe
zhR|j3E1TQl%%!cqNKBsNxCOu)7Zw0t=RtmDvz1kp6D;4xW@Um+hY%&D!X=Zbg$&|G
z#L9~*>{<N1U@(6nN}KWu9gqQfm9o2}%m~kd5h#&J^b*6P{xAsXA{n<+J~J~sEXaq4
zXJ!OmQwm=3GPAy0IW^}2wG|lEvN^~t(ZfaHAcn4TA{qyTmAs?`5F$S4gWU>ywcB=l
z;H8(qqZg&(MSUn_gz-N;?S)=*$~mr~L6A2zP)mF>xL^^O7#kD^{IZmQBA0nYDTnV$
z2_5K^r_(we5a>FP%JSs7T@3he0kQ|q5%5bc*KkK?!Lc?A-)s@|B~=~;&|h9(9|5HE
zbl>^G!T!@{y0Ms+WAOy@L6r9%vG2?^`8h+HyWJ|0@)n7dZ<pxQ^#v)H=5Du2bZV<a
z%3CE;-Xf9m7KxNEGn+Fu@E4|`RsleQT3z%*txlsDAZb>XY7orKjzYD1CfxYejgz4m
zxTlAQCn)}T5$g5TSMwT{ZE11yub+A0$dSVXhu!$rEx_r>keaQpsRco0V#}UQ09}x9
zBU{|f@7Rg-?bTbix$&)Akk{7cM0LA=-%a~&*mEP)t%LbT_Vb@#Qo8IDPq<0zepCLy
zM?c!N3-AZG8$au|tzKPM2h9t5uPd7O)>}p8E7O9N8|43Wwa~xT>KdfC$N~XT1=~mk
zW7Q#8poNjH2`vm?z6Ak+ydq{%b{Zil5FeNnAdg4BwvBQ*p^eREjj70}H9{L(t$Brv
zlqxrG(l<gQYwd1)>$ZWEJ_fA}3=>hd_@I?%fdU}KjC>?F?+?ylu@qdOQnB4OjV6=P
zBrhOzPxysoc@k?uC|^HLM)gtt+yEje7yHh+2_PkuU=cuCnlh_JEgcHw6*XvfabrI;
zbu<X_5RmQ)pe|&%6EicD(AHDX*2jm2@(P=^+ui)>QzIaIJJ;vNw{C@8&w|>H6g5pz
zHr5P8x|94hzYh}eCW++kC`j&hiGJQGk=&gU$=xZD+#M3hl~!0bb?InsAWtbHu|t{a
zu-S~@I0E^e>B(ucLO163qO$`YU*zP4$uMA*Za$}kr&O6GKN?1M5OMUtj2Ct`IO?ls
z>+4Yia{Th>`4h)pt5=o2JTgplJOjgX|Mcr)vqWCZXSHSJ<=PCWsxb+Ui~)FZ`Sn3T
zCIcOP^**&aURhZMw@6L(4RK%mrp5+@zbeZslY8F1VjnV0-Td${7)B>Y2Fdc`YwIdY
zOD(oq7jTSjFhHY-qi4sCUDsW=d-wGY=AUH?175g-Rkz%9VE_IdTRH>R!`k=-a~tym
zr-S(!ZuZ!(o<Dl@;FCWiMg;!AjgC#5R&6}sVnHomz1eOzft{lsgs=_mX1#d}aTYb!
z*Vch}dc|huR$PtY9S(;AFa=;?7z}#UveOz|1t$4wHX0ME;|mLFkZr0|I+H~iV54e;
zVtHOwq}5lOO$g=UE;=OuCeV}JJQB`TDy^9~Y(N`d9l3PLkWuOlMr&=oeoE#q0k8(1
z&+-!6)`pr0anbPLcLV>11!Nz10;5iEG#1wZDW3&Re05x_1@|j-eh6Lztz6}ys7NFd
z48<=^`{G2k4aXF;szUUL3Oqt4__ZG;X;{$0S3fsAj8d{wC?+?2{yY;-_YGb^dj6%6
z%X2TE7<dl#Z%|9#R9s$eHH#Dxybq9_SpYY1`NV{~+5_x^I3Hj<&BJ7wBLp(&T9H6B
z7xn<<jLWs;OVuJt6LJ&-Wp5&t01FX3y4A;%Nfm;3ASaofJ<1#SSCAME+~tBt`RbwZ
z<IF)^4gW=Pv9-Kf6r*Xt6TFMwX%}+G+(d)`_^N_TBqiM(L$8`GR_Eu8<wo94$((Vk
zWaRBCjJ&OqktgLuSZ?GkhXJ-OH}ZmdeGCSt$1^@TJA#*T4pGbb`Pl_e@?8HU0ju4R
z9Zsvwu;AXu>qc+}_G28mLB#W3Jyurcy*M;7FmUMTsb_g6`}5<kpYH2BbKzY0=l^zW
zj5&?VO=hqFBvD*}h7Ll4&|&_0qyvG^srn<$%@(-6R<B;Qdd<E>JbmK^RE}J~wryR>
zy&t~uBg{u|`OFMDd3s_N#wd&#)H5h42GzPuBXYeDYCibE6?feYQtLbJ`Y1-C%;yO^
zm>;Vi{M?^^>Qnc9{QlPKQR?9w^J8WZLvKWYM_b^J9Xoyg{E^-h0*biuJ2$TZ&oT@;
znH6mBRiAqAdmTGEL4nrZzGbty!P35MJHlq24#)NPz4uOHUGJv;01(lnfmLs)?C1bV
zGkDq8tnKKi&NIGa1TF~GK(c{`6{Qa?MlGmiWhFWiJ1vK5$VQ$j|3D*UnPgJK=Xy9W
z1;BkKcM)p6I&l6xiuLL&=7wr(6=Ex^Kyzj?mFSIZO}#OIK6HbO0!*DIU8b9tsWhN?
zm2oZ>+)~vMHOf4LR1#|i{~Q8alU@`t3I;=q>B(_l1bL5c9_teVL_t8&6Np}5uq44M
zMfC607f@nb1d?G4Tx3(3p*hc-XMSPcn;00Hx&UJd6<@42I6`e0`4~J4bKZI2b9{MH
zs_JoEjtoqcsR=E5SeBWGItSP(5KK%?%#FkIh*_9N4zh}>I6xHQ6z{^^3N|VbR#pFc
zWMpv^O8e6I*u~>mNFBX!9>&<k!D0VXPaOU=^B68KF2>TyYR6yC2>cucmV>h>i5SPo
zSF4Z=EN9{M(ZI`xfA~*L)bQ0}E~%4v&?>sPUJNU7TQ1A5Ofm+qWcgKeEg_*Qx|Wbo
z6<vI<cryosOu(hJenr=kH%yY{C&}g$)0W63A?Md@++f;bHH|qr(GNDpsP4S)qt!JJ
zuBtxlREkcpgMvyOPi^0k+O_Wnr;;3DaLC9kzVIHVhxt0HzkM4J_#Ziy<PKxL1THMI
zrEPuj#?3c5mE;mbeiym{$$blg<j<ZudFs-!^TQe^CpyLqpaBpaX7orud-UkxA3k@`
z;^aj47_u=@j}H$^zZ<%A<mlL|M|@6BbdoJFs$cx(*WdczkNwRzFFKW?du&4bXEHL@
zFY_&UoN%7ONrpVk1gAW6O8(lhqfR9`%9#GVew4nOimoM;nluBmx=T@m{zh*zObPy{
zm810CNONeHdpFBvU`q4LB$kOZpO)wl#BShonZ%%cbOJREE0~HYW(pm2^>^81@Nw?N
z!%sRnyr$#KaYogiU1VxH7TP)lu8-+!Vw$eWRZWdCd;hBMlVAL@DhC7Y2e-jY;6M9;
zI_m*sSUcd1;OaW+%pIuXD854^XyQ-hUj{GZD{ZiItxj%{SwxAyYwinX!1fkpL&a)U
z7TIZ&5H9IcVz>l!;pigDL^5XN)&rlkqDEIPYrz_oD`(25nQ2B9U=&Qu&jkYl2X+jQ
zbTF!ZR?E!v8wdLYuAZq!jRz*5wkbXxE6cyj)m>aKUXQr7N#5mV$y~Qy@-ElZ<lp5Q
z$vA71jI%Y8aVD*0vPoiPZj!8zjE*HM)9BFS?vNP=1HugWm=S@+vXPw4x&WB!a~Eg4
z(d7BQlTIzd@mU5dQXev<iE;{OAr^o=om_M|3?8NI?_N1Mv=DymU;oLeC%8eH0ebGj
zFmsTx8;uC<s<ohl3IhYN(pHMh_8V?^_q&-}$W-7EM4y;gWYLpW#6T*_1yn6U@LnW>
z!XGI-lBS+h*{A;cuQzV4;jUwT#QchRT(4kyUy?DE4#$q|$g~FU0{CR}SI~&mSK4gl
z#&zp}VYanzy~T-yDI}wEh|(}+ED4RBvU<g<AT@bc4zAK+#!(g*n|0V*%bhwb)xnd1
za1~?76&kNV)9F8KMI~x5wKg?1)mnAx6)l^b`cyirV3HcU-O5xFZ3%TO9;?s{eFP4L
zOl~$1PNb1l-~=uJB`z4uL?I+{!vz3%kxrv@6(K@9%^6HK8(8GSh{B*uAEN}9qZ0Hb
z1cRBJ5o8k+=iT-cm@NQQVh}AsKnN&lK*kmpK<qJ36Inj+u5fW_F(iZe3>7lm_AvNL
zvxyjCW)bNb1M_}1d-UkRgYY6^{y{_!Fei<Ri^3)W4oZ;q_h;STV&sUSg99s_{swr$
zzxFML%YTnXzrm)XaKX?zYJ-F8WeVE{$C9?%Ad&D5l9^-!&LwTNL1N8qkgTINNY+v7
zx|U`VDQn^eiG-IeW6jxz5cEtYz4JlL>uB@j>@2>6eUCXKxH(`*&E`^#!0~AWD5D^e
zfdyxO0=S1zXo&j9`_rHP^ysP6o>1r)zj%WA5iY4;Szlkj&H}NG5%vw-4Y1nmn==_?
z2>1dC1gn5rs4LONJ)U*zHiP}!%^}qX#y=eU3QKKmZJC7<q}=w;$K$6@j|>d^fGhv-
zhd+EntJQP*^aBrkp7|m!8K9EblVbv>Y6h5dYqP+@7PH^!aDW!Bwz3qAF5q-u-3m)>
z?aepeNt~J%F>A#RHvkw6v7vlm-ukk$3uA&E*&oOpD=mY$P*hV>V=<TLbvi)ek-F~Y
z!ekS9k^&be_`4hoIWW8IEfz~jiKTgM6|zLZKVDzg1V_WBO)bn;Trxk22ON$FTqp-&
z0+ke*TXr9O*vN-Oo{>z30Bj_l09yyL5^0&iX|XQT8aZ@B2Ja$~5<qD}1v+V<&_+63
zE-#8u*>ZqJGz)%93Gyy=Wms$(pm-w@s9=%JP#lAzI>Hr(0Lv*j83)fmGA-lK&w7e&
zAcqNl-UL*%{X7wJ6`73y3m7rJW`hY-?i?98kMOLUD<X7?N-J>b0N_p@Fe<@z(rQE~
zj5vB#8U<L608+t@`?{z<G+1egQs3Og^+J%vZG%LwZ|GV=l5ddc^>sCQ&cbV?UZU4m
zOZ0k+#C}>Qv7a_{Eg{KEBznE%jd~s3N}3(Ls!LvsfQBGDG&vVJ)9+LRK$h3+KEY@Z
z6_rG>8^TY+U|!Pf|L)YWj6}8PFTq_&?b3TgUDvWExk5{7Uexk8?9eOI3@LX;pI7Zy
z_zJJ;b={WRIF;#&V&4VD{;*CHgI>R)*adOEq5Bs!yS%7wMLSY^uBi4KIV1s*Z4LGe
z=yrh$q?E{l(YVW=%>oCY(a^FMA#Pab))FHUL&)xPV!eY(i4?%b+{~pxMX1+ld#D%0
z#^8_95mJ>~w?d6_0#|f=n?B2;$VT>xk{2fsnmw+lczw>tvgsT%ABtyL&yWkq(}IEr
zF(&eUqXi9*;;vUTJVphmQ?60&J^5zSTcfVU3oHUwAqO>|SMoWZ63>CvI!KX7vx_f-
zp8d+(z>|B%k7lzm((s~!KgDI_3^cn2wG2tE1G<gve^b5Btk6@?>OJrhr;#?nxv>!I
z0aAoidygpN%kf%mlxX&i63xCDqk(uiH%c`7Mu}!$E79yy->y`%Z<J{E3W;XdbS>E~
z_E2bW@Z4MIcBIJkyh*e7*r%r-fBYA3q1WMm>Uon^@3Cu9lV|PxJc@9}F%7h|wA2=B
zV)OHB5l57#l**LwCbixJJy~7-z*{JFX1^duWuK_<CcWNcZ)sVx=H|E1>df7OT(NSc
zLNL8qvAgraKD#jPvTHQ;^_6d-+8I#TK-ghly-~aO*e#ZwJ2$<BZfAC27{Om8yh*+H
z*wbkgWPJ<e4yahqn^b#`T?IPgC=|J<$u)$+QCLuI1|~C3FKBd^B8iDH`OuZom)9xc
z=u2n9yposm@KmKTaz3GlF(%RKf}OZGN8UoKGjr%Rj8frEioHjt#Vy1!g&n5_e?Krb
z`Q1129m;_jK$Q8FU0g53SlpT&OV-S4iOfs6Xq#~+Su?97GQV0P^NkX{-Yn7UQZCwN
ziOeq-1J`M3UZQ>?y{OGa0<)8<$?2Kt;bTr2;8=n(3gC^5DLDugfvhbQy)~O(d+k(T
z->We4eu(5`#1mGpY;<!Ap#AkH74DMTFuB&Yt!v-ACznIM$ga)<x7~)-G$!_W*yq!8
zZmzZ#O1ubAVZc<W|3pPee_v5s`^k_0uNwgS{YSuK{}IRUfz0iz%yZ0_or;Ox-XkYn
z$^!>>?aDGG+i?pdTCUv;vD>s6z^`_YNAJO3Nk%aw!x1;~&Y_Aq3dxnw!n_2m)oGL~
zLa-^3P?PflxL{@_u23Xls)fRCfJeay?=CUnD^OVAX$uAoMLMkx-dPB;0B%v3D0A~}
zPFx)3(lo1!suKMNq#o6Q3i2pDvN(+>Tu~8XWQiopsH3RxVGPcqN`wG@4Y6<(Nv*)i
zOh}!mKnNtox>zpdE|~+skkZ#YUY7NG7Q8+<N)d6xBND2L=iEpIhmKBnm%NBI5K`#Q
z9e<T&Up@Zn$<s%{N!E`uH7I9nEjGH9lT@WD+Wq&iw7)CvL^=FpU@?>uIee#B44K5f
zkV)(d0THxr0jmb=YH4?Xb|0eM0_|+HTXps81bqSrzlh%G#>P0w`}9Ev*NcH8Zg)vW
z*@q;f?2D3_<xZSQGmA8P;Vwz*?sP19pKh0ovJW_xyiXsHjIx&EXk1rfvQ!o!{iwXM
zf-~Y}SoEl7f@qkc+*)L}8jIUEH`+CESdjt}{im@48@Uw8x+*F8I~ACp9vhpOM}{wg
zuNW9=ZBUDli6-c7X`J_!tf+42D64K<yRl=Frg9ZH#!IIIn6G5Y4bAqot125m@xcDI
zChr`|%QaV3oj7#p&@<1?qYhIp2|0_7_Mdq9<s*F;MkmL|FX7&1>v&0LXJ_%ao4J1%
z++5$(f9AeB@454VyYAd~VAqySr7mPn)i+^P(6Vl;W8b@OzW@FT+u9rdOpJ^>nfnCw
z%!~r*VH?-5a+k@2kr7s*PL#oDtFTjUi%TV|wndS~6Sui<VrJMC>?S78j50@25cntq
zk~!=j0ayFCWPkman{cx1=G$(+{q_%id@o?Jf5ZHcc@*KC8D>V-x$*w%nSW!Z*cP_Y
z>42D29Y3!6>}Nmw7x&3gY$$gYb*HCIM!-et*LQY+ji%D2Qtn<q|E+I*%eUU$viH63
zzhU>zT|4(Wc5d$2xNc1?8E@966=+s-%eoCHX|#85UG3_QJ-59FwJ=~+$?)u@CCF+s
z#W0nm6moD;^BOFr!P4wPN}eW#VU^a<gxR1X?lo7-$;r$8CkM_R??=MW>C^ol%K7nz
zWQ6(+`UWmsI@5pl<iSHH&kl}Ffl)ynkHe8+EH2T=T$SKvk0Wi(R$gv5>Y$m_dNe7z
zppHYACe-ehU!6Ps?602t?Y}<r>{Czu`qxj74ihxe!)Ku4=BJ){@zp1udFogH@V%cu
zd9d#S^An*t5NL(8tXOF#ty%;FugKoe+}74oWi>&EfpItIA2oqnW^B>qE;9xEBV!Bv
zY^F|uG6!&TBLzvrqv|m#gBti$hGk1kEo*J^n3oD(A(4eFM*Eg~Hn~jb3{3_^7C^)X
zLlMM*7Qr&lM{}5+l~K1bJ#zNkrMdLX9J}a^g>vyow-qV4V`H<CTp%7;VA4%1^`V)w
zBd`psbh<JCXPM%y)p+DmJVKF5fv8y~r%Ykx8+NIpI-eZtONGyE93MK5^yR7P@#*OW
zj~7nwZflg1f<nmYgHs(G-ieTBVrUqCaJ)2B-CPVVidi*)V(@Z6DuDb+h-m?7Hy=w-
zO1v!LHa_;<?>zdOXP$cIm%n@F7;q-%yxrDG%Htdv>N|P-l|zp`=J5_6MmHlernXoz
zRBq{FF6%O(kf%kRKsj{~Fo-EwQI{$^>sLXxcz*%Ce}{wXg_04sJ0u$EPKiePghV6V
zg){d-Bi$vL_oW)?4v9v(Q=*Y>muRFrBpPXlMBjEw^lfuuX38H+BjGNv5N6c62xz;t
zO2!NF<!B<I<q_OYBr3~`xcL068?DaaC50As3WzLPol8a|fq-{08i$OB@#0cxG0(Rs
z=5Ag*`Ra%_VM$Gn4$d&9(zz^zLc<J>z+wvqtwl0D7)!QpD%bk^PrKEPjX4^>6E@ye
zX+jV-6ZRlud}z``INcfCI2!kv+S}VJ@b)|3fBXI&*LAGf*iuzrQ(-GtxggLM3no{4
znXRm0<@(M}rP97~>#esj8-=R*c_o}_bro5_`(<HrKA{E}(w;I{cEgK^H<gn|uyP8@
z-Ftxgc@h4_e*s$J?=)Zj*ylcU-OYP<ZrEmVq1sn-GhpTITQ+QY_Z<%sJm_n3t*+w^
zLhnDxJnKX*Z1bs8+V{Qheedc_qe7H&>J+NT%*`y|=@W?QA?!=NljUYmdF2x4Zu#W9
zZo2jTAN=q~9_YH|#?H32s{x8YSv@GP`udeEYuE04_uZfT<a^$8%e!xS*Nx0qgl0rz
zuoc_Xgpk$%nO|C4zhc#@#-^1G80f3u1zlBH-H4f>vD$4d$*=J62eB#fKYiDz;PRLY
zd0xs^X{ToJcKxsluq`-|A|u=Q9tY!=-;DEM=y|3t2QsczQ3e(CLNn2<Tq}$DeTppU
zK{$5NZQ$%!jQGH|J3i_0#}MZa3K}>SF^=R)<T(hHX^aIPg(uBstAV27DsaK)IE9MF
za!loJ2`W)E&vP!2Q<rdylVj>ERzh*cUV@HdW#hBHiRobQ#Ho?VFsndVRD+_&n7KHe
zm+nn#O{5W&*3_&hGXbYiRDyehsw4(*yx-t%P6d2nMb6Ts#B0zgRq-5dsz%BqWdWsl
zR2D-~Wt7sBCl>>5s2v6ZIq#ocpa+E7$)z#bYKu_r9TRHIrOITIln|><LhbaO84ZN^
z=Aa+6M4@md?JDJqd_HK1c><nH1J5RxMQ4UzJIjm<s7dXIncF`#IE_2U@%G3|WV2P6
zd2&*zT`GMpM*IotnA_-|nMNun(tN`S6md<UiexF4{PYBryA%xrfCX}cFi0y9SVWZo
zRGq=-#CsKVKy7gxd64ADEbG?d4PpaDx=O*iji;V}?#PKlrw4~dJrgrvu1Mm(@LJ;~
z5aaLE==oEpk|;WQ_N5o$u_{BoA3X7#Po_jRC=rsGiSa_E!>R|FWiAz57;20%E$bFE
z$iKZjGNV@+4WK+@U2=l_Kg47oV)%yy4FUU82==o~76Df^bUDv{jrZZMs8K3&gFnnW
z^t;E8SDEW;?YSN~5BvNfCi4(e^pK#{!B2>FrJv0u*=|l#QeIwTlz)vM<ls+$6E0sz
zlXq~vP>|xrOSCC3(WV-ScZ|oGge2xA+LV{rcf3TKYPyzu!n{PA@)B*j+$zc`D}y=L
z<CJZL>4n1`Fpq#|V`aOT!vqbJ?SygB<D!+VQ}!B+037}u6E+Uxm|MkD*~@8UfjVU~
zn7#0G!eR6{8NVC5VRs=rcRA}_+J0U#n^61tw`srBdRI$klXu*HES>P2GVEllp?z_<
z7pf75TcO2p@aLPp2!(-fa~Rt=-GI{_*$+E0YVbpfo#SvB5{chkxnJHZx?H>834;6&
zS+z*t`?af<L0W@6PP>h?yPtNuXeX{(%IMQN+KC|ZQTpVg-7xJ^gfACYWvVW&mnm$j
zt|jk)s%y#XtCGA|4(F10fRo5ICy{Ga7oWeM1M3@!Tyqk+<|J}0$su7Rky(;pNTdg_
z1PGw)97>AOaVzr|LJt6iG`}!x%N;lgKWzX5R1d4*AjGV;1U&Zm*-7Rf=?eB)#*u?K
zuz@k0%l7{pv^#zqLtoJS7U=$O>IaRaA2`YQmiB|{9rT0h5AKKa`S!EFL~Agd*|qnu
ziwtwWgE`G!W|$is%y-xo)GmYt@!Rrtlx1c&{28mHpA9g-5ZgLH&OtUjiz*82rRP~t
zxH@I1jv)RniA>>qKkRmJy-Z=-<5-f1-I9K|TOtqF;ap-f+%1uZJ&q+5#U96!JnWW?
zb19PPI*B|KORUCXiPcy)^vWwkm_?>9jn8?frY6S|Fa{IjBO}=?GKayxAR`DooD`W<
zIN{P|)2L}WKJJYJLT7Mel>sV??z+c&dVT|%hU3q^eEPz%V}}n0VEY7Ke){QT5-cyj
zd+N6`LNS9BF&UYmbgNYS#h0;?9rEj83b+;HfUXR6*L8jQE1$t~@m<@tY}$C;j?Ha#
zum@JRZ`&3QZ`-yV9AhSCFK&`ZEz0z2+=R_DmDXxP{eY1nu{$g4+0P8H#cU}SrH90S
zk1{UVS3du_UCeiwuk&B{<hx*C-TS{p=r}t)ou@DCR($!(pKnB*`v<srAUv+DD5jM?
z_sLH`_~3&#SSKHO<PkS2+@useb=ST7mKy+TLXzg1HN;lhgxtqfYunn4MkH;nTeqeX
zkVmI7lT9Ml<Sx*a8k9*GCG>bXwg)qCeo|*Gs%Y4^$T4wvu~5vOm}WGkHVzho!i3e5
zN~1SsuqaIxfz*S8&0@BcBvG!&snltCg-Yqt$>bIypwlR^w9B}uIJwEvU1#68!2(O8
zs2(|ymXeCv?C|h#s=BdJivr1wO)HvXNZW9hSWC2OBRz>C&s}QKkZs~tpgGlb-PKd)
z&P`#R<z-We$jn?^p2Es73HVti1BbxO%ruda<2@v@=@^BVm3acwa8iNu+^F<{<r}c+
zKl|BP#4P76%7}O1a?XUOO8Q@gyG%7Ydg;R1lM%$Moyy5+?;H~TbecSO>C7U^lgZr*
z56sr#?z*Xq7cb)v&I7L$Bp%Z!%m(nB`4tK*r2&$n3}mMg1sRxh)?FYnjb(@x_8}(M
zQ}^T}KX?@B#;<^C<os)=&J9h$=p7w6b4H^%bLLE6-?<RVb2*htg(e$KxC>;a({Xsp
z>)lvu%d$NWsWTujEs&W$3{bm_{XY+>6Cf-l3R6DycMr?8pe_ABqMqC8;CeA+#ZAgM
zyiGE`r5NGuIFrVAr(}G0O2+qg$@rF5Z|aoj`%cODZs=M<Z<KW{ML?=@x#8gv_SB0b
z@Jl4|;!QeGz*+FFlb1nO>J?mwWeTR*AXX6&i7R}iUJz|inX+eOkD$7Y^%;sRSxwco
zrPY<Ch#Gf<dO=k>go}?H5sFWbdq$*erGvyw(_Iw|Zr<Ep{J}4L^yZsy-mzoj+Qy9=
zHm)m!JzKFJM5Wi`V&vQ?MlSf$ez!JHRjN(Q9Yjr4(3F1R3tw#A#~f!>%m~sJ>EG9x
zhYg>5;JttG=b!udR*Z<wPm5Hge~;Vz{O5w{iAM+HLo~YbY^C<V>(`+kCjNC-8Ng$+
zcKcm7ec;}E?>(@)vwi)Rtvh$1Wb4jNYr#|cX_2K=3y{2Ct5G2l1tsXrW|+(zSM*i2
zN>BI1rn$;ciV-U^lvXK$g|H-SH9TB5k;%D9crgGohuxhugC~N;gQ1c}ac!BgxDxBK
z0!L}N6|iShca>VbYE@ID)nTTv$Jyc2XZuf{J_lF)Yq>hmlPYoX?%hK1mX^x;jR>gl
zN|B+oZ6y&(bmN^OiHW`3KTA)m(sLl{!)gwll0v!;VBb^`Q&0q=iLiv9l&E%c-9iP_
z_tZ--oyS_om(0vf_VrJvQ)poH()c(thD*V&tO%z=*RYeK7_6bYiclo}#MGs6j7l%4
z^g_V(gFymFe_$37RB=(Ikz#$3JR^s&#q->xi42QHZg-VdJ224i``wQo17GFq$IteS
zoas9=fcza)Tpk!;4&&m62BEm7UX@g1c>D9rq=5_%Dw1x!4#dX*DT;4`)##A*j{nlE
zT#?LXdjL10H4U%N|6aqVV<<@rS{*0oJi$^bj?dp`ouQV@zyFb)EnR2ulKFQzJDZox
zzr1Arbs|E20yct7#r%{GS+cpDAa-#8NrLZI@RQ-dQOMN^g2QS$B$!q@M4?1+pn|#L
z@4R$S<kuof6du7h4Y=50kP-Su+5>8d1tMK({8#pX)Z$iO(*sk?H}R~j8b;Wk(?eTm
zY2{>Bp%0GH_x-?U;-JbeCv4(xWkKeB`E!$WU;%T+A;HYh!OuKPYcsJ2SOzJAIYblQ
zh(MCosop5D%B7ihl!H_UExlf%rKNG|jS?*_#n`oVEkzU7OSE)_L<%Y-ePEXp6a2-C
zaydL7=T4m+x-@XE|Li<SsV)hu$>e4MVPIi@sjk{zZabH+Qq6I_y}iHq;ZL4;?q@%L
z^v8W12WoD%uFegVlAte`TQB6zEw>2dAQ%7z2Whm(3}WSyog3<_T2__o<MEBCx}Ym(
zY@o4O2hV$LF~eLXch4J6e*bkM$@@3-pMB5Gd$0e{o%^;``2AQKvcLPC8-(+MegnW2
zu%JF6T2QTS)HrD~ncCXSW`q`6R{(g_yt1LL0=4e07f|ff%_8%R)hfX!CNgLl)NTY}
z3*HYrq(Tc{G+9eZ5Wg>U!&-tT--*(bO8hSn=SM|TL#4f{y1vQmg0!RXs#vU-Rl*~9
z#Y~d9?YVpr>s$^Rbi=+~o7Z-1aqI;{CDVBIDfDoXl2z15<hmBlZI=;W`|PZUQ<{s1
z0t=&;1E~;3;XD=Fq$<XO{#ql*EyLU;6pxN75v`ldRvDT2_=2_?t`H1T@l6tW{Un_0
z8dG!ua|M7z1m_Un2*RakFo1(%9TwzB#6m=h70g#-Nn`|N2$^{)#xAn4pE<*EDA{yj
zVsd77<noLMg%YvqqJ$O}RYO^C3|M(0PaB*LxWA!J<v=GY^0N0l%*N6#@Z^BvkIlsJ
zyKvSseu)_9Gx*&C$ej(vyv)TW778Bk<#2n_s%28#-ll?Wa}9z?V%w~jj2dZv>IR8z
zBgO5l=vuOEtkO|Kwv9r8Au}Ed#uMRqES$n*3A1Jt(+OZ<h8XZRS8STu80KAw=2K6p
zR2VXcrpJJT_j_j}ut;FcyogKCZwBu$E-CP?pYox+v3+r|y`6x1K#NwIRNxM_0LSM+
zJ=7XpVnBI1Rota1aIF{fC{$`E^X1g3`|rPh-`*Yd#<sQVR>a^$hP|>MSJc)D1~WZZ
zfmprO(AU>(CnIIUhWEVZJ+M!j8(Y_GSicU#1@_5@U~G4EG&FQ{=;D}a3oPm?E#}lE
z{&dxwtP?v~Co&lpb0ta@5DWmJa}Y8ZCZ%`=<b@je5_~UMCB*<yblb@$k;`EKuhbY-
z8m*GoYhjPW9BIKN7^MdN3UqIQExl3i@pRj1c*y1Gj)iz8hU|?%hDh9Cgv{d-6q5q8
z2>K?^knT@Xg<{+IxWxjWGNUU>MklA@dOe;IrUzLqG&VwuF3lBI^eA!z?Q#@@Q!262
z1mR8s)!<_Z298A-93a|<Cs8n@i6ptegdR(yx|N;EcbiOD{LD|!1e0FBH;B5sCa|AR
z;}T@78lvEczrub#7lUmBm7~g=4^WC6xwzv9?<%ptVUZ*5!jMN@tu*s>WiZQWbg{2X
zInclQ=J|CwPv(E+{JOk_5oHe1tQZ3$KMp)|FAl5`vuhuHFU?P+^YCion+miKI4GG-
zbdcvwizE`z@GX;f>&2O0(YGWV12}}}x;OX0au&ur@nybK8%t_oTx(-pWP0$dWL4$h
z#&yc(^B&F9d5`8=5RBu82xQY?HS<Y26fvSLvVzgmHw$B>0|=7oU;@Q4><f-Qqc-K0
z_OI&VdZGHnZEe?*kEcaqT}Y9ht7`H-KWQF+n?z5xbS?RKq<XSNVqL82T0(m2CDw&r
zq9?CG@XKX7Ln<C;MrM7n)P==<_1IMeze@xbBIZB{M~nlxtf)eY@*Mkj?Li61({%+^
zPoZf#TOTHbX93^2VTYyz*1d%R{CG|4)m!H$I-IPXl7Kr2wf`CBVeOYFE3uim{r>wu
z_E8re8+QhTD1UbZiU`;#LiStttIMDa)l_<<#0BdQc>M*z9sw_q61h^)Qcx;plNO&4
z+RPECQ)K`_KD-dn7@Syag;##f?)9n(zzLiWVL0mvsIOiDCC9Ykg33xTHz7I$7~i4{
z`lCqqwQC{!Xt4@ina<Am!G|^(p42P=&{;rqx_Cm$zX`C9^3Nc~Et;56UW4g$Get;i
z5Dfsb0bm5+=88O~6S)1{LeQrPK(i*9I98h>v2Sq7m7dpW0Org?IgegArS4a&gQygX
z%>`us!%|p2zFdRJUygfXokV7(Oea?``OC@dI?3F=wreT=B1I>!lUT&dV)D<CrH1$Q
zMpQnKn{L(Al%Akq7Gylgh;%C$?y>(On{97L-@Fl%Pr1XY<Hzj;QEyTUoZJfryRliI
zX!Ej&z9yRzW>@ue9-iOY3S|De8mF=;Ng#DWZd$XlR<J*C{q=_rzcq5xt-9^D5T+gk
z?gXxB|HnS|vD^3e*l*swySe$TVVi*Bn{AX7SOsrN>uS&pH#Z|IT9o94alu{*rtF2c
zMr^tfe2l;jT=YUP6O0%$?6GeOhlhvX8m{S9Rabkb;ZD4i5IAsk>h&7F$L>|B%E~ZM
z-U!5pQ_ZdNdXa93c%jUtq}0er9KA)nPBhSINWyR^iuzO-d{;sEf@XRNgb!r4csA`s
zX_ghiJiUs*=R%;1iUOIJ6%;A7Br4cPrl&Dt-;BT)Q)wqA6rdCX%^(*<9h2e9(>);Z
zBU@br-*Xc1y|Mtl*W`1m{=3(_%g@Q@nSaIX!9I-{NnFQjk+qBOrI?j3(zH?rR&X3V
zaLM4%#5m}%JwG)q<|pn;`9nHCD@Q4mLH+}PXKAXQyD}@O9b7L{*p{1>rFMxL=Td}G
zEm`xbC9~2yot2mE1NJv)yx8iW;zJcZb`f(24r~p2;V^yJhYwEr#W>BlPWAx4yXeDy
zeE1>#LMsLy;q{2qH$dy@kOb-w2MtJ_a3}%%uwbG5cSjwU$4Y7_eE1~oR?zPKwCkju
z7<Kf}Cy~(VY5FuyyGY?v9xM4q56^NI=o@3{Z;T~NW2(!&X^q7GkjB!Nebaa$hzpXf
zI7)|dWIXkdT41+-0r5tstd`kLKhJ<B0S6Epl69q|&xw3^d7K<U;uVRYc!fudDdV-v
z=qxpPfATgc*TwZRg^iQgVA6OaC-L*Wlep_28gF!w1B-Fdcx8*q5ou(rwj<8Sw%)^v
zQN|cq+iY4zQO0CZKFa8)1PpZ1B=rrOj#HEo91UWWF_v#O9DpkH!XHZlmP1oWy`1k{
z0@%C+$np}Pyea|OyadSe5}?mZK!zm1iPEQ{45ach;JqpX*}M#-@-iUH%Yb4@29}Gx
z|4)zsT0@W&kgg*+h>3ErAj&~eK@K>H9K;K95G=?+K$HWyC<m&797GFpFn?7Jejhz2
z9R&zzGjHVQlWGDfs^kyj=bI$0b&Pg<umi&peY}x&Y1*l1XQtg8?L=gSmp;8pJC1fb
zA&;>5ecJdRaS;9?ZCqZL^YoZSv=iGDr%zv^ov6!`^hs3SO8O*zW$6=ke_UPuhm2(D
zT3X7m=#&NU$QYcX@Yvv>y$W`+Zx%IkInz!*N6IoC^zfVDP?|r)@==T^{4jZKo=J$;
z#1V%CLWsadjN%G1>VNhqj?yDz6ng;t>0wnS(&nZ{(&lUK&1>@{HJ0T;lFzUPdtRHT
zsMBy&gyIxz1~j|S^r0)55pfcefs!7bLE8L}A>lHK<@Se+;%hNdVxESdgtmcpx6*Dq
z?L-OBksu2Y4D2ds7p0vz@<kcX&(wd6*8L&lcR2|c@MiJ2BA&}cpBia*FYUzPEDmft
zeGSuYhIYVx6{ttW!5$C_@h0i|<G<S?yLJ>4ofQUVAn(}=<2~j_<kYR=h|J)1ioX^|
zu~r<uOmQ9zSW3Uyi#MCU0t-2^;ZV()ejbM!!zlLs|1pYFg;5+8NAaRKipRuJTvQmv
zMdBz{Uo(ocg;A^&N3l{I#rnc1hJ!{N;UO_tNuzi<J@!8X2^cCM0jCN`zy?ABGVgZK
zvYlaz3P`{mA`(z0A_4gV67W<333wQbx6eVFMaKvUI9Wgf1`0^Pk^fJSfTIN@;0tIC
zqR*^dL;|)Kkbuosk$_bAy@xFmk$~$8NWgOiB;crs1WbuYz(4^B7%d<HJy(%{zmGgf
zZL>e+3Z*b%V>p);?9CX8CG@b~CXxoW6K@#5yN)2yY?Q#wtS_0zg=PyQDNSewR-PtV
z;6r&-s2D!LbwL_s;>@;OAN<d-&~>N`LbG%!auj>mWDU*ji~DG9Fa214Zr{eNrXKLn
z+>U^uhzFe|;03N41(dLdm5CNQH<zE=#W@|nixM0|?160#t`|nPxNUbV#R{Z&u^p0i
zDpja&gI8vogQc2+h3l5^pi;cpR>zXxb-4=lZIW0)n<Q3Hp;p(b)jnT8zz1?&iCJ&e
zX^Jgo<fG_Q5Mg-<($@tg%Ily&u1l-ZcxMsko=wV1O57C&gTrVX9Q^4SxD`uQ)Rs1v
znBh~u<(6AYLs+%QSG9F^0v?2DU5N0I2Fu{-qeqXP4k5zmu1F*Xa=G&ImNm#dt}qm7
zRJIZ|vxs}oMNoWAK38}0q@e88@I`v1OPfxuYysx7ToVWHXhksie>0hF+dh0B@LfCV
zs;#CCYfG4M08CHLFxLt4*Khpxw*{yui`7tFNs+x+`1TKd@{^z3ZuPzXy1N4OmX#>;
zwjOmR)~{}Ctgl<OvaYHWSgK+>T^%vZ%?Zj0C6Y7H-fY%f45uwvAR`fX1;C(JxAy%e
zrtFTLZTs4hfVpD_;!6*+xtI&wq0Ha1x7WJZSneUXvlkKxovv1cXr>os;AVY6k1vFj
zr6iRamM>oN`vs*ogB5MYrA@?Cgl;g&sV03zG&&p#*=*ZO;Kv<1e{uT!#Psmk97<Y8
zOc<&1nImIkLa`~OK+-Y%qLHA<2Ao4R&(6%aE6$ypA02(|wI^Th>+8ET8cupnoE^Fd
zW>)Xu>&!_(t_L@xP^@53`9g*6$%a$lwey1fQLlGbJpTC5<Bvc3sPk{W^PTVf>hXbv
z!GC)6SHC`p)Ti(N1M_VGfx@aP!OTw2duQ-x*-K9xzKnMkU&!?cW$G;0RX}7H3`Ub+
zj*cNvf=Ure1xpbSK1NtEa|U%<@HbH~2IM!3izwX2^X>|ktsu1NAeih1r~H9XWNtp3
z;sA05t<#hsw@d?Ar(7RTMWSh!R<0Pk1dqNa&RZ<*3IG+aZaH~26hiqxUWR7~1~6-X
zO%_VCF11>fV1b(jZnUR@P|jDjtTHt*)lye#kYBoVX=DV;l&{GqVse+d#1cUATmsb`
z|MQkPhtaE)jNavJS57i|-#P!iNMm13=I9dt{R8;wV7^5^6jQQ~(5I*9hq(voV}f?G
zv=i6c=dW0=%V}w;<?>%SQ*m8OxQ{pIFia8p4LbEWNDk>}W}2XPSG<pAs?CL&>MLZ0
zu%%TrQ?<0`XDZOIiRX(s3T!M&I@~iZ&Qwg0%vNY{TC~2M?e?ddr{2B?7AZJ@=bc~<
zqLsGQG*7L+m*%OP|13XGeT7!xtlC0tG&khusSN!LS82&YWy2v_gHDc!^Ar;k+rJ>%
z@Nd`tKa~W?B@)1OT}3sMCm1bQC`iDCf&`>Q35bXikSj=ln32L-MG0ssNPwpx0a3C|
zS(zvSN>KuO$UTdfpI@OaC;w_mY*gK)sKI3Hpb7bpZK=Ke+fNkU{vy47JoakA$t=3@
z;a+^W>}G8R832hdTFHwtpex9LvLFK`q739j8ORo7fD>gv|CTbqNh}qq45%c%psJys
z0G_66$x`7YUI=L>lT_EKy5tNj8?h%<5>$gUlZjihR0=Xs#PDccxd9^_65(a?K9qCh
zL&0|uD9akd`QK9d12UG#dyL=3$-B&kWBG3=11DZlRIt~x;(gO7%=GrM@TbxQ(q4G8
zE=-X}4Q+}rucJ*-8)<^Mjid=m?$2w2{5n=8N`aw1uL%+bPqdtz0IWPgnn2~vTde6q
zKZt$iBqojy2iMCKwhoCLbU2nW+V)8-Rzd;lYP7g+Ne;G1<Y0?~&)?6%;G89kwZpL_
z2U32@a%CDtnsPkFed8-zj0zyuSBzf@C=AVbSAtB-#$2W>78yaR)yxOMjXpj;9&z)k
z2+-?kt=47q-SoaHZtmHG?>hL*C9eEdga=U>&?@t~OlieLZoCZEoPHdn=&&8<+~qO`
z*}V))%wdW{y;Jha>vtWxZcnXp=4D73m61%lOu4j-vBroJ!#X?51F@%aYZaj6USQ-z
zYo^+j`(p0TWrw+4yP3adzLonTGLgO~+pjt9$o+*AGKxQsY+yWgT$x+90D=qux)Uc1
zpu#Y_%WYN|p;oa1w=Egh*y=ZKOm5uNSgIkR1}~S}2$nBRTI8-kl{=7JDBLJ7qT^L^
zN(OhAClxSR*aQLe`MH@`N@mc`YYki~F^h2^$Rat7%OuMcF>0zYoCZ+_r4gyz<#7$#
zEsur(zA#+q3nuv*`=GtXkO&VT5Cf!yH*0a36j?iK@&bApH!UmxU{GyDho!J)0Ad36
zT%xp0&BkUurJk8E%iA&3&{UpHpvPbdN7YCPP(;Cb4&-3m?PT;WD;EmkLAk10V`}Qc
zNcG5|pDn3}V-0^Wq0*v@A_g`XL&BIm2&O;aW|3?J9ss~IimBFL&SX*Lz`|wnE=02`
zGe$FTp8{OUMj4Y!$RGjoM4mt*>n_LO=6NQULO*5KZ79jkz4qF=*Iu1Y7q>y`-C#X4
z%Cn507g--HmK5kA5^k|F*cJzumsy5kwk|UUIwfOZE6$@aAmt<9Dj5SEzsDHZB0<X(
zIhHJ<@;GtOB!dg+!?4M!j7*)qU>F*l38f9t1}G^mf`hUdmYL3CEs&j-$-<y~h`Y<Z
ze!SY?<pC@QrfOEJW{>{pmlePH&56la1=I&1ohsDsLehFtmU}G?riRpOa`_B69fIz1
z9S9a9IhCcZuC8=^GOj7xuz9qjvql>n!crMS0yVMOtWwZt7XZ@;Was8sB%X2Z;&Mt@
z$(mN9=KAIr5BY6d{`?D1p_0p2mHX|Zk72EZKbl3FJN~GK$)yK=`O9BkOuzoR{MK7<
zHMq++Q6cmC4c8+%aPQV_?Hkv%uIT_cedC7BNX`YI*HA@e%2!qyvgI`(6|XHf8V!^X
zckO6E4vkXD>xzgJBfgkXS*q<RtJSDcrLiWr<1eR)@DFroY#C|=__;ErQj5RKxy!Xi
zWVRKRqIf~6esLykY}(!yYiX`6HpGFIw4;D`g056R^4I8)Rij&@QkB%y)Mzl05?Ey<
z!?YlYYKmmBh07DFscCOCL#Yf{1IuM@O)ksk{Kz;mXZ?bLuuN%?N6B2)RFrDZMoP=%
z@%iD=($NuLQdtJ4EqY0=NV!ZXP|AkWU>#t>;5-2>rQBVfW-tH|Rv^?G7>_fFP*5H4
zAtz3Ym<=cmvCIOtS<uUPv`C4i7K1Z$?(zs~5~<i^5KFfOTd^{}FnGSK|MW~uR|&5U
z{vZ}gP!*^|t1v>T6%nQml9Y1)1B?XZb$^p#zmCJ(TFg>w;ZL<@c(cW*qgfsEq>Ydv
zIQqz5U<cJ`BAaZ@d$&qOdnpm8HA5(vUo(WsR>1jDD5M^i11}`Q8Z-GdLx}7pW&*zP
zx3iev&Q9Q<A%35{?>`iOK+m7I6Fj1wuxKVbVSE+Y30Bcs6!{ETeKD;UO0TXL^6_dT
zMGRPFnyds}!Q0Ii`h_Kr*_+xg#b3PL`zLGhPt*Qf-pa$|NpI65+IVLT^!DT1@J=aF
z_)*~bF(lE(RQ}z^8ISnx)dbAC^6s-&Je&DE?~oW1{m;IC;w$^pw4X!ZnOZIeYuIrk
zz5f^L>HQadShN!z%-5X+d}d`JuSeZybKX*XE)VjSJq1EKtS7~YhrJ*Jn1sc9W@#+F
zNd{D1OTNvwlYu{GA4u0tZ`J`5g|-}Fdd26qBE6x9UH2i9f-Q)9FpSf|e8UM80z3y6
zl7!U_c}YkVVkIo$>EW;<Eif~Z*8*Wt3rzn3THue_18=`t@D_StkYI9b-FlLO8y_So
zc+Z0cDR|MzG~jm{6G=fyO<oGp1jK>#ummndN*ZZ`(Tn-@!a~7kK0rS6|FjhRz6=;r
zO{kWv8>I{wZ!ZO&LLUqiq#!3sK~|IkSzZc&E+ZKz5oMsMAOpFA3}{IPu-HZ|JQ$fQ
zTMz@eC<Z+3|FhcQKhp=xv4FgNAA}2iFe}P|R+Iy~C<o<vIgquAQUG)Vq`**+0(n6S
zG@=w_MJY&#Qs5G0z;#suI0x4Y16bUoo`YrQ!kWD2U^!jLNvvh5=U}<k^Ic2UGT(KL
z_lS*Lrjb40%Vroh+(MtHK18G3MMzuLXr`YVETj|c4K&U(7wB{Bkf;?yv{#Lg{No?h
zxyJ#ZHSwJ<*Xp<P8ok{N_)c5RN!AE&@RzVTvDKNE(K@sgh3J?7d5lmqkr_d8wFlWI
z=)eYQJ8OboW92nSz-M#hF=3-~)M~tMo?+7$Su?|?wA3^3Hpt&z+NFA5%JsrQGX9v-
zF7+15uYKRpT8o4q#BrK{!#HvTabWaRPZF);_Mt7}Psv-RTR{?G*?z_P%Uewf!dAmt
z7v<p$>3#SMd){8#Ei3DP<hH-P#`hE7HCi_!MyO-8r13pBkj6I_Fo$XpjcBQ*cU<3@
z*Y~355Le~fEsv4Bt7r21K1H)VeiuV>YLAorL*_277mX4(vt-uSN&G`b$=aC4CcS-~
z#6P5SEJZZUT}%F<lCCBHkWS(s(k-oxIVDm!upz!gi7|?)?C{Y=K~_7)T=~iI^izL3
zDadvmWR%*-ifsoP1(vE~m(ITbI*frIGw%^tRK`}8n^v~9cM5F2EVh;si<G5GdvSvt
zNwo$+*`iw8w3`>$kxJppoxQo)VH9L4SwNL*a!JVKg8cO8<<kHG%24`RnURP6o`?Yc
zPC*${jh#I@F0d>5h5V?I_M5@6WGzYi%^>MF{eRGJI>%DK=^X!IzcI_q5lj6kQX?yJ
zlfy6eIoS%t-+r4t_SCN2mvTQ9*pB0ZQXXvByxlIaeNCX*AHC%ZyU1B6us^s>P?i~X
zuGx62Q-)$Z0?dYdXErF!);4thqES%pQrE7!V>dFQ5mcVZ`DO?F0&DgPN)wYFk7)%e
zSM5|NP~tEtu==Q=WObA0`h5ahKOuk+gctq>`y%W`&AXhx{!gWUq&@j&AMKLA{uOcL
z)G!~%aj%0}ApK*wE3bb**a;nzMb<KOt@4W9nUC0{#4#EfC;c<^%e>v07FRL}TGxnu
z@cSUnq}d+2ntZkgFByfu4{mfho(oOaTh6)A6y7{B#b7=Q)rQ389w)mI{(b~uL}z{#
zilVbEICGI!;Iv2q)P_(PK%0=!IYI{m7!hzt<<VvV5Vhq|Xdn!LPQyPNb2%>!(w<l@
z?}e9)D<0$OjoA=?NKY(>FLYuRbp&ld@YTtDpBiH!G>KEzEGFj4s+gVhZ6V(Ydzdvs
zkDUD?QpbDbyR9J1?vcOG2kvsQ6M!bA?i$4*kDgUtu{@=%*L5vv6)D@tf7E(S*OE5Y
zNVJMZqE(iYgXLTQ3iEW~g@4VF`!wX7pz!t7kQ(M@I@B{C%r}cb!LoL0E6E4@k<VhF
z$lteyX@t3wbIZRVM;RO^Ii8U91m8q~{=-GcB^SZ=@^WyOgX_hs6*nn^_y;BP(i{1D
zcf%ubr({IjEt!|@lJvw~lAgHBu@twsYiV9$ZgMP*h?^W&tx%@b6w?fkT^@xGeR$;J
zZ;rmy`@#z^^d32O^2Fg|$6h-JRLJFv^V4809=ULC3~mXu^hyQSX=q3`5(vdYE>!P@
zD{gAa7m20090w9r4lF;dVl~%`sOEZEtmgWg-#(7*x4(PonP2_(*_Q{&Avt}u@+<Q<
zxcAlauCEOWO4;1#w0Fv7Nu`dzitXaOH?9>c!Rj*E?n-q|eb0tXh;^)OS*Lw}*A07a
zy6L7hwxWb5o6BTn;3iYAU%Li$32R#Kgo<<Gb?_@|E8sn?Y;u)X)Y{BZJnwt}E>E)=
zRo^wT{z14e$H0OhE6$Vvai{w1=Rf<I&phzqPn7OuUSj%@8~l&V&*-1}z75sEGpS4>
zrEsa0C7*uazK?(W<M(~k!5qbs-Ge`c!mxK7*tu!b=3Vb|m3Qu6zhdr{S6(?aLfqgh
zSJzb86p#G-k)ubS`{56}TT3maJ6E?*4b7FS?Avy3+5k`Y%BnJ>#*8#XgeO4E+q`NO
z(lS@A>SVw?2Mx=cscbCDSh~vf28}9(%t-iIX;Y&@BkT2r!r?{lLU$|5a-m*)FdPn{
zYynPsi!B@^lIbw2tNsM{R=AXum#N5nPpJf}QYhKe>eEKFco2)FxXf19QN4yX@D^|0
zzGLgwcGP>WtF2Rm9?op7s3J?&jq2nmNUJfcgo+%BRVs`Kaj3+?Hdd4?V-tEMNNDBy
zqVCqw^qc{eZxBo?E;4PbT0u3?H*DR$^Tv1Wxo&#{Jm<!eXpUE@jTKcq>Ntrl*HgJ#
zbFEpZ$O3|;Mllh1(pOQp+E8yIQUX4^FiO04x9Uu~xR`^jQgYTzJWJ*f<!+*~bCw~x
zW8(Qmjy9XkB#`PR-aH%xNGKW(2}%%)$52)lLXCLA>?~C*L#1^*kw%g0cD6*b7l(%~
zV_;k!UpVyou~$x<I5E7i5D0mEC~AhF+r*UDH#I(SX=HE|0xe3OZvg{odco@|Pv(F?
zV&Oek&P>8hA4sJ&YOSt%<;ohnw!1Z%NsjqJri<F2{>0?i>>NbWAC2c^nRF(D=SOv3
zRKoyKVjwV1MXYHshGJmGO~k^k@))wj(dj$~vSHfN=}b<KNSsOoZi!YD`21DhDPo;F
zcQ)|b$9fMv|NQd<GrpWUl}sUjJRXk)&h(!{H0Ip-$3=0V!3ao|*E4<DRX#uMU!+W1
zlMVnW@SlgH@oZy_rMS3kMN@Zc%pYC^t$ipIjRb??6o}Kst#F|8g8}+UAQTQE%q#Y{
zTy3ye0Adrs?~wa8FC#wXs9e_Fx-dL7wlF<2IXOQ)dU+~>sseA=fQq_|z8jgCngEv5
ziD((m7uT*{z1FT3u%N=tI2H_j9$uc$(UI!jdnC5)y%OE~Wyu_TH?;H~tO;(H=-xY)
z(Y<#|bno2~-Fvr0_r6b}dvBNO-o!%q=;^a(`}_L)`Yt~C{L{}6Qy^FZ2Tq+ma~7qO
zN6w!)ckcYa0Lr4AWPY0Owm6mB!%!BKS;TaL0f=d4619$}Jb^`4r`DiGGRpmSw}ckv
zzx&%~o`313mtQ`3`MZDj4?q0LPk!>)@18$$@aY$N4-KLF`VSvFa_r@ofBnRBl=%7;
z+?`7NdQflyp*%sE4$Y2^jY9h-j~+wVZD4egEj1Mvp&GEv*xjO0>+jmVcklJr@7lGi
z=`)}E&__P{(U0D+X|+vVQCVG4i9lan!}iYYot+racfh#%ChmTv0<f*TQmD{W+N{Pn
zo_a0-js$E5lw1U9HL3+q&UVYJmWo@M6R5oXPbk&$5BT?Olxz7G^FDBDW>FIOB6CUn
z_apsZ-n-t?xodZ)13~k5y?Z}w{)bR;;vxJK@cEm}D^3U7jz2C|3kC<ohV8qA3aew|
zx_Uo!^2w3rX6WA4b=5q7?C2R(7Jm6ecdMnLxP2SYlRI|oq|(73xbyD2?|#qz-P<<e
zXPuqfx1(V@cA(5~N5__S=F5U})s;%Zt6Hg&umy?jL{}aKPdjZGj)khjDs{Kb%D{?X
zi9{WniFWjzm03|cV|-$4e0qEwwBKVB<Kq)UgJTze=aN(JxR8p-XYsaumqvX;tJ0#b
zsVc8PQS^$6@->ZXTQNbbY-((1Zf;t!0<p2m+NSa{{I;>Sq6`!&-5k+rqbQN9JfqZT
z&7_mT3xUyW&}lM@*-TEXW!&AWF&Q^E)zws0QGBg+ZTlJoGFM{y*|d3WOEUoh%2$?^
zmsMA<U0vVIY=O3ysX)e!`Z2EZw5GVEj`Xo^6)EH@n<YJ)PJ-gyq{(!*>P?!cOwJK+
zyS9|e%DH^kXjMvHt1Cebv|<AyqCBrwDUu+(7WD&ykk}Tm?#(5rWQM4ZQ80Wq7>VW7
z24j)QWVM^RRV8}UB1$mivO=9qGZ!FkPJc>`B0NeIRl{gNJvG1^GFeWQML`1G8#;6N
z!pP9j$b}KXm<>f!VnkA|oQKMp3<+vhSySK8*tmIfLw9Q;8K1!4oTJhkix-DU?Tmp}
zJ(h|@^2N_lQwKH1Jzmt{Mx91+48;>fw2q2r6`4djkw$<M6JZicHU-)b5H3-@HMLsR
z-5Lz}AAjZG!9%YcK5}H}Ump3z&#@gmJ2W4eni!j!!o!SQeD&C?uO5H>#L*`hH*QXq
zlf7u4Z+=dwh<k(JrN>J&>j+pH41^;xwz$MxR8(48jM?Ag9~;9I1z{Q+zc6-j80utl
zd_t^0F-AAPbZKg81_KZU(?L0d%I>1)0&oRo9Pu?K?PAy-9YR%VFef2o%c~XLt@C{s
zpMU<D=bnH51xy}~KL49vKJmm82VdxY>4g`bd-8?DAkBR8sUt^@A35^+sbjA*0&bd-
zA>OS(;SZ%>u8uQN+*Dv#moCj@EhRkuCTp^)^ICe3gX@Lj6*nn2@g9kmzD=T~_u$M;
zu#opiwDcZ{mfj<=koQQm^d5<p-Xqb{n<QF#lSE6`S~Or#(T@jwMEAPjkDfYn<jBAo
z@J(V?^Uh4oU=ip9K|W}sc<{sGMZhqYhr_6R$LEw}XTTJ$tv9V+Z7Y3wWcZ3T{Lc?R
z{OCV}OK$w~==l@JUSp2qCPw4T3?|(%)HJya3s^ogV>DviYcZ6yuz73a(|-S0{HDeR
z7+#g-mB~GK?%Vf){qf4mDnMUqs&9Y==9B|$TrBV)s3|SA*lGoNaWPeu9UdN=o}L^T
z>{c!uzHs3guY-A1b<0f$_V3@Zr8BSxn)V1Z?f01%nIEb=J9g~4?z-K(uXiy242$+5
z+;d{0rA6QmkWss8;{ie5(lUWkD33k%+|i>4pZr;Otr;Z@dGnSg;4B*JYwIkVc6M}h
zZZ_4|fyN7VT|2W6H%TVdY5|PRuwGSKgCJL{lSy=$e=!^m1$^DL(IC<Gdc&bBCMzmd
zMZ@uM;EIhpFMPFNpgt@bsEf&-T7SmpOGi{NIysKlYjjm5O-+_^Rfa`r7LC!YKrq0G
zih-aSgB^;qv=$BgLmc>bc;M$@i)wY<wNsh#@ua^5rEGxEDKD{YZ9Q;c#b!fBsW%v{
zwe@<Y1UHF;BuwCqWP%pg7Xz>kqC$bU@OV18rMSCRqtfenbubczvWkK-Z*+8cc>FT3
z7vX3m<oCq@wg45V5^Q}u3~rAH<<<pxET&XKOc)D5AaWR&HDE0R1tZ>;XkX4BI(YHo
z%ZKN^J`CN_k->51Fm7TrE-nhZ&xg|{Jdm};MG_OOuC}G6p;X&l%R<4ZWOH~76r}@#
zeqnlke%d1gkONyZIxjwn0xC)1V`Mz05-|a9M}Zj{<g?hQPxum}(aygD%VK&O8czA@
zGe?iUa9oA*@}x0lQEdrNqR|8b0*@0w6X=~5z>%iW2z+HFu>98Y>h4;VmX;-;Gs115
z@>FWtt9i8+M{IhqVt!SbgSyPh9#%p_t2lX2ZLz($xWrm%wb_Zg2vtmqq0p>mYZ*ET
zTQ$57UsVEAA4<y~R;KizMB?&Zr@aoY7fM0g_Dbx$y%G)beu)Ozi!-;pL4)j-Xpp@U
z4YF6FLH0^C$X<yC*&@*(TdvU{K!u%~nnx)il#5B8d+o@P*UrZL^O!V-FVBuBcyJiY
z)HF)tC^Z728)PPgLNr)ZMW`JTN~r`!?XGQVGG>2%y#GR9Uw{9(@Xx>Z&2N71$KH|t
zp@D&?Upn<HUj#3d%rrHHAvHQYGc${-$nvQvlL<qv9JSk~BSwKSxocCYNa_G!OKojy
z)~zkR=iU!~@Dp8T*blHEnp^kA10em70i!1H6{VP4imNJ-CBcJ3j|T@fth0$(Aobl)
zZ!=*B^JCS6pZn~mK6T$G?r+`0oM!q^G5t7-ME9#!+;!JI_uO;GU04+VK<2v$3-Be>
zbp}fzzjHGx0k>SgOF)q%lAUA6Ps8l$Js}_lgc@26miDdNVP|c3!1TKHo_lWpsAEUx
z_HA3++dDR!YnU$xSZP*tbgXSzxnf1rI+$A(6;`WIu&;Qvz*yb2Fp$C337)>_Vj`N1
z!eEX^ld%YZOnz@95Dmkn)y-phZL#ReEMMh)0n{%UyX1SQ7WhM1v7Uz*LP{9}3c^?|
z3Z;futILXYhHM5LYqF#URj1WDEOX_cWCABS22l>nwq&s$K)<BBc5E!JSXE|(SfUyx
zTeEJ*juw<>EjE}fYgX8*vMJ;d$s(koWo8@fB`79nXs`kD$aslF>TMaM<-2QjIzBf8
zLMase^DibQFAfb|9E*k)qhPvU4EV6fnG$58Dw&79jPf?9C7D+x7As1_nM#YP7I*FZ
zJfFEVH#6m#hp<HkPR-As>Wg~3zPb5We106^l>tEp<3ZpDFHW34KiW4e$b&&pEb@(Y
zbt_ly+}Q-419vT%s2)_jT3p0>E;%(lGcz`sgij$18z{VhxC{z?18oWEC1x{Z*bt};
zh)A+Bp@`IwUYWaAF6Wg;2G3s@92^-O_W$<j=brn;Zx=zsJ~}#ndE_{!17WO82`VOj
zZUF{da2hSjW=T0>v0hYUwdY$zjQeDIL9t=C@c*cL59m0~^K5ixc4oHsf?ezaSag6O
z2(SWT1*;^gTa;u~LnV@|MDB8=B(gC(uo%ZB`LD|#|9}3(u@fIVaU?l5W!hAMCCU<2
zD0ZTeD2uWH7TbH7z0WtGgmGf#<eYm?Ztko!TmZAXvtN1Z^FD75eC|<{^+1r9%Eht{
zP9)}5wq&?c<*=G1mJ67fo~xH6l_nILh55LQ0Xw&xOpcAF5~*wgwp=Rj;^37I!dl^h
zx670dtF=5VHB*)Lxs~XhxsM-$u#gXBcEqfZEKY@FG2=>-RdV&yL)6g9>s<Y-aZFeL
zYIek|kSu0}WHBowi!!gKz>>hvC3zl(;iJXT@`Y3H4p8+10Qvm9^it`ipZ;I~Ekmf+
zK{l4%k=?#$*8uE1k`qzQ@1p{h5H&!3llsm8sEoi1!Mm*Mt=$`M7yvd45pM*#jdW&N
zSjoSj7m!us1S%GNV+7ia{1W+G{MMyz(R6MaKn9<#S^aHEh2HLS1JIf@a#1R7f|?0V
z4`AV=;(?dwWjYd$4^R+CF@djW&uGq`#Eo|fK=sHU3+N_1H%9o&m9e+<@mEHWqAUuj
zt{i)1M(@M1w<zpFi$bcK6;fR}_Li%Ry)vKjd&i#U#;K{<(E-$=GqW@`z-eBRhTb|d
zfT3ni&=g-<+!F8F+=X^K0@VWAzYqR+;_;_GIe=1M<`Dk8cf&gK$L{~kfU1S+mGe^=
z_(jrEz{y$-ZZhJGr9$xx+pcZ&c9OAX>hN=gnU|nZ2to+S8eU_ZrlJuHtC#eI;b}h3
zBHA*5yeKM5FbTE`hOrCsJz^3tyflVa9^?THb%?U`ua2=t5vOOV6)c2Bv5xJEbzG-d
z$L#7lCesMuFJPdmyh>fh)-UJPNZX=WG`3?RfgYx6jFZ}=Mu$|oW}86$VIQcquDk>n
zt5o=3jl?EMAX(N>NKzHHkm3-+HpXJuwQ|5KLD=30z<JAYDoTQTC5d!m2Kh`QLIrJo
ztKX<iv1-~BJGM=+W83ge$&PJPteQ5(s%cTInzq$%O0_6fO`BrJR`svO+wD1)Mo7c~
zW@l30NQhz)BNlYy<9ayLb+sr93ec=hv`5u6iT`?B7#`I5K@Jj(yzb~x=O)y1?$}PQ
z(>O%CFB}7_;>=Piy_7-^Z_x3Bk4DgScFs(kI(6#gdjQJPxu|Hr>-^Mfuf6s@qLUXE
zQ=D=0U3Xzk3c5!g`OQn;`ObI#>g(BJfR2ob_BNv#cACLtwHdAUDo=e|8|YI6ozt0&
z!(v$oN%-7Sj_?B7Ng~=_rd4pw6S-WGL6<NIRg7>=1-MCN+;TJ)hlfX3ilV)&;^B49
zC*oQ3t>DV=1Lg1C(NTbBIyn`j8E`*mM0<gu5L_@qT`**Pphd|0L0<D##A=<6L0Y92
zbt$TZ@&c2_sOKR@N>Dzir4)3*pw@(Vh0jyQU7B<N0P{S|c)b?w;W)H0qX|W-0P{+N
z{&7Z=8O?YZPP9*%^>{aYC~wxVQgL}|3U&dR6IV4zINRD0EkV(Rr~%GICiv5;fiqDf
z3vC=k5PpE*s;*{lUaMGR%373budFep$9k<|ja|*&+@n}y*DBUntzwNSGQCt|5D^C|
z7Y|}GmRYUNq}JJ;7L2f-vl=Uf=?lRi?1zAw$FSAZ%%%dSN@Zpy7!1x&G}QYW(8d5&
z3u5DOm?!1P<Z*!LFLGvEwZYodS_9A1p{{e662JM$@#EBccozd;@7HX7XFgz(%5S~(
z=9_Pxe0A@hUHj0;647<B(TlnT)w(rn&_Tf_6_SZ^rJP5P$5;?G$8*{mE1=_8yPBm7
z;HLiIlv5ut(QJ1&LUoPC_uqN%{W6wl1#ffXFMjb0+o%5E;XnD4Kj|!|gHveyl3YYE
z=Jj)<bMI6i+;HQKfX)e;(?9sux4!l5?{>KZCY9z7p8)ywO}@YU>ev4=pTSDYi;Znq
z=f18^Qny`?(iSTm45u9cd%f9WH`cVm>LDv%lUatBv$&|^a5rG9h9PX>;q@$#FNLAO
zMrfqVNukjW30KZDsL!H}<y-+~=JGNLdY7qGMx$~z+3iq*0vu2LE*^Jk2T@CnJc79f
zHcptr3S(%ou^9qP%BkxyY2H#Q6V1k_CecA7RAj<Yle%qhb2HV1H_?G_bap1#V#Pf{
zoIr5+HjPhAjxlTiSbVW@7TJMpA~K5%#A2Z=(WNrW(Wrs1V0UFx!Liv{h|7SQ#X7Lr
zBUv)(B)k@mEuycpt8!)1XJFZ;7UqV}oH;WakELNeBi4_tmIt$WA`(X62;mMv!;-op
zpEp$qm>AU@Sv!kSe|^0lJD(~KHkR=vRp>kjXQs@6!5Su{-0zkIL$y?qY;uN-3p&^1
zD3nE`l!QN=%#=(P!twd%jk6G#g^}^g=g*&yGpyc#jmII@XsEK7w06Wn@NLk)T4Sw8
zh_a<6O1@4RM)LUhY^Dv#G)5J`XNpDxrBc(Z2ICCP!-8U$<G?nqVmY-&_jP$1VPdXm
zjHW(*h`Mq#DKtilVmEgyGzRIUPSCQ=3XRdM*v(3f(Q*}y(W2PR8in_0<vdHpCP(yA
zsJg)hOREx{5(f>{pu>>POHF>iJAPKQ>eipnT-SE#*QYk^ZG<f*U3wkYY}y1;grAhI
z>+9>9{*gFfiyYcp(Dz)sgKO~DH9*zWq2IxvVPb;PYTqBeJTh|Tz4yfdYGgO{YwFuf
z!t=~-^iDpk)!lgDzzzHM?%fB^?c2B>%=8Y&U;X6BPk!>hzVTP0-PLmY!@GC)Y}vMB
zU*Gl}@Xj_-PYVNdZ?9nBILhNOS0fVScbG)<MA7IOo;M(m5H2Ss78o->cYZblE?13<
z)OpjfSU}xtoC}B3HQPjccAQ!~KFrseP9HgoG*`;nPJv~To|+1%A9kHWdHse*MLX)q
zQf4kZ71A0Jl*wnqL1Mfc&`Z5i30B~>nlsa)JrjNJ!~$Y#=a)t&CrKUsEPT*G1E}Xq
zrDnU$jbug}#)q3<qD!%GL`tQzSg_E{@D35Mz!J3?;d~pcc3fqA<%BA8?!>9$<jma6
zJX*CACOCt~11-I--cwuK*x4n1jiUb?1t?!#v0B&m@k3Z3^08L2n${{-)7F00j|=+9
zMV<bY)wD)oX{}YPrnL(DV@>}mo@%W^H>_2xCWk^d==xXl{Z7V{&!0QD@_#P3e11BY
zV_;<j)IP9ZIGr;y0xz#KuUB-k>*Mhs|9Iv9SZws4-iXCiFxoL=z43T^``d2|yu98v
zZx)@L>fU>wdg}iBpL*)vd%L^0-*O95?*Ov})E6!|9E*!<)(E`3>MmRW#WZ!rZy}iv
zJaqhZ)CpkzKEVI)P){I(^E~w;{luev;0MtEu=9iaDY5{6_(QZ8Qod59cVF}DA3gg=
zU%F|>H3x12x4?kDx2e_cpjejjG*MW57LKu4c<@wTc^Qh)@Og&vd_=#jkI+s{A%RY_
zF*<IcVpJs_r<{dzGcz7fFzE51NG->=*>brBS#C~Gv+Ud)cqaJiX)Lsv8PO>jvgi@J
z@_#lPn+#>MWk5gzYP3Kq8jX>Nz{`sgty4a_1Bf9o7aK~YvuE&#&Q4s2o)vW7lzEQQ
z>#4Ypa!L}3&9B7g;qEUk#^VXN*a4(63Izz~lz{9BmM2<&I7_7?M}GLjpa1-aKRj||
zWaQKvzZn@Bg(DqM`~9()#WFc5Pi8LX_rs9kczifaaCNbS2eQM5S4IfQ#Fg$uU+LqA
zs4K@|#hM*Ztl8%j67Vpt{UW8O4l5+!Va1vaDAuf?kbr_>%?>Ko?57kG@C$vbYj#%-
zfdH<`ZRYctG@8DaB!tvcs5>Q<hh=#164Wp{pdhIZ@m@@rz4i6=E+dC%g~slj3dT^O
zDhQ2?DiUF!R@}}qDM5=&Pe<_&v;%ZOmZTz=IaIuvd_EI}cDCq&himx~+EZ(_`B`yS
zl(eAh?5;5+mzOxIm@DceX`v*;3ex#tFk0l)d?X{$94=$C!P?D8jjpYRd73o0w7>q_
z2^tlCyHKIWkBzBd<#)HEClyVPA3uJH+=a$svN)nhw4NE&<J(odJw4va*vN2PQ;&=F
zIW)7j+2SX}7On!NIyM|ifU+-~rZ}`B*6Vp%PIRGhxE>|sv_ZoNu3|QuEZED7=gys*
zTrSz|y6nVQ=UO+q<uY_tRS9Gzm#1OisPs-4UB*hjm`){hFz@Pog>t|ZpPr6`)mvSO
z%;3s6)6ifpmyHc#i%tS2;e{W+JEckl&(2eNlLL(ACdQ0&RbzX5wH_@Hy;fduXO@<N
z$u;>?=w0~h^Vv0PT+2sac=*B1@I1*Vs5WfK{`99mJ@Tr{fN$^a>OzBJx*X4hW~Zu9
zpSgc$GLKQ1c=gqZ3T*bu$m__BO|UoI&`>DU+#v2+>xYH0z8h3I9-GP4+_`!0fdkim
z>`ua{(|`BDgE!xP=K~La^5MH~J=nKnd(XOqx807OCb!&t)4_vX-FQ{US{jMlU6N#~
zZfZixw6&>WQxB}zjYtsVpYGOrr^7~a0X8QfB4{H7FG7OB)6md_iyQ0BW_wkY-7N0H
z)<JYJm-AN2wZY#EvpI=GZ!tkgY2g28*^+q2cuk`&hp;=sR*9Var&TZx4W{VlP?KCa
z^E^`U)UN}oO0ifT#83!!e5k79+ArULA0RCWz@K3TX-4xGyVRt%Iho8!YJ*t?lrf!?
zBvALrm7^7{mZPL{nL`aJKqC^P)}obkIGoC(Ze3N(W^5KMp}yIL(S`^iK4u~Xc?KpV
zw;LuQN?`M76s;zm2K4ei$t*8tXp7aRrn9(MLJt#dE~m1JyNsmm<HCHrq_?|aXL3xk
zTsD(EiMU<GYSl3iGCCe*oB3i%rMJ$*j~ELj@>Z)l8(D6sv(YdBb}_gLIvJMy>;g^h
z!`snOjen>T8tJ6<*vMX&%zq!fd^yV0)cH+l_Bu6H;_K^?1yR?FRRyy9jVAR%Fg``8
zsreGNmAZmvmMv(XlG8ZcwVj%h#jeFwjFdB);q?K?1K*W37{kkHKm&}3Dx!-u@j=}-
zmocD%e^L}%R4i=PEHX87$zT{?3e-QEN;(<Ot8}=MhN++B`QoxjmBj6sh)bg*@6vo>
z8tsiL*(A%r9H-c1QeRWsb5LI}deFyFZDo>H;;cHg2=EuxRo02AFmZ|XsY*0zhP<iw
z)Y}58OfVP;w4#<*Vs)bg{1TO$erxOM%v5}7uE?2Caa#+~ltTh$R&1_7<FPtDk9Y~k
z15JaO$JCQ$P?nHfDN9J>A|~L170v>*O4^d^Ai|1eMyF3E^P<pLfh9vjaOt#iG90z+
z0RPg!D!^8jkTuHXXgc6RmJ{y|0mEyEkOMOTqNJs)=r5Dk`q1x_QX|z*m9Wk-xk9Bt
zUI~9FTNG-gOrcBx6Q<Gg3EB)f<1sUdM2`2=T)Mmrj~XowB@BWJqvLhw(HbfbBBnqq
z&8ak6eQus4G|-_GEf8HU9idI4O)gw&sLao&874h1!Y>OLP|VDiYugy67?Fx342@sH
zC9$fK(fLI%ONDXsWO3Ow#EFNaOLmeN(BZ`d9>$wgoQTLK{T2KP<+yY?S0=l2P(^br
zGpMN$mME-*iU_F?FqF$`V{YHaIX*Q~Oe0)fB7M#AX>4%p?GN&WrE_FQVq11t21&2j
zl|x$jI0;h2RLAQ@#J8BistU??5NJTuCimf`luEBt4QiyEd~3zZN@eryef$vAu6*3C
z(9wq!I{IOSj=sZBQ3v6r98&1$I}|$lVTF!<OrfLiQ0VA86gs*?p`+UrI=Yo?wn~Nc
zIjNM2Hd{W6InsK^Jzl@x-)I;g*VJRq8=d3g05YeE1X#?NGM0wXXyBj{tN<jWN)-fX
z;3;!zEw+N#DoLbGeRB&&Jez51iboI_vTixLeoJ3p-?i?eM=g8z?c2A%{V3kDx;hvH
zBO6<o3kIvJ-CFXNZ@>NaLaqXE3A|IC$%=lVVm%Ok$f5Xq@xtqG-o5+A{b<0sbxlvb
z5#d8;Q%{f27GMqT9*_YHAjD-b1fW`Zy}_`&9Lbcjf)&gUHnoJ{7m1A|7qK-(^~A)&
z!o<XZXKzFnojiU({S<hm|3Up2fYGnX55aK%GuPEZ_OHA3nP+yj1z7LqXVCO#Ky~q=
z*Bj8A7!xx57cY)1=9UHP-o1O<Ek(4g#U3vNPrdTWE26iW*vqo*O8y}S`G@?DQB}LF
zuG>HHi3jfcgZn@6i94>{vInEHZ}*nneSJH=pm#L(_HOKGYIN94oM3=P17gq7*x20M
zPT8!KOMa`BHzQ9~)=VaJ3PwmMmSKI!-Ls|ez%BGU^5Z0Zf*zuOLjOeCB0n}rJyM@^
zmvq-aJI})e;b$jE@DGv61hOiL`7!4N5naPePG@Wk@W-)PC#h3}%Z3iUI*CXOcyAEa
zf)xlSHG`IU_=^sb2g5720~hMhYR|ldg)u+>#v9=TB9X(dwY~+k<-5NcYi*r<6``ir
z&a^^<4j^mga0K*pNd?SoJf19}^u>zXN7Mko7<}VgzJx%eh(%f`R4N9@iAuR_Fci_a
zQ{rqP@A|D<w>BC>p+Xkd>op;)D6JM|v9>~E>1B`(WW?K~&&iKJkwobm(vQi5{;d26
z&|jvXraw;}B8_+g0y@z!QdG0Uq0mGePm0NTzGKgxJ(?oq*g2Aeiq3=TjAZhGYtpN!
zY%-HUSV+y4h1(>b{AiZ8Nw-Olkq7;n{CI;tMGw=*$wO>sNfd)kFJn|f^Z0*>D0yIj
z@b#d5!1R#A{wrh&0V+WqltJYOX+#VIjzd5}uwt}}5`~|LEQMIsXvB5^GXT&Ep2W!h
z2E#k_Tfna08#y->!<#NloI5ug#x{wE&dIrdlPQ}G=nLqhodt`YQLR!7Rz%Gb1@vFV
zpR$Y&S!b8{UA~A9;j(aBI2Z&)tznRO$yR_^anBeW=u(%%0V5WdW_8$C%d_xsh!JJ?
z4t~dq@ZssR=V5cUwY7D1c3?YS=?D1#8|LOdVNjr+B&W}ilYyKZ<RmxHxImsU<Ro)A
z^W<4V82tA!sb+<=Z|YxVJ8Duy5k8DbwJM~2t3uj0_pRm~8x+#MzJIl9ptXOsmzT1B
zLa-*_j4sA=<7sd*8Y{_h+_6ZNMGdxSmbMX*4e1{ohr=-yJGww&sw#6w!R;s_FRp<!
zj?j=sy`o+RNh6Cfn7F!l)B3d?J*}Fhh86*)5C<Sa`2r<hBTFZkZMunDo_zA5{%7ty
zed8VItO+)r`|mIOkg}W2oA%#%=big|yEbp$vSrJrja}4ZNSxs_+Px-0gMIJz`T;)@
z;pb{~4Csggb{I;??`u>g2USKEslqx?xh0YoRsuR2Sy+njq=<H4rjfz7YKkqY65^7Q
zrUi*LkpU%*pn(ohQ%gkj<LhQpkag)|D2ITWmdb_@9wDqq8Z7Su1?ap@44`wLPE7?t
z!Q+P_4vHcQMRI}$OFBvM5b~l9rUv*;Fe)mQmQBZ#$ykcZqydye59Ab$;zZOH$s<N|
z01!*T;j!`alaS^!lLC;T{N!YevG`GhMt}7?1EdPFv5z03t{hwYSL<%pDb~$8#kyJV
zUx_|7D%Q=`{?&Z-*8bIXv%Y^d`qZIVH=9=14S)|sHLWNqSx>1fMY^~QkaF^36vH36
zsG6ot34tmHuzJYiNth_gn<l1QdgKhm&V||MFGD0+(qqp*&-2ey$05eNUMP8Vaj6J~
zk5*GKhyh$_h=w_o4P2yXmb1%so#^t~Ft@?Jp@B}A1%$(~w#paG3F_ZneSYcu{)ZpF
z>y8`V`t+Jl-#||`V38FB4r{Dol9KzPB5blUKM<WJo7L8H_ubcR+t7Q>mJPj6a89gh
ztT*1_@HRC%N!ZC~k{6p+&*%ZY*D=+afJ#@LbJ7`|fVUzmjVv@>2H)9^9D?2MbYuHC
z)a%U}Xe6Cu{rW^=J=KEm9E}3~i*?5chL6^r-5!mKl$U@>OQmESOD&O|O%uspO3uzQ
z%q(J<1d#{@hNXtl`e-p`G7$3sM;8OgFn+WmgQrgiq47+nREoSHCm23jo2it^gy0pK
zPOMPkJ}``dSMk{-&}ABw6o9r6h!tAkuujV=O788ux>hk<W~;_J54`^9EcWBVXndB|
zVP&fX&B~%p>sBP4yPqGTt{hiGSSagHKg{x*6)V=PkaYhK5EdVyDv+|q*Tr|hw!ef&
zMPPk-=L~Z1)GzU<45)hJ?TCRUYI^H?Yit9m3ywt+=G^(rfoFEK52#4wQsB+Ix^{K-
zeT<bulL8!h<oCnCWaR8wdk)>fN%Rr<`&4V9HI*MwO|x@|F@9J^ELG<57+`HhV+0xV
znIIlB*a?Ui;w>`KbTm^KQ0WUi)T<$Me)jxAY(V9YSpX6sA5@`NGL;|i<A<&cF7=2)
zkKC#78tzee4fo*UFCem~tUkL(F}fdD=#fVidgRW&RXy@?h1YPG!fUuk;Wcz1&SFt%
zEUt~Pj{H`5|LYDMIM8i3P)Prq?R9V&V2}_dJvTrpLW@+IC8Z7s#ldetyZ1a#TG4x|
zR-D#KF$<4bBV`9QZ7mITtf_X*Bc!Mr4{oQwSlo2)9>_>MT=zG*$}yGR+q4azYjij~
zK=pS5Dc=s~CI1c#;1icJb_BG5!i*d05P;jzStJf|NlHh+V`nKvDx$GWOF$l>P73xa
zFe_el8OCG2m|^H*nWw!QactVO9wlhi=$9^d@(EvkdwaXr4vx7bGKxTXz{nq;<XKTu
zD3&Ee4taXeSWp!c$=vuD09hAH2El77!gh|O7FZ@zFfrRd^O?_l?(?7j6e`ZPQv1mL
z#;123y!YOFw|AhMV-VF@s)Y~!@gM*3#a|gUL}De=`C^eVn3#&#(Y>yzuCA$N%@#lj
zdb(R%H(Ucx;hL`YX1}kYd&Bhr>>axK=G*aJ2T(BA4#<4bOp?ZSXBBoX0roZ%d~ZuL
ziIkBTnWx%Q?XvJtc7MFz*80dD_k8Bh_E3LL9;z=rdF{3PQG)U3Kw^-Gp#J>9Jr7nh
z9e=bJzx^h8sQ&cHCqH%Ndiu|h1Q`_c<?^~)I~<UJnKCVaM+}5|2=_|T=x@J&0w!oB
z&%$7}Y1QSj*s&arC8$C=b_T}kR1`w*+|ba_*=Uvm94{6bMV-@PC^U!k;WP?U+ew($
zZiB|uQYpkFv^pJM&O+12lXB1r2r3<;DrG1QEp{OIK3_>M2cQ4$cfb4YG{>F#**CuN
zjh_YMC=kufO%A>A!V8x!UOe~GOE0|-t<=siYGY$P@e8RiBK1HO8VgZO#mqcIVhupA
z*f_orrOk}k@egkdpa0pBSN`dFP|N-Dw_vaS`=9*eC%<_8+<U(XFQ0$u{~&e!KfnL|
zAL3)52dlNvl2}-bVr>;A2DSxie)5zV^Wi~=ioCHA{7|s<v+BW`umAJwul&U~{`Omk
zzxmB?{_AV6zy8f{JonslUw`5Cm;O1laONNORz6pGj676-fsQD9Do>IJ{XbCj^O)de
zn5<NaLf#jtl18mx1e~to#Ga}%nN0zm&O-6UVkVX|GNKiAl@v-}LCt``2x1*1q9jQa
zQq7fOIfWaAnjy7mX}Ebpvx)=eGM$E#0h5a$I#hDlNeiYq`C#x~lJu31avr&0L@i0|
zzK|`I(lUKxg)M^EKMnu))G1Q3M$*whK6z=HH-zUA09=aa;VfbXD;g{8DzB$h7Pa^!
zAQ1~iRO5EkyLh^LP1hO+K8-gy92Vl}sC_LhO*xgXkp!JVKL>mw=YsYUJo<Vq2bZXX
zQa=@qm>FGx0@V~^ml6RjgDOH5-nSqPc3ijKL_cxgqxY{Rim-0&+6Eo0NNeAnhi+Ns
zcHZoT1&075DQ4-0QIBQkzRsb8TbzyMfEa~S!{C0c*5vrVPGRy?HefS&WH3r7A0~EN
zZ9hK*(JLQ~3OU`VkkgF{Io;r2vD@7Jt2jfi!fx{_?6&6qRl7}T@7J%|ZIl+7a#`ac
z&RiK!l~Qw;=f(uy4{|c6pR!8Q(W4{Ca%Ja7-b1O{yGYN8`dzy^YLTO6Y_)54iPl7-
zx7QATJkHn~Q7GC-wc(OdN$2zf(oyf!mPG5+)Sv!o2a<skY{yMcJ@wR0)W>m2F6ZjH
z7I2O0x|}&;5W~_%stWN(t#!TMZFaY9*sw?2iydY6dW}3WvRI>RWUXjxc*8vJFla1x
zkHAhZ#TO`zS~gn1!=cu;I?UD0{w{%g=X~hGJ1c*}OyN(JP_7(Zh=c^r!P6!OMLrpJ
zt88a$t!EA0-HD4o|9NmXg71|2rnRZlr_*b%T(n}>YS}3EI9rUxQ2qh7N+6F>VM^Xb
zzI~d}>d#3AY39NO*y?I#Zgez)eCtY%*w@bwQCE&Sg_W*E9CZGh*=~VWZdS~8i$W`3
z4RO$<(8|q<*=|v2<ralj2KZSXe+-evijX)KY&a#TnEAQcfDWNGau5`Sw!W#OyQ!hR
z{$dFHjH>tFdnaJ^SKG9}%Tzg`Gw#0o?(OKRhCEq??Ocnap-NzE8cEb&yRFrU{P3oA
zot>R~sW;`va|3;-anu!y740Ma4?g(d4I2ff%~r%>Kp2|Xo-jeRTh=sptlhBfo_n4^
zpjw5vL3OW}vOc`4s`a*y-SgPvNdMrtje1Bx9I2+msllGlnFXc+>kiFYKYSmC(aq1z
zEi5i9mP+xgj;6}M<rt|VO<6CTKYQll$mqx@k`;LI0w88^SE-U4j+)ow7MN_A7OkO*
zPP%k?W=RVl7o)@?zlf{CvvUNytY!sfxq_?ChD%GYyz#+s0VxMWKJuV##70_1nHg*t
z)<)A)NnC|m<5DgU*@FYWUq)a^(9jiB$^s8l5NJr9E4MB?fvheVNh5Ny7=G!cAss`P
zE=?daLd7X-g|84AX(<NngChl?rw-zfW_c{o#6^J_D?y4&hRPDWnZjit191>kgbwvE
zv<B7Ky6GPY%nMomzkP(|1c{P-i=3_@r!SM!W8}n=QwurmCnx#37sxX-!y*7<oaE+y
z77}407{1y*e(1^;r0NtBw_YJ}>lJ&j9v8c@2mK1aqh7HG>-$zcWq;pQB(B0T_A2(E
zSFr~LI$jji<KxA|_;@A*@64gk!-HKco9UUEK^Oqj=}P67zsv-G`O9z^e{OZf^8$A^
zUrWFJ_MjPt$V@!GWlKZXmMv~Ksi;)VEvR(@*Xqo%>(&jLFJGQ|<MQRFpT6OfPd~k7
z3ovg3s<%#>s|4=Ou88K*M+eO=x!h*UmX@_!wg42j6BneiEGKX_K94plgGQas;l_#q
z=#!j9#IOcwjrK4Sk~SmpX!FPgFa%jLz@$oCfYX<f63WocJnwh$d`nA~X=&j&IU>A}
z)x&{wl@`i1HG^iT5=1B$7umuhwkNdcfXZNG@ZICIj*3JE&A{kDU5t&r_cEF=Pr@n?
z7<DozaHrqB6q%bFB+--=3C=KDp40KkVlG)KqWlY}yrL>8pv=qYwpvF=qqC!<i3D(D
z7+q^2CvZ~<ZFzir(9E(LbaMuDu0+moRt1_>Bg0fYY}RV6PFQ2wN|v0lm_XENMmi{S
zcx62)qmoLtIZm;jl+3dn*3*AY&&y+2{C$-#k}W{?#+9a*Pm`Y!ZxqmM9;bWA>3wpV
zBqzBC-Mi#jnViri^51_;PO)p0-}1kz>!q@z94UUleZEdk9pv;0a*`zjU|j;r&2W;N
z1<F6lLLo_hcS(S0OyU^-J-T`-<F3E^{pQHs$`e#Yo^2&3(pd$eQ=H`Q*Fc`hUk$Lh
zD_sE>$uoHl<=8Tje9D!ooWrYe^ZdWDQvWl3ny)OqA#%r7<Y*yUngxVZ1?my<D|trc
zevaMbM@-z6E{RvVAHw!0@pSng4$q*=NIk&1etrmBO+MBsY^^PdeYr&;=eOWWg6`a;
zkn>v<a=yE7RnB)S<ot#{)kpm!wkYJhaz+t=B=JNPNUVf?jWn!FWTt(-Btq#4qpk!K
zo6{v}uYu0Z$ydV=hVddtA&m^BDpQiDx0jkl7}V$h5Fzh)Z;sx)xr&Z@5PT@36pF!_
zsziXPUXaY7IIzI@s6sUvg#ui&R?5VCdYqM61UeQacaP{naG_906*v+SmxjOn?Qg$d
zYUuCpZ-)6(H8ByQEC6EION$fFJkuo|KYaM`snX_WM9;=1#4(yS^xbmHExR_7u)yXG
zgo<DtW~!=GGWgaYtkU5%fFB(BO*oY`UZ0l);~~#UFn$1&1aeDqP{{TpbEHMYm*j4%
z;A>F~oHLj+1(X(3D2+=OC|WNL5S$P#+ov=`A>26&0$_OG7R-57I$fp+{EDGUX{Xaf
zrID{dTVf{=t~3(<zz0woc+iN`!%fYJRcf$~kSu@%lrVfWN()O@O%<ZJUX7qDRR|ag
z6hrbD6b%=d5us@+nE)u)wbbM!f)jqfUtK9qiUS-mEol_Yb4Y%{4<JcD@;zAeLLkTj
zq}bS4tN@r7@Q8FSCVIe94`eihLODe0Oei_9(JA;u35pe}kcXoPuTP%V=+B>z(k@J(
zl@6a5zl#z3-?H6uwLTbI73+DcVm*@{09#?VT&)LyvJZx`bKBPb)%Cnpv7Wao?3S$x
zy9FHfI4UKy<3z~CUk8kax|qN;&4olyYin~e$vHcm{`PhLIuKYOJJa0UQ0o=(I*dd)
zyM(jGylV#%vc}8|$v=J|dTzSu;PoANU0ZwK$L{Of*|TZ$wbx#I{q_5{Z4teou)v{(
zJ)&c!F#y2F)7n}r#olYM;yp!5Yl6q<HDg-yZkv{!MMNmcn9N}GulK?(ciC%@rPP*Q
z_!*9nbMKeF^rdINgjMg!(2hE?e(NojL~L`LUGwJmzyJLp=dW)Ny|t)Nb~JYFy!qyv
zZ@9jv7oWDVdo31z=X$JsPc+SFU6@b@TTVucB!mS_J<8yuqUgQJ1<M?<43xh-Kk)Z&
zUA}x7oDvuvstq7h&+9Ku<!A&_V(G{mr?tGslmq&xkSiu=(Tn|DE(1S<b1A<R#sV&@
z2<T5w_KRn1WMmk4)m&(CYV`c*rQjSXV3-^qyF3Lxev)>r@FtvdsZsC`TrToP^3@&K
zGoDwE{rXpD;A&hLe*4(JzViC}r!QfI-g@oTH{TIylR4lr0!)bR0vQR7&0x_1q7wy#
zA1|bfaVCnpSuCWAh*5%lh6FX4h1ogL3&dWfqIDs<#AKJ#92P;7E(_UK(ZQJVWD?V<
zY23|BelZ+6_N&oFH8yZDbNcN!MSv2p4&-DQTu`{sSQgey4%8VC2wII=4K&*F5{Of%
z0utOb4aOri+6tgp%DWJO2uYFbS+YQTsxYf;YUbq0lkdNSE#+Y#@**TXohz!?`Q>EB
zfxXLS<FTmdb*k|il+|L#1<$3yK9DM>A`rm^^j*PpE~e-rE=VPp=hHSFdadAsoS|ZN
zh~9N(Oy|@k!W{P6-^~NGJCmOo#vLZmc}4Jyd@!p@<AS;A3nxPDu1ZdY>mt>q`i_-8
z9$WkQA#6+eP-f|ND)z9l`{GVqNp#Y7g-+V3&`HWZ9@i*z(pH5|+Ns#XN}WUoo;cY!
zeWaHl3-i?P>L#lO6g<DHpFVn}LPuFma7cewPgw!6uKcd98t^Tlwb9k}l{dt=5L3U3
z&Z?nLXB+<mz2$v}?ap6Sch%gWw%-09=r3<(%Wh=XuByWT9+Y($m*>&D<7#@$OL_`k
zRhQMIbY>_u9KT<mdCO1|SJi0@5PUFmeve-B;xFh>bQRsk={1?$RrH%mhreA-$>}OQ
zN_T$0qVuXNc@!I6McLJqEllD+P<UR46j5DO>HRMZ@87NX9iQprhp-9c<8unX<I{>A
z^Erjq`vR_f5L)lEiXHP=#g6%m!ixK}V#hqG*fF0~?3nu$TJH}OTCYc~0^Uu^B_Ilm
z1`}J3EG=dU@G+mwCUUd{<Eo+}z)vfi1N<kGkaYTsBl9R0Kp#n<Is<EIE)pR{qE$8-
z79I}<<5(Akl0?nUCMpCEXOQAh6bY?1J1h2>)aag5j0NXmXt=$a0)+PRJW!*^Ma@QO
zLO&((KIqT}O$-tArC`bKdj4PE2N-B`rP8`%M=c3H>&C_yq_#R6<9U2k@Xa@a_$QSs
zS5BOmk*xTOyEF|0F=(?zPKZ4`NL!GKGa(;P3{J(1RHYnAB1MCEIjP$PB1D~?e(SBb
zX0v)Ib)$`%pV_pr4og%}Wnk0>Y$}2}M^tV6GCqc;QGKaLF<nWpb#>WG%Lwu>m0Vqb
znM;zPLF_SB+ud$Yjo%1>^=ro_Qn1r51~bUZgVsgEpjgFc4!<G@!to^!TD$t%sJCDL
z{Ac$=apMavzVXI1K0&S8xG{%J%g>IeP(8*}Z`@do-%44k^4Mc*au>e$z3-jPbw76F
zjSa=3??!RUeRsg9*muqPM(B1xN!pveF0-?-W5dq9d-vaV&!bO2{q*B^+=cExci%z4
z<hO6!w0YCIbzMkYJtu4iiVU4uF{mb3G=PY=Hu<|Z!z|de0w`~*Hc3t=z$lH4jdj&-
zr;H!BnZ+KYqVgp4w*n(yEKf<*vu~W5T>u;mVL@_a^MF_3s=^A;JWtpxFpcnw2z(Xp
z4Tv@?V=n}b23CH9{5?ZN0y#5>nOuPvHdI)oyLi4_q&Tayid5L?fcG*2B#qc*MYc4v
z71?mrGG(dSZ2@TxN7J#z#dKh81@<>Vi6?Vvf~VD^?=1e|VelG_8m5Fue?g@MRtBJO
z-YPQjls>RtV|M_@1?Cw|ZA&X6r`1-Y+3Ye(B*!CF(g49l$|Q7Zw6ev*`p!Dkuy1CV
z;P5a=i0M*h1rHvI8Au_7y}jK*K3A(^yk3hck3Ep$tf=s?Clb1Pv4^Gdu&?teq>f6w
z+LTaNvK9j;aS{eLUnV=RT)ATOBU_Y9m02EPTEwOBt`>(whxeuc#wOrztF1~EP-Vm6
zY`_H{3gwa63Tk<5T!nN*O3PqxO>rq*QR$f?NUTf-Tbc{cIBYszXBB+0#T3RVn$9wC
zBcwF4f$>;g<uFf75XK!0C>UIv0VFvi5wq7<Q|)Uq2Wn=AhbPJuOGzv|j6zulTNS+b
zbF;Gm9p+}mYDg7)F@Pe8U94q^ra)Od4iIhtCy&3Bkw3Rs&}RuNq*S1I4N%pvTM)0;
zXjoB;w3Q6(*3qH{Me-}zH^D@_EqThBLIN;ufi7poo<b&%g_lZ|ur8|HXd$QK%mxmw
zC$T*x@&N^P6+-q7brxn#CSI|-hDSm$uSi~QWh@D1mw}-3d1a(^4nq#yIY|7+#^Ndy
zB!fj213OI`rrSK+CS+d$OB{q_X0$q+I&>z~W7CL|<HgAPQZj%V&jKs~FILdo3#(j^
z-Cz+&YaZ8db}+Kw`{GB6{u%~G-U#%d;38;8q%1MP6{@CX-EE(6`)jNQkl>NulTvi@
z?#OcEjO;tonBci4?+#%>>ep#O50GeCzs4oQWWU0rq5^mjdXO}iV+54F(_dMMEj-rG
z4?)q$$KwjE^teJRJ*Ch}PvA;o$33RdN>3=X(j)z=v4zJKTIq3xR{EquD=8~S>-|?W
zv~0!^^O=>Gi#%rd2_~MOe0$C)fu-}@xdqA6itv9VQ&vd?pk|1UjTHu}0qTrJLs@`<
zQkdx!l?g>-8K|PAB+P^S615Tg3VdGGMQF3R;E&01w&({1?@c#h=VR}Whw*o==mEsQ
zUA%PU$dL)iW<d)Ip2<t6BdJVD@D-w=5hU-2Ls3AwO4(HS)TN0fc;P2bT$qgpRPmYf
zC&Z0z7(ih1!6_YIZs`D;!e2$43s$>(2L$Zat=pjGx~fcA3FfMLly%opUHBZ%=0IV$
z-C^Mc9c%X??c3t>*;&ENTO2l<(}_(@wY1dOwE$+>Yg<ImW)9zEVIc(BG;#6JCxEXw
zuo0v&lGd>s)RTvqFMs*V`$3o@08BDK9;U}O)<F~2Z@liwC!gGp7I5h4ZD?J)p{rxf
z+D4<G)3xu|dFargojclfg4xuxwzaLRtF_fox#N!A9nOHNs$=gR;>KRmQ_fRg4adr6
z?dSx0V?*ywAX4`3djOo1_uqNTU1%nLb1yW|-krVcvGLXeLb@IRF?Stk88`F*>Db$I
z&9+VW+MBjrv-0Emw)WOqw_dVZp>P14@w#1B5_4%;u~#>ikSOJ)42Lj~)n1Q^;965L
zj1sSrVZw2^m|{TflZ+Kn|1}*eYTzbnz^Ow3iojv&p~OW1C4gzL*$hawlYAD<+4VXO
z;VCr6)^Gt8t2J1}jYSfNDMxgW^0f^+w&F%Tg-gJ)AN$n^anhGLh}rObVFm`qY{7!u
zpczF;fH{IA(&nmHW1k6)Kqb4NF{?CcmF%488e9&&nxpIL+!kDlXpy^4^w)j3;IYtg
z7gw^kvgas=*O)p?BOnw~4rMiZl&K-4UrqsTBWayZOn0U<P%9Pk=~TRc)gI2lvXSz!
zRK7q#{)5gazD&{abYLA<<$(cYvP41KwX_rk^-v)lKYd|rZ1nUyV;HUFC@DmuqSJ`t
zTn4sR&=%lls}ZYHb3!A_%au{kH4x#Xy#=c_usL)>n~Rr0s_KGuHz#h)0bT*|gA)pQ
zz(tG<AQ+1Y6bGzLI0(EV63Y>hRmg!JFOelx@LDja0p<gPP!e<~x*_I7E?cMwX8eJa
zdcyrjkG*_R3aF%FE+cLXO8_^3G!H2Zqh)3S6EYu;Lzm=IC*DKI@YLy3I1h&t_~=9!
zIqT7R@Z)31OYo9oiFhno6m;eI!V+Y|(n7o}n2Sl!vVfWejm<#?5YGoxxp*ij9{C1}
zqAB`sr~!g*@b~dU)Rn`pkduCeoNQLe$p&0YI9VDLa<V}oC;bZRy+$D?{R%l*uaJ{Q
zUdxs;*<ziSrAo6?qR|M_tSl(6wPZOPMWf!T&MhsccWl;Ha__t@8moEeeYU!q)DpO>
zMRPh$8{91|Q&V|U{no8O1P@SL0G>X(2=g^Os1Jo0@8&~?jvb5FUB4T$0)Gc1Ba759
z%?s=)VsQ?dt+tje2kyHMb%{Nj*RKaK+*sRz?Xd<svA!M~Qbat^Odx{hGLS5ou*HZ}
zD(X$xhQ?$G(+29hGN!bU6wSp9LWER)WU^GqyL^za#)UkL0kmT!-4{~}q7nQoh;Wu1
zRu$~^uxQkh4)QdL1hJMiS`>rA$EPX3UrVK@rV#fm1mKjgYHVBeAaZ$t!=+Mc4Fe1i
z;i3V*DN(O12z*TZAV_1R%<|-vtBOm_o;iaE7VP<e25Qv?pqK>}OaIwfZ}~m5uFSCd
z6|-KenDyGL%zA@z)=|pAPtBGpY;|2RTM|)dmRnpzrf_ZvoUXKJ<ZV{{>+j^s>diaS
z%USaG*tv7#C^I>K?p%--(X%z3h9_k#Oii`4RAbgjCWUnY&jL=e(x9rI4~68}*4|K)
zJa+8Rp{<y8I0FTN?SAaB$2tY{nib8xtv2iW^;@>|Zr^d=eb<s{hoj?m6Oz3uH{|u|
zw1cg#Y|>-fM;D7Aoy&uj29gRzNCq>w4F=7rXr}0MA^bHtl1INM!hvIMX>mcaLCtvw
zjUX{og(Kw(V{-t`Bmz=_xESOH7~C?0Mp{EtQ&U++?}w#OM6LuYvw*=UfMambT!ajZ
z#?mE51Cq)-W*iU#w7!L;DZ+RdG?N8*=FCi*t#W~+1T&7&g20MGg2YMO?n<_$y`LY#
z=9Q0j#ZK=~?DP%&tRENjk&D*(S1h6q#ZK=~%z2B#B5GI6c|-qdbh@K|wQfOa5v`z?
zi6unT0mF>LvQt~N<Ccahb0nbBz&a3AfV@%M(W5XqVb?d<jvlSsfD*BFHR!fT^$v1o
zZ!<J)fHnEn^z?|%o}PGo?au42yKdL!o}N}G%t32Cn3bsTps`4*ZO0%_m?R2bWn?;b
zKRFN{!$>_d@z6d%P`@ufzRo@M%w6okXGLv#8l;Y`tuy~3qtoT9uiUS(%Y4lZ_uO;y
z&aSOndwV`PV1TUXszxhXz%g404obgL*#N)|$E68gaALvXm?K(fb^)@9S{gLwGf8MH
zBHuF!K*yb}ty*nl7AU&6M_XIZy$2)g^axVf)bOA&9SIE&PeMk3&vSB8MCAe0k$m$+
zwT8g*r{_aDmsty_IIIA$xZ2QzYkFF+PEVl3>H>(X#}}YBLKjJ=6cqR71&tTW3w@pe
z)JItdCW6cY_+WG~HV&Sfg;=~87I~WGv<21ge0|uejPbl-`0dwTd-H?yBlFpb_e8DA
zWHiFF()dteM-P6Jq7TdYy`6ph5Ow9)saSE!SnACRDYFOH5*vJ%V#V!Jthk*DDYHwl
z;&%3}uDD$aDWhC*1E6<?M{I!;ftsks#-+%@%xI>uQJuu3EJA(`X!2>)hbIv_83dUR
z4QSBZ96}mKDmw?K$ZD&uulIvK$tYM495_FI_N|{U9XMc|d-c^<&w-?UK!X}!7%rf*
z9W-Gi(+TR`cM-1fQjvGXf!YWhauD2boMYYHciZjVn>Y0y+<<>~!8YGc9TW!Clk+6T
zol1ShgmBF0H0%-lJF}doMLj)oImLtD(qQQPgWUv{#dUQ2;Zt8gm*js?eHu^qp`KB0
zf<b*{0Kdb%{OZI6k~?#=^q}ea=b!)SD{zqzb9w#Z0wdPB+}_4DYntHGuHF5}Bm4I4
z?%TGtchA0kdv+nQvXfLm>KQdK#&%z0H<q<vf_4LDq?#~rHTY|)iQVd4S>6M+r6TDN
z4$G&wJU>4&qETrK*3!sG7(LZNdVq=tjm1V<E(5GJXo6v5F@uQ)uPAbQ4~7LiF)-4w
zGV_ze!^e(UH5N}p>DaM}B4n@uuz>;2TU+Dvc|mVF2<>L_dZ=~lkfup%9P2PA;91b=
zNWh8}tW{NUbl8~7qt|&BCUZib(V|@JjCC!~XsHOO3Z#IRDn#(%_NwZtDhFa@Wgxe7
zs9(<HCV`t-j6hh>^1Yj^pukt7RBjOMH0%~PYO679W;Lp-2WnA#j2kCLADScQ^GOiF
zFU9itIH~@NkU~PWPRpSJpH+Q@be1*{j2=cngMx6p+GJo$B~Xu-qN7KSgu|m3E}Z@C
zg>d-d`)|DQ#s}1IFmPU%QEwnT>4PR%A$||$5UUZJoI&*x{eS*9i89N(Y*!yYL|r*{
zDRx<(LayJU*k!wME!ky#ie1*H*k!vEyR1*K%XTStS>IK58EsbwjAnFhQERE;8E~*S
zHVQgpV`F9+yDURIc@07(u!d}Aw75s3b<~1`LJOm+rW3Ow-E0gPYkfYjK2tBeHGJ{>
zfdhihbKt<zD7IM`+YBUET6H}T^R+gCHIZ;cKy%^*Fs(*r_Jmm1<-!&t$T=X0uD_;d
zZKvIS_uZTA_KkhmXS=b_@bN~_V(X3eDuMO-U=am0&CR$AowKG{)IYu+o2<%Y%1uwv
zebf)QFaODdk92g%drtLKN5^OP0VKb&)BZ}{X@Z8UaaFrLwH+G-cH1t5AOo7)Z^vC#
zb?v@gtlQIxFV@=8(d4amfkJnC-@bj1JhC5Ktq)smH@2GKMLrJ6*4EAqy}g^^M`On!
z=!N<AdYm@JPOF<r;wB^UcoqReyMfheMn>l6XGTU!G`<btM-otCk%yvL3daRDPU4dR
zgrFegGpNT9>)u_$T_LF%&1b1rkIrg4c5Ha~%&}u74qGjSttMzniS*^k$<a%50y__m
z+ju}zR|kl9EUm8-X#*QD>d-fV<EUBiw8pEd1RWgFd<v_bv={?Al0jjW&Y*+oLPCU?
z*X3n+(kz`@7VDPE*k_I^>^M6$nL{OkP6xCkfNBgjTSUJ7Qjr7k&vG;=u%UP)8YSxj
z`-RVAUDU-1@d)7U@OY_kECzmr{LD-wpN|px<}h|!K#jdrDx;YUTBYX@m<XWKio6Cc
znOHZxj6bIHc}AzB-a2#c(s($0<j9$D`24%rZtq~bVf0djoH!W`3+%!Iv~WNZ3}VPK
zk%gf6_k(gQ>#zU&;j9=%zC)novelmw@J%~8-Ahi7l9LRqswK~Q$!U(9T;!A@rwM|y
z8oVM++WPq+2nhM;=wGc;bStDuokE(l`B(hGj(++hR^9gg)hfk~{?)iyZ9g}JH=ZQ+
zWpn?k&Q@B93T9UzY-OVhpbQeM%!1brdGc8leriaeW(<6Z0?p|K-cFc;vM&690K0ve
zY!x8kPs|d=JGcy!AO=I2T;~$_<_KaN(GG#psVbtbN=uOO92|+Y=%-+DQO@md%1)^_
z*$Eup5ZXiBMd~4>5gON1U8sgpZKgWp!cSOC1WOJ(Ti<9lcXh#sxbx0C|6o98tM6^7
zu5Ie|n-Kw7VdkXlC<<o@#h*ou>X{N^FdUl9<Bl@m+6|RSOlAg*uwav*?4;&fgNSS$
z>RNI+_#t|#2H!FUlHLntgd|EI2y`TmZ<#0Y2IS6{v!q@eo<tfM2)w6CjiR#x1VPax
zkS0DNHON561{j2$4huA4s#+i&j20Kk4+O<5k1@<(u$>mlED$ky6gVakgD>Q%JVJj3
z3S*jsm?1U9%SA9E!m+*#BOFvH39#HQUnV~<3QROBiPU$Vqv&tQda1LIAEK@toeI6w
ztyoDL6f3D4*Amoaw?Z#<EA&!l-|9;0ROlsTy=%8pFZCP9r}vT7hUjF{2=%FhOrQbQ
zO$2DvNI8rcz_<jKI#j;nWYwuqMJ*!RH3uYDuN?$4H2v0FGXYv(6dfK2!|760Lqo&(
zI8F@?!m1~_%;p9I{Ca(j+1w2lqfWS>8#ch%bWA|IIJxA=$VgosPNNskp>vz)tgE}u
z4MWkjtFG>`#~yg#p+_Hm^vNf2kIxB?qfj90bTj|-Pye)UA5Q=Lqrd&Z(W9cPu5RA}
z_%-|X)YU!s;GskJKJ?H-ci#khXh#9=rMCw9(zks(PSs{LQY+$ju-*R}xe_*x=xGvZ
zf<(e>#$2buDRA;RN|3}_ibTptuLmR|v>-kcT_6FN!vrsJ#p2RZT^$FxJQ>9fbL62Q
ztTg&Tq--{r$4Sa;&x4(Y&uI}MRToGY61XiaBDNwrG|(I95QfE)O5vne(-ewZQSQ@Q
z4^_Bn5Aibe$YId5y;I~}SmFTU1c<8wwk%$412+L&L)j^lokQ@#6;pJ!7)yex6FpWi
z(ja&<81zP9izpZ995PssS+rFc9i5l}BRdQ!6t_F7f%=G*w1}ODLVkZ;ZGCeSI0~>M
zT_lIFVmIB}#}83g4rTYhe#QFylwy58gli43oB9>&vtO}3?^Uc%We2KT6q2rAu|AbZ
z5A3$2;mZ0H%vhfoA+BtM8|<?iH36{Xe)tqk2Y&yu6->GK66D}=B9C=xH}C<K+F<jD
zx^j8e4Nt@#M#mR3Rx{pOSEz2ruUe`t0gd&er|3j*Ws$oTi=6g&1ZQme0$^XGGYM+L
zh88zTHk#Z`8^m=jExnCcPYs(}S`Hl8vj^R$4qSh|%LIvJa-n}(Tdm@G4RuIZyRs=#
zA8v{fc~f9f8LA-kVDl$WpPmfo@cQi1<<p|>(4l8<!Wi86)S*My10MS~)VJ{XpYpT6
zq5huwfqQ)|#An_5eaHdtSzq_j^WE4`$Aq;j8){aup?-MuC=gH8n~<O0Tuse<?|Z*G
z8^No>r;mJ3?A)~J<M-Zo-+lMowQ18Azxep$pZViI{^KVfY^cEosA*^c+^<FX9G~!Q
zVeP-!f*vy}9Shaf^{sfbO`Wav)x{!uszGp@5U&$qy*Ld<6~skYTn7*dA<GQ|Mi~xc
zFJi~dN5cyU--2x)77RMqtv-i|v-aQbToiGs060VU6AKJ4G=NCwVI)bVLN+C?i^nTt
zn6$}aJU%(;aOB}PU7Wo<^8Wka7@dK_2r8e0>3i+UPA6{YhdbSx&vTs70W!^67l?{O
zp``?&Fv%t(ArVV9OLDk8Of%HhEN25+m86xE5Lzyv0WmE8Xuwl6J-8wl2w34mxj>^8
zkF%Ib;6_r}B84xYA*@cE28jw+EY@nltW>wg(EbnYQII5NyfIj`nb-nMfRN%Tvbet^
zM`}^AOXP?~Q_3ZX6v&nkQ7`8R+%c9dYef$MtCEBStO_}Zf(R6YQbPRFosOqbe3TAH
zm&1!o7)b=}$^ZF~8&f8!h~zOq@Nh`X7HAdZoQYZ&44#|8UuP}`gKxim^5naK|GxQV
zGy_GSiINFiR6Yj}<l28Do9gPD8>_1g230;rjG8=SK)}!{Qx4c`TErI-P5Hj8PjBes
zhaiIF;|7I3y;&izl)ad4#+4*ef3ref-K>yT*DK`JwF-TDbKk0EcC$iW85H^y74+3e
zDBHCtlDFZB30XX}*-a48N-;~$py_UOV-=TKE%H@ZQzaEx!d%HDPBtAnI)HA0Lsu+l
zlG;s38aCSm-qM68K8=8K6Eyw8n`D*=;Ko=jHg*#~Lv2Mi4oWS{+mW1_o5QKejySB}
zuhIItyTxYcVwn9IOM}_$BTr0zqLgt!DR1A^gLC&aP|b}OAyaHj0<kd&I=d<j1F5wY
zr|}EtE>2BAhm2pmC?ZjJ&<ssoe_dVOHY=Xg>?11s@y8#7%HB<h)L-yV<Jl+wR94=N
zKLTr2D?5c|s-Q|-qn<}z?an)K`q>Zu_8(t<>8Jnj4=?`cM`E+jw{P$M{rmUr_4#)1
zAy4-Be5mn0bPtk>58Qn(&Uf4l)!uj-iWJ)!-vQ%Q<@P{(Zrg^F6KIe^E;&CncKS5Y
zXU!xj(OfEpW^sdy5v*PWV&)?$a8O_XN!l<4wzp(*c?P<_F@+o!@)r0Rt6wVR<tI4h
z5L!m-R1N8oCpH%f7f+$(<mhyvFn1YGrja&A=?@F?$fXGA?U$A&Ps1{343VT|K8w$T
zysqR^@)Mk5a0H8qv|g7Dg)qHvHX#Uj@Fx(7phaeerh#q<AO`{-aZW2XS`gYqQ!->f
zVGy9-2O>R$zQ_bp3kED!Dh3dAypfFnF%TH$%@#aq>lPWX<pr4RQYrwICN{!6Nzp9f
z^2XqS1rM8*aDo|8A4G#5(1ci&O>9Q59dLBe1Rx7P6i?EiPeK?Tk|w?!j^d2uVnk>(
z;9d$8P&ztH0+3>`%Srz*^sqyhQ!UO2{)^4&bP$bs)QOpNdVxGi&Jj}t5j-3pynhbo
z;nOfk8vR(miHaWU4ss|iX`xf5rifx`Y-#j(>lzzt{eGwiJ*{#9{ewcq|GcmH|4rr6
zEb$!WDkM_w(uc-!`1y0>B-irk$TOKxX^K2MNltR*%bAZZu?heAx*p|s<RRDoYpSzO
zlY9LEIjt6F^-*6VzmOegFL}0+oa7?LSI9H)XJ7fc9C@Y};8*`gl|BDe)mchw^LMM4
z4CFrD<m4fz9&&n^oQ{%{Tx}-Tomt6`a?~J4p2^iq^6#2I{Ej_+{17HbKCV${C}sV_
zc7;W~9alC%Ln*P-+Z7sWTi>e3r>uYIRcNT~3JtZUZ`I>lr-+PH>$Ey;nc`^|>Kfdj
zsOn(ZczleIAm~LwE0wV)XJ^CUPGDHb7p@$M17t8*?XcUedCI`7J$P{6`sSLNJ2jfA
zsUsxa>l6VkDHYy@ef7?84zf&xNI72^pN=Hc7177Rwa*k#c@FEQ2%?3BY__v=bMJ-?
z8|u(;2T9~&b1P^^>}&=GAU8H9aOV;J;wpnaowPW<kYsYiZOmwr$@iC+A9>`dKl{|D
zKDCe9BY=#hkp9@6pabd9EWZ5m%Z7jX7lHqNE~7V;@u}VIwSY6O>Dat&+qNy;ZEc%<
zzT0o#`>}iOx#s}N?W#$z8XdL}hLBt80r=M2TMy=Ct6Gw&uptY{0U^W~?&$M4ue<r)
zJGO7zzI}tBYPq}5`J4|eUW#ZJO@${XVWK7y<3MmQPGZ3=BPnTx0fopegt$q?Vu*^-
zC?vJrf{-CC`j(=}td>qy#(w+TcQ1^GLa!E!Jm0<mojZX_M=R2ls5gKiQO%)apD{Zz
zA@H6Cp9u_MqEELxl?jf_u?#SoakRQCO;4j5;xb-aL`5VfqQ;|x4;o3L*$AUT{)?AV
z8DK0hB<0bO$h*f*P(*VLA3u3=nM~NvUc~7Vf<l5B)U_O}u6T+Dz!W(SfwO}-Bb^!a
zRT#9QCg2qwu*wRoY!LgU0jMDG4j_chG?3;nZ%P$pveEWji{68vvVG1csq|)p7U^E-
zFIG~kZ93h=#OOIpX9zaDJV-NWB{`LlwD8`GM4dH*BMO>G^r_W)O|^~HsDLCW6>uU)
z0T>eG;0l7EhQgMig5UO8%x>G(R;>lh<D?OU;@}~g;F4!!GepbLe+itnEPw9l<A<=_
z<U{H0Dtp~OpxB!a;L4978uNg{dVD~!Hy=>!O=Yk9dlh?A+3WsR#oqj#UiWcyZ_~jT
zWEV)$0r-2gW~Y(LhcIHn3DPYU^Alb|m)*Ig7)B6e+gf#{5{~9Lu!8$MZh{d+;14Y%
zv_`X$mCMf-mNnd9=VSsQothe+KZQ1P*<7Vy_O(@&V<%sH@x|lEhK62!70ck_xyj2T
z@1DN|_C%qrf?_i?Ou2X|ssq(`&&F;U_N`@gDz(*9Q>~$9@rpBJR_$P?M-B6!2&PDY
zFhEQUauFS?*6ACu#k(4|Z0X(%1YCEGzoEIkr5<z}f{iv=t84UpB^Ox&ll<k$Ag>D8
zP{lMmmo6|`o6`qNw9c0+4R&reA$pf=0IWQO6kwtboj`blz3N7gC_H-bsi!{qdBENt
z-?jhXEg!$_TGR%2ps!nP^VUAMsT>_S{RUdH{OUEM8e<|&UpoF)D8boVyLQOz-4Q?@
zIyVp~wYSahZzf%q+t-4Vsk*LZ&9>{WzkdJLojW&g#5dTy>6*U%*X`R%^$TsFShl$v
zTm0x#;csk)OW)esONy&DwA8zt9$2QR*212*pej@nJC_M0dgZ|QXg9TQz1J92wG$dq
z(&aLf!9+xdql+hN`rL$oiR8lR=kx@nJ#~EW1(>JwS2;qB&~bMk_1Dy0gFpw#d2gY~
z1DT@Xic~7Plqj<%fMG0E$Rk;?dela=wL{Jcy#PCC5JzNVajD|48)zbb<8UGH_C<!`
zR0Z(N<_a8^1+X08cj>h0u!k3>XnGy2MvJaUM}p%E6>SZ`d;WFx@XTO+o2x;&<a1h~
z9`Wv|u$r4MQ_T%7Dh-c%dIkv8N+rigS}p_pN+JskhrimMD&XBUgoeEaNJ1JTWabv)
zBk!enW&wkd1HS|gvU087HJxg-{qvET1V988?ovEeU<k<B;cBSGo<PwE;K&FKt11ad
zvSegBiJ6qFkdzh|GE5C9bK@r`fAM!SWoaG+;^2=i7BvzA3Pp3>_I(s8FkQgV7N}B1
zXvmfD-XzxKc6YVl%_%j64LC)tT$zw~hZoK-40h&-Wn9U_MaKQG6ngm;0dFdyk$gO!
zK_|c%8Q3g(s3wzySt!t20yq`))M#lfcM;V9vw@jlIovbwM+KBzU<c+H8lB_|@D`XD
zLAv4o*(3;w2wN#(v>yXC)aV6-Sw|P<X3=tc4nbzb4yklvVLnUZC{`Dy-Qz-2F`M34
z<<zp}ESfRE<p?bS2`qNTNl;uq2wcwqOt_(})}n)<oTx>>0<%4fZstp+c#KM8`Be@Z
zkeVi=z-tMC(_tM7`3Tuj1q9pZagsS~BW<y30F>~R9WDbf$<U$!BdJ>Z?Zp$v&lRRF
zBb`FPM^ptk9@M^}?9J%#;VmoA=?eKc=*R)`4==CSx(ECCAqZCa*ru?MZdCa2f2fec
zcjHPDbG%g{g>O?x;e!e(yuWWXyK;*{3g4!%klGbKyrF-!n?oyTT=YOBqC8YXqO&W9
zR4!F$N~@>USAItleQ4Z`?v-d$y)d7APL~SFKP)bzZ5RQg3=Zgcvm==<Q9S71|6B*s
zabP#CPTHXUDoAHar%ytJo;>}*{ByebQ}PdIM;SH%{m%@xcDC4!)xOq_wi+k)ovVH4
z?VtSQCm(;j|BjE{a^Hhr{QN_=9^BKna}(TS!JyGX&~|mT)YuqkeM70pAXtK5bgkEd
zOtJD6^Fz0_dV6-<ao?RgJJH;<>+VC;Vd@AqCqHJXS@cCcM*V{N7xYFwPop%Mx=6hU
zlIXue|GmTX=cqo~As{Vmvw!N-K#LvfYv&6@&16$tN8cg*=J7wW+sHb@Vi3K1wykYl
zw|;xy-u?S_fb#UZyPtUW*=N7_=}&#;b6@!K9%>L!<*%uq{p=GD+;hkE2o?N`&<udQ
z1_@rL({6M48ap9P*EaYZAaw)mtXe~sE7X|;cM$QZ1{K)d){Cv^^%*ahGpTqiLDm=|
zaIk-7=dcbJFOOXwnOZ<2*hrkZEOWM_!4LM9$qW&QVs2o9%mC;Z(La+&9NaW5wk|C!
z&Q}mE08w!aa(Q_M0fp1&hc8_oyY%)O@4S9;{PJ{gCPck001G2gcG3^t>uYcVg^wl(
z&Uznu*;m^Q1rq8ZFnzHVEnCwIK*R!XN~FWe0a$K05>02K3BrhpgFs^uIgF7@Na@FO
zI>PvdA7FyfSV1&Bs3)|^qZ6TU3dE}ccRD-+Altcj&j!QsJdtT}{2va(F%dQ41+owq
zqlM=*h3Fz#l?&lP1W3w*t%+0t3_i$LWYCHfW%SGQkk&9<0n!OhkBv`-7Q)NRaR?Z6
zghxFi?7B>@L^66fK;R<-d6S6};tO!c2U{-%li3LRf=?~rc4M*04_-y@i=Y1V=P$oH
zbmYaq`}-GPJO1ALA6%sVh74CeKRgW09b8IQ(C7}`YN_N>5Wg53$&ulr@DNdXNrI28
z8fSzb5s73hfD{u%16fsgfJzBz=fAkJ2r$Onm6*VqK7I&dK|a<fWQdZXN{QWU!IcE>
zu|^?7+7&WnjY5X}XL@4k6_%XRleE+9$ao>KJRQm)kOElrau_|70op(vfZdL-1;#uu
zg0T#GH}NmNl$aX+&B=v{kqaYZW5XAyBZ3t~{-sh&3*xRStDWNvS{7GkH?^d>rtUWA
zb36XC*(tc2hQ&ot`(7eN+Oty=xN7P1hvs#+KJoD~s18WccRO`EuKM5u%IW;qmyaJm
z{^lz$p+lB+U8~jIvbN1hdTt@6T}$o2RT;1muvoP)q7!iu=q9;4mOcO?VYf$X)LM*s
zt;viylF1C5DXOf2??M2rQqiCRCJW5CC|J9?tsZ+rwbM~u<MFt?H6U&Q@&Uz{p%5!c
z#tM8!P}YN+n4X<4q!NqKEIO(u63A)+t_iOWhfIJ@aj@J_x`(gC<tev0zOY#3u&~fk
zi3l(VaziatL9zahjykT0t5or{O3I*Hi0ml<R}RGfAQ~70*sdd`+0e$gN^@~qTbdc2
zqT#>bKlCn|UU{#4-sc80m;*p+cnYw^(1Da5{J-$;3TLsBiK$kx);jxFxvrIKZH<3r
zt<@^lTCHNODRIJ`{j2(FP5)}lc}@REn9+aRl*&j)-uvylzkP2iG%-GP`M6P{99i9>
z<ZwtJHUge~<U3#e_E*0%bn@jRL%;s2u|%~l+s~F-TT4=NGer$JRJ(TFdh71px8AyI
zS3|>^Exip5_0%pvN2aE%)>y2rPT=KrC1b96f~xx&WcSaguW>g#@bt4cTt`Ab`j?w8
z?W4%Tdimww?R<p>Qm(3vTk&Xa@9J*8PS7PZc@rT16q_KBP_(^*$%>{v)`q6WrUn<9
zn7Q0*Kpc{03r2L^U@EwDz)-(uKOSp5jcseXZh||rq|H>b^YbhS_$gy0F?MnM;@Dzz
zVQw)rVysYxJRg@=jscO60f)U<gv}@a&oGG)cpJc3fiLKC6$&O(7!0?dM@pyVEGvrE
z<OA|Y#SG{x%L{m9&}AhP0k*lwX2Fm^p@q%A>5?^|mrlNp$K1sEvvVH^I(O0#qR>$*
z|9{i==FxE-)|uy9s_NCg0ae)7!a@)vMTw*&idsNPmTlRVWXG``#j%mhxDzMc=|B2R
z_w-D652_v{+3p!nHap8Cb26FZbT%ikJB#g>Thv0yTBwZ_B}!ZXVn-FW+V`5@eSnDP
z(^jW5XXcRvu@tIay?6Kf-S2kpc2z$*<vOG69Urwx%>6crxp&$z$U~;&VfPH~MmQg}
zNz6xW67%8d{Tk2%wg|_*@BRLLiBTdp>y%(4)!fC47vEvy0mtGt9*u}~2P)9Cbl5W2
z7nHZLP^rF#&VnBLW-Ty%{6HlKjm0S0vMG`9&rCELD`(h@^qps){cEU3Uzj`l!fTkG
z>sQa7y?B*}z5VQ2<uAdVr~0ZcHmxwS(E#3uZx#Z^g9oXhuT`AH^JY9I-evb6|Do%I
z*o2$0(h!jYB_R@zn-7e1>*0}jYw&Q24Gh#+8qQ`CUCwQ^wK;Q2jF8y!8rBn7&2o8)
z_Vk1Q>R<irqmMHB^s7Jf$Vnsd$kFBl|6S5>XiQhuyp5zg6w1CeIq6?e+97z6fx5lJ
z!q;eeTV(VI`5jG_LooGr^o<S1MyBY?1DI%Ot)yGmtMF?zsfj}=?eXq*F%u4lE?gdc
zZEbx-1VJaeEU3Ht18qPj`9BnEBeP+vW}l92;$>Y5>?%?+sR+i5q|2kRUa4j#D4vg!
zdmbAZIl+Iu-jT6U;lrRW+#}2$eFsKZ0HQcjeK3;peqBBlunL)6Gnb~#2f8KXkYPx(
zV{d_mT%x@LIcFX^-YUr>)68)$Z4@#aTcuJVQ%NtS+L|nLlu(yEj-5K*;7-M*B!@PN
zoL6pT1*}=6URiI*K#G$og_?t8POGgm1OW0Go(ri!6f4&D2AGaHSHhEG*}=OvqwGM-
z@jj(SLx_<pumU0#Xfg<5l@{uyBH5GaVTh3zSJWnZH;4cffY?re7&Uf1k$zcHBVuE}
zW4t9j=3c&X@gh+TxznZj#dI?dZTrfVltK1I3<+Pan{7`J&(*yOLqFeSJX1_OS4L5P
zdq%3#KRx9-qwF0&ZPV6I+O+ino3=hMxT~!{ZPQl!=9-_j#S%Yd(^mWDnvdGF^>&-K
z+Vc^$P)O2SS-(iP`lXj&d+ogokcM1ZdH1?(QeC{lnzVV;Zgu%xw%t0K9uIiGfrj1!
z_y=N;OV(`i<3fw+Tz*v4EOj;~R#zL1)zvru{I`Gmw}0a|fB*OY<F|hA_kQoMU;fV1
zFJdEJ_}+KE^Mj{|fnR;;JIe1S9rb8*Z7nrWb+xwF*63g1N!bs0{(QROq>Z$;mewuR
zHoLp9qr2VY{re-|a%g(j#`Z?%p+iSlG)~=QpeG{tG~N?wMH6byNV#-4PFSFv^ns-D
zIcqslaRn10HbIi9T@lv#Tuj8pD;H1v!hipzFaOKWeeSdO-#MDU`OeYi_(SSKDCu$p
z;XG-TlJ3b#?}DiL-m?&by#FjHImmrIMvZLfAf+Es^^xJewn3tn{yWvGj;5pGRpK=+
zS`)ZBOe<)5{C!QI0LzKKg{T{k9Xv2H5+7iszBk-YJ`OKoAJJ4V`WlP%D+iM-w5oYL
zsR5ld(Bnal*?Ok2^)XDy#ORyH<8D@@mS9fw_j^42>YbFIKJl^p?mKh}pwo$=J8qWK
zyXn?D?zrs)_Vd7jJD@D30a=VhQUgwQI7C>AQ>|C34hM=KU?r6NDBQ42fjLova=b(Z
zl)T}+_dpEJ)978=SX$rUB{#?tR@Y=Ed}9gZqod_=mCLDtrpER_=zzIvfarJ}t^nL$
zxm;0PUP`$p7e`FsRt5bmZX`R|El9px-)OK-GNOUJt+N}a-KcKB`^czmIpx!p8WVp$
zpWjiyIEYOs=>hpssbN_OlNCJ<3MLiV$eU-=?v8-0pco(xC#ixzrzTaH1~9xLY=|P%
ztkY@9$RZLhIHm}vfSz0O-Xxj8Xo&d};j@gzuD#g1^YM^Bv~lIi<@YXLrp&XN&N;Wz
z6?U_$UN|i&?s&a!s&N3gbm(5aA!S0$`1^+pI#E{wkS>4tU%s|J`1}yUJwYcLIJ)|T
zqW=1x%-{^hc4y5drd(%~y~93tG;XVTjN57+Lxa09<b=(}*z=VMn~fQ<*_bg~3~Art
zOB}zxaE-~Em4ziz=tg#RfixMfA0Xe`H54lQ7GtbNZ=8P~p!tiho_*;$Mt||Ov*0!G
z>VXP8<f8m*S{!j?C2lF+fz)<)jdU1fgIa8a;vns4rs3U*L?YPaLSHf4(&?ke@4ffl
zlea%|Jj6GgM;@WOW@^PcItESEK<y%E0c+C;%88~rAXXksB!<SiLIbx+=0rcmwJpKp
z{-%_$%#@J^wNvvn0;EHdlB5EJFK}P`{ZMKVznE=?(SP9Z;lratBcmOp{vE?3q$GIH
zfV+j;r12bVNh4pjrC1XS8?4(ca&bzmz+R`8g_Dwbe-xpt%3z_HRO_rvQR`_%U>xjP
zF;n74m?T27c?`lYgGnNMmfg}dpDrvK6%kgvBPZ!BVh+6Qd2??G6IOa-aihj5H@6o-
zETUkV>>XJwXtHyUTvz54!&9y^%H9#S`KORgc7D<Zim**~!nSBKY?Gb#>HYj8G_{|9
zg!b!Y20K2iW5$_Yls_}hSkbrMR9uY<&!2z(!izJ`gPHhw-d3r7gw5jZGx~gZhdd&E
z=#iTqnLIS3Kbg38KO1KU#s<d*PR!_8qXI1V#=416G#CxVXPkLgg+#z*^e6Z;KI2^T
z<+~k<tGSce&g^W?ID-{qr=_@@%z$tt^>t-kN$Tw-U&cjEyIQQVZ^Bb|mO$fdFK#Vv
zvu~m^?`H<(zjh6Swrd!)=^sm9EZoq4%QcMIu3^x24TC@78oFwFU9Yb!y4HQg7@IR)
zdA+C?UVhPaKAt&91#ZT<-P~4s+x3B+@O)~<dAWXBx#y66|Fy)EDOWrg3&s;Cbgo1;
zb>jkBZJ$Wo6{xuK3K!7p<j?T9t2^&oQ@DT_XeN_3T{~QM$Q+fV8V4mFk3TVEWHLTq
zsnp*7IAcUq-^*3K<g9ym*?<~Q*0%Lkf4(zi;jX5pTxYl>)-h$1!Be*DcbDz@o#c^%
zyZWH{nkkzM-Z`}|gLm1k-^u;!r-W=V(!dt`{93Rsq}OEbd{yve+XYm=%r?fwHBdRp
zZWwZL5w&uF&9iMTOU*a7*;SCIIy-P>o1dlUsj^?ba^=0(m@+(nZ5>A4?d@~tUVKA(
zqTLMT<5!B?-Gcy_{mr$vD9X=8qbn=AHap-`#pie<?O2syFb*E8!_(SYUoV&O{b9ue
zR=wGJEHXET!7Vg=3{UsM02zt29vkQq)`)t?=#k@neFFnGf9XqKx+T`S{Mu`qo5zkF
zO#l{2YOsIIM!)|();O$IyB>V-!Mkr+T^$?an*%-2inqsl`UeIv4!x8=CI`D?BpA^s
z@ZLV<sMPWw7u?SdJpe%x1@K~S_v47lfIy@Mz+Z}i42B{>PCQC1LS2WZuGibv7H<Rp
zknC<qHl{h<5XKja4b3e+&Rd1tNKT+Th#hN-clToTyLuQw8h~(+1$)tGA~8O!9OCyY
z8qeqO1j{+<nN`_2&=HFk3c+BbIXjTI_yJfqE3hucOsHcPDmeNYee%t1DT{WKgm7~j
zHIH~!N2|<x$wP2cg7I#4hV?+vS`N^b)9EP6-o5Rb5{yKWgp?36Q<vA^fSZLbhnpU<
zHb3MDiD+za)A?Wp5;Yk(t5-=xDovHXgr-&LGSj;dlf;!LEu%ySxKYTBbh^-dbD$*j
z2WknD0qJ*d5>stfR3<51E~pRkG6}6{kB4#h-Q6CoM6-5%%fnp7<HQ1A<5eHy1iq%U
zzVZLRJ&)UL(LZd@7pqsRi|@@ii%Qcc_Wb$m_p{IcJ$7EH$HbnGRL80#{WHRLyN*47
zB>U6ZNA8_bMw80x*z>Wr@wTy(GcuoBwAu5hy8}2R7KJHpvFC}<kx=5;jMJw$N@CA5
z)s<>yZHCewyztobUGFmESdT05^%+1Es$XFvh032YcRZ;u%;8>iUUx38&5$T^GL}Vm
zPr1%0dxzU*k-XFURXMLMYx557S|qp4E4po7(QUIx9@|y)PVaj~?|#-MxrsKTF3!);
z8PFQfKRct=fn=3RBO^p3PbkiG`jJPJQ}S6P!aVftR($9bH3Xi~F+;yaGZF`980yg|
z=+6+-;>{?%t;?_I6c)G=eC8$`P}0dKW+YP`n{u5|_Kq>zd$w1-Cv8@EgvUzfY|Qqa
z?RyzUZ133~MUL3s^N7s~ciOD5JyVUe^gzVpB4bDQ1)HiY3d6tBSWnZ&&(@P#Lm2)W
zMt36O*IizsHfTIHXsj@D)T&;%2+m=#l+>yv-Hdb*q!V3riV{yvO&w+X5j+*Ti-O_E
zNM9_ewHeF<-+uE@4=aqMTr_d-?&2QpmzDoPUe@qG{1DLgshg78L6+M@4jnu&Hc7e%
zGtI=^ci(-h@(`nL8Y?bIS_0mr>d|MZHmhn-X9f3|8L1NgVV9&^D~-!Kd-!Bigz9Gr
zrQ6ly&Cr*Mly|PfO(LzRY?j!t&KfAD3|czoj!c<H)twD9vYgq@Z)8^2VRVqCO7o1T
zCEcwiRghe+)WA<PW+R#P#f7W$s~N$gViMP_NkGl9BO~)0OG$O9z=RT!@$TLZRr6NJ
z(yA4)p4&4<6N^+;s!euWW_EJ4jn;*Wg$Cn00P>RVMs0Bs2f4NdZ+~?*l9%=0B;5Ry
zT7Mp(47?ft``-JP9ag60?<c2RXAmCiIAoKw37fw^WRtWB9x49*kWJDK*|h7BP0~iE
z_Wk|D)V_92*d=XxAH|l8%3HX0Ise9w-l)8Hd4WY^%2_Kj5Es3})Mc|7C)fwV)!t}4
z|NL{$KKXY`fB5x3-1?ipf9|>GpQm6=d4asSn7+<^uh%C>8P2Vn?d9_5=*VzSXY1%E
zk2X7d6U?A0N0KR;O;FWf(31|AIQm(SsPaP}x#L*<m!_2OdVaBb?5>X?V9GD@SeL7n
z&5%<th^vF`m~9tj9~&JWj7^@Ji~)V&E9Eo~q<+|_OW}!2jf0!T*|e*ie7g=<tF5i8
zKQKHrYz*|agHGct<kiWG{Sk&THEmTmt2DFSFcOK;@uRnOp%>wk$Hzt!3FTAPtFsm|
zKET~}INrX>LMDgFvZ_oby}q_my!P(3%JOO&$-s`_BpqZpl_FP-`4vCeGCbx{q?4T^
zO8PwZhfgp=tz-&ugrpp59w`dWw#x>@0-3pzUENVCGG1z-9vE1_5?W7;A!HMLyO^xS
z<@Bcd-kHnVW_p>gl=rv<43asG-TMZXOrJHF0@qlEqYG0Yd6qh}TbkR&ih8G9XAmmu
z@Y*EMW0OFSO#(eUQY6r8lR&Rc0=+f~^iA(epvNYG9-9Q(W-t}k^bM2%w~sfew-%OG
zXEc%^y>a%X*Jm`+AH6gZkIpEGq@I4{=J6S<j2;;qJU*j@#W@;c`E^HItZhc~LqKbc
zj1A9do$PREWj42GG*TNP^K|;Ll$y!RV*jhv8QiMwUfjygU{2YMs3pJ3M`!Y@mWJAU
z3=i6_&xdT+=Oec3^P#=#^PuheJZQT<b`-_^HVyrd?fQJkc75zv+T_qH7caxMu%5}*
zUw#=V%F^=6^=t3F4Mo-Z@(K<?dg!F`T!fvKm29DvL_EDgv@4g}Y&LT>3Jt|TtSLQ)
zZ~oceKKY{`y?JrI_*=il-0F)jzVhsofAi;=xp&@t=@sgqud;v)bvCs0^;chATx&AR
zS8wk_G?$kz*Xv7Qn|9LO6Lm9DDxHQ%8peWP;N4LG@3jh3(8c`3MsIgtZ?^={)Z|mf
z#5ii77(ZYd^H=AVmfku4qonc9(%j-A?4+~Yk16HX2jS2@aByU>_b)#6DJfEA3H6sB
zy?FP@sk`sEi-R2`DdW-4KK!XqJ@lE+nZ}cU`-8J*|HJP;mNfq4x$i&w>^Hyh%~{yg
zj>`m|@HjZe$8l_J@Tx_^2Lg%VL;}#;@Gt>F%4ic<ssQv2I+XeRW_l%QY~~@3MkB>y
zBt(c3x;`}0-xH5V!rsuqgVs1e@6gCZe~3{WS&2j=>ZlkHBPZOM4x|X(rTgmlcXkhH
zTBkn}3U#U#P1+4p_uhVNVq$0@*7MLqx7>2evE#R#I{nd;J)w@?#PA@8@)<ENMq2gt
z^mw%GWV-{RD%|tLp_2~B!B}s1_e3k}FcZz@<%Q)n2*P*rbx71WGMnkO<%M!SyS>36
z`_`5a)<DvtR=^5^Lll-vgHj3`1@d5$gg2@J`p8TUW#R#6vr*VwB5;@M6b^$6tmv2L
zRv7FT)70Qfee3(L%+0<0{coAZ=RSJ-ks~J`{9Mxb%*XF!!sVl%o8<~^0(c-PXw-c)
zvaABIt~>ISGAYK$2ZF1V!DtDE@qEEFfJVzuLl_bngYcj1Xg1+?zp}Z7cc)*`zp#Lz
zglYpbI~Q69HbU7bohDXG8FTYEr$ySOMrRM4NdqI3Nn;?^9T%eY*<VxC-~85YPw@D(
z>kKMr9k<%_^=6yCp0?@h%{)@<*{wExz160#$EWvuf=6undb3SmZ?@^Hod*U6600mq
zs>j8_py@Ngx8Pf?ROaE{U0hjNz7lFGm)>4ne?w^=JkS;Gy;<pMH2y=qnUh88+uKh)
z75SULc^>s7&aldZN#i?z`J)RLp84+oB@3>8>XSE*jNJZ-U#Od1rP5%b1R)%p!`bfc
z!ay%+FIB^S!uXVN_sP3H^r1WMy2CWi{^<E<o_Xnq-<$19ryp3!FcT>F;FBj;?w>k+
z|NZxID5J^Lhn24?{|gwV-{sE?I~<edRO{cVk0tMK{Y(CQwe>5l>DjJGWCRrejY$GL
zJRBKGNZiQ5kV48p^Fb!E?7@H<W^r+4{+j4jm*`cOt`9qO8PDT@)q%CQ<j0~-1C}<$
zJBckr@qP(0S5`~3RWpm4*<~1~-L5eBRH~<k4;N3|I!3-P3Vp)ToP$SVhS4{161GRj
z8*f5&wDR6d4s-7Y(2S59zz03loNrR@uC6&i`l3GRP)k`}+RV-=E!buKU4u%}lO1HE
zsD%nkdV-*y(ixFLGiAJR?zOkxdh@kcOam^)iHXUZZl2}clyI^R2Y(&qvJUXj3TR7K
zFMM+wf|qR=mkco%k#Jl4EYQ*wQ39V(gQU|Q;heM%fi@bipMU+u7tg=`rfD2Gbol7e
zgC|bT0+RR|^1bVgPE5JZAh6c)|AlnlYV+3rSm{o72pDp8Wo_=Ne}10GsZs%=<rLm0
z@j<U&qHUJGd_jWxqhq~9>q7^dCgT0dE3ce;^_AD2`hNVWr;t`i1Gg0SpYMtHAAa|l
z3m4w{-k*qgfAM3tBTx7KlqKHCvPg7qFXGK_35Y72?X|@FjyrE>xb5`art!V+Bi_%R
zJuBjkEF;nP-hJ2H$&<+V+}!-!{QTX!;+>@2`)@7r{vBX=Uo}76nr{6<YsM1qf8F}G
zt$$~Uw<XTF4a6H6-#rqRc=z;li=XK=4NCpQT}w-L@kX3QEjoLsQ-K(kTdlW-_QZQ2
zE(@+AJtE#qTkP;swpT3i#tQ&@?mv7icNi)e@Of=izVF@>?>i3m5qJ;ZBI14S+8ULW
z`8OP9SF=eDBE`A&6_^&d1#%Z!+QM!GYRoM&IROo$px_2Nqf~n0J(zwE);*nGUtL)Y
zB_WpMh<A2&=MeB$UVHPcx88XDWz#rzbaG<i(BWMHw<H>Cj({WOl6)fTmVjfXGN{p}
zNlo4o@rVfcu0XG))BbcCDfiL7@%h#*0e|z2^Dn;m(kri<#>v}{9AyRI5i#CheL_)x
zW4CH!m+%uGV88854#R`H9h?(3`+dS@zfagC{AQc|K4P=qc21BkW;vLAsTUBhQdz2d
zdId7}g-u3Bk})E5DVtG?NT-X6^itUelQz2wbOD>W(mJxRvF$}xo!NQno$s-NFBzlp
z!wsuxb>-s4w8C7_XrP(7Xm&Xz?Ez~|S_`0?)_UI2PVO9|vYDci6+|`?iI5_rqgf@C
zFuS~x8nirN3W9C^wIBT82g~k5%;y|YV*G+;hB!Cnp@)W484R6MhaQ4%&4JC68VV@@
z``WsCBZkp2F>us$g_Y{I0Wk2!G9GAA5loj3&6U?B<PKHUCHrvv%#|f$R1d9q9J)E5
zOOd3Vs-Dl}W+Mwemy~}4exaRLeNhZ^C#RH*ky44MG#x<W7`G=nscF8L$*NW^ajhZG
z0sxxVQ)`T+XL5v4)+Oer<U$IiL&dPlla(yYlm?Se?2Gr;R0q{g;Q91*>LwW<nDJDo
z!RlVPw46HPtT*ZzltU_!+%K*@^#WeS(W-KS(sh1<rjxH&<eB8#YOQF7g34|y$;vyp
zU{o4(rCu$#ySkbzH>o^sEarW^{`{h{8)tlZ%5_HBJAT<Fr(d?k8ULd#&iExBE6B(%
z+vL>F`TWZ^Ikj^>f5|4Nzi5jy#%-Cqx{^&DsnP!8P}Y}`R?ITaZFT9D*Fm^nc<VI+
z`gd1X@M0^g>y%AbfHKfOgY*_DFXW4jq_@10mPXlTI#Wu<>&1MLNFv8{_4@i2gGVw8
zw!Lm1d*wPWQP_Zc3^Lg_UJ?SabFTn*dhLa8{J|gn(I5TspZp)d9KQ4F%jeIZf92IT
zh+19&-{8}<{LUIya(yLJNqV>6yD0eI%NH+gCF7;cN@f}Rxw)fVxNvoiB?^t)+S~>6
zSU&)FsLmycua+!Egwern>hhhv58Ovue&@+kqy#q)_M$uti(pAc8MaP(nCA^gsJRE>
zeb%FlsIeNjGpZ%y&OkI6j6i+wRQmhd!}9F@a7Vw{HPyqr)7@<8sP3#i_)~B)JaYf-
z)clX#`5+$RH$djeAMqDS<uUma_?7$bB(0gc|KlLWAGQXvi4$aEWngf85b9@R;>2B$
zQ`~jpfHN8Q^^Xq@j3$N#{mOm!9ZvM2Mcs+x_nF5Mq!x@@gNTepBi4xC*oc(+2Zv7_
zKX&XGMK|DChen2Zsl<rI2%&tKH>kS+S~B_I(ka)uee5j_QZR!uU30k&{>s`9?1|w@
z=}r<A69wO6epVwsNR0V8TB!$Ef*1*gqV#KFfhJ!9WR2bqb;|b%>-_v6M3T+Kn?naz
zK`qgxLc<jd`glceFyv0gITeTwJsyXv6`;Q%>ZTi>fO%|47%@HJASdHCx*0f5Fm+7L
zerRm!4xnepk2Ai0&(VI#$cFl5+`M0zO8S~jw?VBx%Cs}@EzsHB&RMmC^Ge2Dz929R
zb`1EMU0tz&3|#QgF7w!C0r{wxrPlyms?g!#43X)r%zN;Q&COrOc3xT9+8~xDJ3=Kk
z!C@fzGD1S%p~Ol}Z!Is(#oK(WCF2++%o60uH5dj8?83lMl?z!@)f%ZIkv=wBvXFcQ
z{5x!k0b1K#J?yH~w4LPw=j2nOe5*~_LXma=I3#ak?WEr!3}irUNq2y%)YJf+4yx15
zA|Z!|jtaXK3Jn=Uchz$QicGdp1Z}ob2Q;l{sV5B3c=a*{68bV4IN;aeFs3B8`(sEc
z7%RoUkcP2EKIN{nGy=oQz<a3Gpkc#9>n-R6`80)Ptd>l5t&}>#YjEN&_p;y>7FS_9
z+ulrDx&IsI&!eC3uBNHwt*tHrCSR11HBXK8)wx0;TY&r-HYTV$SJNBWW-^4cq|bzH
ztt+dm+xY@J6!IIZ40-}kmvSn-2RIsp$z}Jjicl_K9P(#&*PhxLW9<x1iRt}5!}#<*
zmNPN9Yfnd}_qo6hP49DojZg3AZ3k_Be`0#S5;``01O2Pm>nuVG#33*V0ZRB=t5@Je
zCI8$kWG<(e(F+Fgk9tgrH5#w|CqSBKUU>fb=U;!1+dlX9^UN}X;|RIiJCI+f5pu3w
z^cKZso)c#*2rF+XJ~-JAvZ>j2C}qgHYIknlqWh8(`R-$U>7&!r58wO9BRAJ4e?IBC
z20#t;>%x;TzV1B}&!&4LgChqM5EI7+rcy?w0KmLxfq?gTVRtE4Ee0`%?sc$;FW%M`
z_6IvCc~$|N=*_&4uI?V(EIGY^F?180G82hJUo6%$newvFF3Y%1y|`vON4Yk>))q?v
zP={POyPEVEr1d~7wV;x0gM++WZsI`JRoOYH6xXQ+2;r52Pe&eMO_1o*B4OgyB}ze9
zbjV4{?AL+=MQzk_DG$X=M$(|O+$BS^9w=AP=iXYmdKI^_rEXt=1IFK`R4U$1`1#e}
z{Ow(t`k-$5JvJYGpUp?#v*)8v+kEtCTP$hsrr&LosgpLDvU9@vr}nGs1I&?L#Z#Vt
z`|S&FzIl;ZvJGKR2L@d%Zg1?Ngy`&enFVmb$YOZ8N=<&KdHiyf1{#fbo@AQzkH7ux
zKmFGK{pTCk-+T8W5$2nhunKdR_P|4$)7u8b)E%nVg#odn&JP`tu7lu+21=#25j+a?
zB)8sk`gWtOJ=RWw(=Mgy0GOiN8F6V5j@2rq>}E2USx1<q&RorANb^i@Iz90SaNl3~
zrC<8jrvZ5WTJ(PoO&mIMhz8K%UV^Az@J9cJr)bd9$?t5;UrGkgzYd@hX>{bSzXcPX
zIS`5Tj|t)zK;W_CH+7NE4N$xpU^uX|cVJBUkeoqXHgVJ|<z$eFKPuk{Mx!dDbmGYN
zs9*;ij!-A=WT2OYl0DsAsX&PMGXnR92QV<pWB>qlH5(9xX$}Q2px^*&0tBY?f^#qj
z45Q}|*W!-j$4^j-3u3i<xfX-HWNz`U5!@c=rLIOTOT~tjSF8(=q+S5Ptx}Hg$>e6{
zB#ydHyuUEN2)%M%XrFfkzFWxcp_-6p7dKO<a__(svLFlMb*BeQZzlU{tf#49a&xtM
zIUEc-8^mU17i!|x)1oGBO)0X!h2S&^qbuM8q3EmXej*@t<cU$`%J7dnWZ9F5&Km>P
zx3P_7BC>5(**GIV*PTho&ak*Jpbog*S($x=GvuvTUwNxW?!C=BfbJUtA&^lQcwN;H
zB3UAbB!LuHRUm*)uUudAtGwjbNY;LrF<PrO?w@j<L1nDNZ;OF_HvRJ1^vlO1rPk)R
z>6hQ8Uw&H*?6c`tn@zubwiwvG9|JQ!&!r%+aV@T_Ik3!4210!=oO{!8P&rsv98LA$
zp#$2yGM{u*lt;h#sP-fU2S<DSz{K5Jmeh{wlt*>>0r*xU0l$NWou+{C9_)@g)|54e
z;wV=am#;a3O0cEOzz3gR*V=)RIB6?OSx;{<oC+>V@d%D}?%JHz3CzQK(i<Fb2c}(T
zxB%8MFul)qIc)QAaog33^GLZ`2W=j%-{#>C*gV|m^nRzs-c^p<u9mIS;$?v&(j%Fn
z!|$^`m+BZ_`Cx9NTC!0nT)Om@kG`qW%xALXOe|lNhgiSjUaLO+^rf}$eCN*yo0Zzz
zIo87MJ*AX79Rh?N9<FXsQJZlCNbrrh6}RGPUtRt9$HQ;md1qqA?e9`LKOI$~iU%t5
zv9Yee@bIx2_<CvMbFn$2_xUU%0eZt2z&45hBAARWWlYHRS^m?K6(erlS_))(K$LQN
z{AKH?_rL)bkKXYiD&cyoEeLX=4HybwBv{aM1vClW%_xgx%}od##3qz$0wy9BQS_9X
zhZSlrqVtpjeLm4541|)P%9^BN^9GNl^<KSfb_GSCxd^yuIX9F>fwe`7r{acFwi;rB
zdd6Lc#$f@1ONF|s`n7MMJHMmYr*l7H(;a(X=|eVYkiOCf^_1-FTKC%Y=7V}l<2JwK
zp1#p@QxXAffzeOE!8_U7xpywT^Ug&)*3wHqWZ0afkw2G79HqEd*r735%@>kJIbQ*3
zRVYfC50D8KhZSFDyxVb>g8lOR;`N2%@BP(x|LU**;;;VduV4JFsn-AGdyfL(%jaG>
z_sZWZzhm{7*00m)$*-;_jjdJCM&)!ys(*ejkq~J+J*M@>5tu&cCI<rb<AbC~h(Vt+
zd7FbW83r-do`8flW!yA*<lsTD1xe$kTVTh$<@ime!TB=_`Oe$3iPx(CWO!(Bh!R_G
z>0dl>|A+W{|CBQQuRXY<!-o$YIs6bLwkhMwU;HOu_`<LJvtLdcU;gL6JU#u-|HUtv
z#-IG@pZ?`v{^_6m@od5$n<Q6~bg8%fh*cjP8A-$s-qgt%S;v^wrJ_m=(hK~bL4wzg
zCytqh6zT}xH)a!+CWLcr)ARbgu8{%UAZg!V&&06^@1>o=!}f08jx?4U8bGdcvyn8a
zO~khVsUlTFrwg(7xC|OgxyFFB-eL^G`0l;qwmVMV2^GZ6AN#@pHKwtV(UH-k@K7rb
zpcIg2YWWt=RB1v>x?SU$91g<+U3$plrLp8}uE|uQ;3X>WU5CVfo{``6OK(u#%cLoQ
zXBK68iN;ce8P^KauAEbuMh1v+aP8!X4Aj!lHv^6OLaC6)Vdt|-O`i=n>z!&DR2v?M
zg3LBO#gy^#1qd`Rz4>y|c=`O>*RH*Nfr8^b_b`fc;_iE96D~DJ#YUP+brnKB>nJPv
zZQ@FLO`yn%jMJxNWh+5xHcS7F^%k@XbEW~9&8j!j3Dhog5^^3z{cWjIldP;MSKq4R
z@~mSKI+v93?$ygMro8)Z(s=iscdrtkT{aEwqksknrN4!_yYZJ`TjFi&YwO#5t~it5
z!d4}yg(Y|U=?_o2&Y-H+@hO{L+nMw1dk8)}s3<3}^7g6wPuYCpr))m)VViD0IK7|8
z*qQUXZMxkvwXfUb*QpKyoRNr%vKTj{Uahizx{<zqy;YK6CcTMd&^`n}Kn9xf!==D|
zkdcFMNHzUV&2Z{!r9>64<u%8jmPT*cTA@aYT&XuG7`e21`TWyQ*D`Ms?_IdGMsoXo
zA&jd_0jZ^uTbHZ;;o;%Ieid<Oc^pBnOUrIty?V9TZjM7q0VzdQXgeA@l(KG}Fvc5g
z2Y}fK2}@{ql-+sC5C}rnx}^dQSrD$5FxKg9w=3n-a>Y`aolxkVdv^Sb@+K-diqPqb
z3;x-tk<QmT4jlgQ7r$5?x)qL+JI1@1K!K*6g*XDcSDdJ0hQ#-c%h5o}=O8rS(%Tb+
ziIG_b9l#|DLyvX!<O6OFe;AL&Bax0+Z?LViAIu2F+o7@kp4h1w4+5{L#X=S86>!tF
zIyHc#Y|7OociTVw4407VI4a)$+?7>_@Rnp|NQ(9K%YXM)N_AC|<57`0&@u!X3X>N~
zQ-?s0OdmX|>Og_RY~EB=a8XjfWoACm;$(GAR*(ZN<wjC@#w9_6=<_v;=J=?SfDrqE
zUqyZmt;Mh&>j9cwqoYn=A2pz!?hvTLqsdVML5U$%g=JJuhajOCJ+Zh6GzLc+ZZGz#
zxoM8CGjbyZ80%=%v&$Qc*L1hOwz9t7D2oNz$x_&3`gjz%6HCB9WU=YsjG}FQGLzgu
zxHR@)aMCTqG%9Fv(8ZhSt+#ys((=Z8Zz^8r8no)ZQkHD9)S?az9+be#=kqXK(Gcb$
zFS6PmACIN{rG}5eqPi@M*iM_B9pshVF1c%ahh*7Y(GK1l(=E*gGcHm$Vdo8ZprMv#
zyohKMLME33S#vcVuyoX_$?<EumqYkrWDQ`g-1ItIh0TrSYuB{=#uB-3w#0pcrbBK<
z3Z#9Llt$WrQGdC{@<%Tvx@JXc;gwlt<h}|5*c)-NUc371zpk^fK~Jd-{p(-%l(Vss
zV0OKpZT;E|$T7XWEoh|Fs_}Iz^8O$z^RO-Qe#90%2tTJ(pY8mdA7o`7v00gqP5opm
z(`K_W<LM$dp61&8{IzT7@|CM|^9ze>i*xT@Tb^5$lqi>7pPLi<16NC?j8uy6fSDY+
zR<WF7$}0st7sQKUrC^RTzgnsM@TsTHoO$v;eV^k8KYZ%B=U+SfpTGO$%RfA~gz;XQ
zfAfbw6w883smf&*!vP-*K&LE_;j7oUb=&!J#UG*itE`#hF<JA40T~(@mx29}fsqmF
zj)S9PgIyzSZhqMa$7x(+SyU~MMBUU>r&9qd(U1Z~Te#97yfvC77NV|~XUA`HA<`e?
zc;qub|AjAn;gk12{P0Kbz3s!F`t*lydw8OaYY|QyefVK9EvmDRWy*%0>hdz6RjkHf
z2RS&hQ&BqF!i~&Tz?oYub9}Ia<|rO}bnL)E`afeMAlni{qvPWv7!#rHU=1$two^Qx
z>f)bjc4`P`Q`Wk2UaYue@dx6I<g$%QQ+oW?X6o^vhvb_*=sZI^MzO0aPM{EOi}!Yd
zLKl#w&x^6daHOmy3NUqaqL$5;lgfiHfLlW)9d%hGru)qCe)ep7xqK6xBuV@c8iZqG
zFgqPTGBP>ZPUhO)J}@~cW&?v^`5MlY&#(;*H!mNHW1KvO!>E+G>kbS)bh(g;LMpOu
ztz8rk4TDE|ZE0<Db+d#%m-5>{n#63#{k5Kr&t#Zftx;_(6nT2$geI9D)}U;TgC2z;
zd}D(xmB<jm$>v76skvP(y|t+c1&~(d#RW%>9Zu3sE2g@f7&n&-qM@z27V#;CQb~76
zu{j(w#~I9{3Ja4ItN6s6ig_-}iqujC3VmLyS>r3=Xv2IwAsr`9O<HHwI+qU%M>H&E
zmYci<KbwJ<U0R&KLcw)m73|*H#`41Tm5oJKu?k7(763jBhuSRiuW5DyrN@p}IJ2F+
zQ&-BBnraAtyfI6=6s-II%Dz)ZZNJV-v1D&X=5Owwa-Bidt>Xb(^l`7vF5GLg3wICh
z+J*aV8TkXY=;J<H^kGM<-D8VBPTO+KA<Ipn+FS^DbuqWPwo?}!ZB%lU8n%?{SVk^O
zssq3T*H1RmDw#~a5SA9ALn&v>A>DFhF3AGb=bxt$=+Leexk74rYmqwZWl*UD(04$J
z42QGyGuXF5kLsOwR@beHl3Uq&#~dmO5gX)DfHT)RI*_vTj$5iM>82ZHABh7uCUexC
z#I1}nhKXeq7BIQ0c}_E@hkMPTwM8C%?aHM$X`dZC_Ufyzy>T^KrJwd@EqXI`ubY)Y
zc`q(sN^>!O9o}Mp!9Dl%1+z;}KmGKgD{+t6-bS=#T?52|nvEPzX5T@(ghGDbAWklZ
zuK8nQx6r?pke|G#8F1;1YR-_>Y+KOM<e5SFO_1zP9CAF4Gll>{I;)^ggu2Uz4ksbm
zZKOJ=bU}VX<w&Q>>h@5Vr-;^a_{|}LS6z3)T<2yt>4Yp#adxp~h51-tD3M6SLBkHv
zOKq~}O$GQYgP*~mlL4ks7*uOI4F^dawxd~bjJWVj249{G=B>~U+k;8W!ILAlSoRVN
zSXH{O68gdUTVY!Zw9^VZ3spxW)mv>q&F}N!&hhgw7|It$ljY?b1+<fL8OceigT!1_
z4HzYY2J`c(D}smc%c5eruy}7?gBOv1eAIPzU+5r(jVhr{1GRH0RXUqOaobAzFzQ6B
z8b$1yGUWDR{dnatbiuNwi7t0VmNqk7ixMKGBp7NFs!jSTW*7qwT(`hRQ_PsRnOomw
zIZRHu&M14wV>VqgZMtUKbnV{^DvApqoU-ZK6E<CY%%*FP*?e%y=7W<qU3<vpgY8oS
zN4H>Pt2tc?Sz3*tyKL<<0On3~a_!2>Y9_O_x^QiEGh58lCd#j*3q-#q$OksEEuG1J
z8SKJ86Xv6lVSlB;E>8+1#4^|!)&^s}vjy0a;xMv%0OnR3E;tp#YHf3~gc;j3k6wY8
zxZv@%%G)~y*2!)!gWJ0{fAwAZ!B2f3>Y}%=zH#=c*RCw4S2s4ZtLHARrvll{rE}-r
zU1++Ve&H=9!|oA-Pg+2Ic(5xc3wgj`?C_s#PxW?#eZ0J|9u?Oe8X1YSoRwU~--fr>
zikB~MscPY}d5<QeMJub>D)SLyN4fKcn>jUN)*wY#ufYHV3(S!YvD3kNR+@HIdZ&7M
zeU+}GD!2z9F3VFz`nL-qBc-F~E{W-Gga(mnBNfL(O8x8o0D&Hj(P$VE^B!k~-+b|v
zxvbu*=q%$RJ`J_?B_<h`9c=6G?+800kXcZhq!?V+`pefTm|x4b`ukm*ufKf9$pH{^
zoPtA(#aLDF#+B8fa7qvK^su+eu^&#1W-F<90r|8C6=P%JYBfA&9vGM6-mc{lWg!lJ
z-w?@{lF(wH<RRk_Uj$-Zov<v@k?kEC>hEPSR8N0D<@t_|{%9c9+20imj2xR8Qx#DD
zl^R;1xin#aXc30E2}7E-rc)P(2zj8csLE-jICD?LTIvQ<KJ95X#<<}&3IzFpF7-j{
z7-^&A-WQJqu}EGwv^F99B;iLq-WG8?I%83lLTbv}0*50Re~FwxH|VDlCbyEFdS04I
zEN*I~q7~+cSs(*)R%YrnCuvbqbp*_N`a7w)>#Cc!ou8Z|5R<Xyct;nU0>@5`LpRws
ze$%l7{atM|;)Co)?8X?iw{?z>5B2+9hsFn0WiojR6VvMMmZ_Wc7Vb?|ebij|4=N9}
zvaaxMBL1A%&cf1CPAzF3DkW%&2K%-@sk%DNdoo*sKB<)`TF~CgvxpIMN323nurRkw
zuC%eXxUjMT@N)-Rv*q<|>Xf-GrMEP}5COGHaL|FoL#hJ}kKgC9U^I1tKE7!V=$;nO
z&jv1Wix7f1Nw{m!vG8WpMxNd_AI*DqxHLsos}&ITQf76Vh3|#D1T0ld@)oR}u(NX`
zTMaULwX$VMyTaKh6N1#8+Wg##3OOv~g(do$PTZKYyu=DH6n(pjP?9654#~Ny4UdtE
zlOFn8xt;BX2!13KWKa=e+fCW#z;z-lqT-r7PN-<@W0%qnag+41`3|u+sUimv9(@$j
zFqQg`OcKKVND&DOMQ1|tGp8<Vjm6QB`R)f`H3Y@V+U;SOJOeSCIZ;<=d&v$Sky@!X
z5iOSFmavV8BoM|F*4~z&NNc6qn|W1mP+l6P`MNU{p;jq;j!g2gv4S7?J^5Nnm;1mV
z`+mrlb?T|OP#oF<Hy}+UEY+-ek94GVd-J>h$=AGhsg>A1m9P2!-XrA)*2DNj<r>h3
z`G(kJ#)_09KFTE==5FWnzA4ukW$*Z)IPiX(Z#vCmB|rS2IPd|RZ@SOso9_C6IMB|F
z)V^?C5<`{EJJ+vMM&{$fPCn%+7Nh~Xur47Xuof3~MAC*7K}gci6phQk|G0H3@8-~R
z&ph?ylRs#+o_Xe(rx{h?zh|#4BPQw93t*6*eRDS?Bn{wRVw|f8jz-h#op)OP06rw-
z++HIj>>Ch_vdj*SB>Fnp$k@^6EMfMG&M?{GaM%h7`E^s`r&JjIk&v(<J+ge&<tHRO
z{lF(4e)!=`h7X^ZI&lX$ozwmdRy*xYNJ5yfLPAhxNn+bb#GMLj)q(_t)vLsW%h_P>
zJ?0Q-9*$^KJ|>0){-5ZKprw({K1l-mlv^Y)B>@0D$M#{$rh$NqQWiw34V_gN`*GnA
znO#Q*J4U2%9BqrxNR0)>eg+ttmTyU1=s}kxMB<91!sOo=%zCYXgRZq)25}+ddSr7>
zC)V%)!!r1$iJo3krH-~izQwrl5oVZRJpuX&ElE3X3=PtV3u{HTH>JxhUodVCrQyn6
zTeUhY>%dg_!FpcG0+rGZN%Q(Pq2T~(FN7y@mqoV;XbBCWwZoW!!7JxXXQ|BUrEIbb
z!?}^(OjF(EG||-Jj*K~P=4sUN`n(xaqe#ddBEE(ZS@9AChjdJ)*%rmW3D|*h&#v3!
z>u4EX9$Z$n47IipB2nU*kw~He7Dy>G{ON{Io6_Ri3b%UEFy!MJXRx`sR+qgq?s^_8
zy=>{dU>Z$ohD|d>cNxD67h60IlBY;qh(^-kp-IYLnMVF^&&vKW+IZTgji+te_+wew
z^ggy_H!I`*Nwab<E6dUsm#i#LRJgsDl{u`eOzsa9ykup$g4F`HWo1sMgR<ssR;Fw7
zbl4#(-CAM~&DHm_G6=IJD{D{@%p+s(ytBMEAUr-Fn3Z{?Ek{<?f$(?y#H`H!4`gNS
z_1&!O7IvB)yOEVK)(4I!xtEvq*z&R=$-qd#Xsi2tgM&VjkWlw-Ce|%NKZpuqhAfs@
z%?y*1p@L4y%5u4?YS>i}G2%#eYp(s&%(s`CxrmCrd#PE?O3fr$@!%2sey@jtmmf>b
zkSp)|shQ#Iu&9kaz98nI{r%KTE;p%}PU;*AvSA<|jZiYVk(xc;bt5rrDK`=`LX7;b
z_O%qr&Nu}=?j>fW@_u3lr*<zr9T{ZEW_dRbf&h6ZBzHVVaaZ>Ym{T-*0A?8e7j$o9
zqbdsGq2l(FvNETt{g+u;q1u3llB|s4D_L1Xva(tkt~q<QjFidY)Y~Ol^ZO&wP13Xq
zR+TJmp^(D=@z+Ogw!U7H)GW8#f4OtYbp~f<9riuY_Pr3NY@Y8n9yyHXJ7vqt?zUxR
zciD99lug%ew|TzXY*|^<mX$@P_WLh=ON;B98&&E?J9#OBHtW(!fnL5|USFZc<qo58
znS90XP7$WJz&#n^ra(>@x9xlBh4b%S%I&0!*H@(ASuby1xpE~MATGObPI)ugGl-hK
zvzqN>^<YbN320Fb4%XfHGzM_{hKD-CNPCE;qrk2jP6+ebFq=@t41qOwm!!WQ36*Q4
z_ok<5l&qQ)gKK>s|LBRt7<E%|GRRrQ-%EY+@|9w6?EVKqc)Qa93Yw!sTSfLFH%(71
zoOW*0P1|;wePg3TeX?Ysr@Mz1Nd(+3sQ6%r{az!Z6bap|Xd>P>>dmisT6$gl3q0T!
ztB-Zx`9O!XxU;%^^;|O!Ry$+ru>+4BH2WeD3<s&JX#tP4M5t-tKZNp24}?KvxU)?{
zRzojUQZ%<z(_PA{1aA47YW58#;0+`qcElr${!{kx5(1RL_ZVIM%1E+j6?AD=z_}%(
zY^|DTwz9LT*YRHr%=c|FVQ&Otg-j9m#{(LICU>DFRR&lXkM`lsayz+9E)^<UDn>^M
zR&bV6v;H%aE>Mac%q|hC2djXrN+o~5RohujQ$2JCgqUM(>-t8L4x8>yd7R}y-G^Q|
z>!5w81j!5XX5}OPOpg=^3LDJ^?vz-N?a-yBL#x(wnGZId1ffn<>04Uf0MkksTP}ev
zbQ7WCPXm6vmR((@$l^A5(XCwG(7)o*YDQC*NYJ@w<g-!Em)&0d8?$-?dh%~34QF*@
zX|pZv;yab1;riyTrrkB|I)n09$34^gc$QN(Jj<Qa`-sik2Nk7VLDQ!95u5i+?;|$v
zp58}n-aWmKXSvO$X}8<F+JWhPbY1(trU^0B`-ji1^synhmd~+nH($s|_O_8F&6v9m
zL0d}`z1vdI2EVaWMqcV_%F`-uNhyOhlcv&Vc$>x5<@Cn#>iXMM>)*Pxzy*EkxeJ%B
zHyomPS6g_tuE6{@DhJ+-kIn6?QiQm?%}jUS(#kgNdkfPhEg&CxSE10^;a5v*%c6N!
zX<=i>?VuB6dbA44x2y3=-`O8s*`xw4fV?oT(djI3@+Xe>=;?DWi0WA-fw!+kJt<_u
z^f<R;HF;bZCGPWjp?YG1C?2!c>GgC7cxGr2MPvmlx@VDBmMWV16%WLg*19Q5)V@Mh
z&$@@Rm*#;tnfmJ6fA%KN#ZnRjL^d4XeqoA;M8lK}yE+*dbvs4fLhuvkDvf}F*<vfF
z0h^mn^yr#Z`kcDQ-_h9~1^zHZg%NrljL?xuc25M{qHb0;ovn2W+EzCtCsZTdEf-O&
zk5#gL0OtzXYZu`!DabHnmVB(y;P&N7QgKGXB2GB~hlSvZji%hWdQlZd)w<j{f51`L
zdG{PsAr+ZKC6nXnH!`_~I}!k3=gyJ3Mcc!PC<Q{JQBHZP?i|Uf?9ee4hudHgi|i65
zcqSB*(rKki8Od;iet{}Ls*4ViL!vxGlfnm?CGR*E3mAA=F-x-etlScOJmjB>yDcU!
zYUPU|f3@)yPt#e^YA9q)<V0hwyykH+MI>5o6=dWi{|J)R<SeGD(fp=QC#`M^tYlck
zsG7RZi^ZN1zLL*Qxy~qi$D_7N<Y#P^$j{h(-lqn4k!7E;`MgJMKJRC2KJU|0`<nQO
zO%orsX=1-k6YVVB-CNSwU_yulLapav7^2R&EksgV#bj_t(mxna6&<Li^iY5gv3>%O
z3K*=eM%54HP=vJ$+&x@{vr*#aY-e?Kw)-ml?P}PK>_JAgvapt>N;3C4XxMA%Wbpc1
zd~$A?q3lLwhZR{9Y-83~YSToJq|a3?uwj!;eC{ejMUv#HY@x1mi!N^XWWSGBvwBCB
zihH1cY~rAF<v0=p!^8avV#BeKgNF_uIb<zbVbz<MWC{_|l7oYsVb5ZNd<Ah(-9ak_
z15`FS6~}pQU~PE^;rmYi)aM?3<dILZ!}&8GzwaX-IsLIufBMs(eCTJt`14=-;sfkh
zkzAP8D8{I+o1Kn#E}lPs{^}Y9bT6hyj|`BYO-{h_)YC0~;r$#(b%|?0F06wQ6Dr%$
zXx9iM_XoxfjE*pSPj`{--N@+~QYeLHUr;TVXkk<6mnHx;a%u^aYO$D{v>YorwA?*S
zH|T9aP|0XU1Y&_Ai(aGApkB{y7wEz_Io~SuuhcyhwVvwKofSdr)-1>?POhq0-9%6G
zvB`*#rNaA1f1H3%ngK1BuS;SS7GwoFun@gQWn*PC*JAX10-9TRjj1qFtl~7Bp4=7}
zvDlP>Fm4<LHhgzGJnpKg7V4=O4qZ}HioQ&wgBTXr0aSp&qEPs6m1Ma@qmB*&R-*2d
z90sW;d>b@8-7<-5=%T}<&RWB2EmCJ}k<PVD*0`%sc9y9QF&9#nZPz=9NW+SWizqo|
zI;1S=YSg&`Djv9=>S{G<Ey(4P9o&-M!gUA|A?MI%;c#UpPs*@z?5a5TP2@=Ll1`c0
zD3;iDQh+)}8jX3%g?t9kLGD?&Me|37qIjn;Y;hyIyM9azcqU5><oUF&HEOOdS9Nvm
z`uyDD_4(E1wd;#>SFT)JnV$jWLpopvn!!+5htC8sGR>Bx#|>+=H4UIkb)7?L>7=z(
zB>3r{DbD1#cPmVGHeb8V`K-<6eAZ@j9{vYx&Z9P)^I4nC`Q+3-0^!rPIJ?7Ub0&4-
zE$WqqsGN^X-xVODWwN_cuGX4>D~c2la<Y1YIhbU!OLOLBMFdjH4F_gk(*@-e^0VR5
zs5L23aAh8!bYYh&H7(GK`p5N5#@|Ko+t*OCTlr$$FL-aNS=SKC=B|}-_*SlCN!E)E
zA}JUY3Qixw-Pc)=YE-e#stuYYTuyV+=h3O%a<4fIfGVt`bvT?&DUQGdH$YYCmRoKC
zcyx0@);W>YLBZMH9`eerF04zdEHA#X2~5EQjhoyf%*E_vJnAg4R{~$f1V=|C(iP_B
zyUF3$3moaZ?^l2ISO3{R{inae@i8$obgK^>#Fz|sxVSI~X>)5HQ*-fcASj*&*9{?K
zb`yaWvF0hoE$tte1q7_Wzo)aOXP|GOr>Ccv&*&ZW4KTVkac?r*a<dHwEDRGz9OSM^
zkTxmH$T(}sNx)&66B^|mu3!%OJgZQ&t+nVAIFyoTqm-=BpRyR4u2#*Oh+w*n@QoQ&
zNJz0WrHTV4PwtdhVOFtB7J=Ba)g-sf)Y4ix7~EbVA6ay?d|_fi!Nymy5(dwj<5|bh
zqGFKvq{Hu!Ha|iDqdMoamGg)(!Rc`R4Rl&HC)s5R_OPLdOV?>QD`GaCRcN(ovngWq
z1b>f>mbC~8GBChgd{t?*xMh@=xiQ!okK2OGLAH&-6-h%Js05UV1hU)2H-c!~$jc`n
zSW5MLF1<<mu`)Ne%73dcVIaLatn$EzKxH|dyh6i*D@4itQXb7A$se{(ot=bbT*1(D
zA7!M1dW^;RhqICb4|sq24Aw4^Y(dJ|ovI@6O5hYCm?Be>Ah90{P_#PB**-Q&&5O<l
zPry+FpHZsHGwWiEn9-CaYL~d!97|v;lU=Hk-Qh*@Wds{a+qz;%n=r(N4uk;8BdpkC
zZbNaZ2AfFPWi8k+&UhA-sTI}y+?4B#vUhyJ7S-6d$bH^sVSZ+C7fJbZwy5R{wy4Iw
zMb5r6{ZX5RdDLcM?zCB$W7GSYyq~gJ)dDjRylKgPl$#m`l8!ePHQ_%jJpWTfl*(E+
zu{dkF6v5Bs*oy0L!f!~glr<Wl7`b@7Z7KDtv@*=Ypd5BAl*4s`92z6_^{sMc*Aerp
z^5pc~@E!mmq~tc4=qKvelpO(Tub}SU#W{@7CQTxM03<YA<)$tm3DAw^;Tz}&fkKeE
zmcaexWx*8a2s>bc7~HLdlKvZL2!Te>@~E}N(H1(pvWN10@I(?tnLT_179ki3F3?7<
zR9m|A>Z<~qup=oL0F5Za$?h943BgPNAuUcG#qf1Cfl<(R-$PX-HD1i@>%{~CKE>kf
z8X$ZepYd0&w$>{M3d(me2HOBQ$+Fz{Ar?bj$07oz08@b`cu+u}!s<<s7AUqe*%k%W
z>3rX)If<dTP|<3m8m_$ap2r!DuwXq0N_0ErY%~T>A8LO>Z77GO5N^RPe2mIq8Xatp
zVHB2%nbef!Ks8Ywd{B@MZud5}p+H9z8|#6)u2Hul4i`zePBU552WQURDpeciVL~yF
zg~y2F7<dwQJi<_uRV(4{BVP^;Vm~hv4hMRa!^ug(sH9;Qrv@EmB}cU)iC@e|ADedr
zoI}dIb%As26l&(-I>kIV=GV5fWp+kvsezsKD@!u|BL@}Rx*#4nc!*3f_4@?2fn^}h
zVF1dZRx-k9$8xt_;I9x%i1Xn_P!vB*s8Nz3a`4+O*G^UoAd6cqnMw9hcIRo8QiIuL
z7oZfuaL)_~&MMfFIj90gqM2P6w_Gg47%k_n87YI4WiGp>o3dvHa4;ac22H?JA1~Ts
zPRSs^0rer*#R1gHFtD^u3WMF!?`O+9<x&fzOccpa0P;!dgvKGg67ga!&BHffAA$i<
zEmSeASwy+?_TEQ|kSs<C{i+c8`ETGr1QY^9z`-mZkW__QBt~r)HIf8v0&Mtw@e*kz
zR<}f$n;4fhR!z+a*PSkmF>O;B`Q@y5+eux@y#GELdH;9$3Ri?^IwJK-U9UNVBkg6M
zpY(t$nt~@@RW{k4r#)sNLqCYSa?lo+C2Up`qiJ>iK8U+=)K--lu*GFP)BADRpv`L9
z=V;kLIzMmi$*XQl+i!*8>yV@z@pzcZ1CU_Q+9vSdGiR<LGxhA1m+9=iqCCY&F?Hud
zhlZjwS}IC(@Q@iPl@f^n#GfV2A4?<>Y*0-;=Jo_*y}i9a44`++eBu**K5VR`=g313
zJ#<((nUux3?E^>dy6dj7fwq>(EgT!`?c~OG^jMRJFr+``cCd{v5CEMa&`C$Y0$g$8
z=#WSiwNgT_HeM`*rfTc!8#(ckwcN(K8F4x%COVjTHGJJ;q=rIk7-AQT<I<(8>p+z&
z<@IZq;NalaW2>w`tlY(ER#{cHnf9u!Ag%d^;tMJak<&u2rQEeDSetB_`o?1*gC#5|
zvti5)eILWNm^%YTcMTHmO412?Vy&e>=&`t1taB3JQy0bKWcbwzYz-^{FH~lK6NKRI
zKES~#*BNfMbqw14X`f9phHaA3$0KF_Y|!RU2W|ee&la)w*(77YCK-J;$*@i9DfTJ>
zF4Bi^<jy_&TK@WVC~t9DOi~es5NZ%71fOlSo_+SY<==bk|6F<QS>+Fth`xj{Okbb_
zx)~f5hRM;^;fD^kpq4zGl*mG+UQ}>>#%{B={tHvepE)0`1IztVk|HaFXh{litZg@g
zyRF#R!IKAKplql3bu0rOLShu6)u39W*aWp3au6IF9}BR&Hz7ZS<PwqKG#d?`#OVaJ
z+xftQAL<wtCQ9IW7)8byfYH%V4g#M`L#=W3?YUAWjT-DCZc%swE4nj23`l)-ZrjD?
zrOmxJ(6ZhDV|NmYiv4h_FhQ>6ltNw-GQuRFk-^<=rF!MLITiTm6@FJ(BB4A5xn`Yx
ztC{@Y0B!u5WgR{~<vOG69S_-L;C`D7*x3y49Nd)w`{da}HW_%pW*t6elY#rD_N~Lc
zHW>&^?bmEa=Uc7o3kz&mkrA!8&%Xt6t3=V66#^In^}<$qUWi-)24MfZt`yTy4cU|?
zYhv+neo|N~(evr%=rhgcbI(8j!uS8<U;o|Te)li`_)ow6?Qi3V7T!Mhz3+XG7<ujL
zThBbB{6#W>hvP;{$q+6)J_<FDe}uwFr<+fD_$2N!N5KdnQR8d_nV6hpUYUc(x}#lq
zU6kJyVN(!7@Kuc|hZMbtq)W@uM=iBD*&RM%FZU>d_sLIw@-sj8g-3sOdiv+5<-p=a
z$8Z1K=RU_71xAk{j1O_Yq?_#qE1){PY*$&NdX-@+u|CHqt5B^%Ibl@?<fHfxVoObH
zi;hnmm^e6b@E}W2h7KHP10jB=89-E^rdNfC0sKmm`#&m_Yojs1k<n<lqnjPZJ-tl8
z^%67reW57*4&0<SzzQn*rjT?K%oeLD&C%3mS(II|b`^5TYL+Exn4{w^*U0ej;Gvt3
zA31W%@jFkRIB|ko5$_#_ogFh8?dTmJSMI<Ja&ySAIbVZ%3to+dE_wDLu56Ky7Pt5$
zTa#TwVio1Uyjea{{?}qH22EC%mseMot}n8Pduz2`-^naOLS#_Bu{<RRCoo+tM^IBx
zm|=0i(ADHvVUU-E31?C&N(o3(l`3Ujf*CU)q#cs-NkK_*C0$-=U540c;}!scTQj3Y
zi+vSnxhzo<MvHtNYN09@Q%a7l8UYB|o!qloMnh?Op~w<wuyBIBlYnk^6osU&3F2k$
z+SO}UuFAo~E7=V55yXh~+$MUui0m-Z2gtOMbT++QLL=qGvBhGZ*{>+-AAFTtr$UVN
z6-#SBJmos0>>VGmX{{aAeV@&8pBmiN+7H_-_eX46`w^Svw(mK+!)Cefp5Dg~^xCvG
ziZ+7tqV>ePQfsAcOm{Lccm4VtQ_sBdg>7c6I|-NCxH^<P98P&xUQDt)zL9d&TTNHQ
z942RWaADa%%uz^R#ql?r|M}^spL*)aA3n!%O?fssI5adeMnomKqeoZ_+OTRwIx-g7
zsx)f;A#=DLLcrcmpGSIp`G&h~<b8n8(C*PK7|IYJ!fu+8zOtpB72V`XP&=(un+5T5
z(~-MRbjKPf?ouss@O^;KLm&I-gL0gL8-Zs~Z#{MT^y$tmOEI@yCc|f13Rr2nINKH#
zs5)0fu8BM|p`Ihkm};Us9PT1P6RZyg<+haJ3)F$>H89_l)SxowJ`anE4ilNPr&+0T
zVOcn4fG))4FgqF};o|dlH!#RfD##mTgJAV&8%u0}e?%Xeddk7nbZyHVZq$moLXD<6
z0fFHQ#R*GXE|wZi96Wr8lNgJDWgJ{sn7hjIA1Gm(6^LS2vN$OL;fbShY3|a3=_0-t
zU@TQ44tC6uWHg(?Sj?=3WE=&;j6uN;$TXLv00I<b-<s9Mk#7;uI=t*8BP!>|x)9t1
zF(btH$pGnZ7B~*~wca3BXH&f<7-beFg+nN!kIR_!luGhkPWMJ-|N3%WS>9`z3_VIY
zrp$>GuxSitNR5f1R27Vm3aS@gFbN=t+~m&iMB+u?zcp>!Tifdue2O;<+J~SCY)>ZT
zCUq$pT8ssF)P}UCp*$v9NNa8v%wvknwO~D8m+eC{GH-Ew%5_HBJM4Un$8G-fxJ@&K
zZB%e}x7ak(&Nli%Y<0KT{HdL7v<uuY>QEH$a;^*&%TlHUVxGeD8Xz*>bt(ix75X(#
zv%<YAC_=xsg_YCtYx7X=E^S-}yYp6>DLMd^=LKKN&$xYBx!F2+Fk0KWaN)vQD}E3H
zPQg<*9a3TqIAvUkt)X1Eiom3q=ulIbg`{t330gdgfeg|tnO$LlPS-vClo|W{2SDeH
z`*&V=;e{R1NsTj4g<Qzl*|Td(=c!YtI+c~PCj3q$g)taG24Dv1M}GS|W%8(vokH9I
zicu+_)Yzo0;8bdPlc?Rl8@0DV0)YT~1a0au{8DUkTLs5<&^#npp(gH85SX%5&#jcR
zW*0-|Fv&z?*otVVb8v95KP)vC2L*}_?EP+TZfNStO2OggZH3hAim5U$+FmQ=DZ-V?
zGP6LFmtSfUv~&G91+E|H<Q59ilonsPWduzHCUg`@x=W1`zf-OYh!^x3SAsT5ioayT
zF3?o4<hAq&{B=^vrS~F5xt27JnMM*<BRe#R=_zlwq=cYY&<RC%n_X4;xmsth=6123
z#TIAlPHvY|ir$JgD=!g?xfL0iEh(NDSW)R7-ahR*gIHR}sp<Vb{_WHI%uBaV@AvU<
z9aNNn;!|#$-tXg|n%?i@pR&b-w@>eP50BZr%dIx=GB~{-69%Sk)Y)iNTZ(R=xo)Kg
zQgd1F?h;S!_p-fMuCgF7N>aTHtJ+2e0Waz@u@?=NYAGqf%_=<%-bP$n)89_c*x3$h
z0-#@mVTY9sLV_*?UBC1;GM;fp@Gm31AfUN<V4qB-$K!K50O%-r9-V8JsEs%bZ;<B?
zDt=zFUXN4p?(wNb)NXa%s%^7bT<M8*wRzgZ&DJtg(2Mm<*-`U`I|e|?46?E!87`HN
zo<Q2Wv~?o9mtJcEsM6dHevc;I&`4r%KxpnDx9J}o7zQgU6M-`O2XT^@%9bVcGW*t=
z<?_sWAtTuP6aAVp6T*wI$xY%E_Q9bKDFYy^VK~_y!bO6o4beA1tYjfK^E#=5)Em5V
ztD4&?)wE(>gn7$ND-@9gKp*ge$Lk_kYEjr{@StAgQlxhx($8%{k;X;Zq8qZay_FY6
zvT_NE14gd4gc@ue6U6mZ6`>@~QkKU7_~{jLeJPU3^=(ylHkZ=HnpD)a()Q{S(;(o{
z!KVumWZ2<`b8vgR0<MR#9|MTL#*)}sIDL8by<iblWd^zdVjO)l3^rR*;;$z?sz%el
zp|eMVY*JBrN`-Q*gh{i&oGtpytkNtBrj%@oOUtf3QgW2S&E0K_Q17O}itJdBY}C&>
zEF3l;<O{skA9#!KTJQb&niZ$nGwfkooMz9k2W{TqCuP{fwm5CTrb+e;yWgfsKbB$J
z;xu~W)#A?D8oogM0yhJEAC9pl>*u@zUe$KiuD$*`c3*q|wx7s^gFqlAkyhOd0TpwQ
z?PBA_-ec!y;k0uIV6-p`u}Rg_cla>ITnsw~ot!j9Q0-Vjs@G<r5wvVLhFgp{#v99>
zbVzTtHj7&gNzg-u(&fSG@rjsg;3Tk^x<SWDYy<v``$BhSXo$Nk#u=j=uySF_?pXve
z?|}71L;>TgX)^{Blo~T+S!rBSTY;$uCqp9dYHMQ?@dn!x0T%GJ!$6=svqETN#RRCI
z;Hcc7bLeB!mBFkgLs(jAl3+f?lwv}$pGk)Zh<o<e8NdYlF>A#D{Zp<p%HHvhx$6VA
z7{Gqlhi%b$|J1(y?3>!psqJ??Br(9A<6m3LbEi}Ahl#s~@%^!oc>6sU|N84Ia-UH^
zYHb)j@Y?jBum_UvTJD?@hxl`Or<NCgA|x(+&u<?-+%JwB;$Mg5uEiaP#9i<CXdL#g
zlTH%!W2l~Z|316LF<ag^38K->eHIP1+^~nOO(F5Zd#-nAC@i-b4F{En$q5t0sp4^^
zL}K|_8MDk<Z-S-)a>9}_-oy;2Oz{M_*474ogjkKU%waytG~{PP;!F1&DC&#{owaZ!
zKuvfH;x_kuC57l+XPI<ZUh)Y`uRmz2_Ova^vvbN%Ar1d;rYY{U>GhPYYGR+J=)A6~
z3yV<eEU%Dx@yQb76zrJZ$+7dWkXcZclU7HLN(5>^z?=#(TOm^vu;aS8I&FqI^b8fX
zvuB@s=|!oxK7aPv7oK^BDT?!RO9cDr)wiBi&LszAY5-6h-(f!sPsMPBb6b|{Xub&1
zU(g)-@kt76xPpdv_{K;DL~Og06kr-4qm;P}hA3`KRG33QK1gBBR>%;=jfo1n-zFt_
z5V4F=q(XRmnV`5aPGJuH_!NaTSi!0F-594}i}UUj1%3fGOzBp-@M?S06cRe_P1p{#
zt11-|c3sL41^(BXpJ<N+8UAFNBHRw-4jNmohecq(a7Ks@wG2@B{Wv~?v${DnP7QDb
zCq9-S-W?l1Fih~u5Lx%`G{wNUGMa?CP7*D#Sg_l05WKZ~0eWiXk}!N$n51A$D86VT
zBOZy>GSKg!%G-Hin65xU0N>|;#HAwk*f{`Gd?Zk`sO?k>4eK<iiS$zw$)q=700%KA
zBljE_UrG?govg4~n@)O!oI;Wf-Ihbum)FR_s){(tFq0IdZPpxx<WIbSJct5`HAlff
z1*`zpFhxzOjhIc!+~ByZB8W2d<1-Z2SOvL4{>Ctcyu39-!3(6Aqj1Rh#En@BlLYJE
zLo&w%g;cMtY)c~5Tc=!SP%Z2Dv24p0sorYyuakp{a)4~>R-2{$pls`e&C(vX>EX?`
zNVU)AU&r<%Ri*3t%1%LWUpfuDm6ePzCN3<(H%}kDL)5TU-00|lY?VB@ql2{;WYOzp
z*V)(R*D3-cAOJdd?wxm-BYOUYr_VgCoJn?w-Ze9qjvQe;hLOf2N8W;!_57O`WTgQ&
zg1)D?E-5r<q0yeU2)tvBgDhJf?e8B7N#dd}DJ5N53UzgKD8?sGO^z}UT1|$k)z5$a
z!3RJ8`Okm);}70@FB}!nm>|Ha>+D(9;<%FTvuB46-FDk;$B)6wsgP{%zK&DX`~w33
zN@Ej{+>DHzqJpZjPFhv+1}#-M<Txq16mn?3(a|0+Hit@&^Mr3Kx+|$ISG&^HPGTmk
z=Q5-PXE3PJKr{+RmJ&~LeK@?)ZMH`8o6YTQ8PR~>#_Sp$hz4}}DPUnM-9*Q5KMoI1
zOdf<LtHbKKM~4>{D4+nDTUZzvqR`Xd2Pb=R!=h!U2G4}amcYlh3eA8|S)e)BOhv2t
z5LF!qXU-ODDRkyZ2=jRgES#VmYY-TbSC_Ove-A}1cc#L-)0se!;R83@;Hv_l$XK^T
z8qvFVMB<T90pe4hn2IDIE>=R!FizZZ11nP8yazhU!Z$9ZPV0B1G!eX>+18McYcR<y
zv-l<m6to#r7{-j{H>h7anl6}7zrr}O=@bx#G$;%wLCCKW*E#Az)ff5-b6`-_I9V@E
zpymqgG7WuI`oO>d>bo1qZklqPQTC3bwitEN=F99G$3_NsYl%16bm%5qjC#ZtquMt}
z*f);Zd3NplQQ~yiG*5sQrjB)hp9vV$^0MW@ENp~MbfC!oN#Oy7R8Bzqk&XZ#g<onp
zkH)?DBEG7fkuC{d4NBI^B6_k;6@&7!RTC1}P8B=c8-+wb)&}+`XDk9KIN)71iE`Y{
z$K%-EOctW&Y!+DN-Q!`tWcAp+JQU=PR1cD_f&@L$`r{;~l>K(^x9*Kb+S?8cchOor
z30x5JELo?SB=U(%gd0cuRVeZ}Intj1C_~s`!Z=3VDjx<Kq?_D1$`QPTX1b^zXt|AI
z3S}GU7EDZQXo$jmJ4`PU`Brx5hzTvWG$S2mFkq#~RzVB_)MxxHg>oC*44Ime*$zlj
z1V}?wN;~9Xt{|in^aoOYJOSkgPRL4Rbd}+zlv>+Ky3#TM%f389F4$V=I3S-Y?Sy<8
zjHfW6P_97am=hsnm%2k!eH`7F&cxpJ@EP1q=X{z?rm{y;qcF+bh?b;^_M49*tX4dA
zWXg3$**lKdWbla1jvuwz@dJbZbs4m8y}QX~#}C--_z{~OxA&+qWQxq9(~U)FDChHr
z6&NN$h=Q<*g~Qpbtn*;MK`11P?^->u-?Y)UmD06D1Inh^&gP<pEmi0#7Z+iV8yX)4
z8pr(+dm$>0o#wxQlhqqAT{$uN4#j{!9Qg7|`^w5XQ(Q{i>y2d@GN{O)4yz?X)a2YM
zYt7o<pv%(d*hJ_LAAa%0AHDqAYv<m0!<v;5%dva-I=lVtU7elXot^QU_)QRM9+>?B
zTD&idKvae2oZAbH8t(&9Y<UQq+e^ea@SdU_pzt6?2jEdEnLJzo+B-zv)SDYbK8;ow
zSKq#cxO$qBnuo)Ts&A~UG4jovDh)D3YPSZ=7p77*+r0wVP=u$mRDx{87XVP<<*8#r
zGY`!>4SJeYTpRXLsL6InC$_+7@B)nnmfw$D(H--{!e9~Z@i@E-L*UG(^9s}`U=Y!a
z|A)Erj*sI!@BD1<i$z@ky8srAXaoT^5o{tziIym;xJj~P6<8<RlH!Xj#ggpAj<Hx$
zQtafCobN7{?ZolfzTDY5Tb8?JNt9KoN>VH+MDHEDC|j`QzR!RZCjOXm^7-5!c}dLd
zE*7&pGw=J<-}8Hb?FyTj%3{q_RA-`G7gsW#ZNOcRi_5MgNdKg%dxBswJ3BX9`8tht
zh~m0v0HfvN)MiCnHS<whpDC3rk{Q2LR`hy}2X~ETKDKJ+qc$t5osXPpM?ft5>3QT9
znNSFVFfY%YQ-L?=O_JZz-LhDsC~=8-QQCxH-~oi%q*<1iV;wTxj#R5m0584t((yCB
zEMXF%FTUNw+kW&TQfp(2@zs?mP#JQfawYMoyTl{JS&R(vU>=lqlFBD3YypCu2~nLV
z%Ute&x)s?#mP76Cm_z?#a*!;gjp<}O5v^=@tSV_bnIUZmkR1Vlq*SX0C?ViIHC`sg
zEw|jVzs|=Lyz4G*4m>@J(7Me@%TT&;kp1)_Yx8j3jb%J2)cqAThfz8Xb62@QYOYY7
z5;`NG4&2YYyjp1Y^6R19%-Pd!!>x7F0~a4O1fWS)z*-(u&Qq^~#H31^<Yz%1b&U8V
zv}tzZr80{Qh}&SXnAcXdW{yO?Sp+mdNaO=6lAN9XXf-iHlZjjt9pX3u$<MkfKW@Xe
zZM4!UqWuCDo@Vl(l`;?0X%{@zzHD1M?a1SS9rv96&bb0|63}?4S~cR4+H<sZgA$7>
zrG+KzozYR@onDo-N0@vhC~ByTq#I<H5vt|5Qam8s$LknJ+$ntJOh`v%bU-!sMJE!`
zgFcGIi{!!eh(#BHZN>#i%HIdgD=NKI1cF;(z@lRy5{3MD2gRu7Bl&si_2z40{^PH!
z+CXPeTU3fdSmv{r#NOdvthC$tbTonjI8b*)a$!m}STD0#yweCps|FIFlMyIlbiKWD
zNG>2ugl5i*uVR3$T0HJ}hbg_xKKd034-7~C1y%IDcCq~{TFu9l3*%BzmJ*H5xENcj
z(AX`Pin3^9YnP0&Xl#EidL^sVrW*vd7AEisyA>9{OT04z@L0JkVZ>L~kFu0w{XISX
z=Lh=Er+%lrK%|X`&A<#C_lcPyP$pSBR+J_P(r^O{yy=ak=t7o&A7k6=4;;<<!lZJ~
z=H@Niwr<<9CHV=ZjbC1M`Ie@pZI@qlG^;7QpdnBeDCb`wzh2qLFA1lhKwMdpy~+||
z(yYQnCdWpX5Qo*~&}9>TafvHSR2+b)o(UexYKkdUx!!`D0{9aRl}Z(XHXK!#2{D^6
zImO)_F=VC?L6Q_-Oiu$@A&dmsNt~ILj>FCs$^vvSBl!&(Ch0OBvh?*2N-DhXXx4&3
z0XRkDHR%zy2#StQ7t+@v5sMzpI%8FO<`?E>`8TKQRr>hl*c72;x>_DR!c<XB4qXs;
z@GE$R!M|V2TkL2xAG<IilpPu?Ld$`ut$MmXuqL%{(9DP%G?wf^jnvj+Sq^KYww7tN
zNi!p~EXwV)RZPVb7=Z+*AEyX469nUI(U}c@)nV6jQZlCJ!bcoo$jM~PEg1A)X*Xf1
zMwa+9BPE$Yj6nv_rbX{G^Jm81ZiMpb(`U~Q9&rrzo>iZmA2b`jQiI^qLDS+CN-Lbn
z{L)&i1;*AbO<OP9by;&`ZFyN~zOpyymQWhfsi??X;DKB7NVX{}-^<g&Lb2Y|5%LGh
zvh|+)vf=`wAqcchSKRW@Lk~Ut@Iw#$>Aep=(y9clkKA|n#||Al&`jf-$AUDf*Xg%!
z7l*OAItwg*F2tM_o3`@8WtRz)Jf1zs(4s<=l`1AgREQW6G>g2VC$3vkTpGY<E7`bN
zsverQHEn9Bt*N|$-xGzTG)LFrq;n)RHfuw~c?~Tkf;Cc^X9NWaeT#6$z!xY<WKzkI
z@YLko6ja~jg%iX=B;=X4I}zhqo@|f%NRF5v(zwuJ!>U;up&Bd?qZO{$)tH)_UWv>~
z8e?X9VsgB<d-(ha_beP)!F^OCsA_u;Kb~gsksM!%+H=&O?@6dZbdDIR;lxpw2sw-s
zk#*`o4DteKCYyEb1;qlp5hga0oUycg#J((Eh&*1=f3>|7r;l8^!JJz}!5i5=Ng>YD
zM~UJL6Q;lsTuSnR&P-ac_6wBOBQ`snY?5)Y_7=iaDT?SmQt0Kv84&NH!;$7(f1dNu
zK(IlPtDv@n!V#vIXjpo8%;S#0aRadqDg30g_mk==vW_*<It!L1s%z8{o*DxCf9_mY
zSI>E}Y3I)O4NpwM`EiQmOFC#n1&J0~Or(!yCzn{~GPqxBBUGc#1lh<plFfTB@QBCi
zf97uREBx|X>fNW(S+(3QRU>eV#+&`PMk`2-fJA2hEj0qSYAm;pwXVnBwKW31w)Na)
z<0v<moXVSTzWK^aFTF{mbaH-fjMN}>PS{`5BeSz~GoF|jnV2LWb2{irrwhfGb?4^0
z><$Z)uET4zEW(98HM>H>5^$6w2mA+2SUI7_*O@MZr=I(VfB1*LdF-*T18+Oo*YoD<
zub&ti5meQg*SfoDkbL6AYwx^EtI+=)Y)B@Xiun^?b$xMez8hQ=H`wYL>qByMPba;#
z^?GA|Rjn|2Zm0}Z3aZVJS51zx5i%GmkD6)MTU%RIT1XCtt`k0Ao}<HT%`2;|CFl~=
z(OgI}FW8{q+C$!S(kuBvw<W{+LkN-K7AR^m)OZsU*;x0%PkriBceS<MP3_UAY3Y5_
zO*ib{N+{G=*sybFgO_=bRd>ZrHz~IT!G;LaBmOlpO-sfc@+M>3S}*|vS*ia1eoVK-
z^qCi4c;S4EqJRt2<-&|+nlMo$q{6f|=>565-co6sRbS6JHf-2XyP-1REvqO4Fju>;
zokntIA~f<3+9;fMXGX9{$wi8^^h$wOg#kB;Q$q%d=s{ysQ;nEz7As=IZ9$PjU0gr|
zQ<0~|xrh?%Mv@g%VrtQjd2wYaZiNKPn@pH({MHST(ZYOkH8MXZp{DSBsIipuE-tUX
z`s%Acbo0$uQ~QwT&W0nQnATh*naXSP^ZE9W(^nRkmXZK&FdDn2u@1-kyC&yn7TwvB
zBuT6|bNE_5k7;paC=r_+92~{A9~}-g&hgu2(EYu=J)NC>ayOP2sXtv%fiiTTSz4kW
zwsggc5L_A#f^W<s+M=^U#|Wp^s%lOej6zlxA$&mzI6fLp!LXB^4#LYFb*ZQbTLJ2E
zn8kFAZ0cf6=&u0si)YF0%_QXD^rv#`O@yiSx<txI<1RzG!)bEFL_8&pv;%f^SZLb7
zMWRAQS)|x9p-Mms4dfGWeijkr^qV6th+~>ac9<z#Srj88s7BCqf}p@i$b`H)J)N=y
z@h|*d+zGImNKK<Y)F{}ybYujF3QS%vMM~$nCWC_`lWGgG=mHdfVw$c-xQ5_!gF5KD
zIBc49AoblL;*3Por-@O48Fpfu>n&NVOs9bqq~x-67F~|<y^2X)J5q|kwQ9NUYBe8I
zE{t6oJEcV<qgpgFs)hH8cezVrr|i<$DZ4aw%BHsU{NQC88P%f69+hcil-5r1K_O?O
zw11k58_S^U^Yf*`HAXilR7%lmII67RQ7(*9e5SL*)}}LBT|_)qLq6Ol5B=FrPtMHG
zra+a|)KZT)I}3uBv|G{g;H)x(|JZ;0`R7mQb777L-&&kX=$Au2(H928YEwg?xCpP2
zLE~Tsak-LUJGV14JJ(^!E-%lAfEf#jS+h93c*KXxxMH;|-*e~HJ9iYwljR!#`Coqn
zLAqA{&SXrV>+G;pUvo{fgHC=y3|Hguso^6&PK)*nc@1?{73G4f$jcKHoDAv%)Jo`R
zti!_O!+XKI;`4MAMM;L*r>iOs`j%0Ik?@KYwWmvSiqM`);DjqDXKHd=6^|{G@nE`V
zr=hDSA{37RR568oa|=sLQ{xLctO#?OUUdC^qSkak`p7UA*^51j4-HTPz&MbcU%@v^
zL?&!*FmpZ_`Ie{w9*~{|b8?BqBb=BR92mfqDM~KWNd%v78AEbG2QMD-&upWFgp9pg
z%3FA4&AQSV+_WD)(={+TdG-wB?3s{$HBF2w5jAJ!DL%3IIIYDc!6c~$fm~P_k^?0T
zZZ=U5%ZihjSO<VQ3e%7HWPztrhMxZM=~?mW3<egGI><b$WyM);x-*Q8&Et6UVZ<ct
z9y?7_a0!hp6EQvPQpGHTT}YOSY<xP0W3BS<hBost7J)i$Xj?}l9oEESu4`LIBwZ6w
zlnTY6+|ag;NV=hI9g%cHo8_2#uvSI6PP1aJZClss*J$E{J2fk&qV+vQQnp9#AUOk3
zJZlj>rFzEYq4%K`9D}gsCL@dK>@bj+cq+Y`N+i+>SOYz5EBOA3O=SegQ%M{R`dQY~
zsyN;A3+h$Oq<tZ!`i!^Kn@hcyCl_S4vOG8(4-E8-PR>Kr8Y4HCa+H?pX{2kz^vm&q
zMz5(Q!$gNBLpP<wD>I1u-hS2VPOom~aNA6oyd0awWVe|xGs@~W`ixt*c)fuQHPz%N
zefe<Y6)N?l<5y30f$JC@#n{uwBSk^$@}`ZVSo}a`ZJx6n>d)+{jkWn6M?t=$w7%)!
zZJ*d<{p|f)w_SDP%^$hxmcx6RvUI8K%IzF#<(ofvNk)`9&&W_qFl+pickN;9Rny4%
zRo~-an+o#-NPxoPVt9c9Rdw|h-o{3MX?1NK=Tu!0D9X(#$C-s{V{!)DX=w>IJQyK@
z*40uUIU|>g8RN{F4S9+K<;BGoH{?S8;$o+xxV~K%jRuVkB{F4om6buI+7t<+_EzY1
z8m6{vl>*{9sXV5nAGRwX$kF))>DFC|5I3e!I*W@;NMb5_f|Hp<8gquCU33X1a+t5~
zo*Ww<M=i}wPmF|Dk~j=QCcDd~L}`Qro;J2PI<`odyb|l*lpuXHIVou!iX{usipyzo
zt2rLkZce91I9%`I${f8HVYXOWnxB~%9GYAi?2pWijE;>?5E!1C2id03S&#3+Op~F`
z9};iO!mdI2y2~71uOAxB=5VJcr~A(1a`*NQ_VxGooH^S+b>`gsWG@UCbaWXW9*rd=
zMiI<Pd5f^7z&fdec#th~{4`Oc`7n?HegAnmSU63wHM5K86TT@bH=dy}5DcbjUlqv-
z=;DH(vg+MV;%WG}A-&!h2TwIG90@THynOA|xRYa@OTrcg&p-aea%6s@zjr#_*%@9K
z8ypxK92}dbGq7=1zL?dpA%OWq6JHS4_8B;G&UC6yGBY4DTh5UXh;gbH5sM-k*Y-&W
z1SOiFBDTo=Q1H?Lf`oQUM|3lbf29jA9Pz9y%&)B2^mtlJD=S9RN~E1+TF`iAnD5v@
zOe)weh~DZp^D*VZ*r3tY<r;0Rt&%F|z2Z@9&}i!o8f{&nkv)Odb!}a&kv-)aZB4nD
zYRMvDkdp-U65u?>b%XtOqasEMWndJ2Y0KrLd`?Q{tk%qYKVp7hUS}m4oeE{UrCg2@
z8T4zBl+RJcW`x~35~V?BWP0SW>@p`oM^{M`nskTM&!H0?FTU74IK!lv9z6BpW7%rC
zT#-M3!Yr5aIZEb?5Zhpc88F5c9~1PgNi~+U)p|LjGY1_D2_pq1)Xd@jJEc}9N9v(4
z$3od^y_~Ix?gllLQa>j(b7r%Rz9~>W=Tpj0O;^Y+CKc;Zwm=5edO1)LHUk;g1l7-&
zdlbt#FBHp3?Hqst=*np?&;cd7)%}>{qKPzMPym2TCx9))>9&f<?Z{r1VmTx)I%`&n
z=RmR>p%{0-?`&~+3djjaywTEXKE|z8heb0FOqzLM(pYUK-f2PySv2#&qL~LKjn!t-
z%mY*Fx(+gF=7BaRpp7>MrMJ5deAC&rU0v`<Q2DrQ_RA()HuO8A%{!0PU7x&kMmEc`
z8Iny#HlU#XW1OqLb=`~Buj^YHE|0C9<XdaIQu)>gWV2H?GqR!CqnvACZMPsVC1n$n
z&1CS1jQ<#CdFeYkuy%SctnC`)o43hkpKO3#1_c=@XIZtjo0XTsvRRUidV_WHh|O9?
z>yB3QF(#xswA=}IYG&`9n%R3d?-VI^n`ZXjshPcZw60rFw`peY9h%vDhi3L_v;4Z{
zL`OY#$>7W~mdVgi|3V6~<du=Z8K@yL3-Gc@=i=yCaiP<&G>+uP_o5Qc7G{Ai>w>zm
z`3^@qnVXy8`Q!{SM!UsnfymI}CvOwdO)YoS(<SDGb5pqFFTVKPU?Pf8d-Zpn6AP>9
zfzgRc>DV#%#<pg!Y5Xnm8Flu&pgDV(x`!z+6mRr(IFi(lrg?s{%WCSN^R!Eun{&0a
zwD>~pn*_1S!<qskmfF^>O@V@3%%ZKAZE$;_y|<IXFzFMCEyE*Gv$qM#gdmtMuy+Nd
zgmTkCU0GI#Bc7R>GK+XCT!?kpqjL*b=?g?N7C8J0?)sO$^rf3OTX9Jrc;KF^H`ik-
zJ@Cklfl7BlWr5S4<uoov?tlJ;8Q0c(6tzQ5g7nyC0xEUMpzg|w4#z_Jop;=DNPXb4
z^K%{c*{(jtZ0`N#FMrt^+EiCU{<^ujdGnU7M1*<It#^EyaPCKMy!F<$Pu_R`J-6L>
z{egWuH+}TuAHU`18$U`!_h_&&lW}@mTF8vy5b~g<W#`VFH6_S&LZ%dT3EWI5p~}mv
zK&Dp<hOWk{Du5;jT^mSik=PPi02;#3ng#*x_Sgiu?|>wpxQyB1oLh*ln&~>pwMs;T
zrl`37<_?|5No!@}(o%*Ga=VV$lZg~S+!QuRG}M$!{lB>yGA<tlXz8-DYS7B~55CeI
zxE|B_dAT{b5{}%$f#HR?)2kRcc61?V4rdWpc4UIOKtTsq`qWe=5D54S=|E(UQ$*r+
zuTq{j556?jQICr?9f@O$1Grm(`X?TTE-r>ow~SXT_FrNy+hd_XLrRv2PQh0u<xFv1
zP&c<sN23%mB%UuUk-@baVR?mX24l|_g8ROso|JAhO)P@%FdV^viAE<zBQblfWfj80
z=sZdCF?jEi;Q<wYY68;3%$V)ay))HOWKat7BSaG8?m8M)WeV$@99u=MFoOWk8HuD&
z9l`^m-|$~?@GwnX6KM$G@m3{q8L^P=iPMsguTG_cNh%sw`R36ijng1hP|0-Y2iIXY
zn2g+GA-6GdbZId}$Z&8zh2`1Vd46nG=p#DM3@$|yF|G~<7wvaC^YhG!xgH#owWA9?
zX@tc!$#pRUm|7(VI5F!oci7F~uhMBJK{H2)`o?d652T-}Zy#wjA43SK<MSGQ`#Fuo
z`n*PBeV%t-fxdl2Be6cOkywvtB-ZCN66?=266;}&#M-FQLCqQ+<R|DeF*Q3kLyw}l
zIqu@nFkJo9<0AvYvl8^P=>osO<QbhA?c*5*{zQm$@$vJ7)qDv_(auhcO70U+4|@y<
zD%Vz*C@KnB!(oYba^E`eXsoOFUvZrav1SSFK701;iFdntI!~Q=`~3NrUV8Dxm*05%
z^qIF`J$CFDzxYKu&E}~$Pn`rZc>L_~U-Rr#IDws|%)jvq<<+2XaRy=8ed72FFT8NF
zuWx|BMcgE08~Vj9TS7&Hs)1**NW7{@?^y;|644itvvG%ZOSfNlE+C04x^2=6E-yO^
z!c`C4j}W(n!)&%SZER%e*KTauM$pplh;vP1){?CNt9)@Q%U_}_d8|m4ydg^0B*IEy
z-tgGyo<SXwE4At>BGjCloIH8*<aB6vGHLggQK48@K}%-}E*q;WYRbzhYZ@9JdE}A)
zem0-G@2>xJ>#euma@W0|d+@;r_Z2NX_uO;y+4~>F8t{dsa%Uru+s4L*+FBDK!&$O6
zl1yJ*3>6g@t6*{!EE`|(w|x53pRSL+`NR`XoC@vE%`GS@_ESIO15sF686Zo~L!ZB-
z1nCV`<)%%|yZ0Zy@x~jky1ZpGhi_8F=(a6QjmoEjzI>WwTpWRb^y$i5JN0~*D^%3n
zyp3L*8%v4tq)jEIbl1o$@|R(WmxZ1vSA#5U=<~3OTmvc~c-mDSn4vJqtRP{YAeSD}
z7Z#ey=dTjmr1K~9Brz*hlj+cI%2e`lXrz%taG$UOsDu1GSa!X|#e5H=kqtGmLf(>P
z#qp<P$zVi+=}g)A*b+V)1X}j2JTICo*X_>cZLnD4O&M&HlOZc02POtexx)oDl+fwo
zGc%1dq1_ucR906M7ZnF8Hxw6d*Z_Z6ZB>9KU`<WT2%C*fQ(=Aqhb_(VQ$Ansx7p;d
zj*5DvI_S#=MV0HTs)yaIvZ$z(bhpbOC^A#_xpN^dpoH5cKdjTuD6<*Xfsrc0(a}_B
zH=n-1?WCCmQMDQANQ%Q8UH~FZ@*|yQGdMIm$8Mg!TI}X#q>d{(85vi`gFcmRcS+t&
zAD3le=77o*?V(!*jHIWiwj)<>lMI+$XG*eG7Cfq#9`Z+{pqsEdrlCS#9vGM;(9KaM
z@W^ncgSqT_d%_b0_lAZ#J6Q&!J(C@##o>8zv5T^-oO((v`NQAWqvTv}VP(uBGk@yT
z2&qyFjC(p;>a|lW){&fiR8?VUH<1VAwz#$M@er947ng?|i<vDFUh)T$P$DcY52^k@
zp1|ZDL32P@#A=f$t~%tLf`TGc2O$*NLBf*egbas^xvIBtZ;>@b?5T!=yI9sL_+^MX
zdALmB7E;LRWYbAzkJB7H-z^=1r&i3|J5zkBlgLC-W|8Zvy696ZJIXNtrE^{=s-tEU
zC(qNAo-vF|)98h;L29(KL*FsrsTn$iB14KarSU^1b@U17T0>xZO(9Y_9m?ua8dm8a
z`;NhErTw8HM)-#JCKDY@*UXV82q{Q~fg_}|0fk+r2%ii_uIVvVqdeSdK8BJ|$E7sN
zmw!*Ad<Yx(;Y(<ghcz1IA&o}4r)}MX`@BY@>~CB5YWB6g7e!QLGQ$PAw74)ow@e?F
ziHS*MRd{Y{eB9<FR)oNi9-rLQ(NUYNyL)Up#bcXpakd-h?R_+gnZ}vGiAZ8BFNa{f
zim-O(!X`Hh3BisE?j0DLpaoRVBy#t}iBp|DgF`*1-+C)6A4n6ylS~4<K~~nQuV!UE
z{q*an<2=sF40k=Pyd12#v_f%0-bJWbJ{Jf-sB!Z!`sDne&5uIyi*Se2kVab`7r2zN
zvO=U*mdoiT13xw~Pna7nsHL#<pKWLu8{4(3GADz9F{!vKb}9b%Qz#HNQw@kc=?J;P
zx;*rW&oeiILYWF}j7Cj4#Z}d{RV6g}IC$`~+CWK#zqqtw!-iL1@0n6*pvU@8P>Fo!
zov*&SA3rl_yS_G!GJPvudKi#HJ6)V>F0EJk=Q(9icMKP5+|{q&h+5fQ+4TZ?<wR)r
zfddDxI&}E(wTBNKy87x5fB1%LuQ|lSYp8A6v3+A*8G5*^zDYn6H{G;jM|1O*t(S?N
z4d%XC`DC!hTY{FjFe)m10t$j*gW)yG+;I8oP%M{i1)y*A3pGGdiEmA>zz7R)O~Oa&
zRt=!61(VnoW8@h<!e61wfVzV7F+xW*vp$|!Nw(`IXdHtHZYk_wRT_;!Sd5ZpWjDz_
zw-f#@hl?goE*Dk+!ET3(;+Qm99Kkk#E|z>q7S*Z9?<`6E5$Lw%1L#M~FxIq8j?1NL
z8I@0&PDQIBiwFih2}_8ak^o2Tc2&v5L%V&xLciDJ_7oKRJRYA<n0IMiSxgKn9m9-8
zbwS}SpITOyPS@9$mC|e?l>*mSuhax<vPH(CWQ0DmsHl|dM#2$kXv$7Wf=?$nxeRm!
zw5ne9urzXW6)9<qgm!b{diuwifTl<{8VqM*NJbrbC|C-Xgs&<Mn<G0^5<f7J$w)*O
zMu}6rkCJhaNwnyV9W?%lgj^22uuLy4>ur2bL#UMcCcS}Po+b-*u89P+_~aAJ24r<I
zotjw<6%s~8`uFy(t_}>W7^Jt`YDBj%0M}2s69Ef~3JOzcYA>y@><&=gSx)C}AE$~f
z-=U{^Ipo@%5yHY)cI^g~j6PIRE);??QS{_7)E!TOt1xHCp34L>m4jRo&d5{-c0+l@
ztbyy!Vp*~fZX<-2iP<w3bqyFNfrglb)sZISnbpN45?k4AGAT)V`YtVt0XR8HnQ#nu
zJjxfwda;<rAF?~8)~c^BFYn!VM;3LWdC~gs5|OTf7v!R9nZBS|)bFOtIHjlo3>yO-
ziO|V}Q7tpeZfWgE?R?=MS_zUWBj<v56YDUfEqcQdAUdciup~OD+bEAGL5+TVR7nAr
z(JUp2B+B24dNI;YF*Vm=NMso;M~vit6%&8%A#<JR&@Cd9;B$(p`sdy@^D$NVu(_{o
zJ&W}xZR>UQpKn{wVtp*Imc{y$w)HI5eQoPmtUqa6kHOs6wjN3TxJLin*S5~uvR9*j
z0_z@4wrB0sR8BcLD@w?=;-2&k437-;_w|m9py4~a&i4)s_I95=+dD8kMql*KiHXim
zfV$GMH8R$F_N>w!3|!i|@fYLaxnZI5`_&&KjR;ezqsmt54S)Om%dful+;4yL+G|fe
z_2VD^<d?rW_QG#|`s9<pe*Tp=pLy!3r`~zzsi&ei)=aIDH-7WOA1Xf!1}?3ATDGyy
zees~KrA7TQt*Dyph_cn`%qjE-$}0jTWQLlWYAZ@h@GeTq%F98SHSKI|ZQZ-KwG}f<
zOskxdhMoI~paw4Oz`S#kCNt;yg1WP3)gSW^89XVgQA&%8Yq#&c>gvN+weH=u>z;dV
zIebOy!F_x8A3SvE{y+WC_x|Mvl)q8`J*GS+djMXs7%R4Bf7@TSDu3VJs{CCraA{@p
zwSV~LH^2G6eiqby_q*zk`MI+!(qt^;_hBM2Gi4>~){?&J@|CB0y|1*Uwz_&#&4!u{
z)wNr;G;hCbdx3NTF0X0ad6Q42{MLz8nM^^hpJ=I8s#}s7^ny|Gtimuyszk=pT(qz}
z-L8wQbQn|Qog*So6lJT=S5!<_fjlqRm)zoFe`$#iRADis9XW1?6*ei=2Qf<7iqU9x
z<rL%*8Vk^X5jB#N&)h&8NPPpGj)JAI&I=c9!XCt+Q-913$s9qfra*<<w7GFZ<%W$-
zTdJ$KY`JV_%eLl?8#iCJdpE5ia|5^>ZnyXzL|SY%x4(K*17WfNE-TbK6}6ZJ<pl)-
z1F(x(w5-qSA41x%WCwMFgKIxI`VJvWQ?{y~h@*(G15po-1lt?T3B5X&=IEJ;i84Pw
zHipC(!9Tw+Gu%tSBXDWw!kxo+aC1^QIqDC1bWti0{yV*1x7B7e0n^PbC<qo(W|Euj
zauO#qnBdyvQ^q2Zu`!b=NTrA=vbZumOb$74X>p&A%jI+OQ9j?=j}@G{-Yg&~rUzj+
zRc`W7CJaNJBRahwep5hv%U~YqNdlpGI2uL=A{F6=kNG)M)&^yu@<-s4J&KcmSuQKa
zse%sS*lL<e)ga8dwf`3mFSD>bnOvBeCcQZTx5Es*c&DdlPoEw*ZI|XRN-{FqKUi*x
ztH{L&4eBkzrPy-W_NH2;oPX7&T)&)LMJYw|l7wWV{)lR3$kTLuc`2Uw8}kay0V#nD
zKA|?h$(U__rOVjGp$M5)A(mKJI%1k4#1)UXlTJc}IrEiN0Zv3*S<4MP+G;+gTo_-|
zM4ygmqEFw^_zI8l-co#pFKc{-ztKdWzNGOL{-SkVR)3*&-B)PW_zIV|uKNnw%2I1l
zS<{V&d^2NDwq`zW`o^)>fAzDkwq_pk{qq}dd$xXbv)kCkR9ucs_4M>Gdt;Hw^Teb)
zY|eLg_xAU7^>uf5bt&h9MdgLOF-03vgMs9&^ts9P<)LaT%Y$Y&F%W;A6&kc09=Hu5
z@aY2i0N}}1z!{tO-o9V?f%5nI%R1jYl=)bCA+t5}<;>SIpUr$alb@c<v>N{Vx5_@%
zs{BjsT|UcGm?9H{Cx7;{pK+n*22T*2QsY%WfBGlCdgeDj`OVWmdFm<U$HAigP52z~
zbOfOTx%Db?yn1^rcJIOcL9<^F#5Ep@7%O?;GlyJwl6;wE5}*uy$Px)pkDqGtZfRBi
z*0N{+_U-%kAO2vg5^8i>HXff?Or=`If-R~BI*1}Md*v{Z2%Bwt_Flfbb^rbY`&(OS
z^Hr2zh}Gl?Y#_XYDd@r4&UOf`fGwXWzPJ-JR7u1}c`%7%O2I}4Ov<JX7FEbH(0A&!
zZ{EA*{sX$b%2DNSbq_ssCDlZKr+i=eiLTO8ob`!E-xy9LT9vN~O}AtF2M>s+p#<Id
zH?GasUW{!$aE%fo@k|GA<*Vq2zvbWG@aU`U%4dT`P1_|jb=8e`-+lMqhK4EvZq-FA
zXzTnYvH-us-FSC7Xr6nC2XBW%!1~3+^%kfdRm>qQwrs!m(Eg9KDo3`rJ@C-OfBD4+
z@A=Z@mmSRZ7i76UPYupZH+}RYANk0(ZQHhPY1YKN4t?;WH+|w$_kaHLqy!!hB1Q#i
zvQc7eFb-Bq(5u3az^SMRnk%?t1hs<ZvU2w2CBdwgmZqjH;-aV#uuWAU<oqr&u}nRa
zbxo}-tjx3%<I;PmZre9AcJ5~{ce)%64}G|~X8X=N{%qIgrqSM?pI%I%MCgg;M0kr9
zu?nfb8rq@`S^Bek1hNLDj;?EnE}gNY#78jPiNj0|&2bBRx`O6Kc@QCGqSng9X?TDz
zW2qQuMk}E3kpBF;ziQ1qV*KyFEh@Zmzj8+Ty5Zx8?z(Tk@+0M4<NdeZc<TAq%ol2Z
zGL@`Hz2s&Wb0t(I=0owQ0k4MohN{Z)I{GNq*F%4yd-ko4yv*V%A{>lp>Ww$v=zMd4
z=<xH;2F;TLsGf0dSagmDi)oy6DJ#mDuwNOe&^}LIX-iYi;{5S{`R$qWC*OMddoP^t
zw^v*iu<A#d&oe8c8IXE9voI*Caj(&FqEkS@201ovNKrnX7&bfP4SM>RP;BaPX5+H~
z+hH*YyPC%tG&{uifbUS83<;&6{dA#?c$v!bJk@lL(xR-DWPvBo>jF;>X-p3*b#$tq
zTnXP|H95;A4tj`w_0iyHerj-VxVxuE>A`I_QBu1o<?qX+VLQx5TMp9~<Zyulzas#{
zWS)lyb(=$U4WdkKaWuk8vWJRsEDVl?c=#Om3v&C}*`Bl#b{heG&vuljW71QWiJgMh
zb^){$8)7GD6zRAET9J;CaOLyORs=X2LuZLwL=iMd!&rw&qFhED?3QY{%WxE|s2-Yo
z>2|h{<_oT}Gjr$uOZSP+&Ua3}ar}uyx~tAfIOA>RTyl08qmTQYm>YR76n5&=JEz`$
z`^~qYHdi`>MI?)8E;Twx{%(r&3o0(W2(ZMqG#xZ&B-G`m7TcUJehFfX%nElJyxrOj
zf1+CU?+r<=y*Hp{r@kRWAd|fAH?i;@Q!<Z3=7b}eHXCs?j{MZJ9M90aLYX`IO(PsO
znamN{WRB|Lx9QNQ2$?~CvZmqgYBe82X{qBbjfT@^gzwX6ILQc?qv7t-Xt=vH8txMs
z4R?n|!?kHN+$S^|u2`etid)yCVKmn97x<O<^qE)QJk|BeORvBDR`*EQ5%6X?RLE|0
zT2z{yO;7(YP$7w|iZV+xH@HI>(xS{TM48cLC^IA;<fbTyHHASTM)Te)cQmwQ!e{=^
zUw{33Kl$s&zV?+Te)if>!M?_lf@5-PXWqT2p?>zvOTPn4^MdFmy2uz6q0R!2FS@B_
z(`IhrUUZYQ0yW|_hH!%=RE?3^j53;DF?e@fRb5wIy?OJlmfcnP7JU3vs+k$OYA?B%
zJK2r^Z*C@!zovJ5<r|Q?qIbl6GwYbW=p9pB)XmHh3^78Wh9hS5%*iRsw*4rNe=>dK
z;~)CaXFemU<cms2=?9y#I!7lGiTkK}U-q_M)F}@?_}K^VyHEMx1qHJEnj1g)$xn&`
zA-U{x>sh}j5L5VN^v3BUSmol`g5GL|&?KjL!`3T5c;z)WeDLO*KXUk*mQB_9bmw+`
zm~Xzhx#^;k*u1Ot5VTKsiE;qS)3Bx->grTwP=-fT96&j!I-#;6XcL{VjYRUMO0YeI
zCNLGn&a|;~QmRUrX*U$Y>l}pTvUzN1YJQwxf_GDGrN5!Ex}n^c?@El!L{<c?Mich;
z^gs^fJlTYrbX|kNe1Z`IDJT1#B2+y|>-R{c9~F=k?%G5;#Jv>BPpMk-$=5rFPi6GZ
z#*ZFq-S)wc9K4}*OO1Ew?cVX(3go86S^S=GuPzN#R46rw^*8whQcDP6sz6hOI6Kdr
z;mNDW^|*-hWj=v|Q$9g&2sP&w<hXM(tKs49zM--1&huS;<8vz(I?r3C_=Lpb!bSN#
zIW<BNFIW~NHx@1Cmi+#L<j#`n)I21&N_!{pIy#7B*jq!D218_as()Z)Y-VL~=Jc5{
zdPkBXnVFoK8Rh`veca-qpdA@~zPqy<{;FXLW+*l%Rmo<Y9Lc=E+d<76I?OpvgmU8+
z5z2IOH0FnzjlvnEBo=0+0CjnZJQW?3%ml;q5y_jV*nc$_L8%p27rr)C0;giC1Qsqh
z?kdS=k)g2*l9x7!TpfuMA8mFxJn%rxz56=f1j386U1!E3X*$ap4BdpUjM2%9(pJ(9
z-QCoP7EMp`Ri;J;F34F<VkwrwjaWv`8uLWXqRerxsL#!W{*gPadyKwDtEr>kq&vyu
zSRcZ+YvMQQr2a8O+_D_wH>;7y$sa)Quxh)&hWPKzLq8l)l>P6MHPGgvAJNFkKW$t0
z1RmBzZJIT5a;rv8`Y|EHi^R)Gdqt&Ec6vsV2n&#wih%U9=^CGwJoNaiR5|>c^U&GZ
z|0)k{y_km<rY3Sj9B^oKdUk4LXkc#cEI9IWWD&*(x=x+CC^dil=DR0|oWFVQRbKhU
zyAjDlXBOW4BYEhGiuF9SWT-qB^Uz+TE9nZ800)bU{l(t=yu7-)3V)%OAh47fU6iHU
znrLTMS65Tth-kWyhfY}ie<Tl0PIxU3tvlk1ujKgDJoJp1_o3ZRXK_u_&Ru(VZfV-M
z@zz@p@7=y-$L6N3J9h8BC|5ss&mDJ=hra2KyB}oiRrAn`+57%T9(s6K^3YV!P%R}Y
zK0H;kN6kZ@M*hAP+E9%nEdvi)9=zwGOThAitIh*MwcTG?O%u1KUAt<lD$0rqHj$!k
z-rY)idWV{w2II4>=~LCfIHak)&KR2qRlG81R$9aqmrS%TKoLZdA5)!nyHWrkAIp#j
z5+cwW^F$oS<4bAWGBdJScIG5`K3yR&-l%{G={Gt{RsC+d8QJNVVxTzFfJ0Apklk)E
z+hFp$D4@wf3uUF-BCq^j4qAc;HgeObifmE~Yr!DwOudy`bRh?wBnRzG=oZ&=&__tx
zdve@nqUG7S7COXxi;MDeT+VDSX5|Hoyty!6h&fBhvM_vBNkJPO<rh-W*a^PMIy8Dk
zVPT1y9gq~XF?(V{QqYpj;!AKzR`k<pmcUvHnv6Sdf-oU2!RrKpeA2K&p}b6u5~4^o
z#d~|fg^Z8W>Y|U`^o(R0Vp9|2@1KIs$&nQFR7Y;wu*@H1uce^J?9yh>6!Jq>I*SQ1
zAC5pvL<EYPv$9CT5$Zt@@O}h*=R1=a=6!<$XHFvX2fBpwd~RTP2wWgGg;>IWC_w<P
z5?Sc}j@%`Kpndb!ve4abE2_X9s;XR@cud6$F&=fUNYtIN7IM_-E4fs3mxUgkMr(;!
zEKGJ9boHWI%$i(FN=LJjTu%uwN#|+)*bsypH{{S8fXeHI7TTh)0Myt#zh9e>z;@O5
zUR(g`6TQ9~LW;?$+4=tdDJpU1=BCe*o9^tENOdoIV#?(88snW49<|vX9M5oRQ(=Oc
z5zK+_MpZr5c}n68SyffJ%6ANOHPn%ShD}7$78uNF9XVxboS^Cv3YQIO6HR#(l!JkU
zHP9F+zk$TZJJyoWbl~F;1gL>QO8U$evaULp#41#BLyBdsJLfH}=3~l*aht~S{+K4V
zr0rwX#(V1&hjNR?^1e-DdEc(Fyl>ZNl-o6y_w5?XyGEl?G<g7J6W5q7WhUv2q;@Ey
z!>N!?QSmcBGdeniqRnL3boY-BjZ9E_6o@V3V$X~Z_xJaMg_<Xvx~d}~WKm)zWdZuA
z&xm~zdmPR(W15QrTWb=EZI;R+AO(7+&CT_89)JBMB17pko1Z@S)=RIQP|gPf3l!ZA
zo_p&RP(5$=^z;HISkX&PFtf0W7=3HOxsZNhVnH0X;6}4E3%m=kB)6N6k+eY1^<-rO
zaoMs38HnysqdYC!wr}3N4QzSf^f1{r+(!n5$Gu?LPMwfQ{=27-gZO-HG#sLttMTzo
zlvfm2Y;0`aSY1(8cHMQCH`i9zS5<7N-?Zs7pSkN3pSY+1zVO-4{mGv^pnN(Q`1bQ+
znh<#F>FGLq_NU+e_P4+JKfeBrZ+zoh-+uH+C=`0RKcsiLm^iu+*MnM7e<@Ozn%b>f
zH_{s0UzDE*66D~4T`gPQv#EFNy?np401fD&1}ZF&H)Q1%7SeD`PkK=Do_Y$-DG|*P
zi+bb6Es{09Ec8U4%{V=9A!0A$JG`3Hpp*e20_l(cfH!FD(8Z@in^L6l5C+sxLix#*
zRmfi?@I@su!&MYe2W!Y%kZbq2ZHh4%$OEvGTUb&K^0LJ1C7JHchS<bxcIF8bXCdj8
z{+O1>H{o$7R_5pCSK_NQ7GGtl<EsNn1e2LnT2f9KtIa0Gtd;p?{#+WbU{vENG;G^-
z;J|@xb#<F?AxiS7V6f&_j8T<27^@5E;dxfC9;->^Z9#M5&&z=PS;-()`UYp0B@mLy
zuo;I4v-hOZMMPe*D-o4wVPSDmh*Z|#KABa>#mQ1*CvvC`k|v?@fq}CpPQCTksnci9
z_w^k=eyXeMeAn62Cr`ZbMtASh>O7!{pnZ6FXc*Y?ncsn|Yj-6CS~fRD437s((3N2C
z8*uS!s*#+vH6cql%=d(6GPDUXK#C=qAjv}8Q-GO-DAX=nN#P5LZ~@g=2FxLt(J0n{
z)ZWTqO%c1JqRdS;7vQCfCY=nMS-!d2B`UN@Ks$sx79s*2(|~ps7vFuitCI}f8gl1M
z*I8n~RI~=Fi{uy{X-vu}6)<gW4cqE!sgU02^@Pk!39dFW4SMq!{c_(Mq!5yD%6&r|
zhSU)ek#hB(FhcmeXn5SL1Fn)#%={jQHGV`SqBtpQk%y19nvW?Lh8Bx{qelL<X(A7j
z2Ze3;U&+5)H1h9b8u_Q~6nc|J{(Vd%|Ee_duUcbK7c-M+u0(=|KDcST81gL91ibDG
z3w<4~!FOMO_BSuSdg9EvzCPvIV9}*>ok88Ixx;F-luAg{oeULoKNg@@iqYmTnH(7z
z9v+=07BDwHFz`%={)O*<ZGYwqna^1s{V(7C!H=GKMrqCbd9dix3C^Hy#noZ8y7#nT
z_xfTq4|QbIzA8{&=BL}{rcE`-5<ZzKy1*VBBuM4m+4d}7VAGyG6o3?+8A0$d(HK;J
z_fa17?#WZc3QnJSlq%J8r!jm-qU6g9H*DQ~@B@bqUcS4f<x`)!`OyB$uh_eL-xXI~
z1t#2yvjLk^X|=a}_Xj??pHTPFcBML4^qm(_4(G|c_ezcV&%g7X@BHJ}zwxbaee0jT
z(;)$9o!S2Vf5O0haaK~53|0G!?ZEPo=Q1Q`<a6c~m)1}S+q}E3y2?-IQlN#k4YhSm
zO`8w+$d!?4%*yg&GMH?-iYCGcyLVSpHe9Maku7xLT`#@X-S^zfuf5Puudp#fWp_1o
zSYr!Nq(eyc@lb=FP*FNTMZ2Ph=~9q?(pd@ww<VizQd+xt@4l9;HRXOn344MPN1{QP
z3f1%#6bNoJ%Pzon2T43*f(~6V0hTT%%%KK@L7{=Ea6KBaASq>c0I~+U1#lKGdB>q!
z?tk!;w_UwwYk9fypMwy>p(ATI@3{Q(%QtV>(183a_BeQ7PH9kQUFxt#BYm*?jx9Sv
z#fS@}956tvCc+vk7@o)ux*9K!b+`-;{nVJ*VD`k|N*tw7n*=43_79*NgSsdCI;^&w
z5+720<mphbFbZGW+#>yJGoY*@)Z(EHB6LXZ?{MY$3iNS!U;IjczxeZ)HXVby-dU!k
zhkNDsCx=62d^ItPSFi<Ru|=SR5;dUw4?}_rtcO2DpGm~%mk@#)>pcO7jH8E-8$Hf&
zxjUSab4sTi@}kukYFJqb&rXhwj*JOkYERGL7(6VKYWU(Lio!$$7g)~1bpOedROuI0
z{cGt)JU}wvj4ElZU`?);Rq$GYHS`3$k1m^|sCh?4v7IjO8A{r|sT-K<ur34tXUZfZ
zyob)5xkW9X`HRCly)Ljo%3lP(>H2jiznwfa6eiRh?!O@2KG$kKrd$|*p|S2htC4OG
zYNXqPy!S&$w+A%V-Jffu+XEWu_JGE^dq5-IKC6*#cWR{Dhc(g-_dyx&8%(Ev_riDo
z?(g<zzLfb=?YA=X<5LtYum&cDYcsttIWjOCqiYiLu6K9>#XA*=rj@S-o3ku{BCtP-
z!YN{djt!ZyDPml4*c*z9a#SiFlfBZ%{bzAx;t?wQ$felH#e*KP+n@h=@XE|5_;*F-
z%FJJENcFvax<|0C=9A0Zx@7;USD){m9~<Z-JM!z7-vOk4dSot%B>Yrxdx>j#rLwZ5
zWXoW}M$-9k>P-kuUXPgFMVq%&6%=p~Ti!vz&Xwf4(&3SWUbIv)w4<x5cewNP`SX_4
z<iNnvif+z?wH`%F15`ssc=C&@DqPt)*%g8aD6AlbMSJe3@?5Y~m+LQvWepx2xO{Na
zO%08hBZao)#K=JZbPVF^Opi3S9b49U@{vW(4s5y|Kls73U9bG?x4*r0w=XN}n(J@v
zbO2(XhWlm7Y~fR@HtqW0;S#3cwfEk8@70%Gd+5-iYL8)-?snVt4SRRen_O?%cAynm
z7I3!Ree=yXUzQhp{dd3q#YxF?BvL>6KR^884__JAS8m$2rQXLG>O(s~!eKa;mF?TP
zrMY>}-hJNk(kjSWHf?I!D5$P&m(xssU+d+2c5`tyZ*PTHWJg1#PuU*ao?lWPAd{Y7
z0F(|H<TK=f6^94O<8-<6%Qx{QT6Ri`Px{1HRaKPaIB+2|p}(yuylMNUJvI2%b+yum
zVq3xXkF~5;ZYpTtNnS}U+sXq_{f!3y*8RoZK4z5N!OEoXwxh%S=0En(whQt_osoPK
z#=upf9dvFkt*>`Dwzhoy{`>#@3%8g(MTA6=foZP<PE$6hPuvFNC?=23i=CgBO;M5Z
zNO1E4DP200FN|3e^kJVplW_^F3N4Ehb9Al{NuOMqSU}gss0~&u)DBT;5VFtD8!DQ&
znay=OK68cSRFx-`f2jGSqolFgFLX+&Iy+~Y%=K3gCdkT@Sj5(b67GIkK5i+g<>2<w
z8NvEZjGoGlPDLVvzf^p=Tx>lY4FiL7D*^<K&z&YOF$ir^T<?yn&BctN9W5<e>+3cE
zys3j1(4AFknOvmdCm|2Vs)e)5*i!S+B1_bU+Z;105(L+!95&^{!BU$snIg1e^DI+e
z4J31BC4vH`QXu2VwK>uqxt4r~K>9rvQ*vcC8kPkR5A7%}E^CHs!?alFD=D#B75llV
zxRT%`R|LnXix?AQ^VQa6lk|n52NlLEC3JQe7u!n+^*S9U#h#It(gxjRoW^^D{i6x9
zqrjFG=L7Q$g;1LoSoO=ZW5X2Xk%$lNAmZcB&7tjXUTI}zMY+#JnUUHQ8$>7`3;pS%
zF~Lq!H@>)p^@|zK@gXAHMj|i4WC4pA2Np<$Ibe3c85yidyF-XZfTTI77qeRoFvnv*
zOX~j!3n0&)4LN)71kGrH-n(IwNjdP8j4AquTj94Eos!DJQCza&$x%7OjLEK42TS!!
zv-2E{Hpw$HGDlYXdI^=xteU(<{!;kmX#*^NRcW5x5XG^Hz=Eki65MEVxGC_fD6NG5
zr?FNyXS2jj{D$ryoXkjMdNiD#or=!zkud#rPzMN}>BFprp74TXBWc@{qO3jIk(FDK
z<=}+DPtrde4vr3Giq)m>%=Ijg0yf8WD>&A_8#?*Y!0MTk)2E5Ku1@rG&ZdahseF_p
z{;2mn+LX(P&2P5NbY#^XE-zv-xy+Wh&S6@jLgd6+wBf#1^D$J6I_}fxqx&@a=+89z
z=<a}`Y(XF0tI<dIY4p*38hv!HMjzd+(MR`b^wAcLKC02^qpi5%)3XcVc_{6}(j##c
zy*>-*eV7zU|G*6M06N6P*|X=*<GOUx60(n?<qB%I=>#cJ?#VDV1yh}yg7C7z;J^in
z&IrKJo(Wq0ej?xF<C8O?tpvZ%cJ&YTb)G#vH1zuG$B(~p@^m*q_g7x|>2IGq)=3~8
z$8G7!Cx7*;C!c)ssUQFR7tbg^2v!)9{9<aL3yXM=Dn2HzE#HTl$T8UDrq7)dgkf$f
zXl-dZ@ec9slbxY*7e)eAK$YcU`_uKlvJ56WO!10}9os5P?MwnX*(O_Cw{9hh(Xw^(
z#zsOC71MDf9?gmw1gE668p$e7aB^BzW|nM07-l>{>)Er}h)cRWhN}Jk`W^cYU31-`
z1N-*ux$nM@Uw81pRr|5e4<CNyfy4WA`RcNY_KS?u-GBc9Rn~pg{O5mq@136@SW$5@
z%xWS)%RoX)dhxB-UPoEIeNxKuQ=V!87p5zN*6)6I!xgvPcH75q3kAw9M5Wgtw;1hQ
zZ&s$n;-s)%r!UK|+0;y7>8^v9@7UV3X+!y;5A5ApUqT(r-mCT=xZ=t?%ZjQhq}gOu
zAts$Cr@*ZjRG+uHrJ}y2IyWz0d7`MI%t+MW;t*K+%KXgC^omkV_+ooehb}f1(!~Zs
zy3wT$oxL)&RjO#fN3TKBu^u6bcRB2Cupk9_-ohN@0Od<o%AxWR48n$-uTYm}G;+ml
zZXwnJz2?C5)X@o>bxVSXvVV`j4rAO~`n?FrhQks9;^-|dpjIKjusAELxVW^u+>h)j
zDy^#8xS?TVfHR`d)eR!1j=0mN&6_sWV@Os|RA;qj7nPwyig*Xd(#NIGP{I<EaIniS
zsKYRyG&oo(S<(VeXe&1_LVc0c+pMh25v39`kVOI*vw%d@M%&=A2yv*DO_Ak<lER&D
zFM;hIY_;?_5&Rwp*VD(67?CnBu&p)Jq1_gwn?rh4qF-a7t*O+~-2BuurBsxWtp$^#
zd=L%bdrnVh1k`Q7E1H}HLBo2BuNn=|4EVC8X}L63f?osLYgQk0*rJ=WCzc4Gngw&{
z&I!^V%@D<q9PJ5}BK;&>E-nH5Nou5AyaTzr;pJHJQP&KhKsAuEK=yDc=o80@Le&dH
zf{GFWArb--1F&|&>12M!gI3yYM7dr|OQEg!2Qx6~!KufW?e6Xy8K2;xz%<WxjZVSl
zhJrB~-+sHZ^X<3ae)mjgZ!eJfqHKa37Y95}_<Hz8;_^usA|X;PFQ<3zT+mux9-bi3
zIWQ3VMxoxMrj9RuJ@yK!YX#`{6EKXCGPQ?vc2kH><oqhRLSTf*w#V`}W<6haR<ZLo
zqpd?{EePrI9U-$#ut(A93m(MPZRTUjg>krT9VdQW+d5AC_BLaHx3tRJ4h0m&8*sp6
zw2l+Mu5BGBes$YAPW-Mm(=q;JK>kw8V|rcNI!-)GBeApACAP&}ECGAHf$j{Fmy%__
z7WtP~<zWH-uM`VInHfj-XJVHAlyft9Ez%=W@j6Mps}#HH93x81A1w5W__*+2O(7sr
z);_^x%2@FuQjW#NNQz3udDpXv!n-_$`IND$RjeneVU+^b#e&zAg_fXF{o;%LF=J6h
z!}dMb-+AZfKKHT9w*(5zk@?Z?Zr_Ijfn@UCM8Ze2B7aK42O<dy3%vyea_?6`cA%P5
z@6^`^^;Kuj9#!^d{yg*N=3mX*c3gYs!&edBcv5*+d6!JQqWn(zE8G27HM<78UwZP%
zJ*~=5Z6EkREcUHPWDkqopC~5rxShBRMX{SVyG4ajL$^$P^=r4^9@KyEyWc(PEs#@|
zffz-0a=sTXo~^cN&w;CN_{cpE-gWJ+4gS3A_gtUXkpG_w1gyQOv7uq}1_B1~OIPG6
zo+>!uo^U*K=C#*WR?bdMJ)`_8_=NICNZI)qd_)w$XI7-i8r8|HTDVzKY5cU@+=w03
zx!g;(3c6lDoP}z>4YUl^IFfHO5fvfTWifa>K|TF8jw;n&ufvpHn4X%R8aZ)-eAcoY
z&Eza7FQ25F!tCtx6s&>3@w){{R$M9YYDuFZ3><pt4{31gOG}~S8ye!wnKm-i^H$IP
z!kH7#MVm+rRwBhzokhJ?Un-lJ<Apc|wji}dy27wBloeF2&{gZImA90T@e>6TFFk%$
z=Dy4x{!EvCEB#icDs#W_Ydx06d#~WW{aOhtVME?{VPVj;GnL8%8REY``}^Pj{%dnC
zg3tY5|9bSUyYAXo6vslSxxaRNJg9%OsOTug9=~^!)bA`)A18Ws2|CB|o-=*Z)Jr*H
zv;%SKWBC~h=n1@%02Il~w92AX*1^PVZuaU{hPzL__PeM5=l}e#|Mdqiym@|X(PYal
zEuDH{eB59tH=C!ZZSkiUu*2c*#MT=d89{rCBO($uT|Y1o)DHy$M`3ky>-4MHMvqaU
z0hT#0U8XZFR~xIX3T>_0g{9_F{HM2Rti3xl*4`ZmgFCSHZr50Qw`;6DEzgHGw{$6<
zkLxwE<BoONp_s-8p`1G3Q59XD9qyf(4KGgc^nCB&D9DrX;c$ZKmswU{8>OhRfzW^i
z6^xLIl2Hnj;$mf+=>a0^C85`ijjgN-lS5u^JTew)eB*^*s^Ek4%tYr)zdqYFF!Gi_
z4}Nv*)t8AVyfhF-q_0k>uf0a`B1d-?6hJ~K)NR(R);&196%LfY1g91ax;NgKSt;SQ
zn(FZI8==O!Mj^{Utvbp|%4+iR%PN|9zI{sr;qscAYPZz8$8CO={#HLFia<-Fpl-vF
z4v*Q?-HGu!3ITwHkD_SX+0;~!nIYXYzLZ<m6l%Qn?g!!DAYfW_<^F>=H#QwSd=Jkb
z`fS@rf#Tlup+NZAXP;fj-}?Y#A2o=4^Ofmom=uRNoYV2c|NXu1eeb0tZAkg%3U1xK
z_co{Br99-d(S|GU4K?n*Yz@SlRd@Np4}bXTEB3?f!D!yG=PI~AuH3vufWDhIVXrhc
zDW42BP}fElAzfS#N_y9>sv05yrT*sTZKRcIid-p@>qSHiDoQbhazl;rxX3of_-_Ww
z3VMd$`o(#9wm38^wbW4~OBON|Dd@yRSq&0)U7Z5#)C66;{+0jozs_(9ffj+Ca!=!{
zWZh`WAhVw5=1`+sXrcu0Yc|?*3S3T$QD9z_)O)hU)N;U?pElY&B<u@vS=Z<i3f7S%
zLJOLR&%hi$w?quq(BaX;V@e+iYaEfdylAw#LyaYsgevO9U$W*`))#xT>_zfIZFPAC
zv#Povn}b-hX`e(3P^Cs%5m74wv`>0&MI#{T`}=2>F^)KR7F82|hYNngv6%^LmOs=u
zJ3hi9MhcK|IzN=At>iq<Cni%1L(KKDS-S9LNR7#BGe7|vI1iXYGDU9r=4my{;{>zH
zyD~9-JWUfYMLO6z?eUeFP+(%BAKEq~>EiV4z<|e*SeW7YP;Vkk$L)c!{z!*yYFP4A
z!_x?64sI_jgjiS#F`-g%AnlEdufIMZPfg+U;NZO3<@5P0)7?FTp+>As0Zki?tBcW8
zJd;`hLdL*eld+OCaLM#(>Bbm|!Kl=r8i0v}6*Cc@E}=YhJK-1;B6r;M#O&<SDqT1&
z3KVa%p~ivUbLS)r<y`Eah)l*-MkOhA_FPxrFwljek!3SV*%X^5joLX0t5pNJ<0MX4
zP8Jg>zTzt*UR&yzo}MRuunY+8#EIdk0c~zcj`p4i=@YaMmNY}!knPk>M`#%pGUy#v
zQu8Yrio`QXV~7Y4T}<S{(!<BF9H$$weO2xwub2#}4gv!5OMT|i#>I;%iKL~vSa)(T
znqqPxiwd(PAUB;7=O+_YJ1QA~<8qzjT+(z{X2{e6z0T?JHBQ``r*?~Q=9#5HHEohw
zZtOf^mb<Ohd<^lcj@vb!`Ry86eZNLl-_ARKpQ~CctN*<?fcA}I$CKwp_Ev38B=E3%
znZ=$87q@pw!8|I!q)R6IySlpOmHD7>Xj!4LOe-F*-``PeAX*eYe`0Wo_EJ<(Df)c9
zJ1?KO(c);RePbSTz!Q*i+p9mdwDj|z|Mu6omw_vbC_5cjAeG)|+GvSIpMCo2r~3e=
z1YrfX(t%`E2{htY`zXlGRR(|c?H5ifE6VZXGm5d^=&!9Suq$K7kqtDnStehN!xM(A
z6d_Ex$NrDr^&!@4b+Pb|rgv=hySGzxP)goANEilk8WLV3@8U}Py1PdfqRVsr;}eQa
zX>Kl5#!mh4sh3U+C6topP)=D?7A9RwqS3z5`FW)9LkE?=SO5K5=~jN`zWw&wKeW^Q
z;)^dPzwp4mz(W^`IP_O22l*to0$1bto~{?ag$JGU!zW)nk52m4@i&xQ<-YqaQ(pPT
z0b<}cWWH$nAI~i+t@ni*{Stc3$ph4umj%rPbrqYC%6qQZjXbKU@Ur0Yn;I+qn_z9K
zqJc=zL4#+~E96z+<qi7Cx5n|UU`1ApN<o1`S(@(Z8JUWt6juTBUn%jdF;^#}I8U(U
z;c*R|wAtYN&tqYB{_ea;-<UvS)7^8cN)GGED!qZZWJqL~LSyti4f-J6Pv~>%c5Wz9
z^oq-6P|UFcTPhA9-Q)^2CKm8BS4PK>xv&1v?QU*vs3EWX>_5CL5sjsDOseFup@hB?
zn@cJ@f^>)jALemd!?U=*zFenn#TdBylUHm}ObW6{u`X0PW0BQ_Vux{Sqea$@!_L<&
ztbp!%d};#k)lp#O21Q|Pa=UeINFyfs6ihB=(yGi-unZ12b#^{5J+P@v3`|FGlcBv)
zbZ(u^MdvLgDh*(#I&4llVOXuX<*Tbf|LOv{rDLkY>`Fm*Q(jzYvSmC-)*)88tDqnc
z;$uZ`wV8<x2YtR`ugU5yN-QZEcL6*siY>Klw`7-*1cB>3DT&QBn-@i7z(Axg$lS!p
zB<|{REW@qUEreq!0Zv4P<;g)4H$cz?CS16;K4QKU$(T5CzB!0xX%OYjaohCLsl0KS
zX2!@}!5RnxgPM!8EU@REK89`@o=&swbZ0szm(P;hoj}V33CjZ+A;4cyg-7cvD=DCf
zf}3hhC9ZUL&no#<SL|!vP-s%7x-a;l)>iW|M2<R~8u{eV$R~$JJ~?=&6<gA(u_fIa
zThgJ496DOp{ZMP`I`Y+_i5zM<<E$E6vfXgzpz`zJqwUHMT9v<QZ_WG(j}7iT$~=Qg
zD%5V+vRC;c591-@s`&#%yMo|^U~9{wB84|r{hDROAMbC?+}p0)$8U8ZojcN+cC;gi
z9)+E%HT_gOF^ES&q=&(#JZdyX-lVc4i25*EJvt=HqXa#|q|+Z=Lo|3>&Br)-b(CnX
zlvi`5N;Ox?%R9wm_iC<`S97Jjnk(hiTq&>SN_jO`DyMC|TCk|?y;=&WLs{JyhCM#j
zI~D)sEAPJY%crd4wp5W)l(LNnjgiy8IUQ-u{Hgx0|JPsd&-`ho&H8qBVvDjRk^Oei
zZot(r9J+eX)rYRN)<@iDm9y?heUQ?tN~`&x@*U;dsIhOe|KHZz2Ls<#z8e_4J!toq
zl$Ur9>}lC^;1+9sacyNwWo>bOP$&%aX6Cnf2|DY=rHOXod4>QiuQboRt=d<;ZKu__
znpskoGONy@-ClKBmHmz@w_bV2J=Vf#W<r_BL<@uVrK#A|((zL-pE~}mbwQUxnxu3K
zLHl&VOIzae&z+w>V;y!xN|n-x1E3C386`6}ONx8ex@26XSasF76tt(6MJ4^#8=Y^w
z^@g?Iu~@E@FFN``vBE6F^21ISzm(+;w}kqYO~mPWMQ?0330{}ks`^^CHuEuVq&jSE
z>v0;h=B}GHciqf8&D?df=B``X*5fobO`OKuw!S{hn!9e++;y|&uAA5IIs!+pbWj7;
zE-=Lopz`fXc1Y*hNt+#A)nDp{6`kceT|(hk$>32Pm7S|ZHfZdjM0shMcbnwTBJ#UA
zX@|LVLPy}K1Nhfbw$|WL_3RI~nvZcp>bO=j=daeB{k592zc!#Kf{WMoNV`@u=MQV<
zytdoULCx7;+qNF1x)d&+^EC+G{rwT}OF??9rc&>Zb+3LclX*>bEZJNV)jk<C<>bWU
ze+0i??T^L$#Dy*}rV+&d!$@^gB$Ac&KA80CeRFgBE`kr=2YqfD8Y(aUBRF#caH?<+
zyOtkSQ^`g`e1|vvK`gm9ul!QzaY>5s$1>!BD87FWdb~PUua_+5MXs_xj1#9Vn0Q9-
ziwLi-GMj~qQmw|kB=*}JG_8;({v#;w>bXotXvE$h&wVyX_9m5jf8;ihdBY#aX#X}y
zt8_X{zAqXZ6Q@GM{w3sJB2rbiOw0a-NP|5Y;%vh8kGoWawXl4tAnVW{xcll2q$ROo
z?hga0^^T=K44wY!AB0YaE(x9f>K}$qli9f>bb3wZ?rSq2Q!b1vG&1+Hw)NO}YukEk
zd|N<KgoU}aZ9O)Ag+}IHp^>=<G%|Nb+qzA%O(S*6H8NMj!i=GvZ_mqBYqi#v6zW1<
zQ2JaNPR%QQ*0Ghbv4use6=eSCXfT^bQ&@E=n@Jgs7T9v5ql!{CyNK7=*O$pW^Nhzs
z5Nd|t)xc;9Q~H@_o;j|(F3fFq`f$aeH{mBM9?!|K8#2d_&o|`cRL>m`LFMwE#+L{^
z1ooa{OJp&!J-Tb>u3ZI|==SX!gKk4$kHWt|s;S8oFi7j+wF(n?zx<f4A&K&3!xh96
z|B0V(87d54{xU3B`i%Jl!2jAW{FpzG__Xr_W`z#a>whm|#F*7u<SA;o^6t;vefRz=
zuWV`gVph7S9!yEg&U#9A{Po3(>XfWqunT{y$_<en?Kwt6z9A=Wj+*tRw47s3mXns`
z%kxS^iOeVIPOG1spVhm#VtUC5Rk7YHD`m|rE^@8RjwA~KG+l|}4N{I0of#gUnF;Fn
z$)Xr;nAC*NXFNAN+-IV}LYdlJhfb^c6vL1fq}U8-pHuiVa61g747lhNhqJt?Q%J#+
zpOQ*A+9<BNfjuW?IfO%k=ae-&W@hT@9FEmhiKRR85kX|Mm>I#KNf*nbGbTC3STHLl
zk97(yH)r$mW{6*M+upl?5?7GhmNXiSi`Erd0;VZQW7W22WtL|Z{w-4#8c#20<hrY&
zbeV8#H!f=!`XuYA<jXI;{Bk&X>eSm=;O9o(R`@rf?@5f{6gna4kUCPtvv>}ag4^5$
zg#~z^?(#=r$Jf&|vtx}j`np#0G3COzPNU(k(`fkXH5y*>P|~O7dX0T^y+*@dr_u1*
zE~tk!8eZE^&)vFi)mF#c?wH46hggvG_)5k`M3=F$OuwRVIG!=PTuu+^H&B2!8xR0z
zS)L(Ix^#4I)s$BjH2MAcSq>9i@D6uDsCwS-pD!!Oqk4__({wspV1d=uGn40g!J0?X
zPP$N(k)$)ln0!PdoR`;{B0WN4w`{AuJZNfZX(-LNlP1nDX$V!***MWVJDZzZK>*mB
z8Gq-Uclzh&b8{;NWND?-J84^tNt2rn!e`C|o#%QYMn4hNQe(L1T+nm|FD<r86-jjb
zT&Q{x<^R)j=j!UNBjUR)ef+=uxBvFb?(Vv}>-R95a?+DD5qlZjwJA_OH1yB^9CUvF
z#{<^AU;N@14_F6&^!=dopa1z^-kBHh)8fqQ-w$2LHHlW1`z`W7^7J}=!FAcN?x|R@
z%}_yq=-TT)SVltr&H^7L6fM;ikoOdW@o%XtD@qp@mod$Z<<h;n+A%jr^WP+dVyrum
z0wm5TrZt%)l>{n+!l`%+!fumJAu<yVI%iiTj_+{Ls~|cXbcO}8A=sTX6x^Zed}u4E
znezJ!aN=!xf$D(Xr(P^Kn=5A^Yq%H&d1@j+5d(McJU^><(7eaXRh>H@bPf*#ACbze
zR3tpheX!XQ_{yRLSs)qIsEl}QX^9Z@st_1k?I=#VK$*=12Ap{=8mDq|mXdl`p4f1-
zn}U8)Z??Nbq4LWhyY@y2%+E#9>p8K`&U0PAJV|mooFKcCE+I)_nwZe*i2^wN=Ee9D
z;fH86Z1x9D#l@cGxfSkcB%Twh1Z$O{y$u(NKq@{wC^cBEsgsIx@hGn$LShY>;(##m
z`JG&;OpJIy3|NapOaX{kDKU~7<Pbe(bs3)<>u`)|FsI8SJYOuv!sxW%k9ATYlTVJp
zG(TrD;p00?{m#rZ1uj!*XGv+$Sq|t=1<9Dqxq;B*itZo(UeU4UW!bN3*Gu&{uxM7i
zMYG~9NCykr)uLJP+8zfM&5F0Qu6r~V&5E~ZJeo@};<xL=)GHrt*AG&0!A>9?>^8yn
z%kFaJQ?fIPJJYUrz-P-YU#XVe3ZV~n3xvYiEfZy7H;O3+Vm%#VlMEgGkAChiGuQam
zUm<hFZaXO^b`O&cVs|rX8+PWkbKgiJgl8WjWx?)Uu<z`i2j#$Sp6D&RQ{);s?Gicn
z)<1OaHjSj$-gkT3x>fbZ?z>%MRoUDA_<gr%B)z5ez4(RFuKx|Rau^($KWm5fjjw+@
zoNPx$gzZ<}fhMh8zel-AUS9$7&8`7fF?Jsz6r{dOcXAPTUf!>JjTOcL$JZ{yuarS~
zqaBJUcKMKLt$DSsR`W3?wK`myE1`{fxiu?5G?bGS;L+HZ+L)I|b0yrG72wdU0H<aJ
z*fdwd-ln}0pZ$!|sxt<IN@u8D|9}6l(yIK9CqE|K_0j7k>qu~_eZTS><^Kv-X%HX2
z-EiA2%#L<4<2>HHnJLnaqeoDf%W)v{aOR8YCB3eOYf@3Iv}X3nZ?C%e+saH$`X$o#
z{PxTlr8PYy#~I`}voeo@tetklYj2UH;pJqgT?f&tyvU(-x_92;wf5idnR2Ol_51Qf
ztaZ!(CwX$|dG)+<JSg+(OYO?nc%To^L4@50lrPKf3gzzL(T+7?u|wG)FWs#il-)Fa
zI@!Ib{8n~x_}<hPJ7u@3xMa7iln^NSH=n;vGn@X{y88boPoKZAt~h^nUEQgQj8^4T
z``UWi4=k5+(ZfT*t_D&ic8B1{Vs~;)rXE`pOT&bWc=2iV+3(3zbF29n3q&1O&1$l0
zyfv%l{M85<_g@<!GixkJvqqnoHLFP*A+u_{HEY|t1!-AdO{zTj%{k=3{>-0ce$1X}
z{s}p`{mNP8v+_D|&Bv*<q7qus)%&Es(1$k5_T-pspY4(DC>0Fymp>;q{Qr1+59rA5
z>&)|o%DIqp2D;H1oyqQIqnUFS6)2Ig95g=mNOCwcwq<MZs?gGr?6Ez^ULViQde(C^
zWABbenTn>!CfQ_*p{dR}A;&@?RF3<*uR!8SGG{zt_caMr0fh?xaPR%!``zzj!jZI8
z$(bpt;zJVm7v|rp8DzDqKR^HfJJ<gQ`_tnUhxkRfZJ4}glpekfDlZMg5X1dnfyagQ
zZ_a&p#i!g|@hRsjKYXR)j;D#vc=(It+;AtV_!Rvg^C=(n+5f-X``Y08+*>t-hP8C%
z%`aABiJD3*v9%IQ9FbVUOpMBWnvsON5=j&*tA36e0UtS2F%EMQNyzn!^Zh~g?&s(G
z|DX8jMcTEQ;qvbd(_YQ{{{*;WnelgrsgH1fkS=4sm8fm-ZIk4BhqXs3e(>!KJ+yo~
zUKy{+%6|VIkW&UqmoJX@?45VeaZFjeyq5j$v&4@+%YK&`lJ)Mh*n6L4zgsItKFfah
z46SEptlraWnRDNu#d}f`rubth6XLdhqI{2=KjG%iElL0nrUkhDnNKPm+_trG`}TcU
zLEND|8l_!Eic2B$m*ob2+1y6`2)DPH+t6lcJQsyT9Tuk&Kc1beIKh>KI6?i=b<^#Z
zQal2XD9pmpbPZFkWP~f8S^VS&ja$GnZb8eqNu@2oxOpw(=CzEQ&tfO7;}#rTA2+`x
z>aZd{13xovw{Dun`76BrV=vM6YAD|!%uqL~b;HVsDxdraR&a%-73S`F9{13F$W0qc
znlOciyus3E`JgVBe12Wo%`dialP-*paPtvvF2u|c%HHDkYLaBhu$sBXYm_&Z_wua&
ziiZ))Xn*^6L_B}ZouK^gp7N8!1RokKpZsn)L1^@cKo*k>^M7kRt?Mu}v>wm?&#ptC
zWjw9x@PjLtCr{EGWhek7^nVLtlbdgH^Y-25lJW=E!Y^f5`5n@2tsTm+zIBuG+l&cZ
z{!wZ#ti`S#QWL{!p^iVi`#x;cu$tS%ZQ7DYc|KW-`0aQ3aZ+ApX$9y84<|~~&t5`;
zeOOH;xXo%bpN{WU##$ZopK|{DA2|nD<CXulbHG_MUeW$e`L=;6IwV1gc=0337f?Es
zfd600&(js})KUq=c2_LBhY_zF2IkMJ8T@p-V#!Y{{~&+kqSDK^DtXi|TJe9X=lZ8w
zaqB49Evv_R3jW}zwW#>yz2+cA<6DvBq<L?jd^@cCvV8jqP+-34Abk1esJQuhO4XGi
zXsA<@6!9|hOVvCIY61D>u-0z6IoUnGHRw2ofibV&u~_lnwpgQoX|YDX%Oju18vTyN
z8vU-t8vVA#8hvJP{WSPl%jf@Hi#2-AV#R;OVvY9Kgwf|gUmfs|t)`*1Ek(aXi_bwN
z&#fbLQ&;2G;aLf~?R3vIHMthS@x;rHCZI(ej#L|f{#si1CZ~Y;*4Kw3Z6!LWQrVK|
z#x*xOB=cHQs=|JEc6migKGFRfI(s({>=+oJpTGqX)PY%8g7(yUTx6N`Edv9a`vBsW
zx?6+J%q+hOT%oVvTHZ52C=9U^@O~KYHf6~hzH`#(*}AoZyj(uEIJvM=2-1?dcb7?8
zUr@R`o2pjE#`)uXbpKrkdpn9`r9d+6+P`Q2{!QE_$0^C9q#g7~PJ>1TT^<jOK#Pl>
zCLlE})N2UPgG=*#xI&w%n&Lw6d%}EPj0B1*TEs3#jKafIjI^aMF{3P}GDUBTq!gn^
zl>b9Hy7$TZvKKC1eD1mDe(Mka#UFj{Ir2-FuZ}JNC7JPo{#v!cgOqUA)Zh8sbC)mI
z-TwUZ&mZ3DxJ-9^@cQZ3Uw=Jwm!{n%lv6vl8$GM2!qPOY`D+`(feX;Oym4V$17kb&
zmU448o@uz_V;}q2hUorhKk~>!2X^n-^TZQRJoU_nKv@Z-c0*?)`LTw63Z;8?Z0l^S
zYZ=&m*Aq|d-MeE8A9TyEfxXIaL9dsh+*JxdR7_VS%0)&GjrL^g9lnN67*zz@+1Gpf
ze$Ze2P4Lb))C6lu#nwmnlVD6O3q6MAO0VVw6qQ=#|9pPI){{JaD<^kSr^m_AWy+Zp
zR^{KoH<OM83JckV=`kO@_l5EEUwb#|sa9@{O^>aRnNvsh3y^V!b{#(c;<d|X&j8(=
zpUad)NJ*Imw@71Zp%jZJ!E~2MVtYu8y7IYs?65-<ijU%y;TS8JAXh_!HZ;<vxt$(|
zT`4i~u?6T;fGIjeOxo!q;q5O*_rHANr*B_?hn3eKJO0uO-&Sv+WuHWsBAX@lps5j-
zsM6>JudJeIyCgkORk_r4!X5`z4w`4q8IF^A5{W(CM$fftlRS?-<gfOjX3peayB3pV
zvfDE@x0vwP(dyk;i0=2%=UEdDh3MqbeZi{gG*cFIl^qmLoKVVED@y>mvo2*G%Kl)m
zE(D?qX^|iiGr><p)xAudEb(~UfUj3Xl~s@C4c4bTQtEM5dFlLL^7g=Ip$TzQDOz8E
zn!@FAyGi|L5zf%(nRS;fQ;IZuOW?@nZ%)4TqxoX;=Cyf#)99r)JGPi`M>&l|R5zs2
zJ^<rWp!-p&2MesKVa4kUsW61KR@+b+^x5<8Z0_%Cb4$VCMs)weVv<%K8@jfu%W!4H
zSNUWp%F{e#)1*zFE>4xZ`8<kCR9HniFOw;u@5i8ugoT=h(O1&D*&Gx_5qREEa4Hq$
zS561Yf<BwGEQPibx#>hMy8o@8j!mjSzQ{ITJbUiU+3QS<*XIEh>~khqBntR4L;;hl
z6W6bMy{UO-W^SSA#l#1F(!r(yHlB%*HD*M6<itw#T`eMJoeeT$wV_3sL~m`;>$KZ)
zu=9>CqbA6u9W}q@qk6Gifb_nYh`3Rs3s-@?(_yc4o9Zp8!iWT|5-^BZ6s%Z9tcq$c
zI&Ai|;ANFkVkPQH%gZ|9T7+~~WQNmrb;Ks$(@{NJ%-A3tnuxe_4u8+a_-N8mh&quv
z<eE>9h|HHf`}>!nQAmgcG+)l=_AZ#Ok)OI1^~4m-riL_uMw77?46T*L_E#;w>XQ~<
z^=XT*`Zau&ufwbSs>N6Rs>N6Rvc*?DZ}C;1wD_uDwfL$5z<_p<F#vPAsylst6q?=>
zZ9+sz>LUC^L8?h~o6ru&H~fM#qN{CPsLAkE1e(^=nxX^tvhEH-`*Y&Ni7C6kz7aL1
zV4e1!K$EDu@RQQ`C6Kgloy*Y!|N1X_p8zZ{GQ>2`(LpdbXZR{=Ol#6i(Sf@U^>!8~
zM008L_WejIAiXp-vqZz*x*F5$Y#9wE5oA)3V`?!ROTqw=X)_#c^g*(d4Q+W{gURq!
zw3pU|m~b<HrF^0Hsrz%Uo<L;j`CtE|fBE@8L~H59Ti531@zZl_@=GUA7TX?LL)1DR
z-B>1GzQYJ!J9Yf{@x?n;_0GKjhqrGt0ylqFa>?*jq?Xonm!bphE#Y7pTm)~d4tcsJ
zbd~n)*=kBHb!^(cmwV4Zm4(344%C+D&4<sU;#LapyA`+5%6`YK_*?pE2HCq4cCCuA
z(wfRrly1mSbwJo87NYjK#nlz0Kl_=Fa%^^DoJCy%d!gFxc3P9m><fsvRksIVW+=qd
za?+_-{qp-(zs6vakeYxcO11(3&xn^I*h+Ry4=FlueR5%zgJqf4bam|NnN#gNEaPyB
zdV-xsE$*R!q*vE4jUDZRHSb%q^Tqe=e2)<*7Bf;Z7Iz}TM-i{+9WCcf@uQlk<hh_1
zv)M4wX_{|b3lxf>Zj;u1@V)?9b$(Jxiket#nVuQ!&@UKv2y%qLfu#=dSJv>E;zn*w
zilK>Qv_4qx_t+UJY?kWt)YL6;J6IjCN2>v+$j@;o`ZB27B;p}K1XJx1H4U%pw4i+F
z77Q3WZ4shdh`X`AhL37}bF-t6<t^Qsj1DX;!k&P&#ehpY>{3Duug%2D^2r=**93A!
zd63OZDQQq3{f~MNm(b;>0j_fy8q^0z?aT&C!0@47L=Oo%M(~suq62TA8lTdT#3iV@
za`yb$bEp;7RH1n<Cf?(t`MBmrMYc#ZjLO_xzzd13cFq`%ime9lj{YUjPvaZ><1$JW
zwIWlxXg;}y!u^9m$1#kSdHtcq!hOzS;f5_1?(;nIBUrf4TP)n?Ef($%EEdknKl?`(
z3-@`8h5L{t8vmFj8b1`K=dT8BEnIXtRMXTv!DshrWpNLsyo^2!4C$50Tl2A%<lKb(
zwzRTHFgdwUreEzBtstGo5l>lwXeyQ9n}tZNW~X@`(%H$FTS&aacA*Jah#vaKEFujq
z5HTWMBD#vf;N0T)TgT2{nV3B%>UF`w_%+Pqn-`1!sC5iE9PqH0OD>L-FbFLCI1{P0
zxep6(O5n}QVWIc#@{AG3Uy8yE)!C96pPVE<-@a>L_pVL6rRj=nU1Hg^h?8@wV?$3v
zsIh_mAx;hje;3vM_9}IjAiZKV3s$3vvJtLVjkY2OGcH^_#q#+JbckJ_b|*y-bwLl)
zRaqBBHsavt?mrYi_WJ8|Abje#fAe>K>l4J@Ke;*w_a`!b*M7>q*MF+{pLuL=_x?Q(
zeBu+35@cE)Mos#j4f;t5)=fK_w%F1B%a<4U<XK((LZG?%<s}S5w)h{vLJ!%u->jVx
zUDUIVKDcRjL=Tw}`>x%)5r}wNB6g99*tvNFf@R^>4O{rd?%f9-e*F38Kgw@WkszMm
zwNni2_MLn7D1Yz^VY}O?uGm*!Qy=j@j~o}84Wl|HEdH}ohzE6abhI_IX=>}DZLOTo
zG>^>CdzVIFC5JY-^i~I|$_SF#Lc%l+6yL=?f-UZ>W^4;1>ewogi{^;<T}?{Hg~F_<
zYoi>xHaa~S!_Q%-S4Xd3JRf2_AnAZLoc0HsnACFE<qg#af-XCPY~0m7E<gxXLG0u&
zM(#C6KQt!tmS{i{VFt$rY3?o;7UCS?^bQpF_@2mlh~NFuL)WKbb4dUN7<6Uq+L_ZR
z+Z2;Fhl)Y>gaET}wFGKfH=tVUu5Y7_zF?~fVcol0)B+j#pAX`DjDBPu7)8w#sMfvS
z`$T%Xl)ZM707bvOEeQZ>d@fmqxon6Yip|I35Z5H&N123UU==BeqFzjj#ZzDy;9F^B
z6$Mq{>6kZ#CW;wRoFKR@3FW}ghx1w>fV7=U)g!j-^75>Ni5hkh-r88U1n8p5u)$}r
zn2OfN^QjD4s0HljLN1w3-6$0D`pUv;q+=DCI|)t~u3fo&`pPx9%5U62lPj)5<8&*n
ztdj8i`LN!3<cJW#2h^x-b#n6YmPoB?L%J6Rjt_0|_7LSe@^L<XDtaisoXOhU7$({j
zxmJXI%4x@=={ju}V!d6?vXbD023tXr&M>D|6fcp<D^9}uijz=()=6lQZZqT--9x{K
zIVfe5uZW&Ln+QzU%OW3>iyk_CaW>{|tg9mczi|aUo>4-9TEAOf6+Oi&?$uS7mC=b<
zVs4&pd3=a1Jpp`UW>u-d$5#A@&Eh{0x)T4P%jpveoouIDR-Dq_0r;(>HRrDG>+1`Z
zR+(L>QdLN8D!WDYx_Qx|KLUX8y*>2akJSjWQ*@$eE?arz-@xaItL4KXS6C?gYt5O>
zM_{ah*U=uOFA`)52o>vPFD;g%Rdr73>-?E3;&O2AvDw0&!pI0R-&$QAq7?AUMl^UX
z{<RiZPDZq3!5&e(YrfA~KXh1p-+v2XFPXUimHOe&AnYx^&#~_NFhZK@jHzyViLP>(
zR6Svpmht*tb*G}<_q+-Uv#~I!e0f++2LyD#)TquYsyCrd@z81YqC&eXX*hLhRh?AS
zIh%S7brHAvEv1rw{QW`4F`T%0Sv~&eEgt{N7LOm{k-vt=w`x!QD~refoW<jR-g2h-
zyv5^NwWq8Ma-UrP)JnLcwY^J#ax9ckM^FEzY&N2Yr3*F)5f4<01vNd(8Fn_7i3IG3
zS8#iLHN!168|4ff@z~&3tc3xSgNET&)3S2l1y-XiDv3O(<Lo)vl?ieSp^zshA_~*9
zx;7F%eA}VB9^m4II}YFX#8dQE>s@}oBNAF%DlM-l8Ex^*kAC!{GnbcCBjE9?6Wn=y
za@j*W=yEiui4k{p+U@-r2!7vwhnJ28{PehLel^ls*7k_DRGV8mc&Dd3;k9b7UKO<8
zyJsD?k;A*T)P`bw5^{~*8+$iyAXtPAJs#)CpD8&vG&j2gU7cGGA3od<w@hPWYfJrR
z?rg1vT&Agp79S%RC;FMlw-$@74WyxJYf#24;p7cqSFL4b{FWT&6XY>GUf+_m+m^i5
zot>RsU64=r{?;#T>puUT?|g@I*CQW!@}nOPsyqNv3zX;L`QV2R9IS1B@WEeMqxW$?
zd)r==V~^ai^Z7fKKaqd#U*1;J-h2DjMrD@~y!umm7E?!Zxg&e<AltSY?qXig(KU|u
zkF=JQV?UtH;nZXv=hoPC?K-A8-_ZY{TzPfm@GlQN^VD5XRU#7g@#jAA{BwJHC8q}W
zFz$K7-Y1@Y{)xvPxoeP-+;i~m$De%i>4)#w4<7R1?RPx*;76YxByD$SEp3McUL|eE
z;ll^7W;<G2yEtI&+|ntieR{BEjrEebkS0Y8XrQh&<SIwIIvuzcxy=1%-g@tgOWN!C
zMd$ARg5>uw-f%ID_uMrwo%Wg>V98WiJKz7{uC1#2oI#pcQw>>?`kVjx^i+g&Iixau
z2cN&)IDF>f)hnao<I?G=^QYf_+a~618Hb3EaM@wfDZvuxVS)O58Y_Y003BoDkW)`X
zXrs$XLK^d2rKw_ZtjJK-)EMrvJIgq0W#pz>N{dUlz)Z;@F5Yc6R;R(?hUscAmPQVL
z^9L`#cmfD1(|qQ;-}p~oart=NNqQbIoI&?8VTHP+)UZBK|7EYt&8+I&=?DP&TV8d5
zM+rKF)~Rs5P<Xe%aQ61_@>Q#;V$oho@bZQ0WBAdfqOi$_!>Fi2yyL9rDOwuyg^>{2
zAlHNw`;9l=I4wNtt5KbkAbsu``>it<wc<=^fsi)2oKlSt+-(W&#20T&Cf|7FGUZ_)
z03O{tI~$OMWqgSRRupGbR%|S=5CW0Bs8f^9+DuwLKCsYLPK48ovnwOvcaajmaO%`4
z7!TgLa_++UB@njDIORxp$$s_RwU+vY@&a#tW+e$B)KY%>I(PERqcQ!*-+c$##-J(<
zD4wd7m4Ht6erDDn*;InU$c=JLq&4Vrhzz|K;?X?av$fK1i)0EWW(>yuk%KFVTtNy6
zOet$8fpzBD>~Ib-{F+LJI8Rboh?|mGFs`gGu>tYbyp2?AQF=~;cFFH)8C^#v5}wwa
z!D2O&T7Y6&aHfPEE{Y69bY$M-Ld6#wl1^zy4`03!PlU+LG8mJi<F`i3k~W}y)lUTC
zP_9i+tt{Ufzs9l{T@d{9<aqoRcdo5CGVxfdz-cOoq-I^6ZPwwKMLL|0QUmFfBAEh_
zMU1rS_Ij*SL&zh^id0G#sH>b#aBi5LB2Oo$D-{1~Y6!T^o0@}6AJZ9emtFBdLoORz
z%|;aUPwc8Io#|*Yz}E#UL66$eVcr1yf_zN*sBENSEQ26B_x?<G1=`&sVa&!IcVKhw
zyYD{prX9-6QswEZuXgNNS-v#3EKl#!!m-8s_Lr3hczU@s^}hSe8>(v1dWV>csZpb6
zFT@gr^YRMSo%hy_3`^bW_XZuul(oyM@BVuhzZtdo&EMy-hw+=gZ#gOdp2crkm0Et!
z;y3?=#c%$;<)r)@L+gl>PYtc34-SO<L6gjaiBUo|jZL*KdPO=p)OFXRN!lYf8tYxo
zT0iG$%pG*Wl5D7|ucpRt3~!Jy9GVHWI#29AF-b0)RlAgPV1Efsi>63pQ$wi`ag*GT
zF(V$NTQ7Q`y|Kb`LBOfBZy4CM(O=cqa~L+aySB8o?YM^<ckkHZ_in83>}|)`2I}i2
z!{4>JrwO;Uu}sumu(fGgUs8^lZ))$n4e{#DRWHVwt(Oh;VC;8oFJ>Zco0Cpcotz}E
zi$u(0_wCs1Vk2>?yW_4Sci)wTwX3`&#U!X3@={w{hF#T`&A5W?oDX}Onz}enqwq!d
zzp-)6UF!OpyVP4dA%3WHD+KK<+fs54&onlv32VEm8BPq8bWhkxF@9b753b)Bs$x{=
zkh@#?GNr9QBk%Z^o0kGXf9V?T?d>ZQ6Ui~cfSXCp;a-kcb>96OzwsMS+;-bToT=~I
z-I-MGGd8X{N{3_3Q91_ifBf;s2Wl1e3l^*}bBe0gkB{5nkSLdQ8-1c)P7w&yp!9xt
z_fDY@VQ3B<I(X<%YtP0VJB6KgU{g<zsd%+#VEcxi_RgKRKltpk&pvj~J&#fjd+5;a
zPJl;y5c64CDUwF=dCV>9tQN)CaFvv8Fws4I!mzrbZ<i=%QGINO7N;JzN+R*P+KO`|
zq*~iACU=fj+Z1fP|F*jyc;L|C+aK&Hb{-~<+GyWwEAHAIa*gQul?&I8s$I%~%h$(7
zr||_uO0jE~&YnR;YA!ZT(t13$x;k?UMvl>$*;INVIWO!)6L3pQbT%<QvjPlbBgGky
zr#xFKO_uO@b+sjV+aZrF$4uai^n616L0q**{1`oqlKCI!?5OjlH{N~wJmFPj$LMQ6
z{?4~<EX`fH`R<D^zIgJ+?CgaTKls59-n?*edG&gXlQ}t&(Hl3$&!0bk`rV7O;CVK>
zMbx)+sZ=^$!n$nSQ0nZE=*^kty)k6Y^c;(BbWC+c{K&G4Ei9Y#d70>eB&63FEI4~(
zKAFiEmfk&o;o4a~=czZ3AAbw&ze^XdUAcaG*}ZV#tyf=t_2pMyd5Ld7xwKHE4{M{@
zcVqY0)P%}B$MSM@pe(K-uT!#NnZl68I)POHrgk=lf`tTxt2m+uu1t+hjM1Gc$)u@U
z2qu2@>)$x`eU{T#{_-nd`M>@PEA&UlUU=!dw~D8}|95}&SAX@FU-}XqAb<Iv|KZfU
z@_!l|ZNfY5C)FOZQ&gLuuc?-L_Hy2d>1MyF?l3OSZ&L%90y}+NbY!Gq0>u<8kfM@?
zAKsj)u1g0Kg$rhl#Hd5Z&v6RoUFy`fgq{`RO{q<x3!#G**l35e&8<<%thly(iMAxj
zIfbr3668p*@q13r>QTIglW~@k4H7wTzB@Xhu#(xZ=TE~k@8VZ_5D!y}opXqMr(f2q
z(^E*znmLHY87zwkqbak-Mt|6JX;3>zZ3{~`H_fMwXN6G)539LCW`u}xgCA<867B(_
zGp;;pHGC8@-0$ay#D~9s&PB9LZfo7aP!Pc&<U)c@Ny@wGs_Ptewe6jnU#hMShw2Qv
zgEG~AzNnfn<fM-h?s8GWoyi@gI;Jb#U1Tizr6h`ZO>VBgDrjrF{6OpK3I@s9ga&qY
z_f&NZ^bfT9{X4eZ^MJi2SSOT_YN)fui{fRguDA4rsM?P><^8YDy}dF5mu=p@b~5x0
zI*#GA%*)Ei5VUx>pT{-%IS+pjzV3r?VxggRoLIo(;jA55KZ_G9j1mG3tBZ>ui!!fB
zsaL&v6{ME>l<F8(KEd5Op(9}|?nKP?4@$qQ4eS8i^znmW#fDXSr-!v&%YelmG6)NJ
zjzmc5=NEn-w_}~kAh#O?e3x%mrnpW2FCe-D0H}u5_~P0Vm(G<t%MWODAPsA;o&zp+
zncprf@GeRh%KL|v|H^Zhd7+a*;9~!g-=PKhPe=Ux&*C=imdN3Q`d+M9RZCYXpW{je
z_w+&qrTrKwzoWy03iK3a*Ta70qXONrS71*8^2^+7Q+CL=aTDdF%md2R<|=5_*97Bq
z6p(J2ADTG1A;&RuG4aJa^xtPNaCN|7z<TlysmGMHzw{2RGZ=V>oRyyr%JZ!weO#9H
zWW{GY2G=8|pUbZ(x+{zk7*<x1S_*Y4XSq2URcpLpbkr@4a27B+Ta|wX;=1j()sHKR
zo|#dqc~FqYFP|5<rqaaC%w-V!!%7`DmyRnx;pPS=ohXui5x(c7^F!U|k~Gclhv7yr
z$K{zpN9A)Uit@3+^>MMX=>480l6;oO2{Y5jEs>;Eq3L6T>*Mkv%X)ZraDAVB)Uwa4
z+y*X7BsttK)fKV4w2i@+wlZ_=%=}UuND9~J*eKra=Aw#hI<`G(G-<(=S>ZrlOu1eB
zU0Fviudy-gPQw<+;iR^RC!d`9!lts0^MFyjAczBBdi<w9_{#a4*Ds!==z9E>*Is>z
z6WLYO<F8VnHElt#wr%{h2>e}JsKQp|O7{M(;G#OK7H=&XaQ5|Q39sIK2Nw|CGT1^`
zgmk3SL=seO?%TY3!{!~k?m*?|&WDJp9)IFP&wl91#~*v{6Za{H4HT7o?%A`GCmZOg
z=ZJ~5P|lyl?ca>mG}U1zeZAW$rBIa#xTAy0pVS`2x7a=20PS?ST;Io^`ow3S{=}y~
z{S?yK6~3l_qkKjA=Gwn+!v=YR{+Jh(Zzx}bJ@Rek-?5YawL!xxI^loa_b)#E&$%Ao
zeRCG4W-I^g-%tYi!TBw>4N!t=e&V0eWBCWa-_ceZ-Ew#v;b?bHPj5FNS?8ubyY}3+
zYtO#h?il2{`(Cd5?tke1`|iE>;fL>3K5dX^3b!{971g67PU^H#RX_y+?n%2%;Uq^`
zNah<GsZT~h<ZY3<-A-f6Vw!j1p*vi_L;126Xy|}2+yR#{&6F;Lq&=SO%*6QU6l7XU
z#->tf^#*)G_;V*5n)rF8m?5u^ASP<f1(?TgrI=Z-2mDcV%ft$kQWf^71wm)1&gQKL
z>%5R95ivE?k<)<~HFM?c>5~_Mi;f$cipBXiwCWmsanK2>!){j#ODL4itz?}c20oj8
zds+UnHk&U-x7g*pOhmwmfJ;N-Ynpm$M&epwmJ>q$ti$c`Ias4VG+0ckhx|G}O=KO^
zt4T)rC8qN@a>;zu?Jp8l(Qzb8$ti5aTpEPLPVRVXT59}mHwtibb2%bSG7$xLu%)xH
z)(0fiP!nTEb+tg@xS^14Xd*7Eb}N3=B3s&SOp@MNSoYXQwk(KBG+_gqgDVSVe>{QS
zv=pEg2=-wRXMmyPoR|<rR)49KTo6UO6-bxudZe*jhEFK~CwvZCR4$WzS-9RyQTNF?
zCJx`7Ek@gxZ;al!NYek}yL9xwef${L%Rm0Xj|nQj_r0HBl>FK3_*)mKjb6Sy9`m^(
zjU}av71q-fTq1De8ox$P=KOh(U(qehW<D=u@^U_7Zq57Lt=uucn!n^xERC<rqEa(g
zjf!P^c+hbSV`W~CS}dEjr~4U;WqX`Q-i~E^$YR+Zv7C_~wOF=?Etc&8i)DMnV%hdt
zEdKq2>u2P89W;@hV0>9+Lu2DdS!jSO%Mq_+k>fe;j)HII7;LXn)jElLr>8Z^I#5K9
z@JEKjE!mu;{b--v%jzRqA5-1cwQ9cns>Hdf8TtS4hd+GddV>3}()q%Zxw}<$bB=TE
z$#-o$nG<m}7J{e7aD>N+(dRrz`+8IocBC@*9lY((!TSdLP2&3b_zK$#W3-{p!5ZDA
z^ccaP0bc^fG%(hpK3g;#r8*AzHQG_v<Jz^$mp}X2&;G$Z%2DNCfnFYgV&PBgpZ)CR
z%a=}{xhi__)N4OH5MU{MmS&vb&wwidTN+NnL*8OBhmi433bR{nNBbT=xTjK<{qToA
z{LIHc`lwW9cl33M0uJZv9YXWD`zbiFf-pc*G!6J<b9%Drgi!@>gl*@o-@m^RI0Imr
z{rjWURZ7^5V==%I&T?s5m8`><5E5|B%~P?VAzWQ5MckPcWp0s!iN|he0)c^+Ib4p-
zvuEOoaKs0+krbkhK)XsRNnsG{K_{GzrP8Qi9jmK#httsD2#sKn3`a(4W{%uZ4SHR}
zOF~K;zj5}=jj6>B!(Y}wva<WhKy=o+B3g&iXTV;VJzFZhlcU(x-EDJw4QGtDb5+eO
z8IBb>Y<N>g`;sC&gxO7G@`0L`HXROCt(Yr{dKwNgpGt6l9z3*B1vU@bDCRV!Gz7?A
zy4~f7uNYI+88JrEryU)xTjKnH%T3!H%{_fvLSqb&Zp*tOZdS0pAav_vQKQRWv%Ks<
zqjM^juJQ9!4ikQrzpSdKvbf%}uku`dDaGb+h;@vka}V-xg@*9Th}k&vBq0Rl*Tip#
z;i<?Sh<Ya%E%!hRqh#C6nn}KNv~L2!J6SdtPM<q{hLhK2#u2VmnQM&4SUk`D%S6w?
zHNc<<U&Q0S5Y${MM?d*LVqavpEftSy7-P;L8NIrrx2-y=!xy0*6&TYOVOUrK-io-T
z<{ZJbaKm0UR4-vy`KT@6rEDAts*8@z_djvhCJeXY(FI21F=;nPdSJ!8S}I+X6>KMi
zNTv$iL0;R<m&SH^69~?&MdcqGava0_nAfwG==9m4b*`7s4B0w(z@R+n*$zc%BszW8
z5}iJ4iB6xjM5iAfT8~bj9a@jVo*i0en7VyvJvwb%w^dMRF#BpN|8r@|=46766R=e^
zY$EZ~*0X2N-mWfo2NkhwxY@tLkvo~3yL{^SDd|0~0zSHO_M${;K(P74TBtOu^IE}l
z^Z=|9__N8;Y{?c?HcwBpsGIDa+n$ts(mkL0)UV%pr}#PMt$lZcu*ptOpZUh$9Q~Vj
zlw|{{gVMx*{@P1i@oXK;#QjiL)RdF<4BWLaAmnq?Z~?yc>T;2#v-wCX7PZOm^*XU*
zwpvhucKgnq2X4ot_1E<tdF=70Kl0&+@3`&A;6eH#s}O0}U)!?<Bi0%qz{uC$ylK>2
zAv@(0Mp(Pzu4SXPHgO1#G8cbVbA)K)ww8v*AdBCHGU1%Z^O?^aQJ7f!=RWtjX9u2q
zhzRW)%D0KfFvQCLO{(sXNY(wR2+4iMs4A6q{^7RAe+lb0*zVx{ZU6rFjhe6aZ|rVz
zVljMb^>#AJM{X<Tp;Fy^ppWRIyQ6;_3^%v$-QVB8zoq5rr|)`{Le;&ycJI6Wz`;B3
zIdaFLBZCJJUF%<6Rck$FHny%FU7Xg<8#nIXPu;1ro`gAR0m&0^^iFWX^kMWL*|n>~
zzWRg9p?*W1Op@BpjIS8V=B(I~`Rx4UIc8w=;@fY(d;L1%3(#AnCvMK>3B6W$o%a4#
z7v~E;PNBS^L(HqHpn1AD1#u^(!K@1DEH9?3V)AMlK%4M!vM$m?*Hbsnyg;Jstr!2(
zfBJupA1{@%v#hAIKe<wbpm#Cu+;Yd`w^!4ASp|K){=mUa0Jv>BT$-cju3tB5s<ecz
zN{!9#vW57JecP&>h}Letc!{v)?C4w^9#EviS-i<4NdFrcjoIaC@c&%5<`b>%d71=4
z3zXBDm>FIb5wiFBfp64+6GkABi%gF6BrLB~dv%`rjHttY5AgCyo<q<}3jd$^uiyOs
z_rHJg%-MH2LA-fpsqfC;d8nv--!MF>TzG}0F*TRUQ2d8O!|s}0ETLNC(Osf7I~mVy
ztQ}D{FN(m6Kv@cSkP_Uwq??eqlq-=<B2zIlHH~@&`vJZ>1|t<i0+U~+OdpwXxr`d0
zND9g3VuwjiD@iF#2IJj1KE(p{mkb87FkdLx3x&&<&zxn{Z^p*ndF9wk)R0eKIDJam
zAFFb?nUjlSSNL#KD?&Lk52bufCz8Ued7d+sPl!U&#1xy1rxrbdd>k;E+~C{$U(DO`
z%UoU$)$i;U`hlqGv;PMcf!{IW<EgGB63(vOpLw)CYpBiM2sOvn0I{23o$nrW98=b=
zdn~crotEs+otD^bu%mJ+z1tGI-D`>6?zO~j_YSVx!$FHZywei9bzZ$n&F!YDN*RJG
zCf}|vB^Zos23ZCPk;e?fExBDNyb(}~guEdSrycl7asGBCnOKO{eCIpg|M5#NmdnSF
zzjorv^($1Qzkg#Y;*Q78Q)GDkG~nfSf*W=WGfqa8>91?ADPOu|ZxA$#yF53I%nqU}
zgaGL@U%KIjXa6@lGOW~$BMkJVJ4}0np#kBE3WhTR=}B2>X$k48yvYOz^p<GnzB?a#
z;>jmtu_vE=;?eu=Is#VhU?5KMF&^lBl&g>Yfg#-o6>azs?Ip_L!`+UFS6+E#awX7u
zI0|=_DN1c-{Df3TF0HzAL)C^2J)8`?8hwqeyyL#Mosf(ebbj)m+Yi7Y2gKg5z!+8?
zFj=rV+geefty5L0$kOk@K?{->th2`fA22^tniy6ctQ?Eq<+4RWiFitZ*=7|nha@49
z%NOmuZQqVf{hRIfo}S*W>agH{cQ-e)u&V>Yn%&b$yD#3ANJALmI6m`c=O-3P$|dKL
zShA8W6sn7M5>um{BF!mtr2SVJ(dmTr4rDV+V(;RhkeD4w?&7%N0phz8nGS5K3-BV~
z&un@%3S+R?1)~v5Hy>L@J3d=VNn%_}NacHR36n_9RJYrWhAf=y<eGEEOj>{qS;<I;
zT`Tj;GQNallBgwJ`+gK!O>tI7PBL549ePQSeyMzMm?r}{tq>cPNeF=1E@YHW!C;S%
zJDsvv`BYR^=kpFCQ%7Ew!NiJC1<P47S_xtbV0`E1R!cJc9(z7HSLr0(H|RK~tX;QT
z_S}BUp4)HPb9;EKaA57T?77=5d+s*Np4)5Lb2|suV~{<TJ!j3hS~G*qnIfa3WLGnJ
zn}Y6*d?Zme#;g-$0DzM@D&|dTEWL!hu#9_oq}j|X6qhFB343ww=6TBeZ;VeZ#c#2B
zmkrLd;K;agsajO5Ivs@!S^4WX<^0{O(Jhyz$;DCarRk@Et=CW=4mgosf^)^FQx%D&
z)#9Y6H76AxfX1e}LUE+oUSQ=ET&lmnv9WWbw0rH{-P;~&2nCcb{!UZm{GsKJze3Sx
zR&63NbYLKz8)>euWwL7P>l#oSXl?5xp6L{oY&32`vP$3^Qp?cQudKjpjQjL?O63vG
zy3J}TXf!)b7_r0eP_jjb$1l(1poa*eXT`?oK;FP+wHHKd4<rbl(gTzGNORDP0sIYq
zJyr78Hg|P(Z48E7zWTb5;xHO1=bO^bc26$BVrBnh)~cbcRHG_<@^z&gYQYLkJtAbZ
zkWA&Wl$byb)-f*To}mRuQZ%$hv$>K<GaIcGBXv2(uH;1fOW^TYn5w7+Xt)LgN)bDs
z6TNOe0pjOet7(Tm(kyx@x}XcdP?BQ64rH@9IQq)?voD6qswwUQK^JqD#b1pymjsbb
zcTNGd#KcOBT@j0|Ce3%8WH?KaP+6<3!;-ob;Xj{`gS+~&QvOq{)}IPLl={VgN3;Lm
zRI&*FY|wFxg>GKIZrK%9=K4=qcEwX26;EXCy0L1?eaf;cK4sYzAGPd?r!A5B2knYo
z7z%TWz-X0ilF6B6U(C!-%q@%5l<uO33dBt&&)z|{cT&uN-Ds^2pymW5i-lOsAutgN
z*~<mk;u+R7O=fQ0<q1?1G10mOP21{nl-HpLldBY8$~&gUMz5V>BfWd-#F?9t8Pomh
z%=pyI^rD<96N^_)ym4ZbO8%za)}XCeP$gBAP4xE?GP{fETQ{x~(#Mv>m^y;Bt-Yh8
zQ_BGB5{px#(OsELHYd8dC7UBqUr=41dNy8LLv7F_to^`AN&+XT1BK`0JvKJf)sh7N
zVy$dNWl{87(~7U9t5N(&mHUgRKZuHa6>`Q+jnQ54IOtw>XC9Qs?u=Gdzmwg0*Pb1n
zbzS6%0}c%dhfI2)mjS77+q`e@z;<ObPcHkleEDtm>w?mB_@RnYXw4VB`}gnJv4u!<
z*P+|@qwwskBoCz0CccsV#!jhtO1(K;+tAWkQ`fO!Lw9F;Yf~#I@0yOrmiErhjy)q@
z@`VM(9~4@4SH$T9IpdL2m!|ajahXdIIe+ORn;>OO`UB`&bK$?je(B-Jr^{Y?>3kY3
z?*+}~qgv|3*0;nUO{CRApaQyMxgrA3p73(Kw&~GOF_T(}Ih_uZ(@r6W&Lq>3fbY@t
zfUgv9Y^rbWz#z1@_jfgl&P8suT-V%C-{6q*kloXOSV|cGIB;`nr9c@~QXUR3MEon<
z)q}wr-V&X=yz$&>Z0aTqdYmOP8M+~ZQKJ{41g5N%%@tK($EyIGIGx9q1Y?+iHbHdL
zQY4RE`RwY#LM%b1YLm}n#~zU(!_F51K2`&Eg%!(Rplr>hk%Ofeofbhmk&1@998A0x
z*$mt|wURGnbIX{UM4{|t9qG7ZmFdoAU83YBK%vzHZ^{_P31o7*!xO2ZgPN7V=19-a
ztm3o<SrlSUHDzfjSCSqiC9%2`-Nlhc95*HAav_TyD~f%R%5hN=t<-5H)u84?s6~_v
z2+uK+e;h7Tx1h>Q<{C39SLushVh2;53%0y$w6&#z@-r6`i;87s$_`c*m952v<4?wP
zf{^j?*;pc*NS8Uy#Zik~h%FuU2C6{>D05TH$V$|)0F~e3oMI^IUnuIo<AeSce0bj`
zQv2?(RK~2@93Qt>xF;=s|4EC5yL-*TSt~%#TKxXUEf(&h77O=?#lk&q@%tad+_Pm-
z#8xwlcmg_83k>c21j;QFV>ho&f?1eYkY48H7zyi%8O|-6SRre^2X(*<t;0nvlU{)$
z66=>QmgnY@3e=~y_Htq_y5$<`JlfJV0I4^C+UHj0E}ZzzcV9X2+Dkup>zm*F=7~$A
z*ov_$Kc&2L3LXZE4(ul;5k-(pdg=P~Le91no47t-j9+^*nJvLPsMLb%ahGP!MK{?c
zd??$s%qp&`D3Kd2$%H4>0hU`0qA{EXllB^{TTS$fHoMDS${SSqvl$y^!@%B_BHrd^
zpCUQlgyL_GZt_WBQS{m46EjQ8+2q{p+(J@sZ13&w*g_|Ivv>Z)i4!xPEl)oA<W`>1
zQ{~O43}*@n2Dis%GYFpY5$}Nm&B_?(j!CuU0CbsHCo|T3-)5<HP=&U-a6^5lntcIF
zYI93#8<^Fwr+veg2z8>8fk|g2M)k7Kkub1P?P8-AB3r^fM$;V*@^>^q*gS!Twhg^4
z4NWZ_wb+ryYT%c2PnlmS>uzFGm|+QDN$$bRYR8HDLmm};7uXCi3W^9Al@Y9pZfOI%
zs0Z7cJG;Bv+Yy{-*tGZFJ9ll_zVr4C0PMDQb`XBGw|C)TI+c5b1Q++lyNR^p$=Vxg
zT#7H)&{nMnJ9c^;u;KcZRq_~s%$lQH64HW{uL%CoNS@EG#5iNe=I3S>nId8awqz<1
zHv`HkSzr<tah2#|$tThnS@h=<*>WxsLy?{4MMbh3v>L2Lc?*#ZWi{N{(-d-f0lU@I
zdHg_HidkuTv}+>p<W*4(iqT9=^ixzEk*?&t0xk~s=CtSKRPS~BTuKg;lPcR8LE6ff
zqMOWk2zvvDLd*h#!-|p6s3@j{$|sHl(Mar2p0z-kiLk~glPyrBFM2abL}MLYHnot6
zZo<tHDiuKJx;Q?{pCS;HMvXHm0a&`=V!^r!BG<OWlkw&?9Tb|)4mzYn21ko{Y3?_-
zl}Aa<N54vl@%695+46PMvV3I7aZFjetXa(u53Of4KRmRa)qJ``QG#SOKk`4A)qG-T
z{Y3GMC3f0v$!c2E9sOYCv8PU#_*R<rhc}@<$86e27uWicVb$bg6DX<D8LyjMt+dCp
zkI@Y<j7H72DyO?_QI2r<prXw!vlE~K!dwd6owjWoUE7-q>BQnn-q{9}t<gtzAV|p2
z;%Dm#7Aei1zBx4oVe`TYlvUkKscZ5U8L^eDo7ZRj^R8-f!!2fphdO?)Xz1yZlf>g@
zpY%Ev6&J48=JKJeZFZ)>3re=i>+P1h^3I(*$?CN$8x5mDEmw)J3%Kay&vV|U(}$Oh
z#kHuL4k*?&Nqr*U%?-7MVm@60LF_=EJRGj~v%YjkF_Fw?YwI2YKlmHJ`J4az)1UtI
zU65!Q4O(%-W(-h!7{M2*G-YRRkaxXs)gFc7wtz0CZX<+mX_i>Pyg1;pV&A_fNyz5*
zHX^VF;-XeG=bD-u8|oVy+S~ef>=@W^r@_g`B;1uei)bWfRDnXObdC#Z2_<3qm;V!G
za}l}-k6X)$sLgWP<;v6CxUiC8_2W6rk|ACF^63Q*VKgEJ<snSb6+vhdO4-ViIZma4
zb-H<e8y3o@<Qb8C+3gJn?dgdtSFTJi!OXnG3{9_s2P4;<LQ1xPr<Qh1d0zVA3b{}<
z1#r|)nLu8_Q9{Lz-ZOS9czR70LT#s-CGo#mFws0kNf2c=AfE+A@|a8^d#h*?Cajo;
zr(~M+C(A?8Q36XO@<sZP1QiBXx75fb4aG;3_{h)&de2j5@|i+{?%kYBU*6#;N!Y{q
zEw5zKK)QKr%d@lMSy!o>%JRU&E-hieumI+Y78SNoSe6HsNmhuK&yO@Wy*F_HU{$6L
z^COpuNhO@9=a7b0ZlOqg4|0XlQXxqlJe`EkTjBj;omgx{Uk*FR*D|2%&CDmG$HL|{
zIH2Xyax}nz>nxOXhUSkeSIF4n?Pp;3F&fJ1ia`4CxGZ}DEZyZJNCWRWg2e|mE$?(h
z=`V?emfQSqxumC?f7UBXMD!<$`emQ|#vFEe#GjbfYww`rn6h^5wZuicEpgFqOI$S2
zQOSpFvskaambhs5&^j_^w<RvxX|Y~AEpd^RS<9LaY4lUd03lL}qxAw;3fnjyPbSF=
zr;K_)sTv?DmSrw00?}a)F-3iSDcaZoa{*`G?6pf*FJHZQ@%&}h@eC@I1oHKTty^{7
zt*{l6t1TjXSW9+b>()Y4Xy9uZXnUZpeN%ULch?4@9Jy$+8CEAJ4NA`7K1&=g>2#W<
za4<PSw#=wyL-;y&-18g>#)m%)`dTiN-0St%;hHQ(fNC5kA^O@+P8#a#ua5}7``T&}
zmxkd8*4AN-8(L_->g&UPK0K@?l+uWUL`YIekjYRQRmWXMz%PF&YmsmKnSYgTM<lP@
zh}W0x1;4gbBD?C!ri-Y&Dvb*Zi;LI=TT^3oFiZ(p1h2t7`pMJP+a@MR2gwfb_z;E$
zy#aUK#Dpzcd2{bsE%VI*g2+ux@^4~td}?m$TCf~Y1h0fHAcqqrpfu+5*zbIv4E<s(
z$?;qmn&dK(df~94hMWwXYNk6vRR)bU?+rp_9L$47rSYJc<xrH8F3uI<@Y14AmE!}_
zVbZu^)bhy-$@q+Py-u32sGB!$Len{{LQ|pWBTjN1Ts74OKN$IIJlLNr>X-f+jK{yP
zWH>%(o$s=&^COmZzKcB}dB44uyq|TQ@3qAL+lJP2?b|Hte3xaN*I2x?6#>>*ThAIm
z!B`eT5Z_FGC(9BAmB)(3NX`l1E4CVsU%8@bSFX^a0$o94|JF@gHX;1Eg+<fa+TS0G
zEz9B0C&HN=?+RxH&vj+$#*G(V(DfHyfGH}Ti8gNE*j^2A#-zKzQPvzea>pG<jvUz!
z9MkZXResgn+*rS|;`bXiKca!QqrqSQ=-rzU4?VOK4=C5YRQ3K$`4a!+`=6<QM0xN}
zh32BDA2`UhZ|B%pYpdaCZ5<nPtL13po`J0!$zE^iCn}KZ&>^1f(4pIuC(PHxdHBFF
z<#G;(K{h*=(~g>}{^{Q|8n53N0}(ZPYl0&JJu;Il59tM)1H@F1X;gy}Zu_Vp(ppzy
zJJ<SLwrJz)Z@hB~Sk6y=O1<j(^)qJ(YL;15SCvynJ^27#auS{O{+^yghl<5RhkANy
zgU)E<EXNHfo#yAr-Aqo-&Ynj}Kq^NxK|!xkDw{|rA)beI$T2<5F+5j{2K;#XO4UHt
zv*tg2?wxa(@)M^ys+{_U-=-%M_#XZxi#A1eab@4jHdfiiX?!EwCx#Gw3|1V&lgVan
z1*Kpk+0%G+bY_`dJST1Da-BSRN+$IjaCO6{mU*x9cwA)qQZ!+wJf7lFvuTclI&HbJ
z1u>Zmb6+$E^Zcnbw2*z!ag2p+UUrMMw_A3BX4wUH9w~gDcFQiXTdcj^vJ0%ZSo`35
ztZKLHf)6?c8&sM`3~EJu2^u3KeA_0sm*h)}eAy{q=HyFKz9i&}L%x*dOPet=>{tF=
z**54n##=V8?Uv8C+4A|eSUz7*$C@{@e7<d#&$oGS-J5M0T;JvWme1EWw2m;adb2u~
zDB@@wICR$U>~f0xQ&ZqIbmqJi^%3hO7m4GNETBxZj(C-%42|0Gnf~O|%~|fh`KEHx
z(3fC801!`la_%a)k6ENym!fEOV<-v~BXcCuTdDx^rF(i92UrBj;?T$M$aB1Ic9p(R
z$08y|6vW;$&pdO-h7flje_Xkfhi1ugONin~Hn7L53SaPgNXp5AmQdMK6|Sk?D7nVI
z+khAwHdK#og#D^gC)yEpgcu~(B$g3^4v#3KhC*;p(p72KqCSdSKKTXOjU`u9I1^xw
z$wz!NbhOomx!c*PbQpR-+R^=G0-f3x-f$>iEF#z7#pv@8_C-9Aj_3;uECrok0l!j9
zFi%LGAVUc*9~JE*A7IOfkJC!dEFB;_3^lsb?-$0J61v*RP{7re{Q?rv1a*8kRVBpC
zfV$N<+Dm-}j5?o?WFc{3N&SKkJxd(!+CX?YMCta?d4xeGW`{Ws+H7D2G$~sA#TOLy
z&lT3*Un>Jcj$_K&wQp!0V{BD2+BdX*4(#NyyNA|s*ZYRnan}Pw>+5ds(E7UDJhZ;A
zIxYLksuyTsnGd05ESK0O`OpaY;KAjRQ?>aI^q5LknFM2QdTea^W}xKCYFUT^;&XFx
z#ikJ9mJQO+032UFcI@UVG1toVx547Q11Pf|;Sf<5US5Wg#px_9-e7^=T%=`8X-rF?
zo9^!J=;-ba2!9yuA>G~GjTAqJ(V(SR=(ba#S0*MPLyYLDmH7$&YGGlOgy<uW+<WgM
zkF@((ss7gOL|6M@b05~z^q3kUj|Y{|*Iv6a3YWJ!KYHf1D3o>d!S%H?R8=*$boBM@
zbC)y)>SJN{f!ZKv3hTW0sre&5xO5}pci}#=`Krk0GzGOR=ZCD#Q7vHvNJXVlas~95
z_ix_Z-(T<MG~#aTWwUi-n(A%Iq}N+0c)c)JlFF#-;ul?YZf7(ILxy?Dt1#$VfB+re
zf?{w^nylsnw!E6Rae!e%QYYedcq?42P_B$nEoRMvYf5Ndsb`{M>dxmu$WrBX+9Emx
zPJt-dbMsYn7AeyznJF^LWv!Is{5~vrOQ@;r{KlpPop$HM^hA;g%BP^sSa9p;ROx8T
z2AptvK+f+_d_0W}ST}ur4yW%6B)xooxIbDV!;(Ag8+06Fv6@$(#j18&tZJXds&?^6
ziJkf^R<+M!Rr@SfwR3QNb+=encb8>#e~{M*Pb?CR-hi>`!nreN-a2(bId8zym0i%Z
z8C*DEl5C+I4WGD5h6};1?|k*|zw(v8{M)Z8|3yTfmM__CKYfcB;q<AM46eK^2X7W=
zYh6vKI^;E^NYC^c<lM0^97K)=01M07d}MH7Yj=NlgTbOCUe;`eyRMncTx$!`i_vhc
zG)03G=<aB5ZEJ0=qq->>6DJ@*!VgDT;+wFVsyD)|H5hqLD{Vb}oBDUc3k>E|Rh`wP
zQf)oYQC&m+DjMF^L(YN7Yu}N3AA0a3k3Xawp(9=QcNGeKn>fVu^dfy54aZg)3O@4G
z#MtQQ^;;A00y7kO)H3KJ=X|<E(##}U5i^;D$j(Rh1B{J`JUEMTEJizGgb0Fzm3$~N
zEwE=6m9&#1Zh>w$B>)B-12{1;8(&JSB+>@m9Mbjc%m{lY`J|(N&e`lQ{v0p;7s{|#
z8CF7rj$<qZ^9otkjkUYU%7Pu_ks-^P30c-m$g*bYhSt}Nl>s}rzGkTVRJP%;y`WsW
zcImt$9@fI~lHw>OOJDom*S_kw(PitpQ2@V|R+_q-nrv<qd)>yceL=bHk=t&wRU^z*
zZ8++x>bm;6_5rdWD&w~frK72%#}Qa5tpqg1p#`)<1BV73O;d%bCQ9jK&c~<6Cml(z
z>P67YVXwRkyXsbzjABpt6kmduMDQ2LgN;q77kN^rGCwiDV9Nr6&l;vL=^b($V=&CC
z!7_4I{n>iUjuZXaUW+eju#8-TW#qanBiC!$ZC34B-#>m*`5En5;)KfZ@>L&p;}jU=
zYYele6nAAA>8vZRc%bi=!Tv78?YR+LX26$&GUV=bP6oY$VRyL;OhDRRVCdZot1|fa
zGW@RUG~AFePrBMbAFo;_p@(U3*-9D{p_OdL&%Fao7c<k$+<3G=*1_~RvH^wLKAEB2
z%#o)l>1CF@N#@B@0%XrjO)*!Vq%F^E<!#KD$Gx^{_*ib01E@-3I;XhNur+5cq5Ry-
z@;Ih4&14P(c%^$#CnVwnVse?&X=c^M`I>nx>R@DaPT{1H2(6;n062|YhG}1i1|7$k
zK=T^1%(k`qK4h8g4|T9lu&<xA?3GViX8e<u8ULlh^}RA=nepe=_lmN?GUL9XbqxPj
z=xqHSU6@Qfe#L_sbeG9>EvG|N-WoW~c!lr}JZdpJ8(-F=TS0l*1X+kjA$L{I5JSwx
zGlGYPQj^FQu%VV+9h+Mr7IrwITWf2>jWv#fByF1%Ihj_K=0IV`I(h-7HkS3ewzgZh
z=G^h@^649+JRbI57ftQ;L9dzz92+;ojd&T_Jx>tvK1V5yvh&pOvlH_!-bU0}DyA^%
z0M~lT))1swazJv(HVuAvS8HcWcULC{KZK#@U*)SMFrgtlP{Z46hVM-(JTS+8!I{tE
z4Hgzsk)Dz@QaK1fZee*rIL~kuk32kh|Di`7z8_ZswaWTsjb99Bplyqsoevr=4#<7L
z6F~N~G^=(gu2%v#{JaDS61bV)ntQwYw)S^*^>5ih&wgK5cUO0J*WSIm_w3rc=TSz&
zVa7gcK4*B4L-+Ye_^|FG5M26v^>>-)_b(~$Mz@2~N4VT3U<woXnBbr)N9$?9i6*sj
zYIW7&P?t-&B4NZTkur0vWTbAAOcj`8htG_ceDKhMjuDn+$#QD0Mp(D=l%J#9iRc!V
zigu}hPp5g(ISHfT7&?EQgy+0oicL?0)tM@$3e7&ZfR=a#m5MqYJxgSb9iCb<wyO0w
zlF392&gD2{a0Od%Ye#)mngURCJDH%-TURgLq|<op@=b!-o0rZ&rg3Isl1$X-r7O3_
z$GLay?1gi0zWeS~T1<I`;(IO9C01ol&PJ&m#U?Zwg><A0c%9Vxayl#0iqY+7Z_G~9
z@O=E`mtQ_{?K*X$>({Q59Jq4!6m)*?oVthrC>4QM-nn@G>V+#8prNmi#|uR<k;G$h
zDpg8J%Ima18qQ)q!xoA!7?3GCi!QItu8*|C@l8U2|IKn2Q*NDYroD|ol+_?fPqSe_
zvkRZ69b`a8AWu0z>1gwx8S=ReA60nxo6I@@=bG&fQ?$=3-R8CoY-ZkaP6~uei#AEE
z(|hKH<b^9X2LyMHz%xXyMJRX7uSAMoXGDiIuZ|LK%7hNW-N~S>6w5^pOYgmVz=-u;
zH@wdLCs%mb1u~%W5A!E$PiL=7!{&c0uI#eJmE9J*_uq>vdn|UZ+hX@REOzgo6jzeM
zH`_rbXzZg%x<Z>RXF-26fu8K{g@r;%i-uPP%M5<>jq_*EUw-q=QC1d#S>v8^d5a=+
z0~fP-0<-tyO6*oceZY>HF~dQ(gq0+aj)vb4D|heOxn~!4{Wgg_DM8jY$yvEoKN_wT
zjE}^WogE#W9W4!T=$cOg_o-a8a+on?lMzP5QB@_k=MM(GHFbW_Llg{FCk*$D=+44(
z56?!}$Jxs+wx+qQrGCTaMv!}i#B--q^?V+Dd0U&^R*Z&)*1W`yU7(P%vapaKiEj8@
z9NhyPtvG>~N~FPQrjdw}f-AMxynx))%&g%eNR*h;rj2-LUd4)uEz`xnVj_UWWQK`}
z!FLoQVO1IcC9aIo8@Nb;Xn_w0?End3$@i6sD~l3W<|M9^b+d8EaZFjeHV>_zw6_ke
zS6p`ut)H|vbtsBW@hY1w5z^+N_0#tDq4m@D#-Vk8xyiC_whpald2EC0eI&NQ_x+{#
zbP@-Qe<g}Qn-o6A6|#Ht%Gjk*6a2)k%w?5DQ?}K7AnS_%d{-`98HcFpeEGF+zW%D2
zHequmR?1h2iEDRlZfox8mD%s?Oe8ux@4x^4L$D2d=H?ccD`lxt6g5mGH5XNazxDiG
z2OodxLr*^nz1q~&0}tG#{H^)#i^Ixx!*lA?rJF=2c8Vua8|@2or{pLp?}QT|7e~n*
zTQ>CeZ|dJzy^;0{C)8V6W{xtJ&EPa?y!YrzmPq%}+~=gu>$AbX)aVlc5NAlI5~`v(
zbM1-ANXk?Dywx><D#QSs8~Yl!_y8B=FgrfAwX?`)1h$_i`^nKaMR2erHf9+uCKyHG
zbu%xD|DqF4Q!~0L3?|g<PPZ)r%GwYeg(8|&G(qe1Q@~U?c~l*Xk0`ZEt0v{OiGC2W
z3|6zq({PfZasmi43U+|?7gcI6T$`L36Boitl;sGB<Rt7{ln4Vpvz$gr!iG(Cg`;Y2
ztD&y^%34m<J?J>5tX)->)mUv=jn$UbC~H(s$JLhASZ!I2RhHElu&l;v%WCvkqBpB1
znqxhB6HlUP!`hfsO{WdTSt`ByO1{9x8pa^J`|gP1OeTS?G?B4`R;1X{qD2+w)YO9y
z?A-@dgE;iVhY=SH^>*&o%Mfy~yq#()&NHFtUIWIfVAv^s(;CR%xm+9j;c3Y7BVBKA
zmmh&TpDU7w;PuKNT}Kpy97lw$93lC}tLu6SY?}zUQi=u@7u7veu@zmLqv|X#RdyJ(
zQ~HfBnVH>R9&{XI;LPjS2G{revld_Ryv0|1q@yy*))@KMEHU!046g6_Um0BA^Hzka
zwS&LfvgezVd2h&xm~aLIm0XDlM<Po!wIso-QB8a>dgJOPin<rinLRj@%0;6?+7sub
zh`F3_3bmJymFM(xgF_8@NV`1>-4YR6Sy{|z(Sg}iT_^N#Fc5Q1Tt5B7AO4V?F@Nja
z@#DwKWx%PgzWCj5z3{@fzxMZE{W{m%%GZtU6u%SaE|U)#o%Z)ob7_DT*Wb*Ikh1`0
z5jY<Xi$bAfMa$RXI;`p)U7dYh^>uE3RCZN0;u82Ej&MCK24*(~mC%hOz(lNrt5@kZ
zB(2aOjaJ@_2080wnzU(2c$|~vFKN0<1b6M}{K&vP_dopL(+}?4A%)dq)rS2a`N&5|
z6Zm^~J@(jR3k%><pZUadAA5Fa=$D4f>nY_?p1M@pdys-uL)<3&Z-Gp2;TAV$N>L0{
zRCB?Ngw)i0YNWM=MPgd5O4uZaD*o{kiI5>(>FeD99=Eo(t#jkX>ei0Fstx@cv1$}`
z`wtFNu9DhvfrVI5;2Wni5-bEQd$RHdB)L7H<>#jtS2WdB9rgx<%MCAulrgTA-dVCU
zb&X(dn_Jq2(YiH+&RR#QWOD|kP0JUQ7;ibnaVIBDRe5fRY6!<Zdg}FZjk^>baOAF?
z8=YlZ#9P-kwUOc>P!9nZ?(MbP$?Wv@Z{H<c%Ln$+?YpN{*>7y8M(u5>qu^cFB<z+`
z@vP03Gzolj0u>-JDkG2)x?-i=6D~#vGDWA?t_h}`E4{izNX&fDR7DhH=GPbI2n6Yh
zACoHEWSmgPXaZCYoShn%O@b5```6~?hMknWggCN{*t7DroB-LMUY(hqoL&WV#g$G;
z?U~oeX9fK(?9Y%5ucnjBv6Y0`eHNFtTv!eB(pEA*<`FD>Flabj0>|*G1_1_50DJ@p
z`uJ+MkFJim(y%cCBgvMcJw;9$329R*=gD?LG0i)r4NOoY2n5KLA`xYf*_PNC#)Ps!
z!L$g_KfdcD{N;!u)4+Zk8JMBIJvOx%7nGcuU0LA#fO{;gE}DKo_VUe}w{G6JDfF2)
zZrmIbH^WoMq)?c4mIQ3+j8vd*?k{VlY$>9bicWom_=YIvZxr=U|C0Y%SLz>2o#4-v
zhld=;l(oy+v47a&FYdPZi+vpxOZGu3><?KinYCm8u*F~8X^CE}+0=%54k?u*rg^fI
zvVd$TO|Pc|L0}{>Ju(LHRbt~H;lFgDzD)Z8&_Gt0Mn*eb&~hvDnS!SDvb1KGvUu@4
zKpd6^mg>#(V@wC6U$4D;89Vm%uPa|Ox@ne>*@d@JhMb^c^$LfnSjJ{cOmHL4A-))`
zt>LY3>Sa&MS*Y?=*J?_@oYR?1Z*P?+kIYRq-Thm-(ec5NC?&XCc~_7^M%I+l`7l58
z1e#t~NG~s~t`KTI`Q(QBRO+K2?QbrXKKbZKFb%XsDI7RZqbarn2O3nPipZ31B?gG+
zknol7WOpUKyJ16HP0dE3GT(I2@RbUPDU^NW|9n1sgsJWo6Vl6W_PT9Cw+Ue_e=SDC
z)LF-t)K&}Jzqy$Tn2$Dc87|EshS{jWEs%!@IB^Sh$+_4iM2Ys|De9z~%;R#HWRlVa
z)>g-BY}>Z2zo!)&vU@ithi)3P<au<rRNNFW^Zpk2Nc?yJPZc*j_yj#ls~z<j;pOJJ
z1wbUV<Rw~)^Vov9_zK%*VnR+m=<$`KbeTlx2ND!1J2uPIGl*!PbE6z3kOTBBx?3PP
ziji7Eu>@$*O6_hr$#3W8*zm)h!Jxb&CpjeE7g80e3=dsgE`!A6yEF!l)M8p0C>iLr
z36~&7m!%++AUj=Zc1g}>iBvSe%AkNk?7--Qyf^A<E9*oSu(@iOK6$QM=}jZ`?r@Bc
zufXRyx&q<%^@&JOck1wpDM&MA6^0-k`Fmhe|JFQX+&AbrrmS7}TjGtoE%C-ZmU!c?
zj>;~*&yth7-x6=!Wr^zUx5OI<ExYt?OH^mg$yxCtT>^;i?QErUsuB1NcHK0)%xq0a
z;Bp1Tg^VD>r@+_Bxs8q$=@IY)St~gt-0%Q7)1qBF4&3+HeTVn&-wU0Dn9QXZyE_G-
zazm?^yUA+m>>aG!^0gb1UzyffS5i*Rv1YsyQ&j7*C0mr(p(@;57YxuJN&&h@jwoC_
zL(x@jE>Se?44A`Ph!_YN3?`9Mt7f>&m?2Bg-$>W)fsMTf2D&<II1ZwNM<04XIEwK`
z`S2$0KXxas&v4o7hX&2qz#v%CB2ss8nbE<LqmW|hNI)R}@d6SFnE&(|a8;XVuxVnK
zY~9+>(Avq3!=xot{J+1z8I%k~nRiRYj4|s{|M@Q)UAL}YICGXbY626_kV;02Z`iMe
z#Z|d4Pz^$rQrROEus&|$mm+?lSkKGG$P_&|_^!8J`N6kd`0*PjehMOl^iK{ZcYH8l
zzw6^M?q+Wh8+QQlQL3d4qpqn~1op^+h3L<g7N@>as0tOZgyyG`PiFpCS=)Nexr^sc
z{q*F?AN}Y@-~Z8%PM&=G#E*XT!+)ruhfW+fy=;Pn)&l`0n^(GCd-;WLee*jnz5XWo
zDw0^Q!kP_~go!=(&fDC7`DK6x9?(ZkZm}I|(Qs0n<gJjQMyd$I<<$z#pzw&8gA6KL
zhPN`xRUoqQ{JNxC>FH(_rE|mfvVxT+he7p7bs-{RbRl}Tx)6tmmpF>KotT=I2!_<M
zmY48xa#qp{fC%O)p49+F8O1iScmzgnFKPM+)oalErazE02jv%<CgQAf^D8$5?n0a>
z6M6OO+WG9BLB}y=?XvFVJ1qY8F3V0n!eixp_CY)Oev7~TnVmeSD{!a{%1a%w?Bx2P
z^=yH4C##^%TXHFB@-LV9GK%UO=Z7)AUAcVr+$bldFvyU_wOuQR1k$DvZ?TLniBK$w
z7*E&h{BgOQoWD#-o)aF|%m45qp7;1mFTVJlZ~fihzlu3vA1_^7+q7~JfN0&^$<qR)
zyK%i(wn=v`6Uv~n$QWQV4xsxP$Xz_p-oDb_&i<wP47k71u%%0rS)F+S9o*X5?qF^+
z!uEJ|+1YW=J@<@_@#XF#hX>`_SQA2-D&#hIaB6;Szedd+?9puT26psacl+%lUA4r3
zNCq`X_!|oG1!E!xq^G^Psj;D@se!sD%cD@1;16{b=6}Qu9~9ddkqULhob=SM8C^)g
zak<=rbGO_1QrFN#KXz?xb9;LaAj?*coZ(W*U9+}VB{U~WjCge==wm-aqzu(%*Paf!
z=?gV;CgOC<wRy)js{9)U_U%7%_k$1ZCK=vZD1>^}wyMP6^n#oFw+Zq|FpmaFmaYZq
zw=Nf@&x?SYFAMWDws2ujrl!Wm7SQ(us-I8j5@I`ut&OnQUETzqQLY3#GU|0pT_OOQ
z0cUB{i04cJ0FqR=C)h;Gd{BAQAaUd@tnF8oK$>O^a}x`1G`M@<ptSv(DMR5C%Vg|i
zkk?Yk0MS5Jn=JNu#+hXx!LnBVva4+Nwb8M7w2PPGa+XsVM!%mgm_#B6nC5b{hGYt5
zGRKBXcdqSN0*BIwyW~vs$eEdZiSjatXTKYtEGZ~b*mg++O7gNx^(?YqB|hFW=s3m}
zGA}D4dBEa%2Q2$_M@MD9{!@^eJ1m}ez_MQlEc?}p;WFxPQa#6#nTER%o12jy^zm^H
z^!4!CpqF;@=H&P^n4}VT_>PXo_Etd1rP4oKxiva3f{5{NeJgeG%uio`O>n@<H$cp2
z+PSyhf<5E)cR{ok`nGKw9Ncy2HXxnpbQeVCl}@>qmSl5Fa})9dbVpYk5ohm)KAQg9
zTB1%)_Y)IiH?E9;m3b(&y1W7bMk;mq@XUcb4&Ej@X#42tj5wcq=IO^Cd+^S~QRjER
z_aa8&h5stnQ(Q<Tlx3sqfvVnWPzK%MuI{d`&dxoCUKI{;5Tn^2Xt4OhMhRpaHLanV
zlbPx5+S;6)hJ`$?u8wR#Jqy(v3f0%s{6h$<rB;?_W|rn-TC~yO*hVi?Z4G}KzU{U^
zLreR{&6@}u$X(YH($=-L!=T#N&Y{^Bo0>d#ZuH7c(3_>w3?03)EVGDz6@XpN&&{({
zz|GYYM6WDTpolFj5qXwb?GzAes>)I7Eq$FW0BN~&J$!v^hWMU~2Iq+L#3|^A&%bj#
z>fF0^V|)9?owtwhi8wZzegq4f(Mdka>yh2d@duE_<HOP!^b+MGyFK2KMyGR12hlHJ
zJ{|4Yd7z>|EMqZXX%Xl6C`rSqnYpO5si~n(XlO?M{h!J4PyK?qqCbdpV7p~SZ?~-I
z?W}##G~92AB|nIBz>2ZoZduXWEi2l3;%la{f`yk!^5#=n_#r1J7A6Soa*N|~XvV!u
zBR)HMZVt>*c`liRPqB8SInID-iP=#oH74hkp#Q}2vv2srTI|wm=mx<vz;CfJPzsmN
zolAq3IX5?FC)uJ#o9$%+1C${+p`gn-Gu7K2?wy(~ID%d16#p?+4eTPP0$9gZR?^XC
zZxMS^@;8$XY4RoBe&eY}d!KsaWZK{PkkZS;+uB00Sh%gadJ$K-5N&QSSp^!g?d{DC
zHD1q#zP1e>Z%t!sFW~(@_H(qt;|WOy5f>?MYEXdr*f9JlWln-E2kh*ArvqZYP*pHY
z0Bs9YD-K42j}r+aU#3)5@f>B?m;|GxMVl#!>$*2w_y4l@CSY=1SGnju=Tx1VtGjw`
z_1scxmMlxMJlo}w#KDO(;6NTE9c~EWyM*My_r7r7`v^6(lw3l9-0&U`Lhii~c<{o5
z<Oax%2@oZ*6FW}qc+fnxq@Jgm=jr`xuhZST6_;F+H5pX0Yj;iEb@uw#+G}3Wb6cBH
z(>63RI4sJ--?s_b*U09AW{6*0b?DmA5Cm)umXE;kZbUUiqC1M21THX*CjT|$_AVeP
zGMk`?o9xv<avCxi{tt?uCkq86VPOhV2*r{}e9$9)qvq*oTbR!*w0C;7)NGVG3K)@q
zj=zuUQHLWR&*k8f4cMYRHG!{*a&l;_74#2)C%>3=V4i0wiv#d8KA3(Kkgrq_;k4nZ
zxJa%<1wFa4t+nm^MDl!F3p|Qb@PdEFhrS#RM-dJf>I3PBei7;QmOtaspm`90mA6L~
zOG)jh@m2-hdj=WZk1FV{*Tv?3MPA>gpj+*z(X4o8hfp<wy@zuT@P-hf#Oex!LUj?4
zghQta5A{H$Rzg2ZYz+dkz(t`}nVE>!n)<qCI=kGJ<OJH$bW^5iM|U@TxY&<V(AkUI
zw{Nc;$GBW%=T?w6HBhYP%9_iBfn76Qxpb;heDV8dssnfKdU5Bjw&LV-(V@0BN_(`o
zwFQH3#~|j%p$_eXfweE#*478TreC}#JSJ+N@pW}jS>bHg>|7Rox1vt?0f7+jjva4B
z|E%8=e<OY@|NV`8^n147{OCtN`kP3)ckI~lfHaPR2sq1Mbla|WG5^vJZ~Gydi?`hp
zh5v%|bk^k{_bIv@7zhmPx$}WL_w3oZef!Qm0|Oi1^(n-E?WjoiWNerPDO#5KV+gh6
z*agh<Ko1e@Bbg>?B>AMY#l<2_f+9dWfN_`@dr<-VqdF4-8O;cE_yEjUAih*EJnhk;
zvuEdkLky_}pmB0i-={^Kg>$yEXS3j-3<UdtohDP|X(Wn<3=faTun%tO(r1p051t!O
z*%2@9N69AsJi-j{@d40K0WmKc#tjBRQloYx0*42XXbH^g<ek(FG*PIbb|_Qxv^2+>
znjO{rQdEa$HeyF?8qUN>a|XmIquoa-htL_WPm4ldgVkY15phD!Ti6$0K%>^y=6IkJ
zo%80SLsX0go++W3AWcf0!yl&Jp@}6JKoBW;B*c9Voj=P0M+HVCpr))C9RgcIkt)aI
zFTC*d*T4Str!f`$Fz|Hvg?OBLS<GV6$>)5F$dYk1w=T8@&|fSTMW2p8LU8J{G#dl!
z0qK$WXwW<;tlO_CeD;gVDe{X7pM7YM^`if%@Y$~_9*K`CcFeCTe5Up={$QO`M6J|n
zB9jqY?s7m8zz`irWIYNmA<I#jO-|IwnMF`5SCVZn3h2;?HjT)J3y(lB`%&;iE+w79
ziBL)KdnzS2#XlW1ofLkxS`>|3$jzJ06iemkK7^GJWVE&TI*@VM)kQ;a3-f2rPb|)z
zJ#i9M7tg(T3@$7bBgH||WYMS;(r8%_5060G?OB+egdk3$LV|1@C?VBC1{OzOpPzdB
z!G&1CU(-obpPxmmm#7wSMUcU7x9gu?Z}09LMzZC|2$=$W8wpSmWM_LzM`u@Wcas<i
z2Y{)Z%}MPfJd}Qms=}yOv!m1)`;o(F3HyEzqU6+L4+ma87u81EA~rO8aN9q<-gEoj
zxBc`x-u=#ZAyi`B-Z`?B%3F7Cx^?eu_uf7v-W3jz>ELYXLMl;Ln;U3HRKaVwXC~-4
zTqwbbzTZ<VXH5z!w4(oHbZC%L*`e&P!b4I3RvuJvzJn5^5B7DSaE_EG45dJv8J#ca
zwy6(W+&?%x)OR18hDbF)4;!k3gAD@a(ovyR!zl#|gfzu{S~eYSLhd{{hqGvzgNAPD
zLS(&exa^2&A>fKrso4j|3+651>(J4JI;C2<2rtM8(qhvtC(Tc{p)?nQ8P$<^7bc3p
z{=x7@e0Thj{Z6t;ppiMv=)M%}Va)znO3p*7zyhHQ!>Dm&7`U7L_~HZI%@8$I&H#Ud
zQ9-RuwUnd3h4I@9&CRXQYB2dO5BEzIIyq)Or>WW|Z%1!aJLKSgNkj}3@Oh&92$wjR
zO&gV>qC+*HiP4674%sqOq?|6sQlLAmF^aNak|G*-NQk@PCU+L{WX6@kUGP>S2^ha<
z@^AuuznpHg^T9kN6mz;zVow0XX$-s87P+-js`#2fLBE4)l+);9g#*5jraC48nWQ80
zu0|F6dEIPkYx3GDs=AAY#N!Qxs-p=5YCO~-eELXIK)q=~b&!CM8MA#2f2+L&mP_YR
zvy5m|geGEEYoA^Z4v<_%VHE2Ie=vG^&<)=WZlnyx{^CYKeyU8X{$~#mP1*x+QLP>T
z>yRrMxmAW9)i7VkMm>zHpI%>Hgo00o6PVAsolilNM+>VYPUv~`KRFks$w&^kkntsQ
z1yq*<uTgKULj9H8XcCRW)dOzbz$M~_cSipa68ane2s!c%DIM<#ng@k-yGN0ZcPi5H
zZbdrYj`vcB_xlv-c%LF2?^C4XeTsCvQ_(_hSEOTm9WPH$b4z;@#s#&=2`VBPk0rC@
zzX1snP>w+myKJJCE=kv0wcLXKHtl{V`maPWoO)~jy1w-rU`GuMV6fb&^9#sPI0IHc
zhtDFb(mj3>ewUd{fW%@cx1I`D`<l~bGuqeXbC81`T@!G#``7hu-2@v_R<;g_jp2w(
z>+M10vbz%wepd~0no3*km|(ZBuQ^o!gVu=f-oZQX|Ai;t`<^FcdFx|PS;Fp`aUTZZ
z+<V6!RJgje3J!CsaCPfreH(}RyU>xlrw8unb$vsdHpAz-ecKMWTz762KNW`T@X;(Y
zj|Z**O65qw)RXmoed1?>u#WpsgO^I<*r1~AcnvdiP{m<GJ0ILKfL{+TrRYSu8hRY(
zsl|kD&!Vwss(?Num1y6w<3})e96221POP*x2TX)PydDBp9K8p6pxkGPtJ>VPR1rY7
zxt8V-v`SW7wo<e&k)%l~uzZO$)2B|IICb{SsZ%Er_c}E#UJUo(fTD6fO01+nXsufD
zP;}I7hb)ZtVT9MYGv}seleFE~cr>s;^*2?;qs!hzxQAq({MALLm#pXZ*7X~Z(ADer
zAjiKCy$|qq5DWi<Vg+ijgLo(LVV=w~j6BOz!YT{`6suDOy$j=6s{8wva%GwEg-8{~
zgJl=z$Il^<OL;8g)A+LyXH8nq3ya2>6U_l}!-$#v$k5SjI9I8;0QDDeqmn5MA>OC?
zI^cz&-jweOng_um^7bx;pVYqM?@{>aalDhfrteYs={*WRy-SIIyi4Jyca5%kP1U~Q
z8y8|3OixND*)Yc_925hiAb5UW<_1v%K#Ff<qOFj+MWkS7vzT;CxAZ(pf;Ai3|FyTz
zqSgBh=IZ!e<><yE7-Ts+0bQR6oJ^9L<U=R9Lx;x45q5mx$1fj8mz?q0Xe*|{rC{DK
zEEMg;1I6h>TepTaXF2TMy7i?WA+_|C!-soX^3j$|Vs;L{ZE+3}Zv4gq{(88zQrWt7
z2$Q0>j;vq5egjlozZeSJkyvyNViq0$Q4JW@az@xYIoZ@k4xa9HgVph9%gpH)UOaXB
z%#j}-ItfSc**N}ixV2dP`JaF6F_e|R`|-EG{Ru=x`o&{m&r?tR>%T(jrZcG)wrl=?
z`OGt6ZQcxfpLu3zJNba_xa+6NPenHen$X*?sR>+%A?(dfbm#$k?U*7sg2LfV0N_Sw
zG`-^Pu$?ZThA)Vw1Q@`Msf1y4FLh9*x5w*kswJYp$7anehc`pvX=-X|Zu5K5qzb*=
zB`$N&qKQ6mVqyX=-GJLx@JAD|tJ|QX$Ix7D$s|;4{O)A3l^jD&KHp5<AKkoV<3LZ(
zVDB)>pizz0s!{e^n%?8{K}ClLIDirypC9SL$T#j>N9m9)b`+68HES6`Nv>AGhE7kf
z-++_9ue<wLq9eMl8!7`a6>tt_2LsYW=sWnSdwOvR<*@(|B_kH6=ch4=hz9X3X3#W4
z9>!Izn(*V$6o@gzl1Zmo5t}h4887BAfI6Q~pr;A0JcW~g0xc3DKF^PzU7(gavoLAG
zm|sjXEWVU-!TVq<#i<%zFH<k|Maoh@h-PtVOnygvD||cpV$0u>g3WrjfvQH*KBb=m
zk|BjZMvkd+t{eL-T?IAR_ZYqoI{}@<3ONk0ZE<>A0*DGXVQY~VkK7Mb&!eT`88l&m
zxBtA9^XSZk?`U6#5rVq*X<MmKC6;kWmXV6{;==rtzK%O)21m_<U~YN4cXT!L>fX`S
zY|G&2YPKcW_f#|d(CBJy<3ppX*_QVzlHjeQtC?5(6iIN$=xVlQt8%g`b_Z17E==7c
z8ZX~u+z&g~3Lk)9n=mF%PXcr)1J^t~8)~t+%#x0OCfX`uq<bYfClJu0urlA4Ki<-z
z_vp{spZn%>XyP$xhr$2i%b`GvH*4UZx16uMs(Fj&U!@PLe_Vpg)&fUUrMM}#VF(FS
zxq>5yRDn<c=A<2)f?6bG#PvAKC4q0Q{AB_qK5uKyCkx3Z7oK?Q6OcYhD%E}R$p=F%
zwVYevUrxZbq&nSPhDsV&J`cu%%GK1?igMkSjUyXd0^Kc}hwsFA3xsH>5E8iwRTK<*
zJS`C!C$&B)AxGH5P;X?~q_pN*pbOu%fCvc1FPcKF<(#dGf24woCR3Dbo+g1`vGS+o
zhpk_+q|IpqwV|CukV|RIRVSsTC)658nmhi%EHVTdQ{^1(J#ybyzJ%mUe2127EEhW&
zKY8S2JTV!k4m4+83I)J-_=hoO0*zY`UQ7xxJV(J3)auV2J(|x?qAkbdBselXKQ)Wx
zD7vO$x)8el7vt3D1^LM6(w;}}XicLSHrj~5B40|zqJd_*biN@lL1qR$12+efl(V`~
z)X}dGy$z_EQXqP(!Mw=}^zU8%5X=%8E7LIs*>2d+Iwqzj9L}NxBj{$~tCQcH(hCZP
zZ63v7LT|F`ZcI1C%?weX(&6w&IO?JHf__*zZy!|j*9VpJ_AYQ4owpAw=k3GFdHb-U
zzdo#-xA!SrruKsNs9v-pCbA(L#crR1R~v(2ihzy>3FSC%V@qf=N_B(1NW^QQJ}j-?
zYM%0HGkM{Gpy|X|9J@X?lq}(JaG*@*x#xa_sPnl5HCOHI={a?3=H#&>M<yxJtk-n6
zZJ@3!BVCo)+^c9X7st?TYRa;{-EA8il0D|qkg$f)f`hb8c9Vkk-`3Vi&DXu?!4*O6
z3d%R=Kq&|h^cydARSVm2e&lldhdk6%4s}@b4##GsP4Do{<GUo9o40S@y9*w@9?Zpz
zAnjlpd7IvI=MthD4!U(BfrmC!LoY1sZ^7UULI~6|GNB0_HnL;`o&6)-0dH&f0F5Zz
z6>5eSBB<SQ1wjP3nx#=ZMB$Smq~F2HL|5GI?p8=<6m`Obg}^Eb-#t)=-RSfY?yXev
zXy8$;Ci3V{2Id1=3m8(2&CX$p@DMr}qtf18t;*?|>jG|?@Pvtt$mi&Q#@&h;9N}Ix
zVwpUBx>A`;*qi+1)$r@dNh*-Vc+T?J5T;|`hCB3!fhRkIVtEKShXY3#X{I^YQeitf
zC_}3a<7<i{wWq^ibEh|qhP+<%CLJ59kk;W@kB(0!wV6(pkrv|B6N$OGR~MkERY+O2
zV|X~M{jk@>ccxOIY$;zd!)Weiq8@9kt(8O_Z7KGW_LMf&XoU!a_py{Mp%XO9X2|fY
zQnH~<*em!Ml`mvyhKHn|+6B`9jpK3HqJ0?10X;1qmkJ?WMFb{4?8Y!1e*!(fV>w~>
zxWhJ#XLdOD!=d&?=)3<XI^fFa%;unZP*}Ik3g`7G=UcmSzI6^V=WS9rZ<E4#n-tC)
zP|mk?3g>kx=bIXDY^~6Kz<NoR>|htN0%%A59%KU83t+M$>T;XhW36PM8JK5tKI?`8
zhxqCOswTqzj$y-aCBaA;zhU&ZQNR^jjo)c^pie}Tp4-qLvX$IDJ*6<Z6XSOv5TAT<
zXyJ(mLwe?Jv{N);wqTp>W@qc>PV{|1iH5fthU(W!P)0gN1d1dMf+BX6$c9Xwus;(+
z;U8L}HevX9HIW?)p$9Uu1_sa$9Y#O2A5+-yw#9R>j2y5IZRprPxiqF#w1^*GIw<Y{
z5hQm3-g&4Yp0KHx0KJMmthpUyE+>u~nTBU`<^_5@P*;eMBPL>rB~(&49msVd7@=LC
zmM#fBn-3ch`Ka86!wQ#!i?N?QTcy?whAlU5g#R;IVWDlqXC?JjzrlS9_4g@qcb_76
z_gd7yOQHU~3ia<&w42)$xqF*J{k@9cK#k4y$%YirRu=OGXwGO-Sim@|N)@sq7Dp5Y
zt-%liMVk5CTvn&dhL&a|A>lcc3-+a`e=&5G6R{M`dcVDvT%x|K^QTXrJ_BX12L>yA
zY765iRGT;4(EisCpq~c1i@{$WMIU4E7?K-$ThZ7G?V;R(cJ#SiHv|KrOZ0^g_<XSF
z!Az5rlT$MYZ2~v;vA!WU$b_aM_ir)qgBIu*xn+3EjyvD-Ge7e)`_NP9fUgfFB$ycR
z^wUp&?|GCT>aYaH0?i1!upnhYfOgn@t(*HXsSJtQeFG@>8@dz3gIp2ibS47Q5&-)o
z05vVr1?lKEXvzuN;u^5TD@9~bnl51vhdU`QEDQEs)e626THVoKs@C=cKoK7>+3N6M
z`%?Le-9-9W9=R|WgXbpu9Nw#1O9%EYP$|J`M0OjU)5wa@5J_Q-ftBcndt`!^#8R;g
zJzO9`tU|3QbEG<<jW~X%#|@>6y47J|Xru-HjG|5hWQ|O6ehwX+(9#4mT+z2G>Z6Ie
zSz(gr+=Xr|6h|488U{SnEF$F}#Gk8aX&3?3B67JY+EB<v%yOX$6#}_1)oQpeP392X
zYqLol+;&Ls6h@!L=cnK-T0~^xfQOtB6+r`6+FQq{j~5tK`{IA&nyTTTc~DrlVTBL+
z6h7!v_@EE(CH-Sq;e%m?4~7*f*r)J8UvSml?^F07py(fJmQ=`Z9vTPN$MG+gIEMy#
zKESwI4fqka)ct{Kw5jI(@<DO(<oL-mC(fLGS{w}f;Lt6Xhx?HBZS)S8Va8<kZNq3P
za{aWm??8UUm}7i`x;;&ek2Te%KQWrW<(8e)WOnC=#3){T>N_vI^wP`UduptyBd~L8
z8_gi5+g6M;9CIX6lpc^yi~*FGQICP%{tDQ}<8|Yo$JK(P*as+~(zyuZ%P7KS)1(#m
zj_4g7t(|RMZ7oA$1XBbl?;(*w6^xlm*zgtYlM5QeJ<@$Jm5XN6$qai`-6P-L<*DI!
zAUoZ}tQHWiR9=J%Hs%=Y9qj8H>>a>G7|8TQ?g;%?M7cU%go6ld;c#J=y6f<1gS;hl
zJ0(uz#dS#A3^cc|8;i&`q0;dra3B7hyedtjJ_LUtI!4WdAhf)7jIP>#7wh0asHoS)
zp+k|5U8AeEU!5)vLaA-S(FBITe`u;8e?S4FUOt+$$2&yRY<1;X*Aqtmt4sFrZKD6B
zvZ+mIUAJ|0*!+_s*@IRK-x9ljWA|=b|1;v;-RSP%>=@iRxX)&$MbS$_#zR8JES-g}
zW)w|tLS&lJ<stw5O63+aYj#YD`F>=1FMk1jov2I|?HM#0h}T5eg+}VR91`BqeJ-R|
zo0=jRfq`Crj#@sRFWSl&RglM5=oCvwmX>VUcHy4qzgfd>Q(Yq(NgR}0jXU)$QX}cA
z4|_TDDX8#ZP~pL#!h`oJJb1UlgLkMr_}Z4XptN%YVBw0`OpJ9D#hwx9A$CaKsy*t4
zkKd&JnemQ}a8uLlENUrg6idjYDPq?f@V7NL`_aAi3B$<ezd9Go;mE>pIVAFx-BGlb
zEqNSh<v6}=TezwJrI${eN+7thurN21LIkegXHu*Ij_e5y1A}jCmQ0MJqNNp?AIP`(
zl<uFL4EvKkJv4%v=BostUyhkQ=!=%k<-_Pw)Utc`Zw&816Q3<RH*X%<yl2NSbrU0x
zXa6(Lg#G94zWbJq{rwv#;<W`s641fNPB<eu4+Tjx{9SDlD18I{1AT)7_d~HIyr6*!
znUwGWh<+{mk#K(+T}Ng97T^N_L5qc+pD$!#@|SbSEJBxRy$HKN_a+kIrVPbO;TDrR
zID9<O{)GfWW*AUFa0B4HCIux^=@<&fi*cxd2!q(NMX13YQyBU--{0Ta>5$!dJw6Q4
zi=w1gX4UEXI+~m`g(6$h4WOf;RjEOr$1x?t;~6OUO>VSBO_ypMc!DMnHBkT$d%z60
zGma@A2PY_cl_BCy!Tzv;Xj>T?A&~7$Br<3Pk%B-;pk{BZ9|13NUn9Z4hFttOH6}yY
z$ht#xUhX&S?y%p6dUXm6VRJChvNmSskdlg97`7OW$|DFJ;_u>rgoxs4{M}FKS-7YC
zZg|o$q!3;~+)ylFx8byhwu+0aYB<RvsI>|IcRtM?51I$TMDnKA*gUG7W{)eU*`s(T
zMS~t!IO**QC#h30A6Gc(QH7HpRX9ntrWK!+z+8X=vMx6g8y#OfckJkq!-o%_oyT=%
zPMoLg-_yrlJxt=mM5Ehk0+;OtLrp*(nVyRSR1p`YQZB?0g_w<wl=JaLr}Hr+vt_?_
z^gCbuyTAGJm%se2SC5~Wn*N9H{?m89^PQ)@^8b7p`-d<sdc~iG54*en<(I#Y46Yx&
zG7bWOTGajM$Z42SFGY=YJ^h1Wv{vlx?A*Kej@$R%g35p`JzFsR=-xfsVPtH*W%oVe
z!SI-5I2RaB-a1_SUGxJ=THsrb8h73M(4)k3&0xCU_^to_H+~t-l;3yH``-J`w+F?i
z93TJSyWjop_y5Yrf?_Nb6#oUkj9AbG7QE+f+-_~#@1k|zZRr1TYjk9Ic>M+xNOmCB
zk6xFz?A!*Eee>{U_^r_`3EJwGZQE~!KYUEbOu4WNEGchp+kV;e0{#cwqJaE554LDW
zWQ67@luGA`Jv(i_&Tc4sm^teJySMsL*wfmvuD=_M5;DQnx`(_9;8IF3YiahwE{nLx
zE9L_qIsz!6DQPgme@Ghm4o~0CUHfp`)I$Y6n+8yIuyOmIJ8y-*n(|gqFbf}b_dF)I
zL5)C=3^tLdX(+TG=%#V;gHiY-i+MOt!oB74WO9B|rkT!4Rby&yM*1+$o=1N~a2IaG
zz};>H9>9LF1eMN!mek}aNl7j7sDb>wN_e1)&Z9GUVu6&viAglKoSU4E13XI$vs2>F
z!aBy?f}fk4!!CHMX%Hoq`gkEP@QaHz7|d>z<s$ftW>3y=FQySu<dXOg!x*3iEnzwl
z<UA#dE`kcg-Y&2=N>ae%)&0nDz$%46)W9D{6*4XmEPmvbLq|>`31%GOs`C>+K1wY$
z&YU>*lK3Hh3o*M3%r0-S!hVE&;FqUd+87ey$Zr1(f_Z=S7w9qjSIq5q1<iwCV0lw#
zI^Csk`&|mR--UNl|D1aiZofz2_Is3b^B#rU?^3w^E`{5BlykFrbfq7FSclOwe#6<c
zu5WmFxTDiFhkZUxn?<3UtvL#pA@%0MEnlU+_vpul8MROcVUk7HZ5kQqu{ZVax$B{a
z9-_L?hq{qi_)-kW8;S<(=+JeV0>AN+8^2lL<TQuub}tmpXfFbu?f~Yo<`BzDqv>{u
zLNeW*uqXYZnM!PHNKozR3CKpsE}WhANqBb9grv8vr@LchsJVImsi&Tr#1w~YTU&qs
z?R%+d4KjVvAfkHf9x&&|R?1>;1K--8@tL~E979LdLG)AZm*r^fm{ZUVkPmGf8N!Vc
z|4}jQMi2>}FKXFr1FzaK&kzUa7<{5|0l9tlO`GwrZ+|b6dt-%k48<Xsay||8Qh(uQ
z<ml!XaEJupei9Us@*oQfLA)vsQZtJ_GjMA~dygGEGm&06_u@-1aZevgB)&H}St#_|
z0r!(|3I(912#T$@n}TLjlyQifu|g?>6qaZ&!pO<_MT~L-FBMRj25y?2Jr2L&d<GH}
z!5j>Fq}VUKQ~2v>#TPaaKebg*nb(UBwUg%&ES|!)Oddud^hpeNewzBgo<?pgKI;w$
z8qkPhIMB}xZZm7S3X0$HStN=eK@+tdi0Ghhw1SKfO1h9oBl7T}^cRVnkiiN0gQOA6
zRYZ~-PQTtfGzHWf6ded4x=`o}-71s8xLMrDRe(>T@5KB(jcaf?3g9VwJ2F$sRrKS)
z)p!x?fOg{o`%>%_|ADnWwL%VRhC4U6KctCfv2K+ExVr_pp6G^2JLI#8%?7$08Xgo1
z-crU+|G&=XAScT78TzcJgv>$_pTz)(*`m~fRhz?5EKx(@W<%j-*pq^~dvuJh#+wX<
zn^l{`SiKfuDBNr)+-xY8s1aP@W=#krgKHZ8gGi@tO8noag@LUL(S1uOsO<}>?@9qP
z^1n}u%$gUFtH}R-T2w-!CnRn|hgJB^LM+i5>C@{__P~xkxRQN(6}wA#R`&q@ht}wR
zO&`IXy$5&RyWvS4(-yP%+3mtzWeRuYS8=C#qx(am8$VU^xGT-$PH5tHgW^k}U`?Ri
zYEb(KM;IHqTKi>QtxchLy{^RS)vCS+^y$Qx&Ny(_=fhpF7k4;b_ahM%cNMy>N}BGB
z=zdWc+pnQD_kL}bb_18{#--BQfeV$$b_C6XAe6j06l6OTWUEwl;GIq&+o7CO4h7lH
zpyQzYWkI}8xlV_IY=?quRV(!>R1JysQQ;j6iASTNYfQ73qvGtC=FUgOKaXik^HGr;
z({8;r3b6rC)5$12R9gAlQCu)aJV!N5>d>^|sD?TW<l{tzYfQ7b=og8lVC|z(=y_j?
zietg*KUpMaggb-gL1EpTb@sxk(0q9>oXTD}8`ukHoxM<L?pF3fGjSPS`X8xym?)ri
zY>>OL>m5<;n|L~1ii!j_$Bo)VdWaNGDn?ttFq|T?-t2hJMG5<Ot{smH89c^wOXtzt
zc8t)li%_BcD)=U-{R-pX44Mb6tq`WN7tIPTnw7nvxI6m817O-gR2<5iTiFX!!G#%I
z^|H8?y=Yc&VFtbQJA(L!zrP~!C|ubRJ)rly*GCULAd=$mg){n~_!9k#KA?ALpA{|9
z2epsTzo@=vAQsi30;5Yu#*a^Z_wYhghx0kA|LMP+it0c3!4EKcwcUwVde`f?5C3&7
zs(<ZkUyD9a{ZVZTD&-!mJwX33zSCC3>v?A~dVsM~Z+}c>e@tb6Ok51@kE!gB*}(po
z%Kn(j{xm83)2!}~t-T%J)VXB~?vGS=;QlX5AHw~siw5qCy}h`1ES$!@=hXLc4|hH8
zx9KU|`;by|Kwn=w7CjKuZqeSesBG<j#~AHHD_bjNN4-6;)!73Z_JB^sdV63~Frvyx
zbq{RH9@Oc1g;7R8a#Zxm`$Tk1oR&YG$4?sm&w}ZrVo~1v@VE*8+vGdE);kQWA<8)O
z2F-)`(()EixWF7;%`G7*U=Dil-c{rW6v_sat7@r(e6@Fy(k}_$pfDD;ef{gt9iPWn
z0*}`K$6u}eNBwjEa43q?9|!dBphpjJwtRpVMtJ{YkKM7c4e$3s7>WmQtVQ(?Jv0)9
zvl2HaY6|d<+c&o32@kST;u?OaKKk%u8*0(tfsKy@aTM|XPKdH}Dw>^tvnE1L@gC6|
zG!No(<!wOO58_WB_MlhU1J(0>x3ULn{S0cM@SkaJZNXT|;@PO_%L`}b<i?0796+kj
zIxn)h-m|{q?Mr<->g|rfsrrq#LDNKohB27X4(Eg7dGWmV)(Ah)e_#K7+b=|X#Uf1(
zEFNCciV1TdYNnhb@7ZuXA{+;roLa)=cW7TaR66%UaR-X#eG6T-`M^U@Rr8g0Tg4uI
zTwBy`7cW7P+OIvUHCKnK->Yq?WGeq#b)@=y2u^Sjd{D&1|5|&%_^*%r@v{%s+?Zeb
zulmpZ`EN%b*Wac6x;UYK*yz=VwTCKyTK&yhcV(<RQF*rdmmzcx6AwSAZ5E%drnNu(
z_`|hduKjcMyS3j$?)$HPHYmQpa`$r1V+VN3uI#*e9y^qscPQwqcOE+wx#CddN=VPa
z!rdRzmta3&84&wuc|?4I7Qc9y7B95?{Sj0+;%Cg<rG>g@Vwn)n(vssx)8a5a!dP5d
z(9%7;pQY;MUVS}n<jP$=>;d|&S!9J{af=>WI?+d4K6*bbT}W=lqQNbJ#lU=UEH5Ix
zAItN!Ga=-}<!LFQ`3RN_U3f^JrVliJ{oV^?4^jV8uirho8u3!KF*Wk5`Upd)^ph8!
z7f;hy_8{uCpS;ncD=0n#DHGCN;w|)w6C8pC&Dv=(L^mx6x6<NAq)dKFD=o>-q>;nC
zKO{`j%Aw3!TG*(0P*^wT=xTiDVkaxbcj}!g&QS;dz92Nx(N)buJyq0`)f`nckI@y)
zLtZV$Q@|UEFRCZR_rv=&f4`O#+Q5U_xX^k&tZjl2)|*iTuwO%i7(-}|5e;TgNKcAs
z`Kbc!0NS`}rqEI|T7ZPMoi1FEWkT_mMmWF~TzmRl4g%`&e|-d08383mz<NSJNP8Um
z*=LBhJDB_?Q@Y6H&oKFC`N<P>@gY6Ma^y7A9@b1qxR+_)$kktHja*FnxfJQ=YC!tc
zzj{e`i|iqtrkdbVXkrPL+r)=yX(Pf%5NgHGni#<ntWJf9^7!GeLVWd0@TBAQS8*EP
z!WZc3VVO40{nwTD<wj^<VA`kG(Ed1IJ&jw$)n60ZU#jfCMB2ZDX}`A~?Qu{N<@F<L
z=zd6{`=MpJ*RwmFiXQDzc-{%=hzvb(sdlF)xGMFXiXN@novLRgWKcSB_&~_mxE@Cp
z)|#DHWbV4dVW^!Ln_?hS|3FBeszMa}HN7dmh`=J&v*U<cU`6R%f>!%9hNEG{1P7b-
zVKfJHgbzTp8k!SH3r0&7-gqdr$Pa)lthX<oI{V_mzL0Oiqv%4OpicJaI9|f<Q%(X!
z8mRl?QTIjBh1TxNq7A_XT*@(rI6-S6hrR(}k;Hx^7Qp&pF^(S#4)H7aaT9)Ar;Cr%
z8(S(+3n<AZWQ<fq7k;$k$Gr~7R=j$542ls}j|owNSyFhZvk5guVG+QOc-Ev>(dFJJ
zH>q){;U0bCCq^SW!&;58$_i1Lb-#ibvQGc_Tjl8=18~3~)LR*g9X(&MIMMbQ%RCE;
zBjT*}nJSXOagf%KHU^Oi-&RO>Ah!Ajbq3eys?BDqNV!Cv!MLc-;H8rjU%nH;vi;gC
zy`(dI@jlWS?7yT*ogqg@hln6|fUZreZeq2eiLMqOY!RpM!KOT^4V&gjZP<^eVZ}DC
zGrZQRd8t}sBRa!c1k@M-6-Gc8A%Kp{x6;zh<lnWdF-Y<knEZ#C{7(`2$!f^bLj6`i
z`$eMtp;g+~^VD9<gLy49rU+3zLL?9Aix?Ouzx92zG>c!N#ZN>hRk?!}o7hClw7f|D
zdqnY&?qhplP}&QmB8TABcpc0;M^|fLoC@EYBmu9Po-BDE(3Q-ORni{oZHSHU*QV~)
zvZNPF;%n&^R5NIqVdN&_xg$h-tp7yB*StB+CbZTm4TqkjJ??RE%JbpPNBO4LqP+dJ
zDDS@r<y}GZAc!e%uHdSL^m>SQDd(a~k#=uHOIG<EZT!LS2)-BwksUu+bYJ25E`{d}
zv?y)Cti&;+f^LBFhbqxtK10MOH2^*W$@}yFR(Su)AmDQCq^mFSspUNcSAivdCrkX@
zEb&dI{(~&>OMKv$S>k`6CI0`*62Hb&FEZ7qN#Z}ZD)BG(>g@{t--wT_zNJuO8@a+#
ze}Sd`E9fqU3#c&f53-dgWxmDvM_A_n1Izq&=KNhO^AYF^iRNXQ-^i6;D_w7`e<%i>
z9~XHVX}(xIP;J@M)4fmXZ9U?4dOpRZ_rvdsN8P;S`5esAE|8Z+tDr+54uCv#Y+Srf
zI{-Jqjo}?qZ6zfxYk7w<^p)||=U^7>*PH>;^a3NK>FxXgYkD-I0I#4=u+W;jS<Nfc
zrr}drvKTSGl+?UpN_vNY8u$qDT1mLD8I5{~ZerlV*xQxVeBK-wxK<kfS~)P!a^SEc
z2S^FnNBr($Az-<Po0$9id6{J)Ky~VPrwvtCSWK1xMUnu>X}Guqa4CAP>oWCTQ}GYG
zMpwNh_58y>DFJ985%KFZNdQ=M0a$d&D1I2h593j-&5{F}lmi|q2RbY{P?K^XLQ()9
zDB%NUluDps@1ZtF{@NOefyV9rtBC<!@s8-h6+bzyo%}zb-f_l&m(GHa-oqHM4uUKn
z1kFtR-Zck7fiX~F3}k6T>2_mWb^Z8QN`h6NB*K$b7of!^{lNN0@d0|Y#2`nm9zAMf
z4{4USDaY<Y8|aSLoE$Ggc?LadS*3bCpV-BGh2#^vQoce}_i?IJH!>-9`^`?`g5ahq
zW<YqX$r(_deTC@PbUQtjD}wx3eMEn(U46V7C2SBLd&td$6{a7mFQuE&aASK9(9gKj
zqgTyGsCtdn{H06x5ta({jYCEz!9K!xa>Yk@a(u-{X!8Ra>?4ekOuz>){&?9(*hCm1
zA0g7Bc~_kk-~?}S5m4Ag*iK<rb`d(t01RFY6o8nOJ-TtV#*%c0BM|!IFkqfURVQnJ
zXCIInU<Jb?@O&E!3pa9wB{Se%q%6sRYzj5|{24tjKVzb<5XS|Q-a;bxdS}KOUy0&j
zCtu0MvUSv$qN{;3<Kh}aK^&LDJt6)<t|r=w?-%}{_<dZFW<E*!ppFVdRBkqDD3Ndv
zX+`psWJyTiXuyD8@CANAk%n-=eRz&_$0`!;=`1Qqd3+=2j;|{{r&xNr5C&kXw(gNs
zy_HXoU%(VF(B2CNIF@$yoNZ;JYa1C%(tgOJ<2f!n#wO(w2iuPk#xAZwTr9#&l{nWX
z!d$ex#cAm+?vdW&yQR1IZR{-$ioXTEVJR3LWJTC5XEC+UA!=tSK|@=V&f-J!5(#37
z7(pBZPh3kB)XQ^J&ycm+V-ba*AZ%LvGcB6fYf;qr4N1|mc!-{_uskq1)av0Q7Tuxg
zH9PqqA_zDUOHjPvD4xZSe8=>!m$#<UU(NG;J!w!cx6xTggLI6pW*9g|S2QPy-PE`?
zEwssRYd;d&{X?Md1L8B{F_Hjp{h+o%XhREHztAe3S{LT%Y|*w0?aYF<M`%AfuWclm
zFiY`e?U^a6^Txj=F;B}e@p8kIznVH@eaa`8@@JXyJw*ACevkMKS~f7*ExW<NWT)1q
zcx{TwP9w1JD9`ytb4+#QLWe|b`3z{}6udsy9^(-4De-N(25QZQWq=&zlvnXVT9z2{
zK9Y-MPf0OY<tH^tNg+==C{Mg2qa@OA)O0D=etmofS*H5})7@C%cn5QQjY)6gD|IpH
zo0;@^CcTU?N#3a?q?D*I^{YgEr~#L6H;~M)=P`AUIu1$)d=RmCMFVIkMz+fH;MgQn
z|2$J)XX@LT`kh35d2MYA^4h!%fDQtHd_J}SPM1HG&f_OaxsoujGYm4({lx#%DCB5V
z^1l`jsGd`MP+y6ttJ-oS*@gA_Ut=6-jDsrkf0_B;#vsrM1Tw#dtZ6`9V*q5C_iN1i
z7WFAMDgc3tQ{Nt3jg`IDb=RZ*rCzscE3ZBAvP}JXqJD&FUt`*rnDf&NeGe19Z4Kw^
z%=wsWMB5=_<NI;hblSZUYG0|Vu21cM&(eO0DSl#&w5JxDAmMhV`FW<fpJ~4CwP<ch
zd#Ut=gon_+?)A|Adhx+4MR!%pUyJrd6v*N-kBP6*vW~fYkN5~Z8YHWSl44~#h!-=-
z@u*AeqJ<ANJ<hquRwi<cZ3Q&w!dry@T3o$7XeX&ZPE{$5Ncy!`zeILkNIyYl9$B?A
z;J;lwNsk7^&(TugtM_q!v32z^=^7HVATn$@$?G)!9T#08x)(0x%CF`rU!U$vO!t!t
z-Q}6J?<4Y58+t9$w=?M(;Y@n@nLOtXFEaIOOnn52F5k9mG&Z1mhwEhztC>K?>N!u}
z9EbCwW$7O$2xzUFC_c39Ns15k-^=kK=@`}gJ!IK+@8<YW+VTh^pF}HV$QDRQ3m-mF
zi2Ft*{ngAHS1GS%1Q1@IBV1?2=V|F)$s4~tC_XD`@8`tfA@Ws_5-U&k64w*N#36d}
zW%N&CZKoWQpGk=q==q{(q9uhn$FFnFzn<iCkFMr{y^+Xp{e3WbA3VGdx3FXDSHy4A
z1#A@`qUA1PZ3*$EjZ&36Cmx~a&x%)R`8KOYG4>3<B9&ao66p!~JMx@0jD)M1LtK9c
zV!Q*Vc?SkLfBaEM($CV>4KfU*%ZgI_Bn+Au21gkN&l3#D#*5K1#~47rD|%$SaSU9I
z({C*=oaY_*9`8UGW8gN%zz)WMrOLI7jdWF;7y#1@fEflri2;yc0F)R2SpvYtbzPMQ
zZbSqOTq*+Q|7{^)`x*pvFakEe76QtQfaDuNz}2*N>g)Z~F%q~Qm&PgL!IH~c#k=Xr
zUU4sTvef^4TpQLUOnP#TwVqR~|4~O*JXw%_U&KhSmG;+&g{xY67e+;;_9u`2klxDL
z-?nA#PhPtf74@_B*Nv87xJ-HaQ{@Sce>zVyw8%%RQPJxi6;!LW*G2`CL~=x=CWz)(
zJBa95cM;WLs*Z(>JBjjmYSe)8i`7N6$J$K9$7&MwvHFSpShGZb{^$&0;6O-w+Ke7R
z2Z#RyR)AHXU2jJ&Ry*KBob*c74%G4SijaW;jmPOSjuR5FqU-u5TuvH0v4h|c5|jAx
z_5o~4NaU#})&C9kX#o%7cpd{Y(KAr!__2oog48Jd7$cD2cclpzSaSpul$PP88F~ul
zku3C|6JBx$y(oGbKP#?}q)4!&IJ-ttw6Ub<VM$>*1uaR@$&y0)zeD;-mK4?HJVN3f
zmJ};>hS%F4d?h5sik;Z7q`2N!UH@#b6x&lwaZ3YiW{SI*;_Yl5d-!bVW{Mx<v*CHB
zxXBcEOKHh*pB3Bi#=Z6h_6!_h&p->G4V(FF@ba}=(GM@54eR)9I4?Z|`nbGWD8ce<
z(D>R*bS|!BO{v#jFK7H(`3BZ%#c}a3U{2V;kl%E)bx^2RnnAn%leG3+tOHpa;KmG9
zysK6GJS{OyJ;rj3s&VCK3LFDiVw0iBwdiT8MQ4d;j+zIBb#soc=FY3JKQ(udYV8{J
z4>VF;tY!k37x)JvbTRM})G&5xzvkOb-htkaV`s#sp!hWV2YQGFw2Jf(lx}7JK$Tbq
zpF2V>5v`IW4?*rI=K%OQZCVTh4HtR}ZY&(kGY$?d<G`_kgC@p-u?7dNjDz)zgGI(c
zd<6#;#zB#BfPu6Glgug(oTKJJVco7K4(eqQUJM81*<d83B@(I<2_=byp$m{;N+ftJ
zBvdRUED;ir5R$~nj~qhX0z;DphM{F|StC;6YM%e~y#<quh94}Wp_>yxZWsTF2sy-1
zuzbaB422Pf!Yo7KI6;Ao1lfOLk#S&S9Jp6;pzc5;{jXfW%$2MjQ+Hskw|Jhf;}AiB
zyv6c}-;Od;2+IfIHu*F?ZAFKg`Bdl=x6+eYK0=f1AuR$0crwn`B8sW-=+Y|gujaW>
zUmq~|3){t4>FXEhOq3En@uWNz%6u$ptP)hE0}PoVx6zvuya6dv3FK$=jQotrC*xYL
zc|A#><`b(Yf(Zm%&WTV@5}2c_*&r952$VC8rU{Vk0SXs^qc?z~(buc?1dau*^%wb2
zXp)CQPNoCJt#lxnB!dqoWW$PxG?_>gOmIe!OpTMZloy@~jc|eE3Ufhy6yz8MON@fG
zno%D^fRaf;bQ?p!!4Q~X2pnOp(6XA7On;dhh=zDKx(zhNk-{Hxq|gW2<1+ii6SQm*
zzeo#p<;T*&nQ)s~arE(%UCYs7=`AVBC^>7y)Ee+7w1FFv?u%>azKJzr%Tr{<$}GA&
z*U<gw8oH+xy07GfUaI83c9{S7O!o})`yA7~nE}0l>F#EJ$E;++yutkLV!9t?e*YfR
z-Nu%X!E^`7Ljt`%Z*<I0GQU5^{O)CbU&s93$^2g9Yj0zI-@@Btbx?3Hzpq%plo5A9
z9&{s^zworD9<G-f8>!bTLe+NGT7eEU0s&Ed%i$cGb#gn<85pNnm)Jr1F=={Fo(m*X
ztl4F`&)CdL@QmgQ;1d{hM{mY_YhIe^7^SnW-g#fo0=(SwzFve_)%<_5ekesa#@C+`
zKY}gi?Ias;-CjEE_kM&Ado)bOD{c%Y6I#o9wg7XK43AIA*qBx>NDFXrZ5DW0Zd;?L
z{Y@000w8D`grXC~|ELDIJgx603U0~*LXsiGK?_N0hapAxzbOlDo(PaJ7x)Azz2(L{
z5iZ9IQco7txBmj1?J>-H-DdKFNQ?ewKPFH4c1{iMW3_040|P(izyOV@ga&Yg+A7G;
zB-tl;QmUBZMbZjCzpNErZ>`|sUVwl!;zRl{IkmK^>^fPJT_-iG>tvtQ3YKKo$#JXe
zWKrggh4iD8TdnD`>!fLQos>y~0)68fwgWHJ2(AtNy-fd3roRk{OIqH}^!Kl!{}R*x
zEYm;D^j}(`e~#%tqtO2k-yHP!TJ-Of^p8pUAD8qmuAzTk(m!F*KX1`LF6r-(^lw>1
z|HKVK|N3@8oO7SX(OM9^Y+vDj@5d$o7r3{Ioo#_;Zp+!nnN^!vDD=}VNX!)C@-qqk
zl@&%wffA^049no+GQex~#p)C%!Oex8WEmuWnJfe6``9uVrX)BmYa`1b=3>hrMwz#;
z3}j?P(`5FjafU2|2>HTsPYE`SS_Ri97BJ2P`xaxMg+1Y$q$gY-VF0u+0M;=8tn|tN
z1E9=7(lQqeXZV*<FGT>VX_fko*v6M~{c2Y&HFL<W=z?}d7gW!{wVKdM=WP(4cwi?j
z9`Vbxbcy%TB6DCVZxVJhS<x;m!P@&#^GT2YFA^IO@`*%9j!MdhU>ai!EaV5xgD`O9
zO`Uvkv91DFv;%2y)d#*de`u13kBpY*i27LjiTqd}B>IPB{?Km10MdWN7tts|b{g#<
z9N<lx2?$ub2?<#J1O=>1ga!WaVZsBRnzov2K1YbKa)|07;$k^Ov@7*;h&(~ZLAk|2
z=y^dq{fwwL)sL-O2kueV;IgH###0bnsS_1p*^B)^7*&BM>ASZOBoG!rw$CPlMM#X}
z#|H=+A+c!;JM&Em5WKZQ2nh)TuNMg=GDk>^TTsCp#tAFjku^iY0)o@fW=LSjpJoko
zX?>B9^E!K^W}99L*Ia64RsECWrqn<mMXDTCrG~o!sqq0zYW&e_N)61OU6va4_(P@r
z)zlj6)85Oi)H=mK(H3MWIx01Q*?Xi0;NyOD@4+BAyqxDYZ3&Jd+u5IZhB{No&(w1A
zGbo~@H`mbkST60$yKt>62Ztgh)P6*3q{L5Hk3N|RK($t1hi;JYlh$y0khF%5Cs}K_
zn;hs`c967&rMp;bm?T9STEiKdUZ5dk5Yka=F0(^1ZM`@JQDU7RjUeIrNPz`L!VyM-
zm08=*a~n1=4Bo~tXl57;Fbon5gVWrg#HzZoQgNpl1J8*S3|y=0*A?ACo!d~K6H1%}
zkR|d{G+A~YY8Qj_$VxEV%@GuxpR|d)=rwCL#~cA*KOUFKzNBJh0E0?WNY5axv5_9E
z*Fy$Gi0%=E>XMiHng4gLA$)}iUt+?SneZ>J@PD59-)iT6{rKO!EdJLm{x>B5yCna&
zO8(zx@xLU$R+9XmxA^~r#o{jz`33wW$Q-D?7W?1CfZTy=bq3tH7^s(Te=!T<O7<ml
z*0mtKbOb=N?W8jRYnBcHth00qgro)Gqmuwny@!qhta&;MuqNm*z-p({0P7h#4zSkf
zJm8ONR_1+;4h4FNPK7s6gK#<X3slXZ-u!~KR#l1A0({#nsRdYF3E6Ut<`=Y|#yP<A
z3pRHk?#{i*c9WKXH$s=9S80BMZ3!m@&o9W6zJOQfNMAUh3FwHz#ApZ_g~N@>lB6`?
z9cM{tIMA@a;c`z7wN6{LuGBMA&A(rpd1vR^0~e<h*vXqDPY?HROHEK0kA~$@DAN!M
zd@yD?-0YCa=xEr+pQy6OsVrWRr|3#&2320D(-qhBBOA31!a{_7$k9jYN9G*W4#GN=
zH&f}uq4pzFrz@%*h@6ULsn+W#(-r9|q4gyxSyDUyWfY;}k@PoUm8OH{`GD3Vw8Dt?
z0=?!Xe~Z?6JN5;S%H&+oyoa@Q^oYAz(u$K<v)i>!q50g}?kkstQLht;O8t6O`t_+_
zVCpBC`n~K+yq~KyH!$gA>{zN1=_5>d))3`L2Ix+R##1XMi|RMZoQC>Z;ykCv9ui-s
zFW$@^ruA$q?&98+Q_Cf}pg3ir-A+r6-SR1(=T_nTj4Z3%m`O)(=^|zM#-O?CVOz`b
zYiVxzkArJyp13&8Wd?>tbDqrc`rT(#JNZ(qBk$;{AE}YvLzhSQTh`Eh#kCH)lbCp*
z_Kw;a?GSl|bnUZ;wJC7CMgQE@q<_8Ye3j=_534Hi>(f8SJio*|-@`nA57R%uJTJQs
zku;Nbkj`8`&*C2K^&-sk1>*UTkR6Lt%dw?vWgXU&b@k~#%Y6Sb^L-QZ{SfngAJad-
zhVT2C@28pX&obZJneQD;cgul-QNUM{@9WWB^{m&s{`#^$#@U9aIor_7{g--{dvD!M
z@+--F@8ifq7hk`XVISjdu!{CegdW(+H_Tj~`qv%jF$?3IY1qP<hMPIlaGUrKEZU`d
zW3^nf%9YdHacf@YRf69${7&?ryOFNDKA&4f5NDX)KBjl?8hTqJ3Z!O3Bb($oXEmX*
zW}j9i*P|30^uF4%{!;znH)$^5lUj|HkOQ1rfTAM!tF(BS=G{zlJ5MCBGmm@L@c0xT
z23F4jR_vh!OPWjhp1e`ydwsmen9r@wk^$!P5$5wQ=5rTcyT#}2oKbw9`TQ93xt;l(
z^NTOzY`a`5PL=KTthoBuzQ}Yx&U9}hx=Uqc`(x6I8(`9x)`<6RW_L>ukf)sdOp$$n
zF{VCpXF>w06E{ZIfHArnJN?P}At~vhn@LfxwQL~&|7KY{wCg{x|361Npt)t{NSjqW
zB;`ClCEH9`J*QIV$^E|{S4{_8;~M=<>R-(~;+xcmha^bd_*9v1=hojY)<_Mp)#81}
z`z7z!Wb-LhkQC`iC{RR`N-4dx%*g)n7|{De>oZzfenux<FCr5wU<9-+>$a*Vr(PZL
zg}tONr+V=6GKh=RCJ=m_63>IjZFhnDg)1n+6#r}eb>{yi8b7Yt+!X(FwsHI~Mdt=S
zm!TF*niiva0_|lE|M_@aIr{aqV83qc%pq&u@Oj2TC*dHZ?-B2(Wr#u0!60xj2$~oK
zCl~}T5eNt%vhHM&wf!7pV15+?jo5eBr{h*!wuyxB2l;6P3x)Qyd%!PYdVIV1bz0Iy
zP#QS`gN-txfNk>S0RdEq4gk<1d#){tm+6t4KhQw{X#5<wKK%!atOcZ53+SarlXRks
z`-9?hlCS-&2^PdlbZJ$J>C&>97L!NN7?eUG^?<^n{LCEVV#PMvw!9CQDh;k?cZr|O
zBu~;cf~(JqKL=O$K0?yq-k|tnNCUA0bKF@TNVIFF>?`2g!}6d)Nptw5MpgM*VTt6y
z!V4@9oaE=jYc0ZqJ!@1RTpu*(j0S_zFtCD#N0!mh#Aqln8nTRrIHSSNXgIrqh8&||
zn$cj5Bk+qi2^u8gLARttL%&4BLlzo#uArervQMi@G*m4#R4p`|k!V0aR-j?lLW60c
z0ll<tcr@f04RJ<8%L*DcFQdW3XwVrA2BX1bG+5)QQY&aEG8z($20M#U_nQR`aZ5Iw
zk!T1=G;Flcuyq9ux<rFVqM_YFgG{IejuH|LC5eWVg$A322G<ouL%q09Blco_Uuc=p
zkY_YBub^SWG8$ZKWJ8V65LqJ`3M*JBF&2`Hg_VgFZxYFnwy-cQvCt&3Fl=D~ykVUa
zEEyaU3w{d=WlJ*TBo@jN3uy}r4hswZOTxnS(VJ3?g(>Bn2x*T%Z~7dm1)CTMi!2sw
zEEb$=#DbM|nd6yo)(P>GGT~A+$E(?WW~~J^&lh)yAVA^1N3dvQY5g(%@GyS(4835f
z##UFdPEMh+YBtUh2uPEZd8i52Bm;zk5C-Dmc(~DZ$2<>~h;!Rs2PF+k-LWYs4p=tf
zPtnC#qlZusMUT9UhYAOT;xxrc>W)?}fTddKT<C76q`SubNSA9#nxm`P=9gzlW~|QT
zv(&;}>wJ=Q$2~#uEwUuneS$Sd*@#86`N)!V_p|0$mKJD4W)u{rNmE$-ChLuI?jg>N
zIccNZ2zq0EUt*e(FvCc2tstRw83}eFkzlgll#e^~?2*QVHK}fX1ql_-3Xuv}gm4hK
zHYm8%{&YWSK_n~`oRui(mMB0ccZq^t3k9+xljf8tXtq$0w)_w!1qTZj4$`Dk00)zo
zgoD@fDqbBO!QePC57$8~VYkKGU0jW5=W0X)xlRxSMM|DT3s-oHVKPtBQ+Dx9>l0<J
zMa=R+Q)X$9zcd_NO~2yBv&!>USE@J#5H*+VPuKo2k_Fu#V_C3~Vhx%-K(fF!$g;pq
zMOvVAGkI6EYKo*m@gz$FgAWAkP$xF3QEBjcC}<>VeCd&e7>}zx&5KC`?4^YFy-l79
z21gdA#j`~6CJq+%au>F49(vzR(2$?0ac8m$cW07Qi_o5|@e|=nU_k9m=2Ei6E{*{k
zxynFIC(ZZO^lpkQ*ls5bv|Evd<Ki251-dXWkRN9Z7&I3bpK7HJHmE+#BahOg*_Ctn
zArQqYCF>nonRw7B5-ufw=2By-_0NSWL!it{Cm|uE?-g&OWsqTzWEfcUdaP!AZiYck
zN(cxF8Ao4a49M<enA^n|Xe7V>YF>LidnrQHkML+`2M;oC;^5g<jw?P(#3xVMA}tke
zZPdY2kv-hLsK$+aDtu@*^J^Q3?2T)NSM%EI)4j$7ukg~vbiZv4-BV0=t8ygI?C)Z_
zSDEgGHFRIwulLPP_X^X!+%VnOuhPAq7xiM<u~#ytVqP?&D(81WPRRjYSmnG%ta5~x
zR`{TnrR-PPm`^i1wW`qCws0n`Y~F>}465eW0y&Jg)&{0DIDta~^BQsAY}MndJJ4u;
zuxs$r^MloTg2wZMWpicigq0s`Qr4K<hhN53`6xda;(P?+`~?!{GI3Drvr>f96hqM*
zGDTRn^TInS6rIs*GC|l$3Brw^eyTlmZGGuyEg#8uq>p5)^pX66<s;d<;v>mRe_5;a
zk*vSKUzU+RlC<=ZoT=+eSCLRJzIY{cfXlNAWv4=r@Oh~RZjgH56H*TxvGl<8QV(pB
zdSJh$2kMp{=$Cq6PU?Y^mL6!c^guZQTIzu}_73P|=3@tJlq#cj^pF;`>mJgA`rgl)
zuujLimUEI8l=QO}6sH3KpE^(WgjSTZn&We<2`2<<>+ssRjIxpbV~&~!g>|bZ4KBpM
z#i|7wnOEGXG>Fi*)N0Kv;f_<6X6^s`1RiM<Z_^fpc7CV!Es}>`s;AT1jw1A?c@Ak_
zp>6sfS_{46qN5ROH}xve94%VA(3-YryI2a`7c>uAmoDxLuJ&ucPnq2L(?Q!H-V>zv
z-HZRXK@#2<T&<M2FQ`-1#5lcvpHhQ=UvSkca&OQOcu$btbGOo!;qKsScFo;NjzM28
zS1y;6lcx^7bn@)^sZ&Rf9!-oNJz6fuM7azr83javl2)lygx1rIo4+!dZ1RU~BZFGG
zH`=$fl*{GL|KO=F|M@q*{mk?K^p&rC<=nxqd?lAVEpj;w0YDj2AgdRP#hQNG?ptrY
zwWsid^L@Qx+haj3cSp3ZTrQPLfxc~bJh1!L9k<+Z|NZxOZ@d5gQpty>;kQOsZr~g|
z&?wn^@uinve)-7hP0e{TY&$(CYKNoFd_J8{Zw!9mw}RpiY`^x=4}Ijf9u&Vz|Fk<s
zAE4Dtr+e`hY{nmi#h1c?e?6@0dO833Kl;KKzVMg-_}&dMU)c7KFV?DGiuMf*Y}l}2
z_pSH5<%vfhzVDugaJ%Q>haTFnVPpS>4dSC=+rXYZnL@-{DNfJM&CM+)_UzoSA#7`H
z?;je7`n(3d<MOS^+t=6A-hcmF)^8c===+(FCvTc&aWP-UBKq8JES}b`zJadRfUm8y
zv(w$t*=d?S9j~^B9Vx@`+wd*J?j*i>y5ehZE@Z>Dxp|u_73~WI+-`Tv@V34Cwhj+;
zZ`ihNTl2`aZEkm$?skijaND%q-sP~{?YfX(v)Hk@FC7cpj-GI}Oh^0X=a-h2#?PL5
z_2tRaC(j%^eE9J6$-{@2mZlO*OBl%ol`i0L6bgl6#qIZaJTCiE*5wM@y4pphCE7PJ
z0cd>p>1V$2^&da;?We!})KgDA`>#(ub@b?T;^<NFhhfyB1^iA>x>9TFYHx4%HJ@Lo
zmclk~yOHUM_UU@9R?FuS^HU3p@%ZAx!a{0kVWC#5;CXPA&0Z)t?GdkTH2M5~zsEhZ
zkW7Sa<w7cDk7_nsq<LZb*mK`{;m3!M{OI}TpC5nu`RBu0&K?op0TB|3c3;G6m|HfE
zjEoGf``)Wl<6&DZKQq}H?W<M+-E=u$C}vZcY`$8p>N-8A0n+Fo9`TnQctfRB1QV1E
zvl@m#qyH*neZ?YBIFXOVQgi2~=az73HXA)>vjLnsKALOBbNN&{pUq|+{$dyt9O=K}
z7<2qxLGvJ(P~PrRIQ}k$<DXDC{!YAev+#(!6pp`3;rP20j=xjk_&Y~eIsQ(C<NFkj
z?^ig!Cs$0)E%W=K7hav2A$BJ*kORL5#>Z2u++G_WFPFnwZ*N#Dm!myPsq?Qa^ZJ+n
z^sirhkyxEXz!G>p@U3r6u5x<yTi?p%!rC2ofKIt+Pq~=$_ielLf!(`z-m>rB`yP2D
z7%Y{D{mbC<z@bCaU>}RiUpaK>8{Y`qzwm`;p83W%qGmoh-~YhqClRu+eeBnM=~q7S
zh&UjANBlAVeO7$dk;&xq_+PSk)1Up>v#SjL#XtMA2Wq3W(eNX+A^iI!{^3!yr>!;6
zyMF7gy*qYn+qU!8-M8JgXHOg7#5=?K!a_RYsa0p^=I7@D(lckm_LpCtoIG<T+LO%}
z(u>*7!4mQYGPxXxzI;PZ*RUu=jP!Ie`}rQXGtko7(bL=B-0bTe>ap89I_!408~+oB
z?by+77=|X&8L+o+$BypquwByvf$r{TPm6zGc>T8Bw{003Shx4y-Ci&8c1sKX7wf};
zx4(UZWbGLUpt+8>zkSP=u)SRF>DjU++EXkhXA%n&=Q4{6v2&-+#bT3_l?r&VQbgn~
zFh5rY@M~IAYjbmRZEmho32QAaVX#0n)S8T)J$vrZtBdE)oICT%p_!S(htuh>hX3Ij
z)$=(=#ADdk_4oAj_;We>P)`qiINB0e7I+%=oNrK$%K3C`DVa#c78g-Zqc3SbN5re?
zexKjxYZHBeHqm3)otfFwul(@n(UT_*zx3h{e(=Hz*b%yk7sLASa9hNq8=E#l9<LuB
zzVpto{T=Vvx%19DqakmtDr`nElZvN{#p>_MnoJ{N7&g=P`H-(#(OqV0dgAm{B2}q<
z2HvW$a6}B#<#&Hx>R&$_G!KHs<n6r*KmM%3j~`L^@kzY%0r2CK3P1jw!jJD&`0>38
zKfYHvfuB_P@nMA@w<-L%tsKvnavEq`T3X6uC-cdfiHQlKb$s&lsZ-;Vlc&y{IWv*3
zWT2z9>67PhTSysRSFTX-wD$M+H@U)^(-U#&sOG6u^kOL+LFJ}BeR4KFU5pIJ4j-O{
zD4RL;{CB_mU8mDoJNBLb@zt;V&+mTs?{Pago0>$hv(5J0)3_a(a&)zTejOus-+gyq
zAgndDM_e|W0AJhFnFXW`Mz?L<yL<ak3jo!;eS5FXW^3KJFBlAh7uF4LdDlDN`Q(Q`
z{Jx+5>7Tyijyrat;Ha&(anqJ9Te{8C*;6iCcJc&{@zXP5-*gJ+L3uHjfn>&aMJ8^`
z;~#wATW;|jKYrZx_~RSFdx3j@=|K^ufA*=VsU7?7e^mUw_&sp_e-+Q*-(NUC`N>cI
zFTeQVpB29rZmYcKz3+S9`|j{(zxlOR*X%QY`zL?$C;#|^aLaS&u^;&($7f>kl;*)-
ztW~4iHg4U#d9VwoOy|ap{Vgpm-NV~<?b-#-*giD4ch8=E_uY3p9*=C@wn;pQ?;mKz
z&1+PXahqOB#~>FHnXtb|=UFYEFO_kQ=+#ecTfFU-{$X=jA}DJhJ(J63tS4&2_H#&6
z);}5S`MlQM9l_CdK;$FhEm3>XsFd|;#IQM?Mx@Jhc)VUO{zTE;+7xK^>bgG=2sD?n
zVH`d5rSQeQo@zxiO?Me*RIFHy_=;f3n$2#Sc46Aw5%kR7R`lvMuK}X_+uOZZT3Xlj
z_V&{6?b^C|>()WPfBn|2TSr9Jgx9LAG6<F%?rJL+gxB3th@U-sHd7A!Ysehcs&=Q_
z<*a&~EfGv=-c~sJ?2F?Wz$zDuWdM(KVqtc67U;Dn7RS$?otT+f!l!4>o+f8OTRB$(
zMU%Oj)5Hnt@M23{_OO<(Mx0eRk*ZZlvZ%;J+pFLCpWmO#;ET3y-rPx8Ef;|ONK2uZ
znV6iKgUUBEGn1YgCpEk^olk=m@-@@ri6@*H9jsuF_+uw<d6`5hU#S=_;fsi+=r)jT
zZYc>Oq!t(BnM@|NL_!qbHWptzdFte;<Ht{&Jb7|@W_A%R21BhG63&IH?s8XZhSTly
z`CKMdh<i2DZWy|*)inH#v27El#wTKByj+=>NID#j;{3^1UU>yN+SKC0k6w7;*>8UH
zdw6{Q)QNMj3EH&t<G3x9jIQ27#o68m3Ae5_>~FGRcXhwt3C&HE^-pb!lctnQBogUd
zE|W@;-hvIrCN1TPOR-oYm5MJeE@GSKv9)$BU&43!11*z@;7c74Mg-N__JyVvr^EGM
z?3215Cd{Yw*o)_*c8u4PZ=Ifw;5a`ZoDrc%rEIL{rL!xt(XPlwJ7gpEQ@1O!QH@mD
z71>y?qEYP`SFhR!+EjQf4Ce#x*3sP^boW8JTcEqz%3Ya$iql=5?(pgu7A-s`udk8(
zgsbU+t>=AS$tuWmPHqoR2f9amf}G7mJT_S4U|of0{**ZJV2K+A9%t`to*&I|9b<vx
zc5ybq$?~p8-^;DstrvNySFu{}`en6ggsXE*p8ezJo<@C~-0YRH1bE+JozrIdX?d01
z&flSZp~wrKs<Q7rOP5U5%XoX^zW3LQzNyHrcjfh>Z}qO6!m2W#L=N|%oMw0&WF+mL
zPsr$-Mf?gAzedEzsZLjCje<Hyq?eztX2s1j^=(Xj*DCeb_+3U<eGfOnqyUKk_*u#8
zglX~cI-$4GxX^Z3UZ<S&I+dl@sc3nfVwTrwLVBIb((9D9yiPg3Y*fn;Vx-q8XdZ;P
zlD9^@PR>DeHH7EIRAif}=zaCPPO9fo^*UW7`luC`Kx-|12KVqBNepO`{&*w-fK?(u
zs~O~rs@drt^v3<!XRV**XC?9RZW~b_t0X^P|EPITSU2<E9rYWL{5ScZI{UBs9!;R-
zVjQ4$X?df$I9H$lZzA9V&-+aoAlQelYCkt+z`tb~aN~A$%Tro08j8iq0>IizN&wbv
zWCMg`S2qV~0(i<!h5%NBECH-0nF3hLWD8)OCu4vflQqB}O_D`GZzYoetCwto<*sg{
z=0OO0c~c{@7wZarVOKY|q8B-Xj)U@-1#x;P{xDTDZltRlR9fgd@vvMgnE7rXG(xlD
zsV}sT%!82Z3*Aa4g6s=zRLM-h<-tMd#8bvtSegnvI6g_{0$yAqdx1Mb*GOeV6KS#<
zkgY{cq{(u?o04QYT)Dn(H!TN}Dyvb;o0`KihrF>GpPRNL)xO@;9Z?XEJfxf6gRAE~
zxM@B7d$%5LT-~u^>5fH9ceGo&qi0ojlwKt0HOsoAX6cT`1-j#mr8`zvb;q)$I~tbm
zXkKC6(WB}GS5kMhS-PWxbjRGP?zp(BJNho7JBExZ`I*-$kMpa_qm7kE*Q)ZEvy{gL
zsXR9BcfOht2Q{LiE74}k=#|}Kj#Ek}<+Gvc!8$-_k!|9#h@areW=;$5<t5J@BMaP4
z%qkntQhGGqZj7t0?`=<U9`_`V5zskD-zJcwPeq&`pk;|K(8EE7HZBH`)qT_;R!+^Z
zA;Aalbh1<437Y|rTBwmq<JbRso`$Pa>l0_HpJA$di0U$S(7jJa8!W<GO#^*Q@h)C+
zyf3m>r2I^!AU~6rTZ#}Oio<Nnbsjf%maBv-yyNo(1I-zrctc=>;te}LpluR(rAQa6
zIsBC6+SJWiuChWLuVn}XTBRiGy;7XzS|JSJwUX?n(`c2?^}#@%F%V}Aq*gF6!5GLf
z^IJ`!Jxu%-UXTq+P)`u^OAOc<13tz8vi?KD|K`AetmFa3$`S){iGh<611<{#Sp@@b
z3j-<IG<+&9F<?pzG+7wXEezP-1Q>`h22M952mDO@ZeFYdAh&{nH?JJX5Ntusxz~{c
zPALbPEew<`3}oNra^NNgXga{Z@3Y`01_%Q;<p2)#n`gmQKMSt6520=au(3quARGiI
z$R5OMBZCmDlY9vw8Gk|{<n8nnVkC0<Xn^cOJRTs!5NnAP1FT3)nxeHvwjqDCMnd)g
zMPzX299xb&1<ixf4~{!^N~>GRHgqfb2p)PLvJLCaBUK|$Yy9d;Cbk-RQmw?b^Mul5
zCgKvN$xg&zQnC{%@DxT~4ON1UBUIEz<|4<PG%^|Sb`RN%bd@2agX~839pK`zr8MLe
z!&>P#l<<Oy_n=ZXg&za>wPZrlmXQr<?ar0(IKB}ZQr(>kJCMsMyeFt>3Qc0%YuN&~
zeMH)WL)2=F+Hgwefd>hjc+??w(PA~8PmsG>+7CI(d?IHA3^D3FM0PdCF<Ex>^|m4}
z-i>(C>K=0pRWJLs)=gwZZhexh$o_lTip<a+P(B;1$aTBfij+eaamkv@bt}mU*2!~Z
zMUwY~Mk+P#L%5orqx$q;<SER@6#7#a+K&(g2buWt!pW;7iQmP<PqWJ?&anz>3UrJq
zZ!qOoY{y2>f4Nt$W+K;{u~Ao2!aa1HF7yNuJ*2mBgZb^4EGDo1=V&P~^sO#p*44+z
zS_p|*YM)c&CMpTpMMt1PN(j01*MRPgT)9g3wLR2q!a-N(<mNuo+NDH8n$4}ZqxeZ)
z7|dg`sbw~<m7!`-zG{Rod8NZhh2Cc@|HfuIdK>kcTrS<!GvU(dZlQNt{D{7}TlV#V
zScC8j>AM;H(rH9Fm#y?9Rcm3f+GUlw<#3got`^Afl%uv};&S8Hexb*RvhN*1jp~8r
ztr3auRL(<no=|<tn@lG!Q{KQ~#nRj1lG3}Ah%eh85VR%f)0~N(<5cBYB7OvF0?9YZ
z(w5ZM__u0eh5FZ9-d`j~7ZN)~@(b$}K|u3%lDuEHm*oB4kFdP2N{^AdmE?WPdY1Qc
zk`_LdCje;W0(lM5X&3U|+6b)7FOA~=N?<_E#%T-#4yKl`4hFgu4CEODDaJsSF)%|I
zkY|3aCQ(zliGrIbKwA4vS#VPpyvb28DNh8CJQ2FroCp<pBDh}jL@3A;0p4@vM5qxv
z;6$iM5qk4PV9n^JUT{@CN29BKV?2s(=v1oK>(8UMlUV@Yg`4aGtR*rGux80JfW8Mu
zN0qDtJmoC1a|s<~^7Obs1_IVRSqPkx8^<7O0}7&474cD984Q89NK*l;%?WMsb^J${
zlDXVS_KCVDs{cr}5tZJu$SB5mXz2nwPu2o`Ycdx&bJ;~E1ACCxk=ei=B$G@BywOLt
z0~{c@@-DI;*n?Cc8v?ItWJF*^elvO2$cI!VOM-kzQQ9Y{SIC*phcC~bu)~5t)91SO
zgj&t3+ES`6saEr<_QYBbQh+NrhxzQU3ZJDJminO?MyL%f^_G?XBiULiq)(6>4T&bQ
zp7T^O$(ke@xZwS=-DD9}zIaD^*^aI!GhCx?vXp{!cfG2eLhvZU;RQKwU|>1*4ebXJ
zlTl53h|GzukFz;pNcT~-m&}RfVHMOShd#JOo1keqIy|%)RwPSgT;jD9H}SgM)8ma|
zpq@Rk76Wd^Kr3UQw1R;QVSrqL5(RP#h~(6J7_&WAQP91D0*z2WTPkrt{d`n^N<AFh
z2vx6SE;A0&gafVGPc~&~4G6gZv?)R0v3l+;gP>UffnkB5Y=MBMb`u5~srtUqro0vy
zh!9bw6C|WNR_Ncv^k2vHudo!bI?GD?T4ouM?Yt}nsErfoZ?zw7R1Vx2^p9KgAD8rZ
zN&2@*`tPxX0C%DHN&0tL^iNwtAS3Btl|rC+fe=WO5NOz^c0K4%o-)bSEi40KD;PM=
z7|1dPEO%;|-^^)fg4)X>q_T_wJ7d7lG5}@KBm=6icNW|j7+978DT#rk#K5@3K$C?5
zo@wcl7-+UIFu&#?uuBa1EeuF6BUplmHZ&>&F2%1}PZy}?SFNWD{Dcgk4&(hK>)V+4
z)2}4}Tts{?5udJ6IuI=GM|)bLJkZg&4s<EkU9ay$BiFswo1W&t$21Y0=J?8s?&6O7
zw~3F_lh(Dn(0mb(T6h|Xo#;+&dgawyeYi9Hq|V-D`=y=#SM&N+9eM5fe{*)VK7Re?
zm0yayuZMY6?^kuc`ZT|!8ODBQiJLQwm*d8BQn`P<8ODuhd)I1Op~~?Qnxz#He@(*6
z6pye4CwxKiCzkdurwnXZ7WduszKXbomK-%059z0<vo70xJddm_en8LXS>`V-%lt+(
zeznuK2}|%w_PH=eS9|Q5qbqZK>6_zB_E38stR3QSq4B#OgT^n~gW@m9@ay>`8-8wS
z_$AxP@SEAp^k1T2F+TS^wK&qM^JMttpOJ<i2aiPzr(&Zv-}OKMsp!A}rH@M#7%M1n
zT!4aMMuEw-7am4ImQhf>5Cv66fu;AS-W({fStxKw6gVUbFo#Q`V4Z~mr$j+fq9A9X
zV9`RsqJn~wg@PhoIypdYa1_KC1*aGVO)DrET1G)1PoC&u6nGg0os5D-M#1C?3ar_L
z={2$dtkAgU__bt#YjicHZmJb(qmF~*IU@g2BRy{}E(?kl3epk<tr7)WEEMdsP$2Dp
zc!=8JAu^(xZUN!E1%#I+5Q<V9BrG6cL=%7zU*3a8a%rxQJjgQ=;*5mc3KABUkx*bH
zbTAU!jD%)J!UQAX^a>ITJ{4Sy1j`R3nS!L^jeRN@77|Q}gpx!;+CoCWLPA-}gQ}DV
zWeWx;EExPq!a$cWFfAC!!AsImZuC^RR?{g}y&$A7Fba+;x<N?ufy4fU4vUU8!XUs9
z7+?s*83M-%0^|T(<V9))=U6NFmt`(!L@&D1*ROiR>s4Y#i1HC4JNZK%!=km}+W&$c
zZxf%SMXCdoB_ikV6?ih|3{jp+*q{zjHsL(|mS--t3iI{sfUDEF#A;=!aYA4xS^A_M
zX?u9?oQJJoje6LT(m+lkbcMyw9=_<NmAP|P&%*_tJ6Gl8l=7Qp?p)TIJGUU`jdaL)
zBfI3hk$!95$ObuY#3tvBIIVdjUdpS1Cb&+{8!5?oBgwk+MjDa+ujK)-2UkzPMo@6+
z9*{hj&&C)9J?!tfM|_NkKFkoH4*P($1OT#v$s&-bPY?jeFu+bwpU<PT*qHjxRq9{v
zwO?vR-KAf9k_Smmum@l(U;EGVwLig&he%IS4HM=lP=v{<r2We){%=HjN~cEa(~vGl
zxYG<eIk0srr6xA+{klF9AjjW)iD|!nMFKp|5?~{fzsM4Rz5kRNP1_*>kXexc8J;|O
z{(4NFG?mD?+V|5`Bj<`Ws6>fL-hqb~ED3N_N`N6L0p2Plz@3%^=#>({EhRwPnu$XZ
z$^UuD|Faj&oitbGPBwDxT@MUI2mukM|4&RF)tUZTrhkP608}|T4J7@SR_I@0`sbPc
z8p{BERR%Po_g#rNusU_Jar!Tx0P~Xm>f}+(AKgSbqTQ1I4oQEXMSt1n8Lt%x0k93I
zjKqv;6$=D%ax-3TT9pLXY8Nh#3uHteUpOX5r`6gi3R>Ao9+4(%3hxH71zr!H!t3v3
zkH{>IqsOPJv|6EX!|MN=B9#!YO~|Iwjq3kb0tc730~K=T<NFrm4#4Ke4y4xXK(E{Z
zo<{Akb|7KxfJ5$pA!9%eYX{_LPW;ByHQ9kTE(zD}z-wWkP40jpCo$Wt9Z1R@h`a^@
z3KjySzf^ieZfqVXSO`c+1mq+F<|P7r77z3(JkVraf5}3CU+w@$0euz%YSs=^uL%Mg
z@rGPHzg`CPfY?sC16jEPvvLQ#)($WaWF-O?tsOXN?ZBk61O5wkp!O!&f%6syo{>8c
zlRI!i?tpIXz$S@-LAe8WSvxRc?Ld><0jHD#ZPpGXEewpmNp@iEN$^@2XqP+SmOBuz
zb|7o*fb%slU|2igxVZx>JJ5(-bftYEYJ^bD22i8ohUOp+Fc957i=|tW(-3a=!XNT?
zcsw~pv^NfZOZ+{SY>s-E81We8d>9i6@}n51(&8_%R19Ha$&|(OSeDW>1;99ZLY$;S
z_D1uDsXIV<k20|DqAJOi9dKJaFf%2#<7sOLG6l*K$2b>iNb>))_a4x3UDvtrxovvI
zpm&fUSVU1>q>8DLWGS{I+lp+*&Wn>pJN+fkd3M&b6WcEjgCXJAUjP5>*m2$;rx({3
zxy4P6Ey}Vbs!Qw@1kpP%1=Gv_?S0Q+E=Ym|B~T=@G7{&`orXEz-Fu(2zq5-ry1)pW
zPKz(&4Bmwc2ec(RfWus3)d)B(+1GAM_O%_P_l2Uuth>a{a5bX%(tYDv6M>DKB>d2A
z7<weKCoI0Id{~5)4veO?N$kSG=Ov0yn><atsCM!xmYJic#4})%{^A=VT>dpYJv~dd
zRD0@0@i#amW<&~y;r(Xt%!MT3^}@j!uI?5(!%Mq`m<L@Z4j~hVo2xi{K;qCGqV6bK
zpg>(gwCPFKoq^*-ifTv47>CdQ6ga$>UY#Z3*M9agv8vkSBrp@kZtaB^#r}x!$X<mj
z*@d;h!WuDr=`!Ipv1m52xW0nLSCrq7Sa|Bh!x-3MI}KZ#<j@)I<Uy8+7Y3*|vG$W6
zihdlX7g!>mKEe_ai?i|!o}mUK7q$&o9t9~8wI&KZRTSPOQE&ys+c3oE3gRb(0(FMk
zqn$WOB!hNjOgxRl4}VPRq|LGCsl70Sj;MPOZcm=Jh9;blq|1-OrP_z(`vo%at8qmX
zx?3q9SKG9aS_zS?gB#b5AEozerYxx6c?x>*F`UmW^3%_q5&wX*5=Ray1>QQj8mxmg
zmS*`pAvL1OL}6o97JgaEf<$5SCJG<ZCMQf3j_`1wKSdg$e*5P@;iG4xpp+0esi7rj
zxgra;UADb2|9rdJddKt%7jJjgMiEWH8CbQq5Oc8cgC>8{Ly4)%VwPelrV}P}@B(Q9
zEbQZ?CQ6R0xWyLCAo{fE;@4)yo58J;3|!r#M@j@Xd)qO3_{3lhT+2q^&ZCd<=ttz}
z56aQ+vy6UGj=m&EU%2K*f4*y9&!b=9(GSVdACjYgf=8d_Yrh~zUzDTIT_dA+^R=(X
zwO9Dst9<P@NXhRwkK_-?(Z9r_mo+Tq=ruWd`$b1@&7pDb(mP=o!ekuQI+E&wd;!Tk
zB>!&Q_nGNcQ9QT>ROnz->6RFn@;}TH@T`=8$0Y_|Vhl<w0R@SHE-`Ri6oa*n9e-8)
zG3|;1gDFTrjwK+@63{G1znLY#%cF0QqkmeC{$(0H0OM*zh%1o*EJ^?-34jZ)1gw2?
zUahC_T2_TxEKmHmHnhl&&t0t)DG(O@%Ds@rf5!`rhIl&;$uV=YjUz%RxsaARnBI^q
zrOhVTKblEX?11+4C{=aQrqaY2XwOZM_jt8qkmY%OC~jiVQo-OJi9xfDe%5=m_y{_h
z?!i8a87;5S+^(VLDtpi=aR_Iz43GMiF<vZB@$Rhl!W5-8U)>lGV~BC|s@r%e|JJSO
z3<^2;w(^_6U;-n%v03~M4x5@qEe_MCC}cuA^;33;29NRKZ@(;d<H^Z5Rq4?lJHkG6
zEXm&D(IMJfy4o@Dniw>j7;LU!@Lq|*4I%N{7};hA1(A@iNEi$pVOQwPFdzQ*M~uOE
zoVM7s?;j`6K%0oOX8deW{Osz-AZTLHWn$1>!Qhu923>XH-5An*h*B@KsZqw@<SQ%y
zhmMO^@Z`R4Gt)G|HJ-H}o?$sy$TP)sI6*pgwabCe#Gr*Scw3uzzo`rNOAI=KRH{lF
zafp`*gGpA96Gy42m3DfFfqC+K;;T5D&hcxHPmBMHv!avD=3<bbFfmx`{S@1p##Tzh
zrM@hFiZy<17p;xAzJ)x4ruUnkK@G>#1vZms&}GKci5Z$t5oH1jMJX_oo*Xx0tP4ET
zBDC_d>?N)3*yl~7tsdvG`+4l^mW|zvF!%7-o8{O!bQ+nMG<GwmFfGT<W!(i;_a=Yn
z>b~yF$9}%+uJUzv@z@*X*g0(+NyjwyJYV;O96RdTV})g06Jwv2*L^=<cMo6pX1?wX
zQs&(jnO`Tz&SZz`<*}D}>_s_t2ammG4ae@>rBbc3LG~6_(D#*A!WWLEF3GWHc<gQ-
zdn1p%UXI<A`669+ta~@XQ81#ov;(a2qcnUxjrtQ5N>N&dKxhpSuvwzX*H-HfNd&&c
z2pEijixKch1nT(eZ(_-RtGxPSJbWKteU-1iF2}w+pWyY<`d4@Lms|VuU465dLXgMa
zEyvD*@+fF{-b?Rc;cub)*VF1<t>a&5Z@}sWUXeY+L`J-X1<L5W_<J07G>QKTX7gh^
zu-+k;&Zd$htEG7ZTq`P6n^7xs#}_SI=9TV9miG+iGqgXd9hekf!(lc@)tR)zF>$1_
z-nn`aNSO%Cm<Tj70w2F!BH&cSLm0{80Ph0ibt<>06&&Q}YXyb<oiTHt6iA}Np>|@L
z_g820jKGlum3zIqSG`)=#cup;h*z#}-Y7urhs8fC?*<o6{!VKh?-=$3L=Dc8GgP!x
zn?J?EFgZr~2in(vD*iVPGf5`M_nj7hhcoQ3qH3WwF@N#>LaQEJ2{r^j)Wo1{V$fZ|
z;O!EF7C-ej(l(ZO)Qc&`U?Ijn@zerS0AD}M7)&MEAB4~MMM8wDENBO338t%E4m1-3
zn~6b31%o$A47>r}C7gAVOlyfn#$axSrD9-$5{I-yFNh!FFr8*OczS~50KOD40niRo
zkgFR5DF-lqCI*ca3}6pf7u+6Z#fD1aMZzG%kpbYr5N57TEU+%T{0j46^96ARPreYR
zY!nL0&~Y%@sh;Q6je(X{O*zn4z+gio?-1UzSzL!9B~pyR%sgWt<=~m)l#`>)nHW58
zVt}+Hji6{HXZUKzK<a{FV$f8PgY8ldBnIIv98v;Zpct8%ImY1BI8TYs95XS<vm8_~
z@Gu5w2cT3iSc|ox-QpRnWq)8Qm1V{PpQJ5*rTq?K0`C7)Vgh_`HJN}`uF~i#6BB^{
zLc#zEFl;g%IO5|<YK{`FM_)EK3Fk-^@SY<CnkffYHwKk>=rP8inK8Iy83whCfxUu(
zhcTFv7|bvRDAo@QCL{()iNV;liNX2gz{40A6%1UA!L-DHQ;ww^jGTqR$hCsOywrsO
zmV<hhgPT|mJW?0x7z1|&15+205(5?^CC73wCo#xMIfz{=7^o5hoiV6m3~pcy+!6y*
z7cvzL;w%S;BnHp2E|?h1OAK-ngZQ<A!7+)!w;2OJW6;GIC=!DXmV<Q_4DMkJPDu=s
zj6s3rASE%Fkr*7fRxnsTFPu*fyo`aTf<ZlF!11QA{j-cgo-tUE7?dOix&Oofr45(n
zMyu!S3_JFM{bL5u>NB0q9iY#TSgSnDm7=J$ku$VWtUmpOjDy;c7w^RRBT4wqKf-co
z=qNRD5Pu#n|9)?{{J-!_4M$aI>+cYc;LK4^K60<Rk#<+LMH}y!obl3^_KHSCQI&6_
z+_iI8idPy1YebzkdYZH8p81JHp(n>EyfZFQ7(F6-OcZ_(DEv>1)ZfJm=k~kVm2fpu
zE}y1sVTK`VBbHH{^iwvvQf@+QLV0_IMYBqReFaH)wchikMipA)>9mrAJ>Y_$SG;em
z6(1x9;S0)EU{Jtt+(l+lGA|KXsLjVI*H#-H7xg#{vFE7%6~z=%G~IO3<Pa8l2Q|m5
z3N6{pE+lh_E1|F!5vH#Vg_4Ovo={NV*@eOP5e|<jZ-&=EjFG><9(4A{G;wINS@xjM
zq}YQVj#I#d`d7y#4hYPkz=Cg$i2nzNGdbqh{yjnQ1?OtSO44w)U2v|UU05*>p`;S+
zrxkSZ4gA&}5sDvBKc)Z<8a1Me;WnzD{sPAN$2gA{SQ;iXly9jWndAV9pS>jh5oa+Q
z3(R4U_$JPb4sxC~@BPAaDHxos5o>81SH_^sAti+(?}*>4QBA_I_zY4s!kl(6IV`r|
znes=J2yplf3~R2$(lAnBhUrX9?8B3f9~6H}ui4m#e90}ojx*PK&Q54}Yc)gla_You
ziZUuGrYxu=3+lU@G5mf);tAyr=ma3pJX!Hp98P_Y2_!H_a1OOo3oH~;8h&_Ed;w36
z<oUb4yC6P;vxJ-N=5P}!#)UOvEiA)pL&2&M>U&y%!Y2rYpDK3)1*n7O$#LxYzz;a*
zW_poXf>U#Rp$|`RK-LeAn<#MIBkjBM%r?edw2;!y)YI&-cD}UDvd^}*e8TcRKr-%>
zyFRqaK0pno55-*{YGogwX|pINYBpfSpyavh!=mg1G)GZcSW+Ha>iV!2Y{KP3fcFXT
zdlzWOu@ZN@3;{nQU}prp5`nlxpv(xEoscpTfklbH#5IY)`DDP(2-p|_w?se|W=GwU
zsthD00!fL$*foLx_d|mWOt1{d_+yrVW~l{%^Jqaq%7DQLlvxW(5`mmVAhCqNN^^q4
zlA~s=-sb8wbJSeBl%<YnE(@<{%~7*jL&pkTFIJixsa`oY0;mcv6rd7)+-G)nh;k{T
zCIW#<Fktb>Ph?3F_)&tSf%@$(&{v!yB>E7HN^u8$pzYDk0X@?41O|1{M26pG*?(SJ
zn>b)@jHo|iX~=Rca*U<HC#9i@rJ<Yk;a;f^V^SLIEDah<gI!9)tdxesO9-qa4OTDm
ze3gvW%8OiC8hmDNv=%BpqOEg~x1>E}2HGV{Vja%r$9NgIIM18Xb3^Pe4o>p^^Aj(K
z@8d1ljizkQ$r3;5aq}XosgbIEU3hJ9<;U+a$KS}~UvKB}zs=8qhUp^JFVSX4c=?xz
zakMf*FHhphA+BMrJ^8YD3}Y-rNJ6w2PY;^M!yA)L&9ul|{rJybDX%tT)oKkcJv*_*
z9RKY+{`=R92We&WdF5?bB>gpp<f##N;t+Dt+q7BUhtN(x&Jmag4)IpxXa0_J6OolS
zi?_Tu%qvN~NEPulSBCP~u67K9CI;&mgZny73_hnkC^5jU;|`3aR&F<rk-g9c_apms
zk9P1hho64tJB-0BH;>hx9i>DCt&r!{bUH;}f3;&!XJW9~l!KOv9NZ-_DELU2wc{G^
zyv`1@GkN-XmV<qV`N_w=#(v^lhUMUe8I}W0CwEbEIH~yI)s8`piNShP4r(iMKq<SV
z3wb9QH0`B~coK)1amHZaAP2DQAD}>c?Yob%j~FY_?4TV;Gd?vn)JvFhIw3|T2CG>k
zTUQ4T(2i?a=lO!!NhsGJpdYGsQ=pB~bq{tO#aqJS)7W<uH-^Qh%$>)Zh#pkN2WjW=
z;65`u@fdm0_~hf{KPwB9wCQ%#tm%o>mddX^M?Au+*9BJ&g$9YjHb$Y1Q3#)d!e&Nc
zm{E8^qHso{u#ZuQF$yOn3iA?$<JTk#E6G9^qcFrMJSR~Yk|;c3k%c1?g*l1B(Q5>S
zkd%cUmW3vkg&k5Bwk>JI7Di!WnMO=Y6kcK!5-ba6BnnB1!ss=ELXSk@Ax5E*QMg^A
zaQzYrrbZlM6uu*6;dzO|ml%a4qc9{<Sd=J?ttkrDXzjK27m5;v9HUUfC~T4_tY1Rm
zR+fb_p@7ireKKNOJt%>AnSn?#5R(#!F$u)e1jMyBPpl*l>lleimWLx!9>ydL&sgMP
zSi+EzFwCu~JlHN9r?z~yynHCE#)mw6$6>WT#B17lIkL#>zegv<=dsM$-YtF$yuqI!
zc9XXhHJ5k*PbcR&A+b?q-*B5vY{Qd=Mlrnbt5Eq!ly+;0IA_J4IK?r1nR%w6=TFdj
z?DDT2UmFHlVh^-`jf>CW@QXKzKOsNrUz9%p!(5AJYHG#1aHucSI#{dAkqyx{XLv!G
z$&e4B{%{0)5r2fIC(OD(PrM@jKb$3}xgON`D|ER0D7+SLQah3}QAn65Y^b2{4vB&q
z6mP_kUMX{^W+=}KZEV?Y#FMCrMJwom)8hZ&FvBe~v}cETAJV08ArJ`9_NyO*f{8)K
z#Gt2w!8;`eEp1%+=*F$c_lIMhH8EIZ;$eD@s=#T7$9Rtg-Xu0xv}cESH_lOJFQTSI
z1&2*J(01AO3VAbjRbvyZ`Tg!)dMDlzrnjBXi*Q>w#+Bwt_byCgd(H2#)`zuO>I2($
zE!BS_rcmtJBT$=Xx8kTL?}1u?-562IgHf?HEdI=NApD%tQ_j;ANu^NJ5k)a5ttlDB
zC-GF0DktHXL+FlDMru=BruT4v2yv>iGjH2v+l%4x&2g3C!1;F=lZ(cr=n@UbxoFrK
zjl4u7T}2}=(crF;Rx}nR8fnh<;q=e5Yrd=&4O^#M*uquj`Ep6cax_+yjXuT##cfzJ
z7SF|kyGH^GYMsZD5tCS?7>mh@WLPUmTX*SKV&OfVCJXPdVBrc^^Zr(1;awIM-nGlw
zS<x12^o})drI#y$3zaTy9|AF`gKnRc309virk3;~!wV59W~mDe+<HYzI03M{n<~dc
zM=0&r1cF)mJb}?GkoMavARO##U)?%_3P||Dn^;H6Qb$S^9YI?eX)#P4nU!*Jswx*_
zQb$foi&3h`MM28NQVO(bIj?RsrWuVxj7CPHF<(KWeF=>qYe}O-<GLyua}o`kL_?{d
zp-D8j$B;N)(UMm)k6g%N7%ODQt~8HmmU%>5VIEmgDok6UNEDO`3N-n^K$Oof5HvfP
zda;s)a9Mh7yTa8ulq`gSI3BBoa9Ava9=7l0i6{(9VyPv$l7(2Qw~Dk73SCN8Y6gG|
zfH{w{m5`dj5L9dg<pI+?N&wK?**sMAfxn4$Vh?VsUrk<#y(w)z#cQLZ6SO=QjS-G#
zygkC98mH!k4{M`u{(vhXf?giQSzU;qOetLK0$#-gnMR%WX0mpsWKnmL7T`NJQ+d{_
zef*2&_(yq*p|MQk*KRNI_y_0MgLw3Noabh9@fKZ8J(KNOmG@=lG~Te%buKlEi6n=Q
zx76|~^3Ln3T=eDiE3F!Ese4n}g3fU`M>QV*_GWP}`IU%VqSY~NVBd%VA<k_Qhf<Oc
z_64)9>I}z!J+_~BCy@zBF`lRAIDo0v#=CRdyi{On^%C%EJ?qzoK;A@P-bA3@MBpY9
z0j+GOR#I9q&c$HLB}TxZ6MdphE%IO=8)F0#dFs8Qos6;H<%a#jS+o1n_GGRI0`o=I
z-lHi-;1;iV17zTXZ9w1?7{a_mbl~u0k#?TQ*e&3aIwFh!E;nt^jhy1$+jN<W$_y8H
z_qMTy!yRwkh_Ht>l!439Ye<{VnFuVH2-q2c|L&Iv%xctXR{KGmYDZIx8AN0#b`-zR
zCR04r)7)W4%juXF@T8s5=;;s}aQ4mz#5*o!{8wU!T3aZvN*_(~_}{)>{0cEEk1B5k
z0zbzf0*#~<T3s7o^-PX;<%&6Gn+E3C7e6+|<^b8iWGeQJiN|qps1)R{g$#=SUA-N+
zG8mZk-;OSxg#qo-GX_l}jIq?Wv$+7DG>WrghA;W4S>_auPI5pqc$F!<wr^DI#X(|F
zqf_RjiNR`iCa+wt5k)TNRLb&J7P!m6Def|0mt6*GxW>NOX+xJa_RF%yegoIow{xYC
zpzJbGl-WdC;#yX{D|zJ*n34z_v><Sj5pYQa>KTDX?lN$lMBsZ8foB;37bDOp5pYTb
z>Xs0&dPlYu_>{|ufR$G|r|*<7eZ`GYM51!6R+8&RcF4MswOluHp6f=Qk#!@_$hwh7
zEmbp13zQDqM|(JM6S&gGIezk$82bfx<^|U~qMpgJW@duNzD|z4k;iWE*d220|3{Af
z(>!*SD~1|8c3MH1qi<iT82W0o|7=gtX7PsBwn|WntU0dMu%$|nhpPkyxk`}f3Ocw>
zPQxaSND!z8jZZYt`dBe*1S!%9wy~G(y(a1-os=X0u4UwI9(k>-kEAmh(8*)pDaZZ;
z9{V#qcC){ZLyjGFvB0-%Uc<55cU4)km3ZV=*I$Zjd*T|-)6A{}INx(U=X=^^zNd>;
zNQz#`b#%Z%rv{5$?GLR-<9N}`d5y_jM^1CVduFP6ey>LI&yL8sd>EXOHu?$1z|47F
z#~3&z20q51xq`usjKQN4gKsbfWzP4^N(^)gP6GyxwZ*`;3hiI1PSgc$A1F@5-QfrG
zPFuzHbDVCijMFt31B2sqT^y&|C!=)zv@V9VH$#;bRR-#&WuWdHg|A)<>mQCi1P0HM
zJ*dn9j6s9Mz{wc2Fa|fuSmp0a6rN!3K<8Lxr-Z<e5V)3Nl~<z)S1u~6RYqTI=je+N
zM_+&}=h!qvVaV9D4of`JvohvjPR1M@<(Pv-4!szaF$ZxOb1-;~#2gqB1*ZiCkb#WC
zbxSC$XB5&Ld9ff-_!o)7rx}F|qc9^;;PTRtuEG)u)|KFD_ma-GikELM$?TpGVxBxF
zdGdILC+}Y3$%{NSqFg@jCM7Ejaj$Slp4=zb)a43KUY64&7Fw7l<8=ROch+7%G`I$;
z7-clF5{*~|jg3oaD2#?*qS0JM<8g_`-X$MP?ycD*8YrR)G<+2_9AVpDA#aXwb@$nA
z$#C(6tIW9@?{$DVcU$(>+?LtGVPVc47UtY-*;{jmt9xsXaJBo8JG`{}EPAyJUC{ns
zZN3#w5{~6rRF1}V+}*1ck09`*R~alvdo_PXd<0K##M9jqaGLN=M+RZ*y+XrNzBpIr
zH}G(B9o#0oT52+nSXpwdO}wOe;7=p%1rHOn(!je$Xxl!54L+8cs~4rBL@6s#%2iQH
zoFAoDiIQGL$zDY%CQ-6Wl(Z^J_9{v_i4ux7y-p}u8Q4pgrL$4GxGdF5l(Z^JMir$v
zqZC1JTo$SGi&9pC6sv$F*Ct`xUMLaYt}czsN?D3YSxQ%BY1$%7-m1p6ovU&FDoS}N
zOFjvcQI#ccRhG&Urcwo_t6bwe5~T)-QmTs5qy;5U6{U*CrK++tTSe)lL}~O~lziu+
zRK7+~8kQ*iT%t5zMd^eECAEsuMk!03Rg~_mqBJ5=@=KH)RavU7qJ%;SY`q7s5tPoJ
z<1Q{sbrL1yWL4(4U=^j5M9FbMS<)m*_WwkQ&9}uaSv2m_P_o7%c`fTD2kbnpmsW~2
zSZTeqQbzE~>m}PdbG_ubAH`q#^(IVCw@3Q59lo8|Uw9O2nQ~Mg9UG)2lD_xx@1ewQ
zzn;z<#D;Re9*=z&i=lpfG(L|_mVW(o>RB|N=vRtb1Oco4da{r}QH6eeE-?q9p<h38
zY(Ms;XnAzuIqk}$Vn|e+5*4M9QQ7W7)rblz6Jx_DL0Ls*F}ojrbiY2I{5JL*feKo@
zGAe0CMOP4w;KK7oZf;7b%rh!SPaIqoDlW^~I`ArG#bsGrU%IT+N>ny7D%wN0QJi-q
z(tn@$s`#+@MlZEFWr1mJsz>4Ce%<G#0EB*h^7Pa2Jo@#MPyIdiAp7;Br-o3dvtRp*
zZ}cMW`PcBw^z00+*Y&4fd<sz={d!_1hF!dVeHh7g6Bl1muLU-q*MyBrViPj4`Nf-;
zu=%q1fEAnOP#uDR`}IJ<h8;VMd~zRYpgwT?A3)Xun=!^l`TS2&xvQ7Dpb|P$5RrcU
zXD>gAKB)cr6gLX(*I#;ZA2zx#>Tj$CI##dj(j~_$(P@_GTyH_=H>~Km>+C4h)UO}5
zKTi^(PmMptl5^_d-?8MpfZjhp#`8b<;a8D$+po_qOtakVJMwdun>b7nDc_kh$3d4~
z1ISe5rdH}y&k{0U5%01h;|dsv{^{4BD^LqS=+v}{%!!kKiwZO_t}xP1<M_iL|1;^N
zK9`!~=U*6l4srDTdRY`fbm3UeLhfD{WG>a(EbAkzd8EuVN@O-ZT(LG^5$_h?s#=@w
z)((_K?$<YMY)8g9kePf6(NF#Q@uPpkbDESH?K@BX4Xn+_@XFlcEWh&HnP<d5;Jj4I
zlbuov`DFB}LB_Ts$5GLyCW*`@3o`FnhD@7@%;rrUNTL8T6B3!jCNj^TI!xN6ef#Hx
z%tr~Cq(tU4BcqmzxoE$h&n3`#?V`xMTK30wiR_ORndLGw)c|rFJj}~I*et`bwg8gU
zWPi4%#ak-uPg4&4rA+pxW{&JjuNIiX5~r8hpRPf(%gXLvWyTi8YnZTMnR~T@y2Sk?
zb!0Cw_oEcbc#o1PUR-jnJU;UhpW_lAl*Oyyv+n%(xFkNFDn89sd=iY0UE+iCa}{nZ
zUByRdeC*dGJ{OlCl<8*qaaHkYtm2boe997^d=;NW6(5!HF|G-GrltJsm-6GO%1^UJ
zej2L!<vv%x)>ZK-GCp33Pq~Uuv5Jp_@u^v3e5{!rE7>1w+_sf{UfKSXBt995kGqOb
zqXnP(Dn1qcDpuqtqE_J<V0cCuo(KX}D%w>#8=cS^qhsafS3+kcK6Pbu4oP&rB+)Ud
z=(sHCpdw$zI@d|**;GNNS9@y}o-u~UC#A=N58|FH);Y)0le_}>T)Om}J$qeTdNheo
zu!>K26`u^_<G7Icco?1*6P^ou<!e2A{YS&c%3AnerGNffyevJQb|4uWKJ#1v-Cz3k
z+nesBb+Pit+u^16hA~gEb8e^_V!rzI#nTCPsmkg&qT>5?)i{bo)P5cH>=13yuaD)9
zpo~wyzL1`0$MoRTezceZzmc0pM0vk{EdDaGc4<*~VY#{DxFk|e)ad~sGZRFoseXM&
z<6YwSfXl~GzoHMg%$m43QLyGAyu3INXU8e8k6@?0UoSWgV3CBQQi4?hE`_7aY9%rW
zK0h&ioLRBi{1jp>;D{w&K@P^nak<i7xgOIUv|84O9DdZg?bqIOJ9XXtH1Ro4ia!?5
z!Na=Ugr=*x1Bw0pdQYGm5z`<5=Le8&0)lVoS>)zGB*4}j$MJhFe3|))QPfQ%>g)S2
z{2OX01G1?hhU)1TsfqbT{fH}%OwLYQbo!Zuk5~omJ-1kp`R`U_I&0g-Z{nRBOB+z!
zpkL2q2f?uS>#6kfNVb9Uq~grne1GUG$ku^w&I}<IyI=p#OWzWo#PQU`G1Sz<`SV|g
z5M2Yvpx`*mOkT>&wk2eKDt^m~Ot8+6vIk&joYPPT$V~dQDKoKWSY}3M$50`wUmraB
z3VJm6>mv(NW{#LLGa5U?X6UKYKSrGUHGoV-W|C57Hd>H*w-uQ{(1$|x(7Vzg+v`+*
z07*IEJhRUr?0}e?7#bRbEj{%DBK7<A@x?Jl@ZZn;Q2aT)uWWK$qeUvocl9F^FUol-
z$Mcf*o)wYV+_q8tH;nL}&2K=da+u=G08{3%#M6l4fc8LU$dVrz`5AJXfJ{;%GiV|c
zFU=v{3&`e=VQRYukbySwjGdRrY_iDAd#o~3K_<LqCvQ3|rX@0Q6PclzQU0a_!z&<D
zG?6)zJBrC|37M5LU{_k}dF8&;TE+3K<SRr(PqaTG9zs~s9z^CO%rtof+SH67s!1(V
z43E0C9n;mHfrX(c9{;TAhnELL9#2sePw7cGOh|_XkCSXMzbR>$yIncW4EMsj;`Sw9
zVL>M*=ai$$<k-Tty%;jzRugscdg0Tn7yzhOaY=;qDngEx5VA{zU~MW0rK<?#B|@ch
z5n8MwlxBoxUL!(Ondov$Pz539s%0pG);LV%<f;Ir&IKqX0m@cIC{_h1#Q;s30GaFJ
zm1M}e%CTmaRb<GuMzL}$=~%C#uneh;P(-bWP(-yz&=#wXIT)Y_N<dcx$f9C~6d+yV
zQ>@~Xui{f+eA27I=Sth4UZs}t*(4>XTmcA{#e&dgD?$|=o2^20swzTb5~7n5qEZ#2
z!r2gIUZak!WwhnW5;V;S9g+yaA>wi-u&VPGgxakL1*MWTRuQ_ciqM=y$R-g&*e(a6
z;v2OpLh~#{$1MoGntAL(R>)fG#p;u<#Cch3z1XW&EX4A8?BWu%WP_9{JW2(gh>+-%
zFCae=0dN$71XrP$_UAvbsYuSb*sK(xYvnAgw)ypn%h6{S8&CiOE8XE1_7|Ik4J9D@
z_3groU0~*M2IgNz$%}sdn?Lw_-uiaBMv(i95T3>%(-l>{?1V2EPEZ`!<b-7|;Fz&H
znWtz9wW0_BzH;+U1h>$VaP>USmBAz-F&UJYlub-_l$J0VoZHWw&7<G@TXwe{o?+&$
z>RV3p^LahMu2jO|VGK0g#Q`dcqlP1znrqwGZQp@JiXE4T$(4!Us_UjGl3s1gFYrKi
zG<PE<zF+&;9TZ3K8I}}|XTK3wx~R_}3my*U@JoCgdj9`%@Winbi!3RB{`G&wN8olL
z2ASNb({l@`B+;*jYz@p1ZuQ=ZEYtH#ip`P*VAY;0gNl1SqoUM3h~4WQ^%9ets+j0y
zdkhsc5DpQaMHD|MthrYhlaZlEIW*w-Xo|=F=X?KEd={@K@;PQbPsFI9c)#v4{Oq(h
zy1Sr7=f}kAF<fa(^yy3utN)ABb?ifL51Ocalp{_|NzoUaL!uL-`&seZD67%0Yw8)+
zlYsL$k9HV|4*T)^+=P?X%6h6KB_(4@O0BPfZO?V>x59zH7EnnBO;ko|*?->QHc|O_
zqeWKcjWeh<(yu=j|1wH#fGM}1;gBs~@EFq*vjqo}e3P@(Nf8zn)kqd`96{G43ft;x
z*}x3)o9=!DF$h;bDliz`WKDXt);Dp?&~}N+pIA|G1ajgIjIORt=QqvHnpWk^z*m_J
ze(~fKQ-$C9>2nB~1OW(CC^U;uA$qG5rix_kO?N&le&L!x#V=85Gf}x+qVmU07Flrw
zbC@~$_4;;$!~15ZUu63-c+y1Wg%guZEr0WgXVI+CA}flNmFD#(Dlp&=T2a|$+siZr
z?pDgiyPS0yE}Wm6hdv-dOif`v*`rKzZI1oRYIB6RGKGsPQv_sXiY$<zPub|Gn3X9S
zWMztKx8v8NHivDOLFf)*&J?dUQ{6;ho)J(O0gVyZC~I@L837w3P^nImVg&kl{2Ev0
zFy#1kne}a7s?4#{T6HBq`Sr`WQ)JeLDzi2gs#zPSELj`&YSu>0xp`80H6NiY^AQ?k
zK7zfPwGpglZ4_lbLUvg`!fGm-xpwKDxZ1eZRPocS`f0bYEp|(0qSX_$W|OU^qM6I$
z2~x!kF2_e0p;{9`WOmp(vP~&N2?!iKPr%?nc^WtnCO8ltI1n5-5E?iT5;zbF<`*pv
zDT=u88ve@5%9NCqgXhZ1NsFu?QKgcfSubU!v6{PbT~$`TCuQYXDJ!n3tTa|-#VKW_
zZkepCCfohW+0;q}<Z-qr3AQN1%c}h}uto8)MQN5cb(k#*i3QnI8{3q?SvJ+U25bs;
z(dK9cGA`vLQMD<<=a-WPDJQ<FoHSSEWLU~cLCOgjrb;wbpeiS<P57(EGC6s@Y>I1_
zwp44|Zpn6Dxr1BLv?)2bENmE1*pkb9x<3L_K&6dPa-9qYY9RKi3Kk?dXq@4Xk)kXh
z*&B50;m?#}{Fwq=L4FrX3DVTel|m>3el1W~O_jV$M<HjTkT6kbq4J(QqPtBLx=a*`
zCJJRjq0hu1Yhp08ghAHCVA{k$r^*n$s`Jt?xDvGzd)1JM!3M%WYbrAaI}FTmkK!E4
zvmJ+@eS<4PrlwH~1qBq3b6G?*!KPY?Ckk9`A8nFdI74m<JsE1Cs#4nK>!@RcIkT)r
z3a$(SH6{Yx=S5&F!9C3O#t~()M?;D-6+~S)2{#Sx(9OQSrw<@`ZI4#gsVEK>V{l&f
zXt_LB42{iQybHRupW#}pFpTiUt-<mY1|>{DUMVYpHMpV&_K)xiBX8<K%G85XrZsrd
z)C8BQ3Dcwredc5CqfOPtp#-c>Ielq;(H*w!#lnei-4^Dj$C9JgV~K(5!8;o}-C~1f
zmDOWeW%XDx05*iHYw>j!i`Zkah%J`fh<3{=%dhKpyNzy|lEEz<^{3~PCA-7!blB~7
zuS3a1{dT+0=W%;H9z$KgZ8qwkJ2js71$;rj*XwNxs0-0xA)U?TvZYeV=B;gQZ4F`_
z=1)89wvy0v2j1n>^n5g!o{1$A3;BHB+j{*Q-tdMVloa*P*7&`7VRzKvV<EdE6%B^`
z!J1&OwzjshrG5SS_07;le<EK{graGN!{M-L>SEMxQxpyVbldpkIBq9;k#T`~E$(6|
zpUdZSIov6IFy7gS-{o_bvzbhaZn1R95e?>xsl`load9!5!9`LWkZXS}3IQdN4@I}J
zg<>EY^!fb30Ns3EfMK_RKKAF5nUZ0+3>`ONC>WH>?{Yc)EiElIP91+hLsFxot){VS
z)5gw_yH6_xn_8kSr%+TyRW()7oT{$jkLEL(g42$o+eoG<l|;~RJM0bzzO|T%Pfw$}
zcr4=gDN0c(=L^|nGMOzD-S}fJr>k;vI-M>qMp@b|%Kc6U00AEO-%(#%&$n)x#PVRj
zBb@EOE^ONi!Q$Jx6{K+MSyJeM6!xqjh20h@?6yc@Pq?ayRw)cwq|jrP!s8>ev$H?{
z`Olx;_uPR4&pmf28c|ZQh+}4UW@aW9FBEqBzw`9*<HtYw$xr^jpZUVSeCZ2c_$uBp
zGZb+gJ$Cfy(KExD%<iDihReBi>((1?*|GD!hjzA-1kTOPXUpYKLtR~6W2>Vu7j<=b
zCnhG||Ni&?&Idnszxb5+ocN0Pl)97T@Yt~v3#HQLo40M-cH0|j(#N8~u6BTU!womw
zc=N40?%26wlej;kK}U)ar^5y8-Cn(viRzlrHJ9deIv`f-n(+yI!PYH3EzKS4*TV>E
zhT#uJoPMw0?|0Y~!-xiV-nen&#&^BzT@OF>z^ymmb#EAzrZk76xjo`+X=-k64tO;u
zzH59A7afB>adKd2cwk@zY->cxrXr36-4;{D;_hI+1mT^WoSa!qXY#RF225*2QS%W;
zJ~K5nHIpotb_a_kP1EpIiTJ|Y+!Q)as`Q%-HR8-eWpmkd2?fxDsXRtBFfefP=%JUM
z|Jh4ZsD`BZd|o5sjL(zKPh~Y<G-BY-;noK^1K$P4@^f<d=wkBgW(}8DW9g{w&q^}3
zlBHWo#$3Cqm2NEcFa<1~?Yx%G#g@(?EuH5aOE&>aSId?zAT3>H1xp9TgQaswOE-TW
zOBaBpQ`yqhu%)Z@2Vm(!p-^K>>$-L8C~4Xs&*sZzp{fQfj;bmN^qCexW&A`WSSS^8
z`2wtGK938a=$MoJZof;(WmD-?8n;Z@84c!&S(r8$qHM;ds;Ubz=&x%FX^V-u1-g_A
zu~JPm=<x;4F>PfwZFV+o2AejA-*b*>>#S*jX=^6aW+&4Y)O20dbo{AOA&(!Cr=O)4
zOT}`zR3tlGC>FJ7(C&8H>@JwMLTUjj7{}D>cVu&!a<PzGjK|}tT-Jzcs$0`kmowPM
zgRbv3?N(dZwwH|-?%FJNtIINbc3JFJ7v4uQ)nTz)U6$Fi%VM`WEOx8QGJAGeX3rJ4
zJmIxD6wN3L2#;nfm!iEo##$`&skn4|ydJ-5bD;sAU$ME11-zKfX0z!&)#vl=@yC*C
zpl$0`hu!6ad4jF#)je%(ZLWyU*LS!7^q8?e{Qma^{q-H!-EspARIlE0@4ffdM`(^o
zrFQ%M!N&IPt=G3SwX}Dw?}X&^>N><vi<m!RHxTqI$&(R(sZh=)7L%z|A-jl*Lb*sp
z#Z~Fk72GSk{e?^^IW<2szmQALp(1n&-=o6H;d@jVRCTupmrczU4ZB{@HB7OnhoP$&
zW*I*fcBHi1tJ-XZSR&>3*$N9&6BwwD&#MvLz({SodFsR52a#2sx|UDGOF3vzudSFV
z3Qg4_evh-5m^^tRo6jWhJ0KXndIm-<i*JCu80JV6M}$YD227cFYuL6Imzi&Gv&h85
z7MXb1A`=gF3PE$(BNmx>*dh~e-(}y+Ulta4PjyB0W{XTbVv&gk%UsqFu2$4)NfdQO
zlna{A$O(Ji8-hg-d2Ho!*^$Wg*|PDOv9YnasCQ&!0U$1nj7-9sPevS>#N5cp$Xp`R
zSADp9!)Oj=r%M@Ii!&*_sivM=Z@smr!Hs2>e=LEojEx+5?z!hqM7>WxeHvHu^wUqj
zf^Xj+am<gN+_!JviP42VJUn4O+`aLpnt;#aa@fYFOP=Pf&N60&vNJ^Mu0|gw314H^
zb=O_D4#Md5`2saHc(<<|GirOp;q=wvZFN3-pTkjkxO?LtZ0v4tZU}n!?JqRn@xD-T
zbab>7+I-JF_iVYX153*G+upKk*REfL?0P#pyD{f=cXr<QzW2TFzKA2#egoEj+u8$t
zj+*vu=EL2M4FWQP|LA{O%&1t+kk}XvTie@OTAEy*mUUa2>jHJ{>$_STTD!K~-jK;)
z63b-DHd{Fs!#WDHAl+k57Cw(xgQm<xH<nA8e6ghFvx>bK%Ph=cZk&rPLK_n{6)0+U
zH?2^i85`>BozOpLeZ2=5<DYJG0SA{&!)f(#v_&n(@s)Zese1Agi({v;3OPMK2Ys3L
z7<~@Aua1_3&?V>Q%^_Tv(B{p}eT_|}lG9%cJ74E_;QO5ZI{7$?_U|-e^F|1ezR<{3
ztua?p@}g8!F|TB@o?y_Ul`%o&<8zG%4;}&H#||DmdHVE;@iQk59U2-xGl2VzNv}uG
z%}tC6UC+(O6a&LE)FLi-9*S%j#as#tt0Z<RH!Li~@%xgP6-I_fFlEh-oj!K#*x=Yq
zA{Lt-8NlPyBU7<xL%pE2D_<B|!}3a#&g<iaV#y9&Cb2JKNn0+blgU)B9?Gh!#cZ}{
zQ%WVQ(shOI#m3|D#9}&~%hv{#^z^B$g2k+ojYHkzvx@*_adr%=kTDp64T@666J<q7
z;?*R)4<(PwiK5K#L~Kisu@F>Ym5MNX1q}C#e+H8Qqw&Rvjtu^Cj?ATSx$rcto84dJ
zb?{p646I$oUy3vS^z!i88Gm}&W6Ai#p4t03ju&H;8EuYAMw_lQR5RL2Htgps4V=-Y
zmn|88SUprS{%lBTQx&fz<8L*bg|*Mm#r6aY%Y3_<JppTUn8RXQsWvr{3}r$G9y_H&
z;*5bo-5qLv_kMbUAi>Lo$R150H1_lgl(5zm0s?QK%uu|6Fu*J2=pOi4(cX(j^t{^L
zfVGp4lTtpud#-%AE%H%Yl@DFYM`u+&c2?!%2P_}YNck|T8MA1OQjw1umXFOA`B=?9
zfVG#R4HN5yYJ09!`P^-pdso{_u~!`<84+4}AJ_kObWu-5tz1LZ48&kmF^hm}hzW#{
zDD_kXTxiPmW(fm?bfGFJKCKi;Qt&xyl10L!R7#<{@v@>cU9QTWYbPsXQdag!S#ead
zhxKyJ`DMkBvQl4_mFugrGRm@2kg}pwWyNAk+$<|i7Fk)1Ejb_mX;{{2Yqh^<x7ZR5
zLFm-oW5~<BKDLLD%ZQFiTO<R#B_Q61SMO>RJ!B$KFIH10iP_U$IgY@WJ=(W^%Dq?T
z^878Y#HnR~wn*d;n$p_ftY78)ueQKHQX6!0pQGE%@qc(T#{aJvLW7@MXC)e$9Y(B$
zf+w{Z;y|?nCy<D?M?3Q~@e~g8c^a&?KfwqTxJI^?@)A>g^)cYq>L*%E<10C2ARH9E
znCrxUB?;ID1YjAoCZBjO4tEE|MjSB7pfz!?8Y6koUKtSoj>FfV<=(Tg9M39;7kKYr
zQNg+oGN2-~iTmoUb}#6BT5vgb*_Ug9YGR<D7X!NwRuf_!L=F@%$RJh?hq%~)!~WBZ
z!O`bX5eHiXIoc!DfB{Jl(uMLkBpgJYuU-n)Vi#bgI0NgN!WwZ-Yl;E7ve(maXib1N
zSG>}7{1NX0ltBC8`I5P&pww@i9VQ59zYr#bgaX|bsDC2w5SFMnGj|jPNhUHv;Wg*h
zux&4<LB4IZ_^aD2{^~Z1zq$?YbirTUX0e0YEdJ^?%bIGN#b4bPu5z#2EdFZkt|~8P
z-31Aq&5JE4b*aiOK$RPdfP0UI?DpmS*r2*)nsx)0b7T?4W{cJ(=H_Fu1-L{--3^Az
zu{9`esO}0>xw44j^+xN4kDfSv`XqS#tfOi3=FK(l?@@k_SlQW{<(yeWX>E<x!7&A$
z8Vm;O8e2L#I-0k1)?bHR0vO)_*zzK3v*Xf~O1WZDRY59=fT5<-vwgj_a4E`V_}!(F
zfw$PT+;kBe1R=N2DY6;-R=TB%PSpI$Mtf`3V!lv<dsHkq;Wc?3=@ZmCHdNaZRFm=9
z`8nKX=L>-{9O-Bs{wO>nd@Fr8i*E~{Hf=c)vcoL_O;RM{4u2V*WVsxzOPBK5Oo^PI
zOae|^e9mPXhSL*jaQf<-o9rS3LOfY=))1{1t-}|<sey|QM-acKl+1|)+|`i5Od;q7
zc9aCT|57Ph=kj^sB7x6Ui|JS_mOX{^SbVp~g>f4|172Ac{u0<ljM8C;7iWV%XTy&r
zmr1CfFcB-4^*&Q~*IIVBUZU(;b=TS%_#D|S`CU`1mEA&n=-_H)w?!1LTfOYwRnF{M
zS$2IMj~Cpa-(OST1Wu)~y*9K7?A?WAcYc17Ww%(8vI|MD<zi_U$-qTqw^VR~it(n$
zVzro;&M&(z-R^{{Lt>z~wo=@O>N4tb$t^8OZW&vJ!Uk5vDe@4~-0>80Z%$lLat-`m
z1!OQ3AS;yQMI_gY-=P)L;DocY0=aW5N$%(I8~^h2h&A|2Q%dg%+xEg}^6egrg}u*W
zVehk8*n9C#vat7AEbM(23ww`6O7F8+*n2G&_FjvHZ4Fl~Y=>o~+2%7~8w!ac)T&g{
z4Bf!q5!4xHur~Rqk}vf&mhyQO)<Df;hY!TO$3>XgoI!uItp&kYdU`ZxpgC*ahP|g?
zupYahpn<?+Ek>18zONC?h=vVQE!7pOUDwgkSnGnp@?Zxm+A%&uWM75)OQ%5c)0MEf
ziTHCts@wEXS63Hw$$+33dMV(uYlhnwXliN-d0k4hW8Z;1=)DTrH#0dp4<>nW(bu?T
z=gyt=kn}dkmN&iWO`9DKHyB^Hqp-d`VDmJ#uiw6X`{uR=HQM3w)`7VLiPs7iuc;;&
zsHwxRtp#<>`@6SCT2&|QkHLCk*f61X2$^cw>~6Q)VKa6EIbTo(m)F;k6>2e+E|;>o
zVp-&|$&kxnE38PH47fqG+Vlc!W)b_S;Jb?YLL8QQJ{C`dJ6c4Q)M!Ui(en#Q&|xWT
zpJfWA;$nObfaD4VjNb+&X|oq#HVbxp9{aF)`^dz^>5<{Fi3L14J3TNOZG&@MDrRye
z@C~Ir{ba+i(;vsL%4Q2urKt8b;y2~64Nxw+FbbE;VF#V3=!VM`?QJ&-xy*dh>sNCN
zqhm0=g+hsBKA(g>ErOM6OOV|LFHGN1O!#cH1MhRvl;v>R{m~8tc!F_@<0sQphTRwX
zav1+2HkHAu=OV489C2lsYiMRD(O<y4S1923VSe1*QR`R1zE!w5yTgSU0JnTP4w=eA
z<ywm|Fv)QM3up>OmB1=Mc<>A3sm$(PY*T=3lib_qLHXlmVAn=b{-W2U+#~__d9UKa
zRrK%=#NFpi25y&aFVv53uQoc{zUy*z(VCO7#8fU~kJ80mwBF1eq=K@8RF*pjIVv5b
z0>VJ_*u3fUsH608CB+@2#$*R66?O_MVJt5ZEMwZM)vzdMM^lo$vRUlaT47*W5z^Wh
zKXhdbPM8>kOVe27VxX=H3N`0JA;Bn|mMDDOL?Nuy^j;bc7h{v0tB{42*rXM9_aqKx
zM>P#4L`W8VBnx1L+QpxmY?8`gXl1jd7`IgeJLCkJXn;!sWk7DQrleV-G!!<(?iR60
z8Hq@i5z&;`wStE!7h2iWjXH_P4HY~*5)Z7H0GFFY19&u4@R*T!a1b_dq)0@@W8t;o
zakieE%{H!;o>(FZq<l<CTXB%(BgD31^RjMpeug4g(UK0<5{{&UfN--qCC^$Cml$BW
zXIqiEG?}<^7%aCHEECENjDcI)OD|*KsbEmQ%u>v<y)-eX$U#YBkgH;_8YXcq7=+ct
z(^|a{vX#fk|34wVO^4<s2I02f<p|*}YP#I3CQSyxO-<!{)q3j4-iy>OH0mP;0U?Ma
zQA&D_KQoIZHJ-;32M3{5*yjJlV0CfT?y%m8#YLDF7#G`}dMz0%%eXY;dOio%Yc#{m
z@Le9_6HzfwX~FN9#tTMLJcvW;N4&LAicm{=tyJca;g?3m_i*;5BVsoW(<P=|pUa6a
z;Vj0%rrPN`BC5`1)0`Gx#~M?6HlOGeZgJW9#E}{CBS`YoM^PX9Pw?BXFA<BX{$>Ff
zJdg9yaiUYz&;B)D|DQMygb+oxN9*VkZ^hyCqIepIc$x|3gh4h{JK+-F#X)Z-lb|{7
ztXhOu%S&8uSwUGjwH0}ZUFYZ20xNN9C9L>C?UW021BaBdw-mrjWE2NQ)jFJT2TI9#
zlT$0ygB=SgB{(ga^kTX&<GUSExN{3?Ab@Rqf3P;-%TJs#Ikf=78xZAZgEtVWsj02&
zapyKOFOk<Zjy*%@Ny%n+n4DVoBDT`!%D&Fd&g(X9+Iqt~8xz0EyhO@jr)b+6#Fpf}
zff|!jYpubz25TD-xqv{V_V!KfwOhbTc;V+rJ`KJ=IfCNeOPt!m!kIpMF$G2{Q!e+p
z$|ZsH=Ja@mX$dDnY|UFHE1W*2)avpSBM~oSQ(wW(ekmsw4lFV)5h%>hf=-*CpN%Kg
zU<*@fN?wWjb2$bkmCh#p*y418me9e1uvdaWT=>K$p*B7P-)4FY;SYxf$Hs;SCk!z_
zzoVhXRU)q?BkWDh^*$%QEgkiFu_#fHtqp^Vo9Zp7h~}j)T`Z`{oY&9<!WC43--*H3
zB`JWy4!<*%iYE{lF|??k#==E$*&}`?(?I=!;R7%r)NJqt5xrp;h>L>@k9{MeAHkgV
zvFGz@W%g2e;Oi|cg_Q?xT&>KyTIz`h&M4Z&Ww!SA>t<MHZRg6Yu>ePMb}<hJ(P;<I
z)Me9dURh>6r=EK1sl($b5FDXEptj-7UfTy&mf1QtJa(5i04@Q6w+#&&TU%}d4}2k+
z9T|D5udbXW_ngRDUd5GWN2UtQ13QcPbA-0HHUSAwk(ZBBu!dS1c=1@CdEh`HOF}zm
z71}z3b)P+Q#K0(8rZ!MSHav+f_+)aXtzw(V;9KE!pE+}82C?TeM;FVdh&6`TI?fSW
zyJCk~L4al--eND8Q>D@Z76>6|ff*}<Aae*UOKr5SObkv9LiiEfP%0G)W4Xd%gc_e;
zY7wQUQ(O-;!f;{)=Kl?!G^Mwp;U-ghFO_4v5A*M9<=F1CaBLeb(tG``YSdj@g<Uhb
zHj_&OIg`&L?lG5-BC5-z*TA&}O4vDY+CX<0E>9o;!Y$fXVb@Hq&E(R`6mB#=J)KBJ
zofUcwTw5UD*3}jC;Ig@D8#_AI)rO)S6?V<!+FHE$ySg_B6Wh|%(M<t$Z54LS<k|{~
z%NxSg3HaQGX7>f69Tj%X<l63TgA_Vidk{)@*Y*eAP9bz{6?V<!+A?ZG+h*`<>)RVW
zwm|#(Xh(%zGr6{|7BIB+&25M<>*`#;p&ORG4bqN5<DR*;k}zxzFf(?WfeUZ5(>_Us
zWUJ6?CfSCqiY!t)pfW`Rp`R2&it(8Ann|`na1oK7N~Pm5vf%M(M}=N9$+l7kY%YDi
zSads#LY_%BNw1k?+r;p|^eiT~1$2oTIXy8EZL830CfQaLm^eYO;TsS}n=eM46@Cq5
zTcC*GE`t&|G*DSC3<)fsq}K$KZ83rCRm#j0W13FI=9y%Z^qNVw`F%)v0XBvc(;#v^
zqW%iKW|D2`T%V_yr?~1=dNH|37*yCblWW7iN`Zg^Cx^)ALLu5wq1Q~ZZ9I<OmrKmU
z8jeqn3=UxeX{*p{CfSDIfm9q*RWg+>l=7)$6zv;ncEUftk7)1*uyF(7($jr-u8&za
zVa{g!F7tiW&^MQB#w%Y?h=&71y=wmL%Jr?TLG2+dbk%N(?^3$CZ}r2nWAn{R9h-gJ
zv3YC|6oax~c5EJ#9h;xvj?FRd*nC`eZ05u)d}~G+@Tq85el-l-*(jXNz}doU!$O|R
zz+DK1LIs5|QsEhgamL}`d2yIy91chvK1^XOqBpGAKvKO1B+lko)(VMpIhN&p%!4cs
z8>BpRSCCN64&G-Nhi4=XgHj$2usoz0hiQpJ(!@a>y+%-2E)R{20xGg|AM@*%P`Ht$
zVUkfeDp44cC|J9>kGv)nF2*%oK3PbJ18f^O%1?2(gO633?n98L()`=XMwmBLeE?^o
zc)H0h)ODa~FrGU^{1c9&TpJ+AS^f)?N|0VlQEU^A9Nx8RyKv<Y$VdbhD9%x_GXnl)
z2m~1c2P5E<2%M4#nDtgn1d<Ygf<%CF!(P2*eEsZ!PtFgmJU`U4Cfq1B0fp#3Wy(P}
zYr-6B!l2ZI15y)y%=Q4|w+UrbY69(flN`+ahq4FjEcW2YS+m1478Hgh3M>OaVQvY9
zwcs2tPaT7_nVCIja;WRY&0v;j1@zWGWDd2*jNHnxR8yiYQK?E4w5lpb@fhSQaaHt*
zMYE2<Fo$j-uG~*AXHZxQ0<qfoy^C?r|B*0ohaG$2+703#I7Js7!gO~w=SVeUFFWV>
zlSv{7!{v`F`@t%{4<zCCF7eyAvLAgDe$@odYa7J7aoD+D?8M;~KU1#nZ56+Uvsjkw
zsdlP_P8^71Ofu(qXqe*|(JUP+Q7u0y+Ri5lR}~76PZ5J0F8`@=04V$he)jfGM&VC>
z0Vs^)Txp<!23l%8Wj|;)`%oBvkM^rA;#YA1t4JsyU-9QSEG$+~cob(^mTE6)js?o6
zSiL@65m}f|5=pKNOmI}{txW<zsDHE_2p~Ka6py$Yug)H$4I2%0UWie)yU}L@>Q1GT
z_aKCmQ%n+RhU~-?*S|o7FJ99IsnLx@;O?+(F9e=%cU!b!r$rm?x9mdP+G*w=?zC{v
zJ1xG$PD`}WPD`}Wb_@4>mxT#wwlE>qT>2JI5E+L7H_<*$tsxyxX5rOl5|nhi5N&a}
zv|<Vc4pK$UB@nV=J&(3Db|JyAvo3(o294|IhR0*@Fy}{4zx2{egVB~y$d;Wsb?Ve~
z))o?ol(C*i+h&H41UEF3#%EJXZgcDA4rJYTY`z6CLbrecX>mG(4ec8?Y-n!?I)&FO
zs^>M%Xv4uDfBDN_{>g!9{MIQg{$K9-)d!Gx|G=+)@ILWL`cM53D3F%g+6}kd_e;O@
zOZVN<Q!83qMfH4RZ4`O7$T1}b3p4<j4n_4lbZ<>VP0hwl*LQEaY5UE$`SS`Qa`J@&
zvdHKGWeIw8$`Ty<X|yeyA#y#3<hpXMG*z@K6vqi>7sP`KcfTbbM{YA{1d&h0%Sbu2
zo=4jfF{E$CQlR8Yi-qGwpCLfuXf_9`N7$fmEt8Y6oCX?M%PmZn5{Z)aJlf{=fvyR8
z>9>nEWmawNT#s9OEkaytP{+6h5rAW(fPQRjWPWmbda`;xIv;IA3O{bSS>(yh*hhal
z9R~?fC@fCm7mZ`4!$nt$SzL4^LApT1#2t=uK7;dIzKB8t0Rg-K9NmZ@Qq+Lm<*{i(
zD{0_5G7B^F83c)f+bAn~1c`k4Y)KLJU~^YjS7XrGSL4jvhsRG0BUozW#KC8uef9vN
zq9fjXY5~tIq_BfqDmhS+pmM(3?Lu#FN^i8|=tA%kcyg2>aX3FEuZP1C2$|IcE>+9!
zyaX+~+oEMRS+wkKi<Y&nq-8c2Hf@}S0ufQ1`bcIr297v3I|&|l@?u)%4)yf()Hqd$
zn_6Svw{Uz2k!oj-z4F8pPwY3fY#Nt(#-e4F^Jv@j;NioE&rB~uNEg%7&7n>0_#JJV
zZod2OyNOkYmes7FWkG1!E06utKmF5>UKt0AHa@%m&du++Z_Ab~_x{QU?h||HKlKky
zE!!xyY=hLYo~83>O%T#TiiR6qLOKaLQ3S|W<MRi4x;wkK+;Gbcw+F#dk%pzP{e=e>
zU4t1q9PMo--6|`TD6eMKI+dc36-WSuxxq?XbS-_BuBGGnbO}O?bW*%qOBx%EAZ0IO
zrwsd6AyA7;x~Ar0%XE#-qisl>Z)~jbd9ZchsqtoQWfhwZN~r*5uYjdui_M0-Ra}v5
z5!Jk~RJ5K)+cf@-I_(7&65gpZqths<FwGgj1K8noH#P>`HsEV>2O6X9dh9qEI0LI#
zANBhLx~mXsWS#K8&+hi=ik>c{bLoY-SeD|qv!w{s0?Gy*YYVk@cXzjhP!vIPJH6wJ
zgA>r&iGjng$A__{9P#EVN+p$S>3p}xjSJ=EKV>MY+pr<J6UGY%<I_^j5G3xFHO$>%
z+g>4W)>VzyGMiZ|Q~U5<^7nj}+018|&3u;G%xBRvU%0xH>a*zC3Ncthi(?9lMkx6}
z8^(-;hX_$Nn#*%-kaphYH0~@NyBBiHyO>6IlYaxaZgZCs`!CSYsfcPT%|#$q8gD`x
z-ol^?F~J$)_Kk$!%{5U_Q)Mw~j3|ZU$Y;{1P)5{1!g!WGN85l=V^#@FBZdQ$3%2?A
zyKTh?AHA7~xh}HyF0oelUMX|5(z|4(?k;PV4XC(!sQ*pqA>3=|PF?9c5vRTry$bgS
z>bCZsD9XMQ*=l2jBsEq5XSlmpakS9)V3OmSgJoJeA&hHxuU58W-DLK8&T`j@_zGPo
z49l9y>Ook&C?}-sLLS6x$tzx#10;Ij6{33*R)GYK=@X9JNclgC2?|~zKyV;Da3C!3
znHKsC!GHrVAbV9p0I%rCDi(@BTM70cuU^SWuw;y~WMr$75wl1J8pT&TM=4S={8h<l
zu1dz^EE#*HWH2VCWZ0^bVQ0zkStP@@%eEI6n{T#VRo~KPu|HPEjr&T#{#avSZ5I2p
zQbzGgwTf+)dET~bX<w1J0r2ZZ3cnIrT+l*2@r{`q!8eMHfJ9-&Q6<Sxj65-pjx;ll
zVun70dbE%XrMyTyQ+b^EMoKp)&K`n8%)-?x7e$tfEXzfqDi@iR<f76J%BaePqbe6O
zEEn+$T8uKw1?sa!K+`ZftKpvP7B9;V3A&KQSWT>#VVRd!sw7J3oyXx39^i7*nr9BP
z1frNuaK(XSTC5|#a*8Yk`hSXcoVDi3%hX;t&4k3a_ld9I%;poVkPp2T>BXBjiC@4|
zzx*!oTNNMkN{oIrbyT$p#T>njlRhze%6e`;PK6e<p)|2)+TJPgZ#V=M9(_xJNB`m=
z=L(;GhU$fChL>m+O>ZOmS=+XSL%`nuUh%=Je*A+;9`TPxm}T(AIg+n)kc)<*v{fU9
zgX);i<Iw2Ej_n@p#%3<3d16*PiL>XY#WOe<Zek`idlRBL_Gs62^ILxXVPd6L&$6tw
z^snmr&zAWbAINd;cvBuO>K<)J%8cR5^K0Ln5`T>+oeDEa4LTJn)Lt55T5aeM@hCJ?
z5;l1s(YV@%Hn9PRUkZyyD&x0yVp`35;bPjqcI$<8u-@VUn)_#{{ws6H2kSXsIA#X+
z${HlYG{j!@dD?yH6>ap1R=V7B@V#mcNz&440c9fD?p^A7oY#?<551Q4xYsftdM)d5
zr)53vwXDaz7Q46NdRz^8X%SBAacx8M3ArAx%cXmk*5fxMX5P899&f7&Zp3<=m+ib%
zUYv>;nfa6*1{38Bvsiyq`|T7?XfYo5A;wR|31SS5am_akd+`Y@!<7WTA5j&?oNAoL
ze2WT^DRU8?lZ)^~#;gqXYAO)+fT!-UVAo^8&RXTN$AaBT6$pF6)jYtS@X}gB_zPTr
zkaM&U>Y2$QxG@Xg6FzVyA{6m<UWDYhvqaG$tZY6R^(SNcvPjTqut_Ik%HeNlXh1$)
zYdetlrx5|Ff?je^1gLHYt+U+$enF|}y5*KzcHVXOJ@?^~_-7IMX;dOV9Rbt<T-OYW
zsiCPAT+W8>_1!%%VeZ5tGMV8M8*ou0N--bxEeeFCASVr!7MLRx6rG9qj~-DB1ui7s
zX4g_f$D>9e1J)@Ufzt^V3qJ#w47Fp6X-d7rjl)1uDK>#$zo;VM62BPXL~tGaK7W2;
z0Yk>1Is6loe+h#zbog<_#SBvXqW(5a6FMb7D+r{s1w+x`{4D-_a&dNWaBygPZekGY
zZvTDvH+XDt-ZfuC=Z5QU+Yt?B%lJ!5newJlEG(ObCc5ngYEmIci$X^uSmQ;5b46s}
zDTOrLzNwj+=}E4>in4uzh=2kz=tNnG!r#HWP?(WeKrmQTZ`NNEDwk~da#X}CmTbOY
z)aM2>8bXW}E~H}EjR>kH_&04X=RNo?R1M1({p~&QyEU;%EVppVUa^;#z<AznJ_-x0
z6_rSos@uvtr}*8oK3Cm;F)V8#17Br?t>3BA_YdM}JYW5OYu#k)+NT$I;!k$b-CO9+
zPj>;ji_u*Z-KFVn40o^JuQKRQ-b{CYNOui%H%oVubeE^QINcq?-Rd#^XZpx{D|f2!
z2rw1+=T>m2?-jT9VmU9L)y-$ay@>1YU3&I{@BJv^Z65Ds+rIpoSA8AB;_IAq9bunV
zb1l`du@}F05bhe@U*%e?*HyLHC)Hw~BG@3^9f5k_PNzF3-Ca+2GjylWol1A*$nM?d
zfeNqT@$TKd9<f_2tE;xFIx=f7ue0N+h(&UQl_kk{SS+t2T$NJCuIk7fmXSHCvlduv
zY#(I5|4r3s65<ouO)l3>Q4|mCQeA^W_1yXvwf-@oHg?^m8gapsQECR<(0vc8=*Fd%
z7Gr9BSg7_lKdfp2`h0CVT^m))*|b`8B7u8$OwBYx9ciSOx-zF(fJSP!jP$isHTs0s
z)Pz#P7$XLW!{8tv9(%059&wxmLw)^L6-BRjn1Rm7C%|Z7w*7=QGLlH(5C~uj#}F|_
z99%B&TlAfH%YXRsk=Lz;ZF_~hso|=msumqo&$gw|LDh2oREwml7D=`0plXp+wJNFj
zp6VLGs)MXcxQk$K7I&Sda#fzC<LW(wv-e+Z`2DMqKO<b#wAED8S)L0wX10Q$7G_xF
z-XK1XgYr8ftiUPiRqF%-FZ#lzEp&oCKsq!N<3<4|sI1cmbB@Pxs>#)>o)n*^rw-B`
zHs^aC;+?`3w(S-2=CWKlSEm_izET%xx8(}CEhGGNuM&?(@NYLB4G%}~kID_`25C^A
z`6v+R?8B=*Uj+Z~K3j9MC^t2gqo2m|rfA2;=MWxtC`!lN%P-HF%!My(+biVFXZf8z
zi-h?s66V8uSIekdSMVz_>eiYm)+{w6H4ndYA)+M{2`sp$PS|V3nTR$qIyw<GZo4&K
zgKlh;>0m^S|M5qujpBbsG?&NYiW=Lt)wUyljpD~ubKwo^Y2?+y0_Fn^?E&0TBkwGX
zVV=-J_4T2sk%@!$0?(d7W)qh7CxinN^Ct}KdgbW{VC@A`{m2n5jw`I8I6*PG8z24z
zm0`qz?a*pa44el=k3~;k%f5t>oWVZ%5?W)2wO|#kyD7k~f>v1U*59t#s(9VhQ{NyS
zI14W=?<y`vC0d2LBIcb6TB#U1X;jgg5%oZecG#4tF`q(Ro>&F4S4NO&Re{W$k5+?I
z(1H_LACk6}aI*S~9*ed(E%wY~v1i730fi=k6D8C{jptIvF~W(m4Wb5Mx{Gk)v8WHL
z_OQTO3xZ|744iHPP<R!7v@jHimFCxx`-R0nN+lT`&YYcKLJbSrghA>!yNmR908$(%
zVRvQ^o<jkK802e2lwJWmO1Zq}vdhq_G;v1BjSx0aIB47<5r2xXfx<!K?rv1>SSCZa
zY5$9$fyzPWZtAMP@mv|wGB!^X?{Guo+>4$j0tX5Qjaw+^W=MvhaHMf|af&r=J}VYT
ze4ubZ@Rix}0TLf59EzUOYNkGH+Y5o<TfN0r)mv;;n?-u+@lJ|^ueWGfy=6A6x7b>*
zMSAKj(o=7d9_Rk?`D1gsYY}GOPAD-_&VPRK)VE=tro`7Gc0!90bN<e@H~tRH)NSJT
zBjktiEqcEg7QZe2QjF@bS^op8-?@mLAY>Sw4_tTK1F&A(z^tL@m3gCd7Z`b}DdP-y
zN(hUI5l4wnAxnawb*^g=^{{7o(Gsx}ybQ5(XdyY4P_ZpI60sA^47KxUQJaH(Bf9_7
z&Y{HYa149RAV-m;MLs5AcYfpKv)_QNJ1o8)u@m$Rzp1^e!N22G;$OcS{9hiOJu<C2
z6U*`c`)7|m3WGPc9RGLUa{C9M(RVMyKP;Y5KJ<~WNT{%ZFop1pmR*6J*Kd0h>-h>-
zpuwxV+$HS4FS`QQH@WIzBMZx~z~EeBG%k$v@+&Z2tes<XfWJ$IhHg>kcsw=;+d04d
zQvB%X;jh7lzOw96uqM=nZF?cyd|OEqtXHBI?>t)*>Q>N%I?I)?@@}<OO?Y;2{FSl1
zHj66}!3gMI)cLu`U-(BhsZfM6syNfXsPmU^y^Su!U34MvHoir};wQ=<eK;(V6+6op
zf($JiTjv|LEnNtFAcB9CpjuIc_Mj^eFbeQ<=?|H=sPm4lx-K@tE%;5P68(!hPfpFB
znJa>qgC0=EA^ij1h0xqI8Rfa^&)3Ieu`_I)hoBrkJ_78?LVuksbk$0)Mh7mZ4eE7d
zN2W(l?R$xJz%)ULXs;vw^x<b8``>@VI$)Zh(Wo<!z3G<wulvp4UZw-u`q+Q_(EZ{s
z#4cnWpOG41njlZq*%sP*{cT&`_{NoNP{E0;v-*}=)&SE4;Zs?Et1r0a_ARUdrU|OY
zkIK)+=O&MzW(_b+P&(>FmA?}U<r61RIpWjKyo$P4$>CuZeA5J#qt2vp{OEH7-})vC
zzG;FAV4`RaXbRi*LYVp1WSIlnEptG-#Rj$GowR~zx6A?U7Rhh2%mFPH$#1vJ0qqva
zS5q#3#9_En$hwRn+%BTj*6zW-s5(=N1_Z9!8Pu#FLI<{pvT4&E{EK=U1?p`r<~q7N
zJ6o`mWF(V|iwz;Hry3B+;k{i!6|af-18;xu!Mj8_;vO9xAHQX@qHMlpd_3yys;>)$
zf}!r7Zscd)5izJ;l-q$mJnnp+R<~YSh9EL9j<zNlB%-6wTPcDfjPvu^d_>D5nl9?K
z&y8tXA*N?_-3J~70X9QJiy5qU7l($TYS!+GI5c|}3F0Y`Dio`-he}<lCA6^69Cg!(
z8Ci%%v|xJ*>*sQ+Js9<(IvzzXQa6_js5MlHL+~yBcs>hn-8(B3!*CcABje-5i=&p9
z(>aSZVtm%=lvnYlux&3c4Bu|DT*VtLSMg@cRlE`Jq^o$d<tpB6xr#SguHsFWt9Y~J
zD&DyKDjE^hZ}=l#c`5UViKLb=xVB;@Cj7Nv=p1Mg=NB;~TF}*XMbvgzd&Da*acXF0
zCPmlT;SxuOMEfQzXdEfAsa*^m6|QJQM-B;~g&0birE?u!ot<r)+B!SCaQ&U2SLbVL
za>K($)NTw9=W1%epEo=ZM_y@q0POW_{DHST_+a=~!Vf<97Dz-L>TaIcxH0kg<8GKi
z#r^o>iH#dij7A%}Lp7mLt-m&eWA}#c?)972cXw}qlsJh)b~uWOgc`N0iA2%i0E-W4
zX&`B7P%@|h5HCYyiW#K<k;%a>7a%uids8<2=%SJ=8^EEAkX)DFC`TLgSYFe{OXH}#
z7SnU+-;(yCV*_N#WwR9>Eg>yFRdS;HMrkUpg<2d%k}55Nm`N98(-f^@3dKB0z8soJ
zpw$8GH#&;Ki@rYz)Qz!E*C8V|0NU0RIs1ZGaG_bO3m<SdE}+CvV1n?S2slJ$q0t>}
zNGr66M`R`mBGq14#2P0JX{-Z}ZXk~u(W8V{+2K(0c|(sjOn~GzG!MK+yD>2~K0bK{
z9ofbpq11B08;=_e4TY$^(9mGS<6f7P)cRevy%0XWS$q0~c2(JItGx+znvz<#tI8F&
z?y54{O}naGVVgx#SF$%Y1H3;x5CgHZx%8s3zO$*WLnx_ipCg-!O;1n95Mbwi;DLL#
z--H;+o43E=fvBM)M;_6t_L4p1*PlLe;zi*NU@cd$1)9+~r5RMYI}-Wq7r*q4Z+zpQ
zzxd}7^8+XY(Nx#eakD-)J3mc)9Gey-T~i1wR_?gjjk!c>epYZTR*np`<JTDur^91E
zb$ViE=FBO9?sJH>R5aaID4?!LCTFX!M;Y82p$yFQIc5g-KmPdR`^DoCcYC`}PY(|d
zr*&U@)LTNxA!-9q;Q^8oH+tEj!xiQiL~BO9*i1oa8-foP7Sh;<abJHudbA*lva5UJ
z^|(&Nl-<9}wpYm8+btI5zgR5F?^-O%+wk6-U{T&|xlV7hSd_5kI)!&tnWi`G(gb!V
z!t|%!Ww9tbcU76Phr-08;yqy@>S|F|4bCPam(9*3c#KE2CuV0)9D4TIL+Fb(FffS#
zOm`yjqgpjKJvca>Q8UwL;u($3rqT8G-<~{j<j9l%_T|rh_Oo9;HQg7QKK0ULk3II1
ztriuCYi${Tm_aJVM<VNC_lFMe-Mjbj&^$`<E({+=sP5t61)2|r4&nJjcpgiyPw5~3
z{onunk3WFMa(^Yh#{d0Q<0Egx4%{0bdEbXV^r81PdvF~*&71GM^G+(X{x6aB<+8V_
z2XE+U@?yE=ZQ6jx8_s$heXDY#5)f1LpAx|1N0blqe~*ZN6Q5T<@PQ9JC_aye2Stwm
zJLuWbhydBf9q;+mKmF79fO`AG$ogWjb^AL%_`wgpb9*a_LA3372Y${wcC;a%zIFQ}
zc>WPQAKmcl?|%5<hu{6{zx4-y@CU#3#+|p{e*4Zh{^C2{@s3}-t{a<%-Phf8#~pXv
zBt9B(m&-PH5ZjMIx2+thvw0|@Ht0bGVaxLfcO?ZwAq)yG$HDM5wAA|Q8tQy#KGx`Q
z%|M^Z!YD^<WmFvnrGX|hs6m0Nh<|ix>EhBqy}pzzm2Kq|Y8e+)wUCU@%*2z$Vtswt
zT~p&O7j+wg>~)X@4s`2rIm8C7i18OSM{RAbBO9l7V_B-OS(=*|7#NtCO9JX7b~b>D
zGe8Y_Y6DLAV-8<!XJ==v&jIhu8Q|tTcs^Pi!ge<dV&w;s+A2oqnHPTc#K9w{PMtck
zAK|!@(~~2o5A@cg=2GQyA(NV&O=SuqH8+<MwIQMEJR<Tu84fV?p+~>>=-0mVwI`o>
z=JD@;|IpE+hn~R~hW>x{-UCjOvd$Z?s;;i;oVzFX<h(n(vpK*rvw@ruRz#E)IWcgr
z;m$h)zD#xZioBwN-g%0rU_z82qJW1AL)s;5nhle7c5>*R&N+9z-=}(TN?(V=``rCc
z-~apcJT+a_sh;$Ee)0P&<-FcpshEu{MzW<`)Emu7-BRuisV^kuKIu_L;TRd8ni?ND
zb^Q1#Ulcz-hdn0|4i5@kmSj{*!f};!nV`gJvOw|w{Ltf%KmO1^-?K-&lRT>KdGQGH
z`y6@k=|>)U<mo^L{?M7g%<0poXE5o%AYfBW1!ob{F&j+Lf;|<O#bTMo)-1n{&LKX{
z(w))B0Y`K^Xe7+5h$)3UfU$%NH8H?i(dR%yf-Ibu4luroR5MaF<@11?h7>P}D3~uW
zJj3)X!Qb*E>8RF?cZm|>EbPmeu*mO8jItnT<T}A?0S+pXuMz8<Wb>r7R6i_O&@sVS
zS+?5!C0$oy<;%VPR<ry4p>N~L?gmSuWO}7Z3mF{xO2kkr9m~A@Lw(!;wOk&Q(d-9h
zH2Xmr&HiQsMcF{JzbE4YACl4R@Aa+x`nP3!>-~KzH2a$}n%xTlRnqn$C7@`tsi|}T
zJe{bvMfioIBO~MI&XT;A!$Tv%;Oyw&tFOL#9FuH%dTwD3BzJy#a$28C`Df1_J9cbj
z#-F0*h5laRC85=*uvyXyJzN&FECr}r#Mp?)N`R>aN<o;j91E6%DWu^^kdj?b=QQA!
zHEe-Iy`<c|EZ#;k76L|>?e2E45v+p{<LI6<4L$t)^RK+}!f${3+kxkP{k+#Z`21tv
z_{KLL`R$;0czFEWFoG{ePY(_Ys-=;`k3II-i)VZSklOltv8x*FRuh&G!&QTzI8+pV
zN%Z-E&_gi0u?{e2BMBa!0g6lrRKve~ox$}`LZikDd?rF(aQE8nW*tGC*BH$9Sd2AP
zVn3?TGqG+_xv{;y*;xayqnd{1c9u2Qb%G{$*4fy$w#M3OL|j$XHMZ#$3R7L@_U+p{
zkoOVzYE=aK7X=g&D8MnqsDO1vlo*zouwF@sEEX%_h3Ev(NivMCuC7kIe4X$}?DBOz
zx$f>=zrL;7j_$0eZ(Tn#qpII>(@i&Ru2s%_u%!L?{{2_(K7Yf84d-8U)qb_QZSQ;U
zy6di+_O4Z5fBmHw>_BGJ?Rze}Ue9qYdv5x|7rt;~UnfW1B2<--oEHu;Bz<rxJA=NT
z%UaMZAoB?8aUY1mU=#%CiJ3oq_;84=*|TR))$(-~*VW7du7}xLa^1b52TT?rCLo&R
zAr)*QgsUZViWD#k%LJWVVR{<sYAS1-CM34(Xsj@G*(<x-+nO8NDxJ+8Jv|-G^_A_-
z4UH`o&X&#|oYz(KA|C`4A?jQ#mSc4~OeKM0TyPb@U=~Q)L!?&);&C3QMH*;rO0aem
z-Uo7~=gZzOsleU6$RnDAQX3SJ%3)p>7=i+g@H|DXs>SK7u5lu_0fZZ;#R3>1aF}fk
z6&AZ4z;D=kZH`JikkZYzs>a4fr^BR%dq%$ni4}9HbOtj{EJ8V%LDFE?<|5+1Xr3_b
zpuCt?U?uUR6oS);^O5{IE(4*QkYL{33plD6@#q15Qfy+vpMuTUq|Epyl=0>rot>>6
z-5WP<?C$C5v|5|Gw_kM8Mdz<?z$7+XDuEzZQB`dPL!-Ahpu^g#bRq<f{@ys69*)LA
z@=FDhiZq@pV0INP7KVYl1)h~eOe;jL;2lVsiDhnBzK$kn3|fuE#&Rn10$Icaxk%b?
zSO7XH3h3>;LT%1+X>T+NBqAVlMZ%#daIzvKF3TH9VJS)p6i9;TA|S351t}3;jsYrn
zFM5W=$Y8o5Q6*Sp9%$mZ9EtQJ3HOj`fu_(K`2x~ia#XRr2bHe_Ub~PhXvhnI_`+>u
z-E1V1%oG94o=HRu209a&nVEsKW$>z0zVb_*S-gZe$V^yzNz@Mxo*A8hFVpDA>A_HF
zdgS;^FTFH4Iu)V@g?>i~V?tB#V9Mk~2C;%Xu)`yfjAvc>1+st;=Z+UtG<hLQtz1XS
zSzPDnEV=H+q$3+A;G7D1NSxSM$^8~YHcpE%B)`D-kfgvV5Y|E_iH{`ki_&$tZDrHx
zB!;z+M#4a}4?8#HbV5jJ=Ae$n>;*77?gZZtCy_5AF$TCgGMgC8Mqsjw2gxP$B+?z@
znuOEt?hS`yX%euQPR7G<M3DTsf~k_`99<ZhnVIwXK}r3Kb2EiP+&6XV)Tt?7q%bqH
zutcs0y$dt?QYqmjFHHMl1UIvvBQy)@PPd-XfH8&KjqL}BZvtH?9W;}sQyOrFd?^ji
z5Kv1VlhhxS8W*`zid-z)Mf82#0JU87vVBx;!~Ij%$JL^u<W{wJWH~ATI*_bu_^Nr7
zsZyN^Kyv+XeDp9odNcxc9)x;8%e&dTKI)*sRY03$si?5Hl|5^#9n{5w0>TPQ^b?X%
zO_>1BJsfWp&{7m(Qw&UJ;fAazASEw+_eyGp(&EdJR$A$urz~(&znh7~iUP?_O}H*M
zb7~Cn(}RKnlP$X}#oPM0f#nXOY_cBuk6MmwGEU<iS&lT-MrB@0rQu_TP9pW7+On}$
zm9UolR6B7JCH0{C*7G-hY`sd{PBgY8S2wy%1*_2*!X7_P1=)|7i(fzo!gfIDEBesl
zR`1==ees$qdk@jrf`cV}$+~6A^06~B<C!>}K>{V9{}c2_*wfT6|N6vh$$%n5Jx0t^
z1=70(x0*HbbRGa?$exQHCiS3t;B4?^bhMXx1^U{#aBMnWf|(9BBWX5b4Y}1%4URl^
zHiv+I*o?^XL&v|>^L4VGuaotBvy8{<l<{~(UrX}e%JsDkG9Ir^*7If=kGGosM9=3V
zNi&-js|^g<d!W`^9soRb>(Tv*4Yg{^)jL|(Qx^)*;VlmZp1Rc-i1p`hy5obN_|R_Z
zLF$|Rebj>jxI1Z7$jE5i3Jl0cE{0zE6X=t1WKo)-571YF_5FaL#psX`lB!#e5n6+h
z+I#7~_rI6=w4lW(k&%+B8<CE9T22G2Pa{Y3M9@2b=*-{|_~C0YUS!Oq>egY*lK*z%
z@XL2U_%HWE0D_c@kt3rgRkt2Nu5_i<U}|r4*1=OBYPRK(#8Z$9b^+N|m+OM?H7H&p
z@o;ozZff?_8S12<#dwlj4N`^Tg+6t5aOBaa9(mGp59JcH7*{g3QZ3USi)?%?vhkHi
z5?W;AYr*&uO|C`8!&_wIyPE%tR>s3?Wjs8;q%<j)2+kd(J5t>IDNViRln*5T_gA_K
zp+Z+J0Il!g-=7)H+}um;TzRq6X0UZO!?;ZtA{0W1c%mrfHHBnBgIq=e@)wcf=Iz-)
z)-I{o-?|c2Xb31pLAVEyO)PzG0{`yelZ=vyXW%k_4?n3eC?<VS(%mE3FaERp%Pd<D
za(^N7YW<Zmapu%gxxb(+VBLJ6Ue_2nRqiinf_XRZ3>Cu8E~&rzM$>2eZZ7v1STOWK
zv%zL)?)+2z#U%3yByyMf3ki0iOjQQbex<#9B?r6$H=ot8nrxIPf*})9&`+O*1NQhi
zsn;?}TA7KX*NE#T;?H=WL813eN`3cE(QW?Nn@kBQ`@i0sY>33m^fOYX!G2~7!IJK$
ziG3f?SN%*Sbt7>NOOfX_BnG9Qah83`B#b{-8J0a-h6fs^o+WQa9ES9XvUYR7Y?bYo
zt+IE^sOWoTtL)v&RP^1lRrYS#D%&rcHS#Rt*UM(jyJf3vH58AoYNxd%DpW`j1okXQ
zVTQm;YpKvf!sAN@8w4?%0cpw*ZW|Q(m30jcQ$gXf=#8rCwx*V9Do^Xo9A~a_RwJ``
zEC>!W7)yJM8@IRQfJ_Q46Ko$N#k^2Smz0fbE0CL8o2_bv%+*?D0xPD24UrSi?^{!!
zQMxQuPV<&4_Fb|`OwpB1I&I^|otuzhe0J=WS6&&L4SKr5fk-rcE}D$<kV`5mR2Cpv
z7|iC(*|TTU208|oHb$EvrI=wv;Iv1M9UDwCt~wEBg={Fcq-|_!@2n{LhhBKGRMJ<p
z0QaN0LQ`^gjh#9->Hp=VZ`K4*l1&>;?d@I8y0*5^6Hh$hZ%|A@Q#-9_z3j5fS}~8g
z%6sp>|6jaHK!JvW!N|z;iONf_c=t`4vx7g}Eq+}5G^~2gO;>;T!ymqCQ$^n0)llEq
z*izZp+_VPj){Pt2_VjF6x2~tB1$W=FzOxCUaZ_gx&{cb|J~^e==Ud9txMTE8F_TRx
zjV6m#E2e@ovqa%(!kCz}Fy~;iv1;^+EnBv%ad$0wqnv^(D3ofj4!SHXm6<}uI}2@9
zGGB}mAX22q15+FawhmW}hB76-;HrZJ;~k%!3KW6fF&ob%<Eact39p94qvkmpoienb
z<+VAb#taFiGA)83&m~4rpwYo>X>ksEmAOSPG6w~)9Js>lL^Q9<yXyQ)$uk2-4xcOJ
z!lTER(!oW41n4kE3)Gz!qYhuouqB9Nsc2*g-0yq@Nt0qxz}XXtJQ>a+nG##f5-ULp
zF#()tvl}!;+GSCxIZKtJ(uA}oDlMzfn5-s2l}jbSZYNS%PZ!O_r>9BUBvO_Z=Am4e
zpFKBr7Oe?RN7I<T>8Kxb(+}sQeimpVl_j7QK^fsvkDMJF87)v1O|boDV*a_gIe#qU
z=>jk-#}ecQA|e8g95!sSr?LnZVN0|UeWIjEk|UBrLs>K$40?sf3~>MoMg*dyl1Q8f
z&<Bg4Dr8gWrBt@)=`sUoT3c_@8A`ZIsEt#p1WdLm4Q8x1!x*6XHZUoSR|@<wm+owD
zZ&R0CbpVjzl?I(Ty)ZvL6=ckfn>R8{DmXVjK0X)BFm5eUDoHv91+acKNUsKCEy=JZ
zft-+O0%5}jE?Ps~L9HGUz&3#3^r2F3`G>BC6d=#5E#K4SC<}LE8$Y;mP%bzwa=_7;
z#G)+&8o*PWfuYrd<YEY5XL_g;cnaurIEPnO1_Ey8Y3eeMg4TkG>k~f;zU`kq{fv$B
zmwjIU!2e%HO;^)!zNM92&Hw)oqf}OGMXN<N82VOhMFyFz$U`ZGeu_TmArg-Cf1_}>
z2jL?)>?4ObIe?H-BHlB#{J%slj*|ntRy{z5!=WhbVJ=ZzMqfzng|li_*sIj@moO)&
ze{z@ilhsFZ#j5!qjqQ;8Wv|u)tNE1+h}ZQ9h{(mEnH;Vnhx5rnitVT+&o+_6A~__;
zAw>>zWe;?!Ur*gf>H4?<Ohu`f53G32I}fb1uJr)hfH(A!H#r;1-cgMQR&2H{2Ucvh
zy1o^?vh%>o_*NfS(JMC|P&d3~7t|d1{rG|yN-{pfv6@_5l`6Wy+JNonpyp$33r2sA
zgtMqsFcK0|3B#zYG+oouLbctloC4%q*5{&39S$rAN5{@9ue@?+v3T8exa$Q$``mLU
zCO{tP$i$K7?v}m*3J&rObq)viAA9?Il`)vyi%H@gt}D9`YSiRsppC*?)wxuzq)?Qy
z;ykT}ffwYPhIB(zk3=7dcW8)RNQCMwK@R~0Mj-&+#lQ$0!{^g%wnUnO-<4FD_+7$4
zh87ms`2}UQL5zzAmt-e~K@Ay9!477UVqzB9`uJ)WMaQx(UA9axY51~JKNnbHn^U?J
zN}aWmr1r!u!&$40=l)LSs~mShiBTn-pHjyE$Z-w-+!ed}e9e;CcZwV?z@d-2hdjN6
z9Ha@GB+s<uFhdSGatM*b@#T0V!q>i&*8NwmMx~4%$)hCx^lI!Sw=acTt*l0=aX#`w
znj99$0TEXuTd3zRgW~*oZTwRd$4}Z5Cx^EvjsX9EoFdljFQbjC&(amDT21bF2RUpb
z2WgVllV{t>L87Ws8>M-TS4sKnY2ANp&-m+GgMVs%O0!ZTFe~#@3WHR<H9uF2CVM;d
z8a1fsA6j@<_Qlnr$yP<Lk<l4W&i7!BF=n#iGi_wYryqo33uLCRbWeX@(Spk)`?Uw*
zIN0z>0px8M=K*RMM}idXVaAZu%+pUs@-MoT7O9o(QY#<&<5rT~E*>OneXEsesg-`I
zl_9B>qyMj!Q`p)uBUd=NKaSM>ubQ!{Kc2Bp7&bigZg68B{C^sw`7ttQ-^85#=3C>)
zqzQ?Y<}7hR_W+jbIUHvJU+bY?z(?-<GiL2ye@lr6cXuB*fFYDhw@mu#mT~9ZGVXjW
z-bpmZ>t(#$`o0w^wC2DHcituA&O7^7xbw9#U6u_=o8s|U95!Rv0Eq#WMG|7S05uhi
ziqItFlLEI?K%QqN<+k~a#`*c#g=i)NwF3MZjH-m+k2jY};cya)7T|<%r?Sv<Df~#+
zMY!g-_-C5w*R?dauUos8<BSz;Z5x2+00)o~Rq*@M3S>hmGvb8XhT8?B7q7nZns<Nb
z10OILHeY}J-@*kF1{O9?rB4QV%F*s{0F1M(y>kt`Jdu&7wz0Xro!TR~p){af(8~%O
z{3Fxp0!`G{4x+wxpgF{^t(Zwe2>~raG6}mnghYaTQ8pm6I)STD!P-r0+zvV(hed;j
z+ZrsZ1fmsT6EuNHRm1G9Q$e?)wh3I94(4jwf}AhX?Gs6Yh!i>&&fxGz%k#XVknPus
zNP8`cSt_d0WS8GceCCKtL%()zZXp~&|5AyWh@i>jDHT;=udK9D4p?&~w*y300ecqS
zS=mf7iCcD)SPn{bDQV(Jq40p4wnEo3H#0d7R}?fa8T8G}5GV!s`j%XD2~rC5JSOzv
zvc$VuB>cZ8^YgM<Cy#{x&yyg=z(%@>%q#u-(;N(x;Y9A0{;ekYzMY2r|EpH6&Sk?S
zOImrV{I7#Bn>UifZgPl`L!sO}d->l4xg^OEk_aUU7)o*t!c>_b{qG*p)!X{EBbq0T
zs4X{gc|^~WOF?p2;oROrw)kspt2C~gNt>MIwr(!}8zPsc|FEqQa*9rP=WYE{vOfP`
zzEb~i4zD8bOKVhHZmcwGC6@gEkoo`mX0KfCm(wGuk#8&e|Mj(1E?>#p`tR!i{=3`y
zb~*t0KJ%yb08(4GmnZMr=>q;*TKRwLZu+)6jHJ`~!yQK2SKd}P!1i$iV6>&e%D8g5
zq$Q`i1lg8ITC3Sa{?l{=n6!Y~a07sl=m*|La>m@1WM}-B<gK@pp8sEK$w2@AcWnQZ
zB>i78lm9?x@YYOz2YLfCmx<=!t-1X6x`THzoB!`>@qf3)Wc6Kkoba;$Mh=bSa2Yv3
zO|-0Omv-GAaw;)Ql9K%`iwPlGf9aZb>8?+b`&W~LogAd*NPCWroVJidlpLgnmB=%+
z^RK3Lk}VHHrU2kb95#@{O6!`)sU)t#vbAjELOWMlx0-K(oYrb&o?0BC!*8>X$}=l)
zeJi$SIkq4t({6FA=-7c`Hcw=4q@8?I`ky9NN;&}T<wMdrjnrcv#t4uz4-(EP3F(nQ
zgUSCmz|uU-BGT}A7#8+R@;zGMMtk5=YrxS4fA7DLxx2blzUthSnEI8uyE3}c+?B?e
zCWDPb*}q_2A2)zulS+?_SL%>yrMqQg+}cpqV6Ho`;$P4s(_r@Wt!OaU%f`4%ron8N
zjj>8L#)1tYBhx^ZMMxTSkA-9urx38=RRHsO!KE!B1W03s=2DB`Lr1BEFyMjT{q99L
z#X%dF@=oCt&Wkn}=!?ZHbaq9!65E;)#pB2n+>S&7?nRAtwN7X_;dYegEjY!>a1p)Z
z7dd4D4tiO}<5*a@6lL$OzP)?*PEJmyjU70JO|c&?rcenIq%=;mh!DCcOH#fNB`M-C
z@uEU&YHe+8X=*Vd>DD$fvsebfNF)GV(qbZMG~O)zk<TdfED0X7+2FsRvD+*44A6D~
zipj*_rKX@9Di!pjUES-~z*P{MLXE|SQ-qe;@KX!}S0|c*qjUfsUJDV9CH(=9DL9iY
zA(9@AN5lwDvEFSsK~xAT5+aDa4t~LW5lT2)I1&n{k|DecTE{E_*a$;Mism7e5Pm`W
z4K2cbEy!%<cCai_XG-u(X(&(`q{~jFKo0wHBVQzaQYwd?cpMrHxhJpR2gf#qUn%l2
zoZ?2H%Pif^71e09vgG+HMStll6n)QM#y+w7T0243%R}TKISTv@dDce`(&Cb&vfbo#
zk{l%62y9*gF>x)UyFyke$B3>*Pc<@Y0WVu?1YeO@3s&Ri<XElh11t1Yjv%Qy@Oxh#
zqM2s^xH#2MmoUv<ei7k7a4jLr0=wVc%)+JXF^rVbgjq~&!G+}@7KXJ}_rn*KQMIo_
zP#-?J6u^3<C_xblp~ZJIEZ|1SC&|DAb?xr{zXU7v>U@o)w|k6?&!3X10RSq%2Neg{
zxCAT+93+_&r{%qo_+`Bly17O+mj6+@DMvj2bLl3*+4!^QCJD=Ur*zZt4(a9wyziY;
z&8`0ds)-bN|1Q;B3#wTv{drWAbly9rnl@0ucTP2P2(kG0DQ4&|nqscLz9dt}QL=6<
z<RBSHB=xz(drFLUD|tcEl}l7qG9=*H3h(*fEfuZ4AB>S(mq-Xto=H-Xq+^vD;Uw1_
z<e(x4sdXmuOd=*$@(j)XOW*UR$bAlw!yie0TgWx3d7b3hEICY*!&{P{<U%G;insX7
zy?xvOwOsbf_{)7V{_+MHo!p1_l0EN2nFZuR8GpH_Z-u|SK(^=Ylku1PR^cz}4F((R
zsAgp`8Z4G*g$NIR-e5p3K_nC;)!lDZh&jo)t5i2NA{5+8`G%$hzP2_NGZ^OPJoUA;
z9Ssc)jhgK2SPo&y#nI7GeQoU&Qbd+3zCu|{Ae|tb{muJ!@7lGiO+5M7fWU9xJ~vle
z``T-s#@bpXA`%qp`leQ^y}EWSkZIP})?R$^t+!r&`K`BJd@=ZpewN7>MIPbp^w8<S
z!ND|R>gpEwp&^@XX{oErW9;qKg1O?X`>wdIYu%3C1A8ceJeb>idoQKFhX>N_QV-)n
z{(qPHZa;M!zLbTRtkI=q*dKlGTi^PYU)l2h+XViHKkV*4e*As!^E5U$S0YTHqPnHE
zy}rJwxeIaRYnq$4Zr!_g`}Vziw{8X710EO{A_@|B9}IxcEYQ5wF7QFXp`}t*s|P$o
zBQe-FE-m?C_6}uoN>veI#z}Y%2bPwQs{$Y*h!rTn`>@}N4g|6iVyV(g0TMYbTI;L=
zABh0tD`PTw8WCE7R?fsT8gn5R3xyHFJT*2(d>u$)34BQaUy@g95i(BV8ivn;U7w|z
zwzUZS^t8zojn>zD>eXtJ-veNyX&~CrjELJp*mM$bE#>M)o5TV`qhFK`J0b*hVsy?g
z@D@uttyYIZ9s(vK+53ri06ZKd))+p$E+ZJ~q(YgTni6#sI3eJk=qT2uQ`Ohh=)<un
zRTDQXG$NQCjVICADRS3w_+G>^nLq&H6^OA21mGgokMtTeRdQ)XWcNT^1w$2*aRIof
z`8<cr8lFa<uYk6fvflYw%v9e5BCp4NzSmy+<u6}-^_RbV{dI7g{cH)2#(8{)*Z}Ob
z7QU3292fY;#z@3$o}2``Eq()=&bK7q?5;j;01Hhjf^1a^vQ_y-*{by5og|V~kgZBV
zwkkccRe5LM3MYD(Y*h-fRjH9leX`td)CH+jmQpAIDpF8q0KylE1bmC3FrAAbN<N!Y
zFeMTtFClAWX$sglA#HLv7(?#hU_7m56K)8KrGj9}=d!WtN{3?>0ECOPQwa5gf43rE
z5V7gzfP%wo6@tls>`=@4nyRYm>ao$05xb+xeE}fIL{6QE#M9<TilL__hX;?Jn`9Dm
zOa4eK&MER?|57nWz}eyq_4wnjo^|*hADfNmPme8x?7R=jFMzd^5lpE>Y<5%6nl-P!
z0YH^QFEDW95KDq0nJzLyRU%m^85}@vI`f?`U-JH~8#iv+{Hv#a{$yA82KNQEHPvv4
zX>F*gugHo<%f>E;W?^Q67gHHUWn*h?g~M*IwQ5QrTt%z3qobvswsbJ8THD&%-VUf1
z+yHRLvVtiBAc-Syyz)x-CP0#G=qeUnbUrO8qG7*JsG6G&mb7}7VhxR*uN{rOhSJd3
z+J5-(YwinnoxgMY_FdOrv~Az!NU^c~<2UzI9D4p~Q)wy0Z@ui=U7HZJwX4%nICJJq
zZcXQnH(q_AqT@z5(^S6eUHjkdu&8hY`D`L8D95MHPTl*Z-QwrP&+Bjd#GQBEdB@Gj
zJ`0x^AWct<4IUAyUi{5)p~9)6)b*F#<o?<;w*G?`U3Tq$m&@bsZE9+2M2uQXV@spe
z?yT$XY^c$wxGKBZQh^(7YG?p`s;jnRso3i4Iy%}~9CaNPmDM%v?HwJ})fE(pup!XP
zMZtt1u&j4+e%@Yz5VHzEB0&l*kbwGBQmBf@GNO`$Xu}z;3%(r0)J22QY{7pLS=P<#
z%3;hGD3FpOl>j6~KB7V58Kl9rHPqA;d9z+kLk`XqfH+s6l?XLbW%G4)R&|oAv*;Bf
z1m{vbt3|Is+~)+7TC1}r;lgABjELH3Lr4Iw3ko#?&4en5<xC2Q$fCJ(U0~7&dXaS2
zIi2}j+70oaPDKJ)VM}hotVySpn(CHq-Q9UDGJ7kExo|wERP#BSpmgYynQhxztO4D&
zhDu&^n3N@73Ynb&zrtw*lgVOh^oNqk`YMR^&UR7ZBKM^*<A#K)%1WIgypW~DhRbdk
zdu1pT3i`Kf-L@qe3%h$kw}F6L00NXU50wT;C(tNT$lgN;dY++5Bv&=U!Vn!sQy^<`
zJ~M{|J*8M8o#PacGm-stc|?GMks_FQfe=VxaEZo<0F_n&s2p0TBKv`oXDBf`F<Mz~
zA=~vLqSy#@UfcM%pH`cq{)}FwRpk@DC4Ydft*};8OF=}>ne}vF?i@bvav=2Z+&OPp
zSv=>(hexL~N~<nOwSt{a`UO*P`nNwjG9{|#pk|u2?!I;77Zs_jrb4J9ni`!E#5a0w
zq-jG1)I@curLhr}#p&LKNO8=hWICG$;mPM>@obS-YrsS>R2B)l;bxXYo*{sRDj^0W
z5~(zm2jp3iM7AY??|^Y;1OwvYS)<Wxjz`h*XhLAIAb?{7%m@zS4+t)xnv^K9kV=>g
z$UtQ>A=EH|e}pjkgF*l7V$d4|Vo+>kGMu(m)?mcBQgC6`9|E)sQjpVdL{mfnHZ<oI
zW7F_B11RD2bQa+)7=MOU3MOnXy3RH0*N=|?bZm5rVKDwYpwA6vtAMaV1CvRSFq?&`
z?so0kwQJXS7iOosyVtsZhyBSUJVJ@zqM>DN?w59v1AW{8HU_C2knJM3$aawr%65_4
z@J_<p9gyuJAC&DPx5{>rn`FDlt+HL@wpDf!d925}0?;KBaA@=`1rk|BA?%$3j#{8p
zLfqqQIGdzJUM(^}jGdWV^yL`N4Q9>7U=q5T#ge@OE{O)pH+(JvXeckDGQ$zI8fq->
zOV~>m7rjgFb(utHX%U;i$y1}=7@wIq{vuG`hV%KCUw-+}M9fbY_2!ad31^3o4klQg
z8?yvT#!}JMTq<;}1BOqnIQYbKQ;4TM4#&TVNs9%TDJR_6D-fuA#=VX;h#A711`+`A
zfe&LIq`rgo`vDVKZ`UD5m`GD9CC+Mq2dGH9fm`WfA|=tSDZTk7sCklYy5b7K&hr2v
z0)ZJkPQG{yJHhttTYB8<H1)+$2^9SFe35o6%*2viH{N)o>g373zP=0BS8I4Ap{Fbw
zoSnaMQ!5vA^Exvo>Nt``s0#n<9uVq9^%c9RN03g_ZZbKbCsgp?`lqjd{p<HX`gsug
zJ3swVchAKaZC~F8^6Xr{z3;N#om)5dpaoElB4>K<-V66$bjd{*?b&x8&dxvY{J!10
zsSgS307zIW>6$hpy!g_K5E<Olv%a;txv9ImrDZJwl-I43BAwMVhKCe4W@HbYG6?Gw
z3bkGbdg`pQ=~!B2sj9}pwW?Im6Wg?`Mx?T!QyOw+F@g5Gkw1j=3g8u*7~*G|PKkP(
z-ehWQBpZs!2;C;bv|fyFL{YhWSk_qK0A<~{wg~_>x`ys`2vcr07)Xn3oT&%^Kssy2
zSzA*blLrKv(3Au3f<Y&URU#7&V)X_}Rc!!i+PSk8&8V$rl`d7^UBGSvdXvfBQ!D`g
z2edO9MYb|UF&PGTI2S9G$g)r7bCk#`(F}4HjufEo03i6vlodf7O(wM%nfE1=K3^Cu
zN+vmiG!+>FodKnZ5ua0mvbpd^ssQX{)+)l+w9@H32*jl#Pmupyypo|5yasVyJosdw
z=pwca@<%PES)HaZIXEdWm6ckLzPbh*>Gt<X)N^*$-R~?=3W`8nu{2WzsyRd80Yv~C
zqJZOa8APfG_gz9jfujVq2NJ`%tV*JcL^T<)5dm1vzXU>PCBMsnilIGb1A(g|_uf-X
z(kcq1&7xzNj0T~|F)ZDZ$wai>krWWDNZz|5&isI$Dj|Wqur81Mg)~V~k2qwuo6H|g
zY4O!p5F%L0<98Xlqm$^?TR{a+pB^5APX7tmiM~RKKm0k+z@IA1=kEj`U5=Maax@V7
z_D*s%yptROt7L>k;3H{*RMg`@@thu?8DH|ME2xSTRUb2_DD|_2V&SD{Uw-z~33WHs
z?WcClHTo&_dC7RP`Ml=yE_SMiso@}X%y=#cYVKBe=e$?$qukV0sNbV@t06cJQ};JM
zHB6~Dm`&!k4Q(5??obD*V21MXfYid$vl1y!ZN<3Ttu`xTQYWdTkqT?FMoQg^sn_1x
z)~a%<{gl6knzqDiD76>JqXBQg8;hz9lp#ym(wZ!#_GxHM*cb6d!fFd;Nm6xjQ<74L
z6|5o^PK5&*wGP3Plp(J{9>77BMm0A$H~5+lI_(An)t;y|l<!5S6Qp~pt}f@JTn%Gl
zziemvkZfn#kCCgx$nBTyO#5X!)Ah2Q=?dA-v|qL}?U(ILO)~k$*|&nA+cgKUI?PEV
zOO&c2n@sv=0={r80MRuZF4xJiGjj-E6ZGD25h;<1MVpNXf-ZZBan>O=-lWdwZ8ieN
zsz@!)&AGb{Ei5FlsORU)m5nSeo_cZU#M$W~0Q-%Pm+NnzdgKs7H3j|g$*f|{nrybC
zBbn6cT=u+T=lP&$4VGlGqa&MLvxW;CeeE@O*9JhoVSLTza#fle*R0<P>(-hr*cvu%
zD%ZYCuG;`5k)ZEtwL)}tI*rEq`drC{^rWXwpFDYTHd$Y9L?TJOURS+#-8y&G9j&eP
z*iBno%T?EQ=`FYa<JDJObKoELP+uVr`jemBz5IV)`3m)Y>KWz^Xxaq*&F@-MQ(N2D
z*VwpkU##G=#{&QQy$2q6U|@0IzQ)GBzS`QF^FHvQ54pS6I-RxHQ=QIot*mS9XkF9U
z(b2UI=o8)D<+^Fxd28X&An2`TH8^a&o`*K5D59T>#D?aN<-wBkdSEAVI-A|@)~L;(
zDkzM?piWh7?hXWf(G<k07r**%<L)klN=4A>RH|}?N`X?D)jEz=61GfHu12%X0O%$`
zuj7i4H}ZL}7oW+y><TIZbc!g@2@76tKEJS#WpqZPyUS@ZkrbR}bGha?p0zevtBkxJ
z>M6ClT<cppop8h!^p(0|`t<2+c4!D%l9bEN(=$`pN}>qw7#hlEPoGXItDH`^A^?PV
z*D^emt2!E*_WE?-niGhXh{wy-H$M{q%!i;4gC(?Di@*#dz)UWCMR#W%wnGPWHx^3~
zawwAp?w=caO-lLY>hRKuBZDe^DH{TjURWsCnYqab(9Hz>yg#XSI8rHt0pJ;o%ig+s
zXD7B3E0UcW45^gE0o*tUUtKXkO@QYBP_0zOd@2_80}C$^1zUtP3sMaRd@(2<1$`ow
zM<-&t$*0p$<k%UYQeZ1rBPmZlPZULkEVMpA@<8ASPU7)$EyNbaN8empT9_CDe>5^u
zuE!1!jKN!9&`-_+M;|B@iG<gy#JzIb`bH>LD%4(Y0;W~G=07(+?xr@~#~ao<<JnTW
z@MV^!Hc{(@uk(T741t*xp>p{m^~wAAhFf>fh4X>bSC~(N+4(wu`p4lkZl!d;#7SS>
z#|?l4NkxwMeWi?E-6o?~H{zXyUcF03uiho2S69gB)s-@Ob%l&xy-P-~E|AfyHW|Hg
z918@Fje;>r#+CprgAvKZe1O{!OgM~>jh&mE7@Zg!8y!Vl-$Bk$4dP@|37pD85Im4R
z0n!+jOO7C_&@hL0{_Dudzdi|Gz&kzot6%*J?GH_#c;=aBN+lege(D#${>^j0c<!lR
zJozL-=nrzWn?RM?O#)|Z#*-S(tq05@z9>nMRImu$om~z`S0BEGt7<*(yz{{Ka24dO
zu^0}U&);>yd0;K~?C$GB>e7Q;X>M?EFpw9x%sig>2>J$Ha4}kqk_h2$#mzlEH}_Fr
zhCMW)-Ez&cLe+o;q2F-DKmOxCPEO+R$;+@qdZ;f^{nVF1o4$s}SMco1{nRJ$3x$`y
z{q1j`Lc~?*6+Af>1sEce#+_C;089!w+uhMxbI~=QdCz;^vw#2f!1$Ihc6xx&YBb`|
zbKdStuepBz2R`)i&wK{E@|Tb<F0p5iz%@0KQZI1zP|!9vItAnQ?d#WXgw}X#&t@Fg
zwE*0W(<84hHWnp`fI^9+0{w_WVMrE&&Q`s?m1GjosB}<o;t8iBphhflKd?LOX0yp|
zvVp)M;|Z8EgkQx&5PM=dfy1(k#j>Is=(e!<iVB{?kt(@6_f=Nx?E-sjHCKc2#eT21
z)BrJ8t;S(Z*P52*#?D5<V!`J~%3s6zrr=$%h`vdO@FZSxgQ^noSE<+GC>GtFlkxcE
zJO(q63Pb;bwL^1Z$Xlfn4)cpXe;~NDG>vb;+C0dC8MIhT2>H^g@kE8}c*P<Hvy?|}
z75FNgNhHpk1=XBinw*%Jz?bF=1dvHE&CE<s%r8d5OViV{V^ZFhgPcPP7Pp~6;A|#5
z=|uk0cs%1`knso;L*s_hJf8}>8cUfZ93(K1#Vo<-R3N)25-5j)p+FGeJHa4qJpx{J
zDY1zdSST79@`P6$1hx(X<pxxc?#|grZ2lNVpb(tJ=7@gFh31BahIBd{MoykQe)8C{
zBS%4u0DU5W%LDL_6(q-?5ID|`CuS@HQ6&AA$(E6Y-R@S>f4?sTnECewNVi3b5rO&x
zw)-H>(sxthmtc)$(Ni4jqD0Sk`D9kiBZpq-;6YXe1&s*s8I*$zBnlT(H1L4$@<>P|
z7xr-jAUjgIK_>0*k<qCAG8(l9?<6{7xh3Z&8I9U4qfxtMG-{WOM(vT&DBXeIBau*c
zhPmJZQcI;5-n0L`@4fkbDEs#HQGzBC_Ae~XW6wi47Ox3~G>MUsgo|H{hGVh#^y?62
zwHoj#J1+OA6^c9WB(+euLi_^t3+gfI89aVXJ-7V0o4OmYv{UDXjvRd*QZ*K(OW<v1
z&)OD${_{l_e{5!AZf^di``uiH!&X(b<CA^VH$9D_*waI5Ces~Gl`!>CHf~hx-L-KY
zWY~4<VBG<ln4whA=?X6XGaudmp7-2v>(y>v`0B$?KKaB0_jw%o{Oz}s8Vr75bP<@h
z1di-)|CZfNeVsa}`rF(7<~9`SZ;;WfzP^yIsY$yorqz_6dY(Fj$M1lz`K0^e(xRvk
zcZgTvak*G0syvN$`<gYRS}a|FxVD06w_4Y(t=PO_Z5N5d?1FKJht!6|+FZ%SZ`;t`
z+1cLR;^q$>83yGaJnDf$6lpce3Q>Eh^z_rDvh3!^9{=%A9{$mffBfSop6C<*r>02p
z1|1RL5Z=wF4TiM7rA6=J(-DB)CKZitzS3^eXmaysJdjCui(e4G@Ya7!%mbH;9~18o
z4~Vy-zE6C=^!SwcDY05zVvW_{=a7=TPyCF)hihuWm3#J7y7=T0P_m+$3*3BLV};Qe
zfAa~CKzDWuphu#3dgl)47+{6lwRY_d$wUnBwJ<cniHb+kJ3c)>pLX$)R1#Z9;H(?)
zQoKrKY2AP?n4FYqMaXJYQj$D8IT<=~d}LyhP!u@(fLPKsHTdV^ANbxA&ph+kH|}-w
zx88Ei#TQ?E&GjA-wJ1=Kk$01cvCJ3s(P$|UipHa0L*g*_@KE$&_bJdW{@k<|N~O6a
zH{a4w4c&mV!PCev<Kv|A{5gXfI9en*=-624$l%yH5+h0w26-lll<}z)<n|vt_Pghv
z``s^Ja`U&{ba8KQ-?cZsHC9;2^m5GT&-%ClEJ&&ROtyLt%T{k*wt7eL&ig1W^_Yyq
zcucl>e<oYKKbEcDpUPJ6uVt(Eei?`HNg0RHJ6<ZKV(67*0vtt-2h*-8EKE-LVwm-$
zoH#Kxb>hT{GiN6PSlGU$iOJc;5O#-HDi#8dzGxpBI(>R}YHav8+yGCW9zHQLGIEw!
z+wEpOL9MUH4#sHh_4O)ZlTF11<@|hbdVXHu{66e6fsoLGyd^LY%==SNk@6a)mh9FH
z3pt|}ww6K)+S+t9<>`GEd(#}==kq@M?6YwLbPCq=k>CC1ByvM7dNGI(J~%M&;DZnT
z?CIYQpLz4>;OXByf9U8ql;d;2)rYq2sQuALANk3v1HXFWyI=a!mwxz@#~*z1$tRy7
zeyD9t)dW#|7l;<?=-Rc*L^3A&7ew*(*GFG^{dG}1bMnnM-yAuMJ7rEDef{;<hy1Kc
zt+%S}6}VHD-?|Noy*6vcPhioe1D-YKr&68g0byzTT1@^nJNN>V^RAB{xb?lgy}dWw
z(A)dD&;7$cd=BN4pCEbb`n7j`;uCj$=CgNw{_p?(??1B}nN-~D|3H3{&%KMfoBAU4
z9qJ(@Si2u=&ey1KQ9qR)Kftx0AlXX!>^uE^0DAPaDdQ0+Va|ZZP()|XoFTbM#FEDA
zRjUiIcX+*y3TOb^yMz`6S6c@a9<+1GNE~dko~Xf$NunZRjJDe93X4_4d!U(Myxtr4
zg4u$uk$QywEX>?)^5Cvpixtth>n^&2N>C@MA?h%7kMtm<8_#GR9xNW@KOO)pPEkdu
zma6cH6qTYYXceu&(FoNM9ynW1*CWd*k}gqce4>+Xr?00!Kwm=l(i`aW=&R|!lODIx
z2k4I@5ls2)`u;xpUj$FDX7(JW=tJGz-Q48BLk}5%Qd`Vdyzz$Jo~gCl-*{ug=4-FL
zcK^*lF4XtJmcG5aQtdrA2f4%v!rRv9H4w>9+1R~n=f;k%3Zv+@LiX<H0XF3NE&%(t
z*Au$Xgzd-isoOtxE57Tx>#n`_jypd8c_fYb)Zcyjv!A~mSRoI96}<;z^hN3$IQzb2
z{ePJH0rg|R{oap3C69l>^&e1AQvZfs?iU!rA5%Y~ekeVDLOqHrPh%G$k0&sq@N?;9
zazN!v1;FUh*?1tJBqNFh2z5v*(6??~U7f=WLT|Ofvr1{U!OCtlm|@?5wB3VN?%390
z=z<ZUYfUFCd3BWr1hDr?-02@3n#`rV@{g_sgPF|Q-09ffwQcJ<(Xq`NHUlNv!rEhv
z+iQ<5q#_KMt9;Z)!@GAKRVRFd?lih+@8~_;8&jYT>PkVe=M(4ExYQi4$_9N4VovQc
zz484aA6h^GF~Df6w3JGoUTCny63BmE#2n1Wv6Q35G%&tWSh#?V%<BoHK14|+l1AVb
z!Aj+l1U)`Dw*(M^WExyFRf?rcz&O<DC^1J7I}t=(Pj85*VUr>7c*Sfy6iO3$R)ZvC
zm6g`&%1VwipzBO(fYgd5C<SabBb;*KC6G@=!MJ8KUc(~DQ!pknoLa-`;DOr<y&45v
z_+*~OI?649rg#e}t+fPUIUf$^^Y!&C3#EX=sE)><>PxU}KJJCAGkaz#Oen0~pjUC>
zl!CWl8-?XagU{tDM5p&og^64}fg8#vkgq2~pd+j>7Oh>|+_QGAPFGzEmAb`<do9-1
z<Hu_aFrw$9*$}aUBw}X_MAb9l69M#SQ&kvouQN#ZgGmi=M|4(F#0;X+le3Tlq-)XW
z*x39$+&g9_AxKYqv+385jLt7X*jk!Ci=@5rm|Z+Ke2!-_Vg%c5N>oMR@-Rf4YIkVW
zz^vBTu{9{vM!TIzgftD)axfU52?n7rAYlAapfBWNBqvZXmdL0q6?TO-?=l-JtTxOd
z9i2%m%}<BGL%R{IZ67-Z_Io@8J|_$%Lw0ud<<s-yGcGz96t>LFoIQ&s%+D-MES;QA
z$Dere<&#6Wr^%OJ2|*qRFk>f%D$GSX3=`9IwiG8;AL_8+F(q<5^gi{t8H(oW>%+(-
z2X0NERcS$0Qv>{buXk=iXbw;NgBa*oI%95b>$K`&Ei76Z9oPpewG5s2&7Yku9qbJ;
zOgxP431cRO5(FbOmmZy%!#oV))4?F&3P_onCW&5<(BK>}KS?<=f_t4fYabmuHF#!d
zcnFz`j-MDjdi?0oql1W^@Klso7Hkhmk|iotI-Mj{Fvw&e(29~k1e5}%eIhRCO9csh
z0|O5$CN1!JOjEc(0XVdjLw-QycYyHFJE&4kpTbUjW`az-2yQgt|MpLw`Nc2syTASI
z@#8-zm+wFN=nudDo$vhYrw{z_2jBVbLk~Ul;MczSFv^3ffBE*^u6ytMr>}i!Ib{;v
zFYFUP2S0+(k_UYd?BCy_cZ(VwHuom<Zb|28YRZ&cJJ~E|Ly^lBi*`H2toiw=3HW5D
zd|nI_vRJA08km)d`%N^-F_<%XK*9##rjrBENG}%W|54!PUWokRRV?X9q^hdLVW@AY
zfc48%VRW>BasZH4$EaY4u^KVeEhZpCYoM|=fG#OiE?ULk!=)gi7ISIAl!#I#ba|-+
z7O)sjG6|PSW8k6Z$^-B<M*{<#XFcCwLmF*v;w$R_TRS<mW9PM-8ZWwZYY%W!HaBm&
z4st}>hFSzLG`Fv9!sf81wMq*$nh^j6-=KN3i?$f=;d}~wWjrXD7AHytLM`)Y*iS|m
z6$>ttz1~Q2cVr`h1g&k>8q{UHseAjl0cyG2E8`NsD&rE5%DBX@<Gr5-mw2CyOT16U
zCEh3F67Q99iC>m+iTBC4#J`hqiSL$ki5xMuL;qkPbjV>b5U3kW%LMX;q{GBkmPkj4
zy{Xu_uD#kg4yIDCgP4tMBA6)S;|66t6cbLn`yDcSE*1(`qtRn7z%q~BLQIf#T;Of>
z_3mD+-fYX4IDIX2PAzMiYoJ8Y`~BWUC6x%BgPb_K7@WkrQ@QJIzG}1cS+I@O6<A1O
zB9XIJJo{{|@`CHGyKYA(xtDjs&be4P=sTSrGi)J9&ZQ}OcfnSW(YNo~<?g-i+C6)&
zz3lR9uS7DK%Wl4*59xTWc+ZV@eCqZOzV8Dc1&8<dpZe^b_;<%8d8@6i`Ft>j^?m#H
z?b~zNW!K+)%lYTm@g^){q%;4V@J_fgt&(@K=xsPcnz8)h?vW2K3}b4E(Z%6m_lK!p
zf`_;dk6(bx_z{jj1;<DpKcHR*&v7sK5b}7KdYO6=?s9nwFgMhj)EUZ0>&XMGSdLaB
z-(LAFM17Bqx3AfK`EJ7Wffw9!Ik?b&k{<VglleaNEcFI8NM7W36H-vMh3cbCLi?(W
zmW<D;(ila7eG%mPWsf--i^G2<arV%|*guOCuRr{-yZ5FWFT424eb>C_{SdbgeDHl&
zU2@4KH{5dIfBeIzKYrV-A3(Y7Bmd*?KL7d8e{8F@uD-c-130$kP0;9V-nI=E?F}26
zIVb2sO(V1hUl-a}<&b0yl3mA_1QwfLJnk{0Z$WuVnM4rtPs}ERLHOVt{{9Q5Y&;J?
z!d#?8&tMu1z7SIS9{A<UzdH_E|Jw7<93zY1k65YSpDw3C0z6B*N_E+1_BLZyf@IOj
zXozRbI63*#i71hQf#F<H+fWS~^7ngZXXa)xyJydVfR7FiPhl^F4`MJdH5&-Uu~~-v
zi)8;=2#+2;HQ}{_pYqROqe22$|JhNib%`H`i|o`Kw(j;-SsfXt!|7GDz#4#4p7p>{
z7YTE61<n=(bEPcCNhcgXcH-Cs6!tGa`sky-`}uQkU?V#YAJOSIPE5=M!HvvLj}ndA
z@ceTRKlSQxD|n{yW9XY%pKtQjf!5YB{w1K8zcxr6lJ2Ki+wdpY85uXDtuo?%DuL9E
zK~d*3X?Q4V8_$8}s`B1*=iI%#vB4RMiCV%5n|X!+T2&$$BD=1$t`#v;Y;D`R3UpJk
zR8v=Nh7cr*YNRev0NA|5@sN#p8{7gcdgStG&t~KPC~S9&fnbc$nT$nc5}#C=b;N;{
zg9Gf`#MmMLv<0?6@(_E>MUono1zNNXTw#%gcGtaLRngrww~$rqh;BERZ^4eywB5w(
zue^Bkwl*x)%APG<m_Nl7d`W8CCMR7K7-Kaw>tbngQelFM*`PwaOM51>I66BI-eC#;
zFEw?IT4fMFqN$SDRz)rwpFVf$EK(P_6a|yT0!m5o$ReVQ#{sCG$SSRMb?)9pZy31e
zeoP0H*?Fi*1HOgDX;`Ed=4QaHOiU0n!uYhG&cb6S1SW@MtqZ_W7#cjV%y4H_6f&4P
z?|}Od;YS9k7zIwq@N3f2N?r%u8^ywp*4;ZWFnIih*Is++<wJ)Kz4EKy96@>Ix6eQJ
z$S<FM?&&AMlRW&B?>_|L{jt}Sv50SB5NwR^7<tp-!!P{$8JG+B1SHOMkoq2(Hvc|T
zk%#+)z{2Om;qaJ|7zF}7i_Bc;L0V^RXmB^{4V7Aj)vnXvYqbhZ74BQ9q0?|AR7z@C
zo)xpM2C!6bS149!FBGD|0#X_);DCnc9e=bGMXNcD0=BSpHkn8lX&sP_3*T>VXxv_{
z>h5t?K%S}5RPP}BR;418RcQ=XV8E3uIw}UXDD^#xBf~#AluCg1#N%O5o59Ka1W1d%
zf+tAxQSV$JtEfSi&dm2E`_=V*+yGbssa!AP8?Kk}4R^@+24Zg~x?#Ef>UtU9AkXQr
zU&c4wDB~OC_V&61E4pFBffajuZPAB>hs2R27BwVPDy>$hHyT<j`3mHwqXkW|I71Q!
zk?MBwUO(O$4lKf-J&H_M{^*h$b`cZYQEYZf4IlT|&``|XnH&81=;*o0$*I|ynnjb*
z?x?7$tG&1-wGMtXG(^Dc%W5@o9Z#q6oyUieU+moQQGp+wJ~J_KX6Cfp)ZS5FS6AQO
zNts7S&2x`EHs|g<dP*H9HW$!-UprWTP?4%i#imVJPKkWv;8t}rvkeWT;yZWu?b@<s
z*KX*yclVvQWy^WH``o5i4;>jCJaXt&3L3{~NEAcv&aeHeeRgJQdS-TR?#O;5mW7sR
z+ZO&4pNPU+3dR?Psd;|jqKil+-qCxoZGROC?@xbv57a)`#Bt?*s1#h%6&JB|xuM@>
z`|thMx9;67-X;D|l{m?=lOx6Ah<i<mt~Qa5LeX|WmnD^o?rtlbN<k};J5i->X(1J^
zxh}qrSmz;A3V2piSy@x(berZ8G3rN>3<|D0StNkVxLF0&giJ!1&KY;7rKJ_#&o;<!
zRzUGZ;hY*+@}Hed`Evz$0Kvt+h6TS%DtbtX#6fV9<6K-3?PLqA+f*!wFvk`PRNi9A
zTi2|yx;vd0>?6Lz&G09Vvy0e6rY6V62VRejrL!bcs*>BlAxS-{_)5JBIaL*$5h<oh
zT8`5eHEvTTT?8e~q^S%fkjBd|Z*;H81*XGcl79h7B;#->RUmt`(yGd8k^Bv2s9Y8X
ztxSegSgu`s7(oa`EiLfzWHgzKrebcBP7m2ZqtjC$rpol(T-v?Hl025q<np<Ep;(=-
zf%J}2x7W#SG8y#n=+tTF!Rku|P}MH}^eODQqo>aZ{Hf!^qoc#ePrLP(U3J;+-Irc*
zDP_y$Y(#JEt~2V9cn}2#4*3_#1%1nqs5jUFHAS@w6B!lr1Ajbp=jeGz#e66PRtmaw
zx87_r>h<tx6_Hp-iBNl`yRNe(i~C2eKaIvZ4FOdurI8UOtn{EWf+k(*SX?9(U+UtI
z9y>8SeBvmU$dO|whlfudJ?1v8>+Wo6>4ddJ2cJL#T)6<!2>q=R+@V%-eA3myH@dF;
z=iGH~d8#mAe_=UwOZKXr2e<)hxokeLf}FqQzzW{#)&pz<-qJ_jwyB|voWJ$JN@V-_
zGMcpQz)IxNjsq((4x42(Y3qUCN83{J2r^6AaRdP*a6QBB1WhDk&M*j=MJ_BQT=4QL
z<dRRBA>7B(g**i(kOB<G1_Nb+(uKU8e2~xqhA~E18^(~;D8(cc45A<64$@zwsCWk7
zsI}EnW)pEfBx;f6U&Du$`GiY@*n}d&E1;lKE0G$LLds0U^00+cA^H0cp?9Sp#AgAT
zKkw3{!Z}*21qr3?rkWZx4Y3wVt3o=T2``e{19>8aI8;iv*S__F3pUo<*KLOCud~B>
zy<Vl>&Qaalw{O(0UEk9qC>Y8BIMP(WMeY+nMhajz@o5EP;*nDpsf$a<e*!K=<Y}-h
zIv&G|i*Pc}qy#7QY{bP7dy@hwNzhSB@T}PEig+*VoN5hdryY(vuyE=%6kbz6ADfM#
zZ#~OBv;3pd4V&^bL~#+fUxIfF3rBwz{0kDssq@57RDslW6d69!E972D&yvrZCktvd
zlnihO&&(lFWPV~^h3F$M1^+k*7AC5)sS#QH;Lh!W2Uk%_3J>)e23A^Jc%g`x9r6l1
zGmH1YX_1v~>#ci~`i1-~y4O??vAyR+M1^JGN>R+_4Df0Zk;4?<1$R(|N_g;_lz6u^
z?{Dbi2B_uoZrNVETK4$&H<b6{_seAX_siz}4Kf-2X4zhR^#KJ%4V2f;O{>g%cRRX9
zr3EQQLq%i<M<Jf6b91w^<P|Cw0HK;+DyZBv^8X>5C-2rOC=3in*l0v1K~pMaG)9$(
zv4cYiQR;-;?)Jl&_YMFhkUq%~?<yly&&I=t4;><}h_fS4J@wQZr?W;k-Q4W9=yV2j
z6Oc*pwQ%QgI{gR&AkNg&>KZtT)N->hsf@e3clms~)<BYhPiYGC3o$%?oGn5)fr@$E
z8nCdUp$QHb%@)x|Z6(3)$ZEqxqZt=f@?b~M#$vbtW;hlzg=V4tTB2<*64ki-s4vpT
zj^WsF%i+U^-xy!=L-)6|Fg=K~*Iqk(_?BBf^r2fI$CT<WUv@iDUe!@LN_|F9jEr=2
z2o|^nq6NgKn5OkrRnybBXzJ*go^Bo;fTzg`X6@~_-+rFE&M8e$>1|{=Nh^!YTJnd9
z<ka52ZQGXa&U&-Cp{r->w(GX-zh(dS?b|nR>gn0E^)t>eO##*cs*_q+9=2|*Y@(Vf
zoi&gMYAb9uimbsJL)rezB1A7@5_CY=U`YyAmLq;6q$05o3h8f+78}3W%!)wJfh!9#
zMOqMyj@yDeFbd`ZS;GPnI76(U3SfS+MM$0ojk|kZtDUdMdypTU!6u?a+CcIV6o}{b
z^|(daYJ=jxzMd~Z*REJv%47t%qGibXB(Z=Z97F;Ec!ffT9SGQ{6ednAZz2XgOrIdu
zIgdGs?}6zDCt$HyR@$ZTTuj9=?4ekRb%XA?k%tmH8}g;Qxnee}R%a1iMgAul;(4M*
z{-Iznfk}(vgXpYQ0;r@8$!gWe^9!eF-sg)(@dBTx6UfRHDrR`n9}Zag1=X50#DIsK
zRW1%`UMngJ2wf`_&}(oM0;v^~xRI>8s!|$0m?X<1D-A0-Qz$CgrG$#-K!UM_^N5N`
z#F63z8t15z&A}-fQEvE5sl>sm#T7V%n2%G=+T~e7=7fBbNYg}7t9#vMv*=(5=QSFW
zt=2YicEVy2lhD7%sWU2Fn1V+m!YEy)Le{uMEg6#r_@#(ZSf&3LMgQ>Ul00yGA2&cP
zmygJ3(1&I6z$az$z=!eP%ODSYSVn_BBBMbck<p-!$Y{`Qvc31iGCksEnI3VgOpmzf
z?9{>%LTrfttyGXKIu{H07w41lNN9F+EE0iI1+4uPf<MN6{w1Fm^9znU21u5{U=(?I
zIi3gRwX0g8#B8dqRr~$OlCH?4A|wVD+}hmyf_u|514mA03KaYX%f;)>#pgzbj=kxd
zpFDf$7r&gEdY+UQUO)`UvnPj6ojL)}T&qaPIp_z>BH_3QoR*=XkgHm$-o68i)G{=L
zeCK?`j|f<cB}53xQTL{v?cH5<9Of^!FsO@=1BX@^s#?}{TkJLU9ou(SSA)W#Y^|=|
zb^dvqdYWsgMgjh-E(5$E5#7Lo(56yQrn;(gnbT*WIEibusZ<<*9@zNeaT5sG+D>=f
z$L_rC<~@2$X>g!LXl1ae@^#y<`OpVD)}O!cJzwa9<IT>UpOwmIcJAB*BjiEKt^DLi
zue<<myH+K@!o|$&tle%=D-w%7UuC7yRUHpM^bjQP*~&_vZ*D0e!k9BV+k%8~x4zfC
z3CY0Qo2o!TAf=K58KR=Lv8}Vc8TuNe1aE4>osrViv|$4xExX#O3kd;o8DNdTDrOLu
zm(ODbxT-}FzGJ~)PN_r+YV4U<>$w~ci<{l*w%f?AU?K~lTo^E$z&iOmu#x7A!KAGH
z`w!K1*?^OiN_AhnvyXb94^B3p_E1mviFeSCoOV&1i@FYOgZ-PTp_NAPo|dE?MJZ~v
z3Z+J`)teyEs{mSr11TmGTuiJW6gne(^B|?T42YmJn{|l40C#{i)2`}Lfdq&}AgRD}
zl~N-oJrH?-%YvXe40%(HBTtDo8(0ZaY&NCFT4}F#s<g;1x3-G}vY<3Hm`u&BFi2F?
z!aQmPxua=VFzf0n^jfHIvJDM-S9LLm_^|2eR6_%FPol|Mg^0J58anpcYWJpNhmOXI
zB1Je3sX%PO@6HW8cWySQEWzbG32Q$oh&u5`W0U>}z?ZB?#xd5=n!{Y0Lqap95{`tf
zYH+K_QD~uKF{Kh=w9rdHw~)iAj1RlHXP+2|E+z6pm(+0}?uhsGg^xY{_~P7na&G8s
zG)jDKP$H4h(_{WK3qk4!g7r5;xGTNG0ht2C5ZS|{QT$Lzl~ckJf=C*zmdO!ztKe`j
zpra>`ySYFh76EX)3m$nC?Wr%okuS`Md6IKGOHy@{lFf!A!EiL4M})eSNR}dKD{c%f
zbf6eu*U%X3^-xHHdBeVeU@W`}Q!8Y?c+$P;=#kNp`8+O_=M?r+5&5-ehE9vQ$kOzw
zQ+_|}wxsy|gC~!j8d;3M0!wG}E`tL2@=z3tEOI5oAnmGF>FbEgr#77in7xXnprY1j
zV(@PnpK-Gy60K*yrcOiroSa$=B}@16bksL;dIG58G@o`+%za!A`4F*Ne3dv129Y4W
zIC5@0@-=lJ7Y;u2>(@uUd3<K#*dq@;O;rlC!A}UoeSCaEi;YW3e}yooXQIpgLz@q9
z1JrWaCZp)PWfc7y8AacL_mWtc?J|nKT}IJ&$SC?|8AabA<0^N^D7svllE?ZH0fdMT
zShUh4g?v;hjn54=Gl!^`G#k&Hof&71aJd>2n7Gj>D7u@hl!45OLgCqGUwio%k6y@r
zSx|XwxBc{)=U;yISp-Vf)y>Zf?Be41^S=@l^Yc(rus7}NX>Ii&Jb(rO*p*jab=5W3
zb=|oa>Jm2|_o@D|{hD`Ob=8$uf)~CUQLe!teh4yJMI8hHqY>gVdv<6VHWRF1@bad2
z!PVkXI2%4jJq35e_tO@7C*6ogFQT0G!)WrX^cvm+?~*n6zM-L}CV}nl-njQtLDAGS
zG$gQ3{OC6?zUV>hy2Am-LzMH*>%8jS*Is+$6&*XzC+E~h@WFJN=LKLLXbfmL5s?Ho
z9E6Gq3R0?uPASSRrgnpYQ=6=VXU%8N+E2e^*K5Ir!TW=JUac08q(E2cBr(e5^Ak(Z
zQg~n+RtR>d(_n3Ed-9dGS6^NG>woU7sj$L1?`3>06f&Cy<cD;u-Hgy;2(<$H;_z%B
z;30fCiq{(oEX+CRQ9(1zH_igE%<HAh_@D-%%>oOLf~7?Pzpl{;Y@Guvoadl@a*}9@
zCx7v)r=R}S<CEv0ew&=6Uc_e%h6Dm>p>xJRu$cw}WG~Q3g9k#JG%+wQ%2NXq#SDgT
zX~~y7H+*(@BH{BcEsZHTsD!d<fhm9)WwbgNzH>RDBA0_<=;eWd$p`Oy;DN9HaQdYe
z$T{^*{G!oFei52N?*jQnGT6>WfDL#afZqJO4*(AHyJftu4Sn1ImVs0@$kxmj*_zoW
zTQghmPO@gU$kxmj*_zoPTQgf^Yi5g#3)&)EGhk42RJpp<;V?&)tGi!qX5&S>Doxkd
z3y2^I=Crgg#TPy5=H>)du5R_Yb2<bGl8O&B@$=a(W02mpOHl9HHJY$9g8_ZcQw8Wc
zB=aUUpTGL*OD@@cWw}z93;pVoL-UKI9y=zej~z3pa~V=ST7(}W29eZM>T>Gmcszv1
z{qQG~{qOIi9>#Y(@S|5>C-wgO1@-;+*V$rWQa#`ds%_<Jv+djocmEybiflyvYJV`1
zB-Q5=)IJ}_77L`3X<tRc)~bR*1$;Y5h3lWMP*?;o38?`4>Q@(3Hcf^#apAClPBXG;
z#;VG5o~o%Sjwx5-npr9hPn0XjcfT55uI32m)J#tc>gj1GA7NSyX|)HtQh_R0w>ptv
zVFM-=9jay0MFWc{IGdoh+2RF`j%3-AM_pN&QI)Hphx2UO!Idjq2`~z#3{5I%5;o}&
zRcR#EQw6^vus)<RjL+xyhY-F*s?;96PQ{aom7z8m3MEECs;8<{%7SYoRiSw4rNf7h
zyi%@6=hLrlX|!8OZEqLU?d_?ok|!0oMFjioP#-sdsVbF2vU&ZgY+k=6o7b=6ohHod
zL$Y~&NH(uumCfttW%K$a*}Q&5Hm~KlpuHs;!MjX}Y~Kluv8k!a&M`2aX5v{+1FtP8
z9YC{r*s2wr&TO&Nz?q%|n3^pnwn*pWVgq(^t*r*m^|kgI?0dRa_^N@IGZ-v3g9<1a
z4xtz6auYdhFPZ2P%%6)zwbgD=B1}Hyn?Z^eiPKC(iBLZ~wUo>iG!U1;aKWFW2sZ*%
zsaOY2ArD`j1S}0obv!VWjCf&2i6lri8-q0o(=JufRzYXOFp4c$YIg75-L7GPGZLH)
zYb?--<$(tY8(=J(QE2Q9O--9GtX7D%wRH_mb;=Btm@PEG&}41hbm4^;ZfW0)_S!GL
zuy4nPMrgtsTdNF}(7y@2ue>tkO`sK#8RDRGEN5=(tksBF-}uQ_QmFz%{CpN?&cMw3
z>cFX`MB26v@y#><48R&THW~BTx@=CFLjGxQ2F5D$!pJMW$>U%~ro171vZl@F-egpR
z%~TnPJEu;a0b+~NVslhfR8~0%@`VApfsucQ(LlzBPL9A6usUAo!m>n0XRFOYJbKhl
z2fDtZvI*jSyBXjPwT%ccX?8Ytw5&l|%3jzPq_`0UuLG5ji|KF_kyqH=G>G;sAru)g
zFg%u>)@U_qsWf!d*$6thm@kwvNC#c4QvkjQ_d%c*;M^e^_)0BNN-0SUbUMhpdmF8a
zB4ep{!eOMw9$pGXb?s|6Y}~wc+lFR4LdzQ)>TMWB2l2DxnL;M&S5-qt3xPvl)zaDB
zQ(X^>tF><fP@*<%z2d-u1N+-Hb?xZA1W`X%_FZ=4)wh64xJT%1Zmu#AqZ?<eX>Mqk
zD+R_T<|27`j5!)OE}w>rBBz6oVr6AhS5qYwm^ynVdJf&3OQs89WUkKD!CR1PXt05f
zV58KR8cbUWq=x}HkU1_mY;yNHs~vU+BC^2E*Hl}~7Hef)eM1A044l<9HMP!K_}PMj
z;$M|ySTR@BfSrJ;rmDt?ch)rEgVoIqkZ~It+u*0#QP)t{)Z9wq+;MFC--Nvfd|c(3
z_I=Kr>3uY#QSXwwEXxJsE*A_o0TU+#5+FFFkhUZtWy^2h_tTk?LpGaj*<_P_lTDVC
zO+r{mBO$N^gJBKEy-04dtlnlcy|?%Oj3A!xeZTy^Gd|Kto*A9;Joj_o*L~gBy&TP5
zm}5Gm4R!!ki#aCc(da?NL)-!an=<67A)yHjVlwC`JSSfwsB0n-LxD1&D^4}lC>pOM
z{AEQlC>Hw3lA03>c0R56^*YJwSZ;MLvO@!hcNFrmU@TWuxWT4a9Ie>71UEG=Baae`
zqZ(Aoh(=gi$cgC~w6E!rNS06_M15kW1e#oI<(JWk5r*yciK`&OGlPRyxbo!OCnjct
zvtjCPcGTBbfvuyIYO6wwr%A~~seqIflhaeju}OpjT8qt1Oj=i81)7;%h%Q7>kkJDw
zMI$*y+pK5{+PXTI1@&3@nI3Yx)L6Of7SVSq5j8<J%g>L@=Oh!?zbX)T>-d{jLv$!F
z=pDLnAehJ$G^soQq*0PH@xb`_#Kkve(o{iBjE{{arL^oUwgNNEpL_GAmtHz{?p0!&
ztH1yK%dZ@}z*(I?cXjmYjPzgXj@7GMt7rpOvemZ37F(-JOpOP#&~%$RSCgifv<!Mr
zZ98MNdrh0&Voi)p-I$`AH#vOU^khnJXvQ%z!tr$*Kv_ecj@7QJC17uLZpvJZfhm`N
zN1jIP`ck>HGN}{sv_&HkaHSI&4Fo};Zm}F`NM)2nqQmU0HkRNOnxHO7VAqKv16{AP
z5cSi_UBFaAeaq!AF_KL5F*C@N$!dw%(s|zwNU_3R7IjvNI!lFgJQ4s;=5G|}FwX4_
z1?FM+6%3@JAmQ@cLe6Z_vJ4dE0*%qrUK|vSE)@$<!$pb}y%t_#w5I*-CB<eg#Y=*!
zo3%DVw${ee$Slk+WL@?;9pHYp;M-g%h0<ERw+=UNgEa>O+DtuHF*Y$5<pN8=5FeI^
zgksmmNW2yk^Rr;uW5KcM$q~AE)k9z@2r&jO6~#PP%}$ratyP>FT{^Bp3b6Pz&=P%1
za?#mXvQ$g{#vmD4YDBzQk_-iDgpAz01itNXYl0DS1wKtCm-cbF2IO49x0*{X3>>St
zMpNQmi8LNChd^lx943B2USvom;SHAxBpXW5k@(MCrXb!|z7){Bg#!&dl13K^>^q%`
zC*x?lGK6`r&x)!R8#<fJPmQ_^c!Rqu$pWxqHgo=Y?lb=j(?O_ba5qI*MvA==%$J!i
zP!`bEd=W{YvIXFMimvFtC7wacB$E(zhN+AmJDiV-qB@fHaUjt|JdqF<gEILHf_O6Z
zjYT4Jw6vDyQZZhc60q@Xh(lfo3bM**bRkMz2bjhLUnfR@)rbvJT&ErAG;xX~gzS(m
zs1(el<7K16$L9$Eh&m$ilw`2j96Bp&0n{3eL1#d6jJy*Wp}beDEd}~^=7NxuG5}$`
z(_qi}U;e=}lKiWF(GT!}KK&8t?d^dI&*-5F&*-5F&*(v3YsNGBQ@NK1Dm<fyDm<h2
zS9nGbR(M8cheqdYhTmZ`=zLAtB5QXhtv5o5ttO_|a?^E~E;rQ``kcRi#rS1;e1@f%
zxo0RuOSXEgDW994D=D>AwbeC}Asd;V)7V9&n9FZ&R!ps1fmZ5mW?xex9{}$NSsfXc
zNxRu>WCEG1>oF%Dn<c?Vzy3@4^)oh6$YQo<CyRCKjjmMU;`ySkr*qAUZpj`WJ9R;6
zTnd=i=I<`((NyB<I;w=|62){FMiXP0cZ(b!v9#SO)<Qr)kK|GN^&~lqiA>(tDr@3F
zO-6utz<MT|EtZtRQc>r!Y4Z}f`E1_bov|sBNEWs)TSt0$P4`ChcigeED`q!HapS60
z&7G^DN00?sC3M5|-P@)7bR^|#)o3RNb>VJ_jHSWkX>6RBm4>CfxvR;Tma>?Uw7=WK
zl1Us=)70DwQq$Vf#<E}Ub^}+|u&TOiT3Q;LS{C8B7BrRn^(LECVzT<lbEf2iiF{=>
z=oPC-PC|G~W5jta8?d6EzuIam=SjPx`CNFMk-iX5u)0b4@*T@(wP0^4E)x}-sfZxq
zg<=Q>W!3%_H7%v)1~?2PjnW2>l(>;kYIW7srOZSW<0fTw=#7`6K@4Zu-#wj8kDnAe
zi-8~~C1nLY&5}+UV9kYTgve4JnYsb|KRy?bAuaT;Sh=aRp(iC$`Kg$tO%A@92^-B_
zONz-eQ&+BzNC}gBNmpt5I<E4h-)xpN7LTB1X%$~np(ND8z-J2#QQ>i6n-slJS0crm
zXV?VL2@iv*VLo)lbjj#a-~dudCp(0@C+YIZa8wenx0?O^tEOgjl;X!(-T9h{p-Pr0
zq!Mims&*xwi=91tB?Xu$XM>l|N(nCh>6fibp;h==v!R*k@$2NZs{w!QwvtpQX{2O2
zI*1dH!nerzF;{900aXdk2G<;QbhZM9O&C1YA!BLti1x5$Gg)!X^(g;f^JKrSq(y=z
zH{cOAQzXqK0t7-XVSqInf47pu1LfMqqYJaMvw)4bAsO&Ceg!zKE266wBbg8kBI<>v
zLccydCuvMN#cwE@9YtLj`;9;abvb6EWR*09Sh9dqg5^d1Pv~xM>C+#<tdzGc6*j1n
z_t1Ap+sX_2#EUkzN|GHLw51|C+fosoZK<$9TPkeOrV1N$>!F*xhuVtVOC=YpsZ^RC
zVP(8JNsu!yMo%#~oX<n6W+%(yuW9LAEubq*OjC0^zQ&sB>NPkCt^THb{=|z^%l-Nd
zD(}uGnAh2%-z5^m!(x}t^44v4JV?cw1pRi?mfhR7ZF_jdiii8G);_<;_;cZbfEZL7
zu_kGp$>l3|uc9=Lo7a@vkh^8I&qgtgR7y<@U7Vf_&X@E3WzeYNU7DHuAKFQ2)j!LJ
z4wd=HMrO~p*ym$keAH(@{o<2PO2y!-Kl=AKUmH66_WQ*j6)WN5U!|aH`T7-<b2a0p
zx4T!nSMT&`l7WEFh)Wwt#369#w35X{aRq*UGBD7j)!Ky|X|0_%nBmswO4cfL0O@y%
zwX<;2lVev=FOrz}Q*(2SqM>MXh^oOUf0NPJxB|nxrirOgqhaz%wTJ)+Efa$Q1M06i
zbNnT)r$p7xxyzzL<oT(o=g$@jXZ=luLJ(gV1wUa=1P>)2p2}tc@!9F&?62`q-i1Is
z9&MG|%kiPA+ak0C{7t#s`4d#ZT%P7Glkv)CN3LBil}?>5mCl}(&ZvG*Gz)m<z@Ld=
zuCeqw5@bzuRrEJe-U7Q9`@?C(v)rUyYC*_<iX9-{uM?UDHXA|&)Tm%B*a+G5{zYO9
zSGnR&xs0PDCr(_a00pZ*uN%@0UiB&FT0m5z!Q0kO?Cz38s^|%JAw9S#KPcQ8_51JK
z0&bhES*(fpQ+$f|RIKTh+8pm@P6=+~{T1`+{)+i@U&VZSq+&kZS23U7U9qOu9lFVF
ztVF)O@J|Ro^iIkv^VwXKEJ#t@FVgIV{McB`U@eXnG6lWaQjJ=gPlpqx)yaNSQ6oaa
zP$-idaA;zqqpe+Tl#SUYr|tfgDP$EefGtA(Hl7^M$x1$!O5u%Cx^ndBw5_IaG!xBO
z-POx`d;Q20V6qGr*=Lq>+KuSBUB4bp3^<gjS6|(6=aNRa4abhXd8*Oh-9-}#rkky*
zs;g_sQqS7;%i6nEty;FUv#S&7j@4dU*OvBWOP4OGqjRs+s;YYCEUc)~fYx?u@am<n
zI7;>F*PJ{$eghAKt@Vb#;hwG~)r^+9uC9CTIe72NKYRSXI}SYj@O}5*b>Qv;JE<A%
zS3c6yaG+1>H}Aji-uE87MY?fA+Q%m=+~aJrNVR)OYW$}kJo6JD_u8*5Zu-Kf{-Lk*
zm!?-<xVOCB{(`@INfS^IpixuPk|j%*wyf%2*0qGX_@&|))~s34+OT9z7l*yH&C9Uf
zsj50Y3h(r=RzDjIE&Pq$QtO?ah(-AbHb+!28XFB}!J#ntyR)&VP@`ecXQB2P;}P08
zv(hAz6jQO*MI&i@HlGg7i!x^+a|5=bk|HemO&Yl1!Jx}!&<!|>dZ%k4kRXG|=5*xz
z-Raqx1t#B(*;zg<?OK?bj|;vO9N0v<u~9QO6>Cgo6BF0Rt|5RCQGJ57noE~_=8`r!
zHF9mZx!GzSa1^X9Z6lZG6F4-;tu`h6jsoEtOEv%l?tXzQ*nlTP7{&<~=I7H|gEU{r
z74T)y(!)}y6jnl;(E81CQLb`(;Hc;FhwU)DJ#|)-aPfn|u*t9Fs_VSIw&j~Px3z44
z^s&GA<d!zuU;WizJoMh}Ri)8UQ_be4QG3z8_O|;4E%m$7cl)IetI$pJMr*$0bjl^C
zD}FWQUbP||*2Be#qzZ}5{OIzPHsjbZwrD0{^mnsh2;K>$1aK`A*+_(_f*`QGg+j4R
zJ`qBtGaeU0&G-pE(q$~xJ~2S@qS8nVkO6xp60=tc;b^g?O#W_eY=-%lip3@f&BIqN
zjZRIBjEs$mxpe;ga40o#erj}VY&<BzSQ~xkdMJmr$)#;gEq`MV3|(2a##>9Q!ZuZl
zii<E}URWMxB4r+I3DiT>r=>}CkymlBPk#jSQr<pZv9=$qutoP*#1{v7rLaW@D{N6E
zx9ebqEjn0Xiw;)UqJtH-$XQ{FtcPy$td~CWNb9Oc9$C8gQ~SKpx=n?`y1qhT%WX|d
zs_xp++PkJ_<?_Zox2{_&J%GpxjHreU8&sLyuwg?(Lr)JFxScA9o}T9Bw#Hf#XKn5N
zom2?DB5!}+ZQ{FhCzZ_?q<=IoAMN=}D)o{7nM#qMe?oKXzP3K;+lIg1{_qDMeD6IQ
z`lQ3kpMCTZ+?wC1`ehG2v|+<1KdH*>hEINS!-j_*f;DAdCZ25Bvg=j^DOc~@?YFhH
zty|UB*3&)|Sii3nSLIYhbtfivuUWg0UXJ{%!?q;rsdB-ZphpTYV>GIg#8#DPl-!zJ
zU9D=6*;Gwrqb{ARu0A_B>^JY<|Jg_O@BjFnKfdsVKIuuhIH}43)Fh@~?UTOY{N!gY
zFFdfUqpPjy-dOkYrC227q7)~>G^)(5jEy;A1*~4JYF6{a^!)R``{{R9um08#f8!@s
z>R!>+wX#dGt=?Ge^m?ltUa!lvepR=<YB@T=jg3p)@X8T1qoEn|lq{CWWbvJ3olGWA
zgW!p3ibTS}d6NmrTw#rBwH84EHu#r*^P6Xnee;_qe);5oUCqqAr6{LgQ<OK3o;fk{
z{Lu@?Pn<k^{_-DQJ@%&b9aTR~Vdwbi)2hsFIDL8?s@wFmYM&NQDE0^^rl(W$Gya{W
zy`{bKul{|H_+I*H>Ca2|HT}(N*`Xg9jX(dE(fIvu{^DmR)PMQykN)E)&;I(z-~G$?
zo}{w#fU3Xn%rmD>{q(1*%x?JUPfwkC=9vo@RQm<-gmTu=xeFJ9moNI4_VyYay}g!}
zTic}>O-(4|ZVZKLn|0<wSAzjdXtyZ@l5VL>)!UkpE9>Y`Ap@$0jt&>~>o%KeM;xNL
z+3ogLIpHr?d;Lozk?Yfu$hGS_IWTE)L?T*yB%+umW=E}>Ksud@MaFDEPxL&{QxG2t
z!7f9sU8uB&LMBrnpxOiC37q75Ks|R&v)`6V0V$+nNvl3GFKbl-J=Luk(JrH!JSQZ}
zlBCUYWDN-*2nn>jgq<4#Csf=!4RzS?Ss_!~vss(f;<rsrT^a`On`(6o9h1$fY_O_s
zllR1xOLqN8G#*PN$8<<$B9TPo02Q7Ls?1Je6}lO&l&S#?S50`>t)1cUlC}mAR$10N
zwHBQ$AR5i#x5oq?nD*_=|DX5ik4SHCm0Iziudq3lTJfLfwIYl8g$kSV*A@QH7b<Md
z7b|Se7b|Se=PPVZRYg2e>HlmP{N?L{4@z)%@`YE<kHoRm@F;TQBXbDBjZWhmlx~De
zI*%!SZ4!p(OTQi*{Lh~}(O3E(nnC)#Sw}`D7P1k7)Zt5^l&?0QiD1142d@TFsfC4@
zWHk_hbS$&#XggM|Pg0GPN{kK;`lT29N{@E`6B<pE<1at^)WFw&{YDUILQ5&s@uS1U
ziYKoSmK%>v%J!As;LC$gKKbNV`$}JwUwm<Q>Cw^$N;UK#cv1S9y6g{sICd>Qdi3bg
z-#>d@&^uGn(PMx3!_R;IyP*Xt(Wj(Z`}XbI_a3OV_$;~Qw)v~T)pM`@{OA5nyUiVY
z_UyT3DYXzw+v=*TS?g!7j*gC;zc4d8DhZCPCS@=hQV7X<AxLf5vU~TI-FNQVjSWL)
zY9#4s01#fe943pY;FiV*2Xnb(UbS|1)|G-I1O(?VfcWW>!F+9JClXK;RA9Jd?_Il)
zkKnQVOYiGm+5NtK8&~%L7o2+b#TS3~-R~cN@x{^@StV`I>2l5|^w~A=xW0J1<SQ3z
z`uX}F$QOO1AA7g#M?d;qpndDdKK8LgAIN|rmNLsrFaPLANa`g^r2_|UEe`z-MaS>_
zTb_Ohvlmmh95?{S8RXQzX?=ayh7B85FXP56>!dpexReEM6(AES98?cXrW(Y5>s+3i
z>Q*5O(Yt<q@A_NUub1|yR>*rfgQ$t~xH&sh$tV$TfczCzD=DQCX&kly!GJE8Dq5UQ
zAB_ZxevK?`l9P4nrkcBYfp8T=+w$%$w=8KODVx$)*=$Qzw*xu1G%=y1c6%`sN?SUs
z$(5|%T2r%Y??*mcL*C8W-Myq*BgkLg#wwGqR;zJzc6YB_xy+0IZq!Q|4I_1KGC_Yk
z9q9uQa+8I__e(8(l7H=ch<YSr@AlmfzGu@iBd;{nS6A=Yzm9_QZqbP(eM@yNJhI^2
z+<>;rJ%?IaKK;d=(tk>?X<DQ{b=h5a?dsGzz@JubXcd95N!!qeF3erGEu~n|WtC$J
zvER_CK+0z^O(r=;)I4sz>n?wD<je?oQ$7dmJ~9!E5o(yk1qm;Rd~qV{t1(8h8iUi6
zUr2)-jb4dFE}VY;7ZHRHmd(wP=S*-lXC@P(eyxy8pxj1!g%C0pOCelM&{$Jv)H1Pb
zI)oX4tdTpWaSBzX0T6n9wV_1D2MVvljf{t^+qzA4SJg1dj8$?Vkq$^61s5zzCjmq0
z)CpBOuP!5{Q7R_K$H&bp-?f|*HD?Np44{8*IaGN?>mlYzo_}`GX8|o?mQt^eC+go6
zEC>Q`1n4^(7a|52J_Dl(hzZOdMFhSG)Lckz3k^x~iNR11Ep~#^Wmc<6TTXw(Nvm?E
zQm#aF3UtK}r0VDgz|FJq3m;TKR1g{89GdLkbRsi({P^*qQF7L!)4_0<*uDy-()x~e
zcWtd?A(vZ3ULj}H7BwMIxWRKLPMm$~^%EzMowByI)fwXRaAAf=6tovKQOVoZ#tN=g
ztrHVL*<Md3yR!pX2A$EN1SckZSaPlZuvGe`=)fn*-;hdQ<@mnwJeTdoMV;e2`t(OI
z+U4zz3a_%VN6&o~UgdsXDNyTu6&8Mfg@xZ&Vd3wnu<&~;Ed1UI3vc-o7QU?j9EvI!
z1x{A8foZO_>1v#aDx%13Fyt9xpri}f5W+>Bmd+a`wTkddLyER#Z1n22v6e<lDKhSF
z%eoK)u-Qbu(_^z~wWfOW>b80<IWTl-Q*iNee&uR3T|l$XOu9Z*<a6YLmO8s_M_>8v
z^RI2Y)mt3<Z$D{I=C-K(&E?45tys~%Vnt&+>S@hRK6x2(080eBHjzK9kQ*rZUDS}B
zK7Q=jrp-Ow+m60Et!>-sZ+iFpAAaz`wQH+DEUVY9eel6MANt^qcO820!Cjr})~+SU
z5tK5&=Diq7%}koR2%t*>#b;#fSpNAdKHvXCL@R&%!@H!fpo;P5nm0`Q`lNsGcij8l
zJ8!#f^X6sP#O0ee-*(&W_uhZ-o_E0qxcvb181h=TP)^X_%AH4?TdHbbd;9)_2lwy4
zeQ!5X>veVX&RD&2X;(+HfSntRz|Kp29ce1OsY(<osC;AePlraQr(+~q=g7L?Ho_`b
zm1?6R6YJ6ZK+*Z2_)B@{lM%b4rp88mE9or$j`(#-!sq5Dg`tCfH9K>0{P_8cFjXQ~
zk$+*`j^VDfEv5ejuxkqV$52ixNvSJ<$c@dbR@IHqrb-sCzXRDqa_w4?B!rmHR5K|K
zi;3@w2~e5%uL$QwiIFQ}Oi*Qwbeqq`+{NyDut+ljPZiBnkhFK#<R>SYcfMLGa49<U
z*xWVp<Yb`{4oCrjGA>T-p|zZvzL-eEG12*4rSng{6>Dl9pLA~<>0DP=n7`ofAZ!GB
z&Ip*9@&HJ$v3QC-o}$xHCe8#$7aOlmJ`7b#z>wmfgza^Sit>=#ZIn_$f5*hgb>!s)
z46I8pER2jy4PT!bzcw;58wVY}!J0gV+bNqghwE_cVS9^BTCuvP=fe4`!)Mm6^A@L1
z`c+B(zLZw~fjRyI;_n}q(cry(`Xfx&^0v2PZttz|-YR=E+`%h__qMlUZtty_+j}eK
z_HBP+Zr@fhx4Zt-+zv)k8HgD6A^Ii=ncg9EB<AMALP2b1CK*|frh)6Y!*Vv(*r>{4
zHx|mfv9Yl%-8MbvZ@YA3K18m)?&+uF6eh>xPd{B(clNBn{?48{Id|hS`9Gt>$d!*z
z-FmAki`_|F#BSWUu`H`bZDiYn2lwsh1=QTUIfIZ;CWA_U*T+6~|NZzVAAaA*?!8BP
z562=byvYOmQWkp*U!C1JIM}+P>`wXjNHb_ryeR!p@@XD<<dL017Zx#Dfc|*-xlDgA
zay%L7IuG$ZBgLd4DJxx)-h%9QQ8hZD7Z<8m{qTpXEcS6@c{l#x2YVm-=tn>L@B{wV
zFFf|>p?hhNuyt!wQ#Az4ty}l+|HLOAfBX}l_{66^{+Ew`hS2x#RN9D?54E*b^|ZFG
zU%ze7;@;X?OK=VCUAQ%L>C&ie)Hp>2&|6ajfd&&>Q!_OM?nls)$`t6GL8Ad<S-47}
zD_1#ykaHSU?8b1|Dm0dDW`A2O5(wfN53XKqBe`g^tzJDim`sK#qoSMBDD`lBN?4?E
z^)~o%H2GzDL{3)hV`DYdI8U`6e;bWra<EKILi;rbfqH7nWQs<UA~PHbXH#*8v=OLE
zlpa!MMY)(N>j;zBVU~-6;DvD1-**1=$x~NwBW9_&VO6C3CJ;Dz^89(qt4_Re=F+fq
z3Z}E(r-a6Y7L(Xbj4F0CnTE%?6v3pwjZdP}3%sWo^%R(q7(y4bvkM|$GZ&g#2qX1s
zEQs89F-s)Ll0pKN@JZ}eYdVgl#9eKB`Zq7WcKXVdE2mEjOQqGG=7%5u_}OQX%KXW%
zzxT{@(r@5>7kx@50yOPuZ`aU0Y;o`Cn1$jB$JK8k>a%cT$li+n2paM{;!d$1n$6fv
z*bY_d5C5HPzz@r_{Zya+2ot!xovfJcH*U^$xvF9%Kh7&f?&nm+Y(H5s+uy91?Jrf#
z_BSh5@{<*_{cy!>ugv}IzzyVb6$&xrS<%Z4M@aHVxWYy}@~(Ph<C{!+IkAw<D@LJO
zRMd=f5sMiX87ZGaL%B;71hV3w#mU%A60|Z7U<IIsCT>HyxEk`8SmAiT&;%1X0UB_W
zziMCyCBZ69wJtO3fnw|uz5QI+-i0jmU(tdIY*VKK4eJan90<hP>^3s9(36A*hn#P*
z5Etd4GD%5)Ey_b2WHNgF;@P*3z47|-H{Uq=hgXOQr+qt?)EH2!%LImBdiwR#<6+Uq
zV`}2Nzy0lRQTCml9viuMks4}*Ltq>Q#`)>ud6BsZqpvbNjF^1VluX2ga9SA4)!(Yo
zCz2u?LTe2yJ_3fq@M{9o0VH6m)^xawK9|9{Z#RKrn^Ov2i(6A<0%_+%?KO;TgdOl`
zkfyC`s8g#oC5@e@HH`*MAv;Y;fl<zfivD(5#W7KBZL7BIz4PFE--90Q0}noo0sD~H
z|HtP(^q~)Z{vf2!r%+aWRr;~?Bk4&51%HOrk9eGtUMJf4P5JTd)sH-a4|L$(d)KVl
zeEa_WJl}cyonYzvx35{VX5)55hxXsG8Sk`RP|KPLP^6zz0*ge*T*{|WkXR?(ukl$m
zT8G_c$t6YxCxcm^D-%C?niX(7O4VKK$|jQ#+=qRUS35)*30xVHXn{<LDPb)oL;z9J
z8!Z|^=$Z%yA_JzKI}KcH&z5^W{b#sVe=Ge9kAEg0{q|xw%hyGXqHhqOipO`QaWr%V
z>iCLuj$yQ3zEi$eZjf8#4u;_#`J?5>w~&DBk#8wKG~yF9ci(+r7ik9sjx>As9ukh6
zSOD(6`|c0^*<T7N1s;Yk-HT4s`#<%i-Qxdv9JYK2uIH9bw~87qsZVZH`^{G_zIlc~
zw4^udeHy(@@3U%+?X69<iRtHm_}ay&&lR2ghi?!e9~q5CJhy+a&pk^ZByc9RGZCGg
zlB$$>vV!4aeZ9B7Fw4`0qRmyOWsDv@dhx>bk{|9Nb(yaE_9gHdH*8qHo}jwCkv(01
z%WYyb?Y#4SA9zT}Ouioi<0l_^@B7~OzB@N;5J`{q>pMHUR`jl0#}CU__3)0>OSz@X
zR*A+6y~`m%w6_bsL!0z5?rl1iNFvM4RpbldidDv)*XxS82>tpBK35?p=*sgk=vZ2Z
z+osLYnN84Y)DGI%Q9T6lmAY=xT?Pk}r%Z8jSP5ZaS)m5V<m|x;zMU|oM;Va;Wiq(1
zibTn=ARf_+D?SM^?${ecgk0Ay4~<TZjtrqCI5>Fnv?vQ5jk5+~9@x5~cycT^C`I#A
zR;*ufNUZpALg<Jj0?Ts&N>_iYmMJDEf@Lxj95a#3E)=0JLFJI}{S+UPma`(WpUP`2
z&iq2Ypb;(3#IWszI0QKb<0d{>q*7o;(%K-3TDQh6RLjueLy;~of^L&eLa?ODjpkWZ
zRZT-J)+h~R^@smDN&5Ec@JLFV2@juxvwQmJ$$G3_Ty(2210vADD1+r7KT#5Kj?sY?
z(ZIxG6D=mVGUB;H{-?iHudOZ%z=&)PHSguq%;zl*tJYvH%`BvK)Ow}{uL2c>(~74t
zKbGSJ6_QICwKJQeLM>n5hQ#J+BTq0U!sPIDDqGODdHC~2n^z;+$5B#W$fY8Ix!K9d
z@$u2I>sQ4GA}uu!i-H4;%#NKuaq;TpyyyfPm_Cl6>b2|FnYp|^9PWy-!1KeLXyu0l
zFOId~i6NIDZVgS@;Ao_z3rrswt##pzW4i~Cf(H^rDjnCuY1IqUuOkHXc+5H}gFP>>
zU<0>eQ&sxoDLPC)b+2rg{t`{Kz?Mw-O2rg~UW}-0$xr!?<*;x<G+#CgDNdmpic$6L
z2nIs4pvTeZD2AMa;Q*<N13lpAtX2yr&!<7q6Bi;)Jj;mYcM{-}6FZEYd{`sM9?)gA
z1NcQnk@vC6hGaZ#5HgY=Gd`C_+XBwt<h9W7R1g^TMvz@`w4Fu{Tguug8HLh>5KzVi
z)!%NF`D<|`Z&=MBH~V))B6)HDqYE<=W7n@;yK-r0@Zwo9c<_$Sp18=7pFR5fU;g~J
zzklh-%SVnJdG6QGG0I*%efs+K5&W3x>8?pAsN6N$UhwlZad)OBCK!+7Q!H7LvSf2i
z`X%)P!cE~cIFSL`1uW7B2@uUzBWB)3{}f;|n-QvDF%?f26nfyXUduuePphB;M-q{)
zjGSWO?Wa%-OYlOO53s-et7m76JkQKeTseFCt+!5`U}~4Q6Kroj`>PjUeDSwG{`%j3
z`8)sXU%&l#s;cfReWvt3)_?QsU;p}#j~^G=xf3U*r>~zqb&BWLuUz0wgJYb_jVq!L
z$l2?-d9b9!M!KV4Yj?O^1{CuFOrZ@HeO7z{8vKDGkoF}k)S1X*cXoO$I$dUJWG-W*
zp`K9fQ9GE)CMi=ga+7ruS@e`Fp6W%tQ4zko*XwXv2X=5TxloXaFgJ8n1O%I#odU`l
zyK&>j)Lay^7nmHocIoQ%@u@jDCv)T1uxG>LD4NZ3l*|pGAtPMVa+zzOJU3#bIDyC*
zC(L$yl`I{rDbL0VOY+wx`3X@0S^656oOTJcDEa0)mXzO+>+Ba?M(-j05$Wx%{?JYR
z6vs_pQgT=Lk`7)gP$5T!FX^c8CB27k>Zep6x~ZSysPH8nH+@Nipa6)C3<V1ap06^h
zRYphqwJp+~u04PJt^O5*{*_ny<!zEk5bu|s(0gn_k8NFBzY_l4EQ!EXjf1P29^c<D
z4evru{$%Ncs=lSs*3#I$rC-U6Bt{r|l9oDt1WEL%1~gh-$$n+>%-9)KA6=_N*S1Ca
zm9sy4^JnTG|D<LfdG7gstw&l_y9$bWncySZVoM2Kvm_pRMC-EoXsRFJ(cn?_;iMy+
zyfoFXSU0&hsf$%KclGIyaLLNsT@}9iZHI2^)7(*UeRs7kM&@@_T;IDYuJ2tHzItWP
zmmP<cKk9VsI&_n#RasHl#UK;gg5<49rI28!`tI`Ow?@R*bUZXTc=6)k86xt2r^Sx>
zWLS}7OC;!v-Kg3d8=K@*%Hgm&gcgxupbIBVY*&gaRs{m9S63;4z%PFBjTgn&;MCQp
zp8DC(p8B3}Z=K#ostH&w>}_;7wo~M;@@0!A7^H7g3z$@meW1omOeAarixvNbThCK=
zFUDVr#-b9mB=X6P>(?!9Y3t&)JEIFsviuw^5#}?}++3_Mpk=~bx<qmn^QG2~jg5|#
zq^(=O$hKq07e06Io;`c_AN(AJ>iy2?QMgMT9UZANXDAy7MNmz!2vPDsb7nmIH{R;<
z!HD4~j)Izx^08?sp|pFQ4rh69U)_OA)U}lH<;Y^ai%E&n8lgI#EQu1dE>VKk#XIbF
z3IntYBokQ!CDF=hNmVx6(vm6a+uG<p-VOo2-<eKgS@|=>KNOOIj;O#SGvsrzC(&3u
z7S9ZH5kXV5P_-1|Q&rXQa7wAF+Op;Lu51=SLvn84zJpFUw1?u-1X(;;dceFrp0v0o
z_Dh#8$O4UuOwG;D2I2!<EM8)Z6>&AvcDs(=eUp>dX2jQYGKyUqA0H7*mD3>LZEOqV
z{&ZT0f1<)v^RVWS*ANgo>=gRs*4DVmK|5P&5WQ&BfzXm68%vQbOUYw_Kq3{L0ki6-
z9*b2DlVx$c(`f_h7plFXp%y8E>S}Y&WOiC?1Jvq^E6x(Z#b+?QJrJnIf!L&#5E{uu
z(vb+w91_etJDP6bh<d%G*OUN~2Do{PZ-3|B@qY0U+&r{O%#zt^mgWa%hc1oH%uF#?
z9Tb*oT@nLb;^8uD2EHqm{^lp;ID2cK{)qJUwzXpJZmqD5TPx=7R$ePmwXGF%w^Cbb
zYsK8%+IQ17ZmqD5TW{J%$zB;}_ub@SK$IjdF7Jbs$1m<<VU1~W?9!;1zjOqh4n<~9
z4XO4MVaxP{sS^lhOq2{Be!Cl(3Onhkr&O8U^3+qWUe`F@c=ef=#dI~e<&(o>=f3-&
zs{LCxs!zV*x})$KEf)p{hY!mXONzZZ6k3Yb>EhmCj>MWhaDm!*@1?83x%mY&kL>mK
zywQ-Gjgy*mOJ{lSl`E>)tFK(S@4j4aao_5_KCx?6N2i#ShM)ZB;F+_R$dTJOwWeH-
z<jJW=AANL%^sm1<+{C=2UQF!EmQ`0T?(OvsXGaUQ$Xj^tLI}l9p~!@aR8gxG6FCqE
z+NFdKGZmY}RBSR)CbPJ=v<QV6v3u>BoV&K8K}<n|Y;LKkZd|)UwXd=yz4hsFE#Z@^
zy1nr*Ge;FW^*x(6%ktvBvR;?zT)lIxm~jT#dCT&y-uK_B+TUFrTHX_T%Sh6$wQF<F
zVeXZvjS&0zc&W6w&&MStI1kaB31*;RH=c})OsMwZgg&&Ot1V$waWNBz>+wvb#eHs0
zGA!<SoueuikyTPt{RWpa5caskan(K<_UOj~4vo0a$b25AN3kk)nu;WVrr9l2S0Lnr
zz+4{GyWc<!89^Ejs6Cx0w$T`1yF{~+-F#RE?h-qVQb$KMn#FxSV>Qo)<1ttV{f3q%
zd{w$K!iI<wrYmj}sj7(7*?9O{8pX`PDeAZ69xp%Xy&4sz$#2Pzu06cCBL1RJe}sur
z-kz<PRllg1Rllg1Rlnesg5C6sidpq+#ftcgidpq+#jJX^Vpcs{F{{=ey2-S}|0MU6
zpl&1{n}OYvp)5U>Mk!3Dx(iM?MQ8KZ2csDjTBpL)Wfo<-OEWSumoLrFXQ;^0FNAZ8
z5rj>YF@&OFu75hg^)=;aA`N_ps<f}g;1(%@WQ?c}O-4~5#y2E{;#k?y;aJ|+<usU0
zdh^&sFr1uWC7_5@h!{swh~S5H^t*95bp#uJy-C9`o=W?6Opcv+{`u#p^BnXzR3$XA
zg-~B49y$HoPp-|~n4Nm%!sWU7OrfS#^Sj@jil$GVoDYWs^0|xiNf;=&-%+3G%INT`
zuf7_bBH?ICF2q<YJXUkj*JAJDQ|IQV2s+#rD@rCtmxcdG&!DRM>I>5uUstQ$?Xr4~
zzHxbE{xr0<qgSS{3wm47;qi=^=@`-6YL0+w?l3hp5!i_S#2R}W(81<?phH{Wh^@cn
zmUZiTR(AKSS+{;&ch8a)YgTtR)apz$JTb3dzqY3vmgz0)dTZA9^=-Sgch#y@>w1Al
zHE^N4-dY27=O&@p#<E1sr>`X$6@Zx`DdKao4B{JP%R)&Ux>1)Y`5YFS)E0793-xC7
z*whz%aIC=ufghBDfpw5bU7--szP2}?ciMeB^3FB1ZoB)@haP%p*Y3^RcJ1AF+upvd
zeS7Y>=e_UQzO`$4@3IwUbD&hzxgGC)@7;TLKJefN@7l9v`~CMH*xid`vB|cX=sV`>
zB;C+ekRDR$Vc?-89C7fZuVr?OKdyBUNayJGOZy2rjYpH&LMN-M%N!~Cx@tr5bS7S3
z>rh0jZ_9E4`IaJ_jq9@x;S=F{>is+FT3ablq&mf0UDpajb;(Nj;2oXq?Hy2VJ3GWT
z7_A-c+>qwx+S)2_bxnO8FYD~!bxS(iYdVB9W-H+)71h<%Zn{RYRZBZm6CtXo*My<y
zYsrZN0CE+PUKvynATQX07|B{xyL=8EOn<Hh$i2jcR7$=ozEb1DOezU!PhfOGzg46S
zUhAT`7@dP-SY+9^!)B@C1PY?QP72dxK(xXJJjrG)H7)uQBL3ADn;upFNC1%+YYxYQ
zta%}7(B+aMFBh>1EigCjE9&dDR@NSqV$k9@rE+<VuO%O0@|cZIKAcW00-g|!A~iY#
zuWo9$>wI0oJffSahB}wST*pOjaa(CAWJ4?&Z#O^99|-47wCL0);wTq;v_5NHO((0G
zeu3F-i>TYP$r$Q<AlSu*-tBIK$7<_oX{B$bGB=Xz>1ixx>+30!)kkYQ==$ONM1UjY
z&e~egQgf|jR!w@V0naR)N^5;BnMs`ODrY0UcO;vM^9`$$QH-Jw(Ymd524B}mIuc8U
zd%Ig3-K!x>Y;5;(V{4mSWFZ^V7YGo?)A;IsJs}|Vid0o5<H8+`W*9YL*a;Nxrf7u)
zXE-o%Bb*4wBXmci-ngJMOY}@iXXodWB!_b3*$_x&vx#X1>kJGB%eJ7J3fX){BxbqG
zEjlY_1Tw?jHUQf3O$X8ffsU{`FiXFNE{hIvTf_W9ERhifeDiTpgvooz+9VVQ*U+L+
z28(6$HrCa79KIb&T7<G8Sh|Xlyohi!E%e6H7vOs(;o;e6UPfhltx2O7UMUEH9&t3j
zne24}@3+kY)i{d+^-G&rh>&1%B3{;6U+?i5v;v?(=-=nDHZ?)*vDJ5Xx7F7fG25dz
z@_C=p+S*WC*Ga!&RZEU`A+5S27`8wO;*`<k<VsheoMQCv$R!ZsOp1|LNG(8)8My=o
zdvzG$^wH7riK$sSMNLl&7;F5-$SB-wT;WWv{5#?jqW+q(Yu7~Xhiwe|!#xo=WE#4L
zs249YNMy*#iV*cF6#?S#VP&7K9EwO~3y1U&nv?uq+-OmS&HKbO72g1rfVRYv#P3Tb
zzdpARBFCDeh&vl%(U~CYJTi+C@9gx{3|$vzXQlvn=H|<&Xg+VCm??vl!NklgubY^e
zr;*~sOo+KKZ=2^&=tNyy4B=ZA4oap_?ZgZyz80gIKVHm<Oe`c?Q6j3rBxvL^uv*Z`
zK1YgSqhXPyI!eo3*7&OUTCTP(YLFW<5P3n!s;x1}I-ok4Le#SAj{?g@r)L$ZDbddL
z#xyD9h^PRa2u3F-Qn^fe<XinhvtmP^{s`_ud0SuMTU2VX++N{Z{QqgOtgG-X)>ily
zm1?l-D}0Ok3g4n`Z0s!fGZ%zTLNC1V^!L8^J=V{+UU)(JF7h%h%Q{@h<}^}g%LQo_
z&)b%^4Cun)Kd`R*oDlhc`qO{^_P4(cJapx!Kb5}Cd$t|84XvTJTa5sjieZO%zVoi_
z19eVk`|Y>iF6N8VdGEdNXU)R6?Y#G1=@4%^`&P6b3Y8Krf=n-v_)_Y_Z=M+dq2I7;
zF&9FlsN;6sRwnWNBmEnAi1v^l+9`fR()yqHn1B81jm_vB>96HfC4I??)X?T@U;Y=N
z(9%YB0AdUZ5IkXx$Cj^vjfYFG%+F-394dW#AikzG9JVzxJtxBBMTM58re(a70p)6H
zTDNZJJ@?#$@aD30>!f${=7s4o^nrroc=hN!j|5d^dVCg57@G|>xOR?@{2d7=2yvK9
zo}nAjuZ)~KKBOu)PLhmPN}B(^p(;ZsFOCe<xm;p4Gag~Tk%a)7#Z;i!Dg;*)$~(=f
z#$2WNG4O&%TV3ZF0NPAo6@1QedKmyNOemk9E&J@6ntF>*(NdqlHAPO7{<8Ho19eb6
zums$2z;Q^-VB6Rr5OA{5C>S}k85PZCtxwUwVk5gn0*nq2#UQ{W?_sIr3CN^RI}8Wx
z1aIkFVV#HHTeLDp6nma4KW|;RWWa(y#mxpo#TuANd6r@eV^i}BqhBr0f%ZQAk@5uK
z%hp3T5xw0Nh|{|d-K-4kYh6V2ZaZ{S5qb9^%@I^zZ-~#?a_A<axA)M^sCDC^n~2ly
z3dE`L<{Ut_OV|KpGs@pMW`|M7BQzhJ&`(TcZOLiH5i`uICY>SXkPumHl-yN|?-3Bd
z;=6cKWi#-&Mn-4ob@S`5M{1?H(@N8n4Wb|Fds9skvWcYDsy&PEEl2#kxg7h;8jn81
zqaAj|)&uW9aA5ng#>S2f4=EG5u`~h9Txcvef&N`O8szSJDbyA3<h=qm_~U2j<RFix
zU5hQ&<j>Nu?(d~9v;V#Rp|)(+d&d`)qluS7s^h}xD=)p2IEo5W=*Hm5lM)&+?|h*6
zE<Tt01|gkCBSp%~){$nTX-$3C9wk<c=2aW8NwgRfO~yfkL|Jl;xr|%Bb7<noWRQ`?
zLzFeu=>iXMc5+JQS-NhfW3hr{Rx)-?t<R3nrLkuuRxWdq3Zwt~5{ZkX@x+Tf>X{c+
zHP>otvZPq^TDKCb(=1o*WS2B`F$tH^mAi7~<{c6zA`XM3pQcLTCxs@8;mAC&Y1Uv!
zhZR#w8}*xEkeR^ma=I!>!ci)--_h6@xy0-ki=)Il10iE7La$vVI44c2MvXv+GMVew
zeePIBWH-`jw_9o;B@s_U<`C7Mi+@*qWn(rtvoeqAH{Q50a=u)h^M+!QO^QnV#dlHD
zZ}|T@bumKv-3G}ZCCQJBo+4Q=5+`>uHK=&CwFcGhblGdQULh}Sa&Qb*i>y}`N3#w-
za<({sIS`qML`DNcf4dmnez;G6gh^B0K2os)eXt_B{cObw^nunz%;>`v(d|bnqT7#F
ztUw>GSb;v=cXRfA;7_bTrew0#j%hKv-D-_c>VWJD$uFI1X~G9L8lkmjiz-+gjpPSS
z)MkqEX~Xn%C?`9~NQ=}bz6XVqMYURA-;~SMm%C*)=5k#tYPA8pnE@pd*|XHQqGj7Q
zQ4vww(!FjSwXEICKmVDH9?!aUE9za<4b9ElwrSx;EMG?5%5wg~sZ-aJa!Z4S!a}Sb
ztPYhVQXaTr!=_|%-3F56x89me?z^|gK(qE!1HG}>4BY}`?}`;9t>GK69XRlw&pf_y
z)7AqAwroKYY}2;w+gGeuM_uuzHM@36pQoOB-MU+wQ1gci`vfk9S*@Ob^Nn2YEF6P#
z=g#MHr_V;s7FMeP<;IOy=6sfA_uNB0+T)-7>|>8Twx`S$_%5|b*EA13^68!8NB3io
zed-gBe)@}l^;h@Y^XOmv#b12(zR!OiYQr^7=kdq?dS_#mPF9%+K8_QSxx81cKKtdv
z$>hJ1!vA02`ED}#&;NSETle_mj}IW<EDQ^?1s8{>;wNnRJ5M!D4wK8<yrie6yL-be
zyLK;Mv1-Grl|4&V5&(2BTm61*ZEc-i7Rf`Xz{zQ*ba8eb(bL*mm1VV8KwZ6ddpN<g
zh>g?22O&QkrCIXmf#Ai#P%1S$yO6>{gu~<GL?-pKF$6n8oQ2se7ji*VJavo5#K$53
z>q$gu4iXhuL`1Kj8xLe$xa<Rp$8&bfw_^B(7fzfwdG5l=S47jdx1N6XiLd@%G=O{k
z!nL6@Cr-TZ!ZgVL>&LNz&+r$JFwJL1r<3Gg#r##YDqlsJ``om}f&)4+F+Ogw3?3g&
zG=oG8^cIV)RlK6AwH1fHuC}42y}hBKt$StPj+G4!?d>h~)o4x;0h@_6>d<3?h2IZ>
zErIQ0=IhHkyJ%Hwc%oK=To(%9&tfYSY8okuWl0|(Hr>?fL$&~wg#hivh#se=xNP>S
zg{diOY_sVEWLBa(+^|qO9xo$yK;zR$0YQ-~mlYRPyj_c`@w7Fo`r0}!YF({rXl!;$
z+=20dUW|`mk<q^xPORX?BEldjLd>5rP-ygrMN7nRSQJanqXZ-p+y=NoY0~#X!gO&=
z;n*_^9cWA130oj8i6>AAxiJHZ)#^3+RzxQzpc;YqvmHPF=5KyAGJNIu@k^JkT)lRM
z+|I<rHSyo0Lqjxe?$-|uU6@T~ihs*k%m8h!T&XBTNn%r!rJa^^io#0aYv>6&6r(VE
z=8|ZWE2NmB;YDBL;XeHl>Fw>|3TyXpg|&OQ!rBQX6oKVETw(1hD-|ECuy*gSuy%h+
z38gZ-)k{4Oh2`VpX@bu=u4QO`9<FGdXK7T4&sxPON=43|4Wt<Z+0t2%@+W{WZ8}W~
z=?0J_O-Y~0tBe*GAs?k!)CF>NOZrB9MSt(*%M%lqFTeI$FnH<GIj-=v3m1l1!G<o;
zd*-#*zF)nD85+Ft{qJ84!i$OKzYm!H1mUO6q+Q4-(=bhxq9vAA@l0KyZt++{YfCeK
zr(nHx8$I57#ps`y09`54zZ;^?s-;U;qE`YeL;Xs=vC$(q1?Y5nj6BiQH-fj5-&Ntc
zqq789qtJ&iQz#$3C{;G<7*pWa+VB*)E`RS)R4$Jm6%^c_o<m>y(w9DT-+d4N`Jey!
zojpB*n7eJqD$X>!mj>DbiqLJ^hW}nZdQ#hIC@)66wbUHWmX98q(7r0msgozbwv5BC
zKlRj8{$3G&n~*rHu5K+eWmha)MqiKBT>_u-c-lKe6;Cy|6v|R=cTIacsD1h92~Y`L
zg%2U=3#9=uKOI^P;zWe$noJy@-H!v)Y${h%2mHPD)Wy`-H#Zw8!C=yAX~1X%(}5~!
zG&VOc3ygBsCjGKycD*=_%rcPuCxC=(*@8(R6M$86(xg+laH1J&L5U_)X$+cF1alAg
z-90@^u)G^LR#nkl0?rY2B`#k*2wPRv#*O=LoZwPc+4t{nvg5E=Qv1RFpOEm_l3Ayo
z7PJO!P7`(*RR)!dYm+xZA`NrCa{emtxW88rj-p7j;A%$0fbB8J6h!@C{b|&wMsz6W
z*)#Exk+6{7%N9lc?W;B+b<Y_R;RB>C-d_$ipEJS!14k)ot2hxqQNP+<EYjY3{@gin
z5w4s+e+rvLkF!8va&jbzSEHE);ttZ0-da*dq#Jy;)&kTG^pjy3NfZWLn5$5z1YpL&
zNqRFlt{<3{Bp=*+)j{nHgM^A|@eOJs^cflCf)AEcd>7yYZZz2US8bvsT!4R=J$i=@
zxR{2iBGe8Ln_N+}>azNKi4)m~2{fV5bsUgkire@$6$-I7C{&mdmTKrL7G`zR3D<Rs
zi(OJ}1Z|K<xFC5csnZOIxjL1}yWDONiGr0D;4S`N|6D44d9mt6+owN*(J61*3JayJ
zuu$3x3#H|iI>{nwD=d_@!XMLCSSW3Uh0<2|W7-OTOxt%e+o0{cnZuLx{sGC#zQBH&
z{WJc7KKW^$6xnm^S@t-)iM^V=ihZenQLW+=eflFDXnA|A;;bI4IIG7i&gwB<c^h{3
zv5K?$OvPD!q~feTRdH629lGgdK2~v7dn(Rq@1dJ#Wt(F$o1?QE+w5G-w<Iw?#+oxS
zTZq#Fm~DP;dMps(JDtNXj?PD-#Y7Y-Cm{tPU{O&-g&mTNj6oxbUXi|&eNKboq)6Lo
zkOYXi5LM)XjTey9KY!`Mc~G}==aEAx&0ReDv!DI!59hMeFY&tz7X~k!J~}jd;rvBm
zpk5gq9nZ~8j51l_%7X6Uf%q(=qcO?BAV;fYRIKH~gW|8*bgdm^@9a{9S$lPYF}AVR
z&5SfSg>F?_9aXwnt-TKO)>%EfP?yhwHPc2)qKL<A6)&l)uCY1Y2vTiTaXiX$3gj20
z#zu2Kg5k*PU5$Q$e&yjt>a@`y4nbO>t)Iu~qWO*gmRpwd+|jXq_wL>MZf#~*8=G&X
zNZ~-w$;%tlH0TZheMt21^)?8tt6NvEYwTFjWWXCe%-=(dp6mh&Ow#u4-t-9494Y&f
z?ZO?R-$^RtbD51dhG;ZTi6Lo~jxH&e^lz-I!SK4O>p)VP>P3rhr>DN7qocXeXlX9D
zcoKn-$4=j8@sj%5hNjl`CbzVczlZb6)x^P((0VG8poka2ZBg0~m<A*;>SZufwC~{x
znypB((dj}G&7MTn$J^UGPc^l<+!Rf&QqyLq_V{orz;acL=NhXuDB_h4D_8z~I(}Gj
zc5bOrH&Qm}c2`jWE}S9klZ@L;?xMzJaso;b?oxi(RAsN`w1A6h>_$t`V6kITaX8Bx
z>JP+q3IuaD(w}~gLPDtDl>*!4meNxYJ7qVsKKVB`HsTkxwl)bLqS3{=LvIzBEGwEF
zO{<r$Sh;d#SJ(0lZ4FC1T9*@}tZHz1idJ_$dPi!t(7<Hl!=deI(4~kZ3Oc)rn=O_-
zzbl%Vp9L&H1`8~#z6$oHf8#jLz&HfT@<wZs$o%*)6Xx1%Dzf<7>G;U;Yp%j{SX5*T
zBkB@9{l*wH&&46kC??wrvzDa|rflMGogMG)tl_rmq%u?X@|pR8jT1D#3oT5GwCDBl
zIaZj+%;;IFYKGF8%R%vf!QAj$7n)7M!URaxm9f#;nLoUI9mtnD_5m77Ss1k%`qb3f
z<>ZXY4M4U;tM@s(9@(@4W=FL|Xg_uF=+UWx&JN}_wUHvw5hpD+po8*P@vOXQI%q8|
zWzt!6TNp1!Lzd;5)@miC2*ga`CQD3->Xc$h)ulo4W#BMY84ax<WFR^Xgve~BSkg!v
z!*QUKVoKEd&V~f(RLX=n$(dNSGo%+?#c{{A1vCgV;w2%7zzg%yBFMX1Ed*qVhww^h
zHdCIGN-jEw3!(s9LuA%i?Tk7@5nnzW3E_A7H^R-ixryho@-Jennr3oY<fqcQYI8D5
zHH3IwI1rA)F=Unep+ax++*c*#aD5%xAzY4krUBREou`_*$w^n0H!?XAvaa^dkDnhN
znY?!4`dB`bpC>dpto-+XU5R~JBkRez_X}OHyZiJ<F!tr`V8zO?zG7wAS+O$g;+2BW
zcX!3gaIj)!sMHR*r($KOR3l$ku`>LrDo?%WYed-sW$x6vM$iH_QRSynQzOq@9c2`m
zB<kV)9;dl3!pt-yszWXp0Cr-EMZspY-P(BUmvI}N8a)X&$vECu(wcn@spp=1ZcMUz
zt8!M9RM}2H_X>58RnoQRp7S@hxYv#`f87n<-h5^O9?Kgih-ynESN&%<{(WER5yMPf
zD<SG^m)}pASfHK4fVPx{e*T1%_7S0$4nv^y5x?b?!%9vfgF%-V3J;~cPg)r07ojrE
zjD3>M$NE)>A|SXJK1(4;{ifpK{_>|P`cm3>*pQUW;&1Z-6NwV-q%IFE6&_GE53f+<
z70=z?np*Lr*hE&e{F7*=C=P?%s(cvbK+RW_EE4xVDLnu>*k}<Rm=8VyIo4v%*PzAs
zbVzvhaz^A`OQqVbc4EzB$=%iE_k@$vPRw;8nw-`sq6tV-J$Blbj=eFl={+`zyaEAd
z(62Z1K6H<L4SJTCdMOzSD>0-C*;ek_%JLd2w(Z*GZ=4KWXvEW7m{~Zl)jJ7W)~_z}
zvLmzqcKW0AL^jmSO+h$r9Puv|3xLsV6$>e|r)07@9n}1qL;^1pjxz!rrUEix^dd0p
zoyn5gOj^%XDr7mJg%F0BS_xBE)zuSeqo_zrTm4JLLMNpo1bE{tp}}x2Un2TP0$i_8
z&loUwa+=f}jgXZZnEXDQRuc<q!*c{})1(48=kUs9*P>~SosivSWeAAnpLK@lfHrHG
zIBu5+z}0>UP9N9f%lHoX;ib}mg7huel5Rk}i6_MYErnsl{1cKM`f$GdE)lwu16PWN
zVc-|OqF{;@pJX5S528ZYxL=dxfBX-qF+VG#_Mhz2A7Lt%x6f3}+fP-@+iz6N+fVRH
zQPcIQih29Vih28q3XkrS74!DveK$S2PgKlXV}(bju7j}6qHQJL+um-=PIJE}veoUy
z;&V&dY6Tg^>71Qib7OM&%GJw6!lLAz;<TDPing*@raHK!6)Bx2ODPMglk*u~d~FyG
z^OaZpR+k=iFjwn3$(cwv{c4Sp6ZLjAs2}dxQy)L|lb`(Ljrj6C`FvmLll6D*>Y)K9
z4*l7)4<9-H`(Hoz>t~;RHW0u-d)1n>sCDpYI<ePAO*_D!w-~1_d(zie`jY-DzrS+j
z#&1-=watnj)7JMfsda9y)xTlizAYQNTU%RK^={f%UA=tWHb@>jHms;lBzlVZXdu9P
zFu#0xe9Mk4YrzKBt!r%Dw-2&O4XGYxx>lT@PDg|`5>=}3kK8`Pod+KI)TjRJ(U1A9
ze}DMzzW2Rvef?|FRh{mtf0y(m55M7yAE6fLkw2rJ`$?sz=fThIk-j25Uw-_p>x&=k
znVI=`K85V&Iab~ed|+x9QW{_5U7z`!*r?EvejxpT4BUUHHAX?|&lv?GW;RcdBOKEs
z{BYL_-|f;*q-W@`zQ7|&Rnw^dcGk==y2(p;)RwFzsb6`<VtK|7vf8_P1&+*$Rcki3
zwl42pyLIc<b*q=Rx?C%(JwjEPZP_ws@48;9+t@lfNUGee3LucWGN=y-J>!gI%LI3m
z&(Pl4-P^miXSLsY;*AsM&!0K@mPGIt^25`#T5I2tINUHlAB+iU=9z46erRYKtx{?;
zQX@k;-S(?Dg2|-FeOs*;9HuH9H|C;76A0jE)F_ncmXgH)S3Or0es4yiAhfFFGpy+{
zu&|oi{Z>bl+l)6%n|ai4{2Rdj12ALsm(rP$7hV{QIZ0YnN8fzGX#DISjtvWkXJMhH
z=2y+`PSj0UCv>{eQR%qq)ltD)4CSwJl&L(0d&4nV!EN*#?%zw*>0I?LzqO_t9-=#Y
zRZ2jL_WRZr@kr8!Tt@PGO?kolTFBeHrPAqIp;3aDVGf5|<`-sYEr`Jp6~~f6ttp6w
z-5^^zF-5j;GKNx~Ln`<T=Px62nwTE+Tg{@)k-55ELQBu$uR)N+)5(~%IL$`%<g09i
z!&RQD4z(fF(rCAq3qL}k!kM#Ug7{1&eWS%98Hs1ozN(BI<S(U)1(p)6oWe>be1`A;
z=yxx^_}sVu$!~q=fjzr+-SOyWBx^iw^>d#>qQVRUPI#VRKPs}Bh-RQH6~iOZ(e6n!
zeA0#%D4h~pI?a8W!zGgi{y@b<5eXu*wj^59XMKkGSvUod9sE|}sm4ay7)X{<$>QH|
z>=+7KtVqLG&L0bfMlPLs`Q?{S4UUA2#;dY|1U9gh>&6Z9xl?Bal6mRU+}yEa((9^R
z5VeDajL!<-!!R)yg$ho@XL$Y9UqAiyQ_ud=Z~efb58QRv!TTPNpj|fk|4x#B`ZcNa
zvqjHn_aXfejAnV;cj#tb^xi`^nfM0}-OP*L+q!6B4<5Ri7rpn;&AjNl4&BU)-d|y1
z?>%(W!andPENrF15rk*FOSUrOx$F-M*VvPX!-kS}#+*z=ggAp>S(rUq02Mp{kvAz8
zbQ$_mmJ03~FRpcYd)se(+ozVj>1-mF$R(ogzyd>qDO8q(cY6`ohDAav1(J;UtXXhe
zLWN9MLp{DP<#l{o*+1tv{`g(4M}|8`lD4ET%_^d!c>z*dVU!?wDp#*X6kgV6B6>T~
zR6HHa<qUYrnGDiPxVPoggH!p=aV^FGe0W`OG*OD2I~TE^(0j2yS*5Wt`{FNu`O7yF
zb;f)OZRFyJ9d}`JVT=}`Oy)><<fWGy>N#JL1D7G3EpC7OM5W#Z3z2?8&N@p?J#k>Q
zx3RHWNNAcptLnvtlMRK8sKL+X5#AEbN(=OjjS5{>E3t05%rH1mj|PJ{cm6;*z!iVx
zoxf3MfH@0~6XEcJiH<8MV+#U0TcJ)6UJ62A2C6MRp$)X35Vk-uB)PUCM=HQAyodke
zs72<L8gO8J6EY?owVQ^fvha;^n)(zi=5*8+Y9VbH%tp+DS;W42TQFE#1KnL*3jNy`
z;+^ZEtpOkd(=O)p8CYLJBAg0nURTm6#e!N@c4LJ8phA*40mNvfs+IZ0ee|^#HFT$e
zW|<Ypgx8CZI#q=Z%$=FuK^=OtU|OpLNf7@Si^NLw5hQr!4Rd~ntQA$q60k+o(1_jf
zi$TR<i7_CqX?c6+Qp)w^K_SGHi~4f)xJ=?(7Ezi}t}pYMB-na_$;5d=4icmx`oJL#
z0xisfh_$bktAoKX>ty~<cDsuZbMqRcd6Jr1zzUC&^sfXnEMIpHnW`=vd9JpIg>#Hz
zGmRY;!aUKmPF#8aPl>DkO)CB4)12kAQopE@>OQ1DBE7wJSJ;m33fr-^!ge(CS`k%s
zSJ;l`3h%7D!gh2Y(uvQ$0e&MjS9oVVhyGZ_<A7?-=o43w(a2^OM6mMD;wO!UL{Pqz
zR7$xF^@d5@SK3)Ns=7vrf(PmC7mGJ6zF4147Xt{ML`~UjK%<hVkT$BijS{Ns<rkM<
z_x4}1E!3okrJ!L_8<A3|Fi36{m_ZkjP&|>OD#PW=>lPM%RVsl_IA1dv%-64rb`ErU
zRsAyZR`Lj%h+?0f7Q5eGV{fg}du?^5T8Fo)cBK!0U&^SujFjU+G~-;X(fYqmP*c!b
z2%l_v8VZ=`Q(h&`Q8!Z-*sxoa9BZkzRD*!B$w}wGc9lvv-5}B%v3E|NYxnl)Q{z|4
zXpsCSFP!08g~X>pP7pMJ|MOZIr(ZvL_E#s4T|B93rl)_UQWq>OQFTkCS|0s2U6!Pn
zu4pW2B}52(QjX5(s!k^<Jl?r!T=%zcTG76sr`90r&08gdh!H@wtg6l`nRxVz=zUk8
z{)qJUw!0z<sMKh>yCMqM!)sSF&UW|RT%-0>jI&)8Q9z}R%btpHwx?o^>ZphUmQ~=o
zEzG$kV(_6?n9W{?@oBfu5<5ENIeaBeFzD~sO-!7*T+I9E0y;Z1F@f^lYo`iMoOg3+
z==8`y3-!tG;s)rU8N_1$H5Z9AG@K=o-z1-Z;e{8pq^SDs$BzB`uaKyvn@REPGsljp
z)|bBWoh;OXZJxq2|Mt>ATRL6V>ws`i074kzn47!w`s=Sx>x5EXFQp)6wO=Pl2gvy7
zbkz;Z*R4~nJ<C0sNdkkZf_p{JfIAeL7Cj9Vi}2s^@Y>Iu`N^)*{}d0+o0hxYR=?AJ
zy04EQqhI&A&wX(7DyvUt>DltY=RT)eAN@eL?lr&Pe=NK5p+^VWJf12fZ_zoc7rbdU
zt5pbFSn8ILy6f)jl-BSW)J9oN8lO&Mwz_L-Rjb=+lH<5P@si2q9&p$-I%tk!brBC5
zyV9KllboOl03VeL_{$|b@Ma(ZNoq@JnEL>Qjjv7AE~L{PT+ehtlo-<tQ?wh`+3cMy
z)Nbq2IcF0B7gqP0RT_MVNKw<#<sML5imz}ZvUx!m+CU+BG`fwWi53KVcG~M@>h@EW
zwQEyOz#GwY^DUHVS(n^@k2XRum(}*|Su)Uq`E6mnLywCkDMfw|0ypEqZO-9iL#Ssw
z1cNuGiUl7p2~W};(Hb4SUKEDfP@0^M4z%g@Z4Imrc)NHqj<my3TYEQ&Q?JFq`5+^M
z@$I*dk0Wj^I+HG>izL%k>#U=`paoqtW%Dz$18o>}F{vS{bEPo*xc;KO6xDcu0{Exp
z%MpntGFc@5Nan|*5!H%AB#CNkAjCv$pp9N#q7!DhZ;L?a;`Gf1+xO%rLCLQ`38QdL
zH*|@{rws0VXny3<kZK(s3m2=w&pn#R=<on=!QTi7noVF(hXu^z|0lRkU;#MB$d(P*
z5WJwYbkPVQAS3wjVk<)`ej(q<b?2MZuanj=rx&wO`kQNjq(5{slT_h9Vl%7Fm@V<y
zU=U@;NMmc;uzlBUo!(7%Z0lLk_CZ^n#$dM;?dzAW?Coum%4{;}$uCRtze?ZZIzP$r
zf+qEAB&)O$i$V?ChV@3-Qzt@|w_O#j3{TU*Kb`nXJYmy`|3q+*e~YhD)(b4_PyBo5
z*YAA)<Lg%a1`Oq-T)TuDjtzXQPk)4iC~uXytxxye^wYmnVFLvca+hS0K3ib}KU-k~
zKT}}?E0K`LDr{gS60)|!25#uPncG?)vXvB5B4aZo7YwFIIFZWcDTWVW3^UgBG~N-q
zXQRVYXo8D~?`i<)vB{v{y0G9WR}vSC^Q4%%pu7NcF&lGua~^d5+=MdCZ9Qm3u57OJ
zIJKz)2Eo7ndVN7xH5aY7&tJ8>#%|0m#8YsvhiCCqYC@-QiLYHd|LO}T&R)KL64}$|
zhSHSAU-nzCUR^q<)e5ywn8#`tMHrb8Na<q<#b#T!bLZM6kaV}~`r!K!Y}wkow8aq2
zBCh7Y#apsu6CI67jk~42_k#x>djGrcdf)vI-1nY+`}U!Da`526`yTo9XCMFQqaXjo
zryvh}?y<+ANqt26YgLsO@~S?MN*^U|{&rc$4Xmkg=;?cspd1|wqmh`3X#VH5bcA!6
z<N<4Mu{Jt=_qI9R%02J;^rNV0{X#k^y@t5V&!v~8qtbDRr@sR`5s#;loq1MzuKaif
z39S(8eF0Z#LYkIlr3GMb9ykthek<1cm^9qqC%Xmx{Ssy)oj!LiEiMCQRaq+_op!q>
z8k|l>sjM|=B^WM4LlY?@4P2JEY3gxHYjuO$wWQrelZqv)c5d$5z6EAk-?pt#(l%}0
z%yPAT*X{fE@40R7-rL{xu6OOfWB(m@+_78w5SJlcR54_!RPk^d7?@CPG64GJ>Chx1
zDv=mx%N8{R(MIjzTkuZ*Ut8?*6%;L!#XtTsFgzO1U$}f@D)7f&70KCu4JSrb8uoNm
z{k<~#+sg|+DgU)wEb(F~E7RFTYYNTAGeUJKm55|e^NU`O2)T6n9+e236EV@sM4K4L
zP^O@+Sy9yT7K>i5!Qho;wM%3^@VkX%P$m~*%!$GglJb|3ftZ?^52lfH$<fWpGgl}k
z6lo!9a*tmPrRQcQCuxkB77F%n%o~C8((#nmEFoV{1d_8y&tn7=(tit8%gLqr{L-a1
z+fq)W3l$QbTO@WBR5?fAdSmE1iKe&y`?=r0^wLXbhpyg;TQL3w|1AkqiO@1<LPnIL
z=7d%8RBH{2G0TS=vZC)F3WV9XCY@Xm9l%-1KvWX6nzhGb)+kF@l=>CHG*sJBf~669
zlGL8oR$c8BYlTi{tY<-~aazrq3>RSFmT?Ca4S}#tKR-#0SHLDWbTP(U1!5A7Nl1E>
zSY~qno4GfEljADyMNchVUA^z!Gt;wg8fj*<OE%WxmSw^co^8N3HX&pJF<J2q3As19
zk8r2DBpHy6352j^aV~@<5J-%T0UJCv-ePQPv8;V&G@5<sWqRN1{lD&!=GYhI!n^Nx
z@2i^WuCA)Ct~%#C-}%=67ji*U#1p4-D;SJP*mT8AX5bK1;wS}UxWr<X9J@uqi~^I0
z)sDJQ$I1!)!Xco1oeY?#L%T}?&@yrb$nE)DYIbRMei6tgbMwf{KuvmD=4Ym+F4e6%
z6B84cPzdkRr5R8G0>DiW6$to6)WL|gF7#`$h?4hEE<tUWegH~I3qe{z#Rmk6zB?i0
zO_rHuwU%6%J^zEJAA5Z4XHPu-!zZ46{`u#B_Vm+ZV`Gm$^6hVa{olU#-GBMcSHJqz
zZ~XJu;W&So{S%1WDQU1!pq~zR83r7Ku^8!4W`xubdPfb8O;UoTD&&?_@$je39@(%t
zP-O0tDw4zCi6~UdpM(wEs@;!>PZW|Z)E<<IFd@L-as+sX`lr=?YptoZIp`HWVUcjR
zndL+=YkWd9LkPPcF)EVejaS4^ODS`}5@qrcAs_*_nle7@5oHV$Kz;FztXp;L+-zaz
zW(%4_DM#DR%@z)Bws3H>g?D6KGqZEEg`Ja_)%97KkRxa@*;^bfIYXScCL#UQ_sN0n
zP1~2`SA3J`m&(l2%*L=dm~4rfvSTlg-L+2~xp+eq5Y{%!!1bcPXpe$n*eI0K1hBL?
zlofkPjhYfuxhWwdHRU`&;xxI;u7V&Xl`Q<BjUPc#Yk*RSGwzHwD#JvPE{Yksh{6x>
zBuy=g6ZYlCbx~lVp>3!UWem+xU)0EY+o@dJS-G}TaVEvas9f8rT-&K!+o_TDwo|#b
zQ~9>zW?GS(X-B2;ud}FjWK=5u8*pau{<BtST}MX6zxfkr$={|uOHJ%n?T8MvTYT8|
z>+JXFy=61&q4$nvwvXPk0?W{QSOqu0d;b|!uEx6~#5QP0jvN^!dBYk}#_(YE<yx(v
zzM&OVw1V|lZH19_yWq82LFHOO`p0tuix_{Z9g)8h7nrUc5!6>S)`9n?ztNB)b3`yL
zX^1g7B9s)3oz#v<@7radeQ>6Hd%uBc>4@y|8VI#JB3n>0%&Ngr3>D5@M*V|+jm_Yj
z3RGzyy(6@*O<RkZvPG1!dUN2#$<c*{qYE3?A{LxSbYbCI#KO^qg`*1#M;8{3E-V~f
zSU9@iBwaA=nXmp0n&i*5`vmj+0prh%kBvr*d$jvZ(h0#2rT;!z`BwLDp$Wc#eL@^H
z(GbOW2qx<LOyv!C|0er0Y!nAR`rGUe=(w_2f%W0OdYC)V`LO|40tF13Y8{yg_H*sN
zQCW3{KvKAdh)-{%7CYBA{Fr$owNTse)MDq_#>%ygiEEo*X3X$yBPCz>G@9mS^yMWK
zxCxI&YM(^ECtoGDdqlqY{ULTY-it{K!#O(J33Bn@^hao`f5lgNP{ZPBNKQ9kZ}$8n
zxX?%Gq$zwu_S;|{IU?J`N%&+ic&r}gpo16i;f*cgxJHZc)Iwau{Dv0cIWW&f%)erb
zyl(tVfB%6-i?HVo7#}iP)|#aJ0~0j~%i$r#ZS_{EO<So|H1Sawm5xa5zxClpyRcmc
z*gsuq7&-RxE9}#BRxiA^M`W?B(J<2XM5AH6L&$DG1G)FG&|2H@9M;OW&B(eg^Z%B^
z{;yEWs1$pi{XK3{jC}`fbnhBxc)|p1vM;_95C1pxAj_TxkKIBaIyb`;i1+?Cu@BI@
zlxCNS4Cd%VcMD<^@ZLL(VT1QTA8{QWQ7#P{;oIR?88!S&W93E-Pb0tTOk?JF?5H&L
zDEk}+fbn$1`2Ep{fv1p5j{;v4?>T)V`%ieU&8h4y=y!HfKOzfTevQ2!G$Ot8<7lR@
z(ZjA}**H!Uge@o@b3~SULSRLBA5Otqi2c5;2$TcaY-W8|I4nQsxJQ2ZnV07xPOd%d
z92c?wierZ7BBSC{p9ej>4-ZK4CHvk1<6dJ3<^i~nzcI}g@wgG=k3<){ogREjq6gEF
zcL73r_wS=UzC>HUOD*%y+9(85eN?KXC}#p9sXht^D0uPO{!QI%J6&W~8KBpA5B9P*
zt&z<CD4o1+>~OOXFWLPn(#ikY*eT4S&K(|f^54)_e@-`lz87UbkBkCgmqkY-$oIs)
zT$p%^&Iaj&(@L~4Ds32SjH1|iRBy(?W!f23kcNtP&q?+pdUu70QglG!{PG<3ja<a`
z1`ccEsD&RrwqJ%?M%FD)Hh%Po&l0u#CT>$a^*L<)7Y&v$^!ZPnbvX=-1qCX8ogV43
zLJR@#0%~v9PZDqWU69F_Y3G}NgZ&Y9618k`v)#0--GJFmV<L9>5a&(1c4m>V(U4%A
zc4Wuml-9<#Xcpr2fNOD>H_k#dFY|f;KQHrb^s7<}KMRer{|*raqoxVZz`hkR?#A|J
zVhi6}Mr6?uCPs|?;*a32z$2brrFPTNL^$`qfW3g0Vzm8d5%yJVKT9VCJ;-#%Nd@`<
zKVAwKGj48XZh9|dXg`@$SqqL+%Qzy+7+YJeH9x;mVj&I5!AW!c{A}ZR%`Zbee2&iR
zdChBo2bw{QG&AX=;+ZIm)N=S>)#a6!eQW@a@#=$v_4zrUu+THtrB@elaFsp3$s!ml
z8Up1d%RVBcbNG-4wTNX3y2buca4Sgv8q4Xj$yP>c;}O~2xeDzW?O8d5m%^bndH0v0
zoi~oJH|mhrq8)YQf362zvxV3b7*n7Z$oO^Ixd9?feJuPmP3?mt_lnchLZi|`>1qq@
zUqQgyUBHMRr8dGh|0u#9#r8QmZ)%oAoO(-6LQj-jGPTU8G;D3OOq^Qg+^^CyZyZ(s
zJ6c94{2*fdNn<1liLXbD>(MfJF1hfX6ivP?5i#B@P7&{sE0;>dd+Luow4w>N4<IfP
z&G7=JecyjZ6*+8UVv|er3z(f6=S^i`@Mw~W@yO<bwz`nRs?;=Pyu4BBbwz&h4DRG~
zB$}Px$dh^8OrGEHqskWf#ag4t=}0`kkxo7NS&XV3c(`wWqb}3brZ5N$T|WP)m6S*J
z?TGOkVi59feQ*4Ni9zbegK5yEX_s`}9e>Co>=|6)H~%=oG&B!_=E0rix%_Hf(gjbd
zk1Xu6g{lzp>R0O6S0K`YR*h)LIya|wQX<M29=*Qs+O@*X;;-XAos22qJ_^Tu6mITP
zIPN3yV{3$Krx8mhjK~rCQO-WYq>-!Ee3EX2)1Qa`g-v0MLDUgm{(buNt%%TsPjH6B
z**)4}#N(}KhlO2l5fGF-96_|N;6^SoV~2reCWgR#>Ai#fUH#pTN&YYnjS5VyYs8-c
zi~roH%5G<rSA@d9|3O~S`u+bB`9mTZh&(+S8Ho^DuOYnxWd>53keY66Tm9PqvEQYB
z7bD6TTU$)r_z<~%7rF6a!nrgbi(J2(xPBM8e&^?7ksBXkWWC?7#Z%Eapz*`B)Hg<1
zl|GGvzUyz|m1FpffEc{c)4V65jIp)lF79dW<erAF$ayEuZ3h+K$vw@rssr;;^?dBu
zo!ry7xY6$BB(P10#YGUI1*n*kO9F@}EYa}<>RCvr*9&-kp-2Eev$32BW7s=CzbpoP
zFm{JqQAep(Gkon)Zy`mltAyE(kfOpWas_9zI`TK#;fwVsDD>JU#TGBY$$$Rh47@p2
zyD!`n5Ryppe&U6*ODaqR124aPTHe@?*zeufs}xXH?b`$Ub8?29RFe)=?(IuXorRBT
zN#8`CAk^V1r1J6E<%*>fewAKl4IT;@l~<-03UZkCG>NmY&w1!6%5#YSyD;fgVaqO+
zb+5@z2z}M%31so7oGnPXwd$J?dxB*$etG%K&rTEqZ~2SA_>0>*2pRAEg)^tdUQAf_
z(w^O>XW4tS0VE-^+;iXj<~P6hgHFU)+0z+v!P>(pBeqgH@hH;uFL&Gk<jIh}iBgMD
zHPY+yxcz}}3!#4Xw+7%jb|UM@V)Hh2)1I!76;rPV+77Ex!fGmKC4`7-P4^<&0qtSr
zk}&9(6sk*S(yf+;^HdOA4h!;vg^nQbPa)LULVlC(LXsBz-{qPjiGckwE2zQdK(Z7H
zpp*e<CMfmbNQ4tGSwoJhzqSIPAoMwcyI|UjUygds)+RVAyeL{yDj_%&hIv)rgu*F!
zyn<mjn^I=48;Bl?r=<lAY^@en3&?coKr}>Glh*`;*uc<GZ)IW$sYg>28G?^jre4Cu
z?Y>Q*wDx+2mp>3fWR+7#QB?TREGD3@XI82J`NplM(>cK6OD5bqD^YAW{O}?s(t$)G
zB{<0AB3ILOR4cm=4PVZa11Be=6q_CHcu+@C51@h3%5p82Uz`N!d%eI?0m*VwrmXnn
zN+AnB$WjJ@GfB-pH@5_ELC~~QSd~8El`2m1ZplH4p(|&Rf>b~N8txy4&&EPwmiT~`
zCIPX9+$7isFmgmqSKzdVi%vpWo1&T>ZAOL>TzP5{*xlsRM+~;rAtQaa$}se3u_+dl
z!{<?o^B}>QEGokQh~4E1`jpBt?TOU_7$boBK_UR<rnWZ434qQd>)uMPir@*+6GlX~
zHA}_b3OWpxrE*cQ{QW1zVzTlN_n9(jfE)V%{u5Fybusr34b9jTQO3Yv>I=_XO&m8e
z{Q}-<;<ypdTTR#CttO7QnmBI6%O1Slp30FP(jZ6TWjDS2IlbIWFDvvS(2GnjS$bKb
zmsNT>tsSDJ5o>oXX`J`yxVWeDbpDSX9bOveZ6h8|V(@ShgJ<OG%yGqIgMyHN0|j<O
zCn7ADxBVm~Bjx5sCTDlV_H@(!7nr#4k=G6|oxOt&=?np+7%h^#%`@!S6BXtVv&Sqn
zLCa!g#a%-(n~-F(R37iF!YeLbX0lLpFP7<A{;OX`(zhoW722=vNJuGDJ}S7c?l_^I
zb<IYF;YMq<N0c$PwzP9IQyWJM-CS$6;arl?+c{d`BNN*r=En6RjI~A9b(c1d7TP#k
zaLC1?8}-Zzr{`Zr=AMR;y<`M5xwEr&>5}e1CFKsQHIewv%U?D_W`tt;YITz)-*{u?
z$tQJ3SP(9i%kAxVZ+>r>H6f&Q2nDiGK}kf_dGlUT{BbUK@Ze2|4fqgyUfc^4iza@6
z{i7y-?sM{oKdd{t;kowvdwcf}-q?)@Mj&v2&g8{K1R>~Xdk3|>BV#rrAQUNI_GWN;
z4TIk*6f`-J0HUw%h+_gMLZItz+7_pyNGXvLnmjov_4Mct)a|uWiRGEZgoyAQJlm?_
z)MUTkSX$B{>{=a2=u18^`}6`nXvp<aH5tgl)6+U)8sRM#^ZEJo9BP2!U<Oum+37S=
zDYE)l5njBo@c6|aEkl^r#BnGsGVqis436SWd3z}@HUCFm2I^JbUV2T>95)88;bj14
z1SRL^#>I?-iLsY{EY3H>wd@UuwiN)M3~UjbUS(paeV1s0sZ?MlYH3jow277?6W#s0
zL{FND#l)hRhu(9a1V_9R33dqGtpZ2CmP(3wH~aqwFT0kUNa3a6OvmYEJH6aXFZ<|a
zE4`@n;-i;3SIf~>nqJ1~B||Us8aNtBk37E?xiR{Go?qkM58+Ph5BQ(xo)6MXomtme
z`67L+KWdz|>dg9VgIU+<)E`kA+=4OY=bp^RaUZ^VL;&Xzo%%WM<L9J&e`KBe1UT;F
z<G7EH<34IeLH(9oMM&s~EC5h$>C$0!-ez^XSMtKRuGCN;DU%sHthVM60NG>_`g9Ef
zq}_hqVfDt9<;lrie(7D<wY(e-|HWZzkJsaJb+rUHz?-4T6iwKC802jw@&;NKgj*DS
zRe-GuJZ({QA65~DSS*@l!>J<_GZr(MIuEPBLPd!X#4yk;SuBW+IxH?DeAARD+YzCJ
z3wwc%|Jq>{fQYh;6SKGh#Mf7nht)+ha7|)GV;Z~6DA@HHv`gX#zdfRiq3P-ik1BQ#
z*UtBFT%K}Q2xsR*Tswb=Yv<n?S#Rgx;oA9KBkNk|JzP6?wAba!D^e8L18q_=1Bp<O
zq(<9>65xMPh_hx!J*P4zJ4Y=ZuUQZY<nzh-c9&gI7&2OtRIP*|Mbl<@SSgWbg+z&Y
zETfynbQy6|Rt8jrTE%Hb3ul>GGMasI8HvFc;$_LZ5UZL4P$&H6YFyva-c%3bC&YoJ
zOS5<_F$H@9H8)fjCrd+TiL(S=!FjRAqoc+zfI}c{R<(ZAD@K?Jm>j~ut1GLbqXnQj
zO-@tBYp<-%Ag6v7AS__{jum9Gl!31UA<^PAN82lir2;J(lu@1%ot>SXuCfi%r?nKr
zT`ud}YKmE?(A^+m5cRA}2EJJ><chCO%566QI%ju>ZFWOAKk?MpzV@|eFD3#opEyp<
z;0r*t#q;|+T+#M?k}?q|YZs8_Hzju<gRnc-jOepq>hyQN``we2Q2~vho(=%YK~GQ@
zto4NmSgeo_nZ&*TY9KjW-2($n?S2bHeQ(PqC65p^QIRwcu#k~DD=5wyG9ju7bOdmA
zn(U4SIP*54W~x`_sRys2U>C|u$pWH?3MHiXLVG|Aec7zw6oegBAv=Q$Zpl-;a@9Zv
z3`$#}yA>I&i{BBdP%yC{fn^9D#WPBx0V1gA+k`4|VzDVu{*wYAODGcpvg(0pS(71L
zL+Qym?6LrO>{LlqP&iTB5?@98<9=|eD@YhUAQId}My#J?C{QpgBIU;@5>h=fCB3tQ
zXqO1JPPL>5P?OO+5itU0N86EKh&v#-8a#Fd=~b#yN+ZWwDHK6dMu!!#(n#>GQ~-X3
z<Pv1|7)Z&f(_9G^rhv7W6$|>tN}-%7pjbAkWRwFXR#|~mkaWSQ#L}yUI`&Q>NglB+
zEx^?QxDx7a6mknx*s8z;?6Df8;X$K<CYcne-esB5Gr4u7QK6S9+lP9ZZoQ$&&@gNU
z+AqXQc-b%=Biy){G2~L!Y?o?+NkOV|t)h8AAfkzxtOkmeRSSwuK~X(uB?75GT0fw6
z@#s)fC{M>_ujQ7J5*Eu=tf{<Y4}#1C4y8zNR&L-q0vQ}}UkE5HN82R;rJBul=0F&$
zt(HZ|TSm%*dJ85O;^Ey5d4~6Q^1eJP$G><By9@k_<_X^4$@_o#s0r7|x|C|=<_Rmu
zzea_Hg(I4<xOjL}IDQ;kCr)6ivlClgUD*1yU&Gd0-+H(XsVYjn!Qjv+B0<3W&BXgh
z1(ypaIGs4PwG~_8Ft(COY$cOdzBE^01)(sDlk<5T$mMX#{5-bi=D@`%R;@RpjIp()
zmzyoSN7kbO1~@L>)!Ar;fsys>jscE~cXM2P568s^I4<5ja#gc|9J21m8&%4w_zHUK
z(+V`@fX8Xl6+m@)TxQ`jCSa*}Q9yQ7$<2(PK}_bS6@Zm*><(LWWz(h&-R(}CBYL_~
zC>!PsqDP=qk;oWq>C|M@fL|$DW|tU<jV;ZNk1DQ#Z8w02eOh_ysi#nXEUl{#Km7Q!
z$5xotdOvUnS?u_;k3Wnn5$)EmWwr#7Es9>SScc5WR656?FHvuFP;b~_C9KmwepL`g
zku7U?0go89;xa%zsbfnU1~5cMVdU^r3fQL=1VGO(C(61C!X&7bT8*L#YguBm_+jD*
zvV-`kRL!T7n&h^rs9t8bnluRkolbLk6~(%+ME$U_B?`z<Bc29(2<q9G;c+vC!$F@*
z){&Yi=n~i&?CmB`FcjA9wkr=sH!A_kB(Gt_5OV~MII`ZbqO6<MY5^y&HzQ74p4Uu4
zT+nW^co5lKWu8D&>z9$1_K$UWa(_e_V{1!<qoe)YXu64`qkTAc3r5pkP8x`CbhMw7
zy7qB&w2vE2`?%4xi=!hxLcVQkY97`Tuz3WAf~}aUK-67a0j}XZvaIK|@DtPE)aA;=
z1ZL$k&!T>J6%o<|;@GUD^|q&<e%Wkwc-$87D9jSp(z#bpo;-W;!ntElKMj{U%=9hK
zVj{>EAAcMvL*M<>Y!*{TF}Hau^0@7@IuNA8es^{e<xPwf_-5P`>WaJ>fD}VpfhgUr
zg{O#V3F`0=%Da1F<4b7ha{d@0f}TFBdq47#y+gh8ujD`+R2}M^b;nx|um{+e)Ia;v
zdp_`oANdG;N#Vx{D@gQw@B{CE|NHw-KYR=vHMjEDU--&bzVg*?>TScr9eq9FmQb*%
znULI^E$!XIL)*6x4-O3v!vp0yPsNc@q}-3miOtL>QSH43^hco7%<8CxircxmAj1#x
zNMFam+uk+2V-S@c-am>-Fe+u{Q@N;6Vm8bOdEi4LLAWAAPX&o07pI>50=5-?8>()Y
zO(HTag2A4BLCSA5L7K#TWeVwSot<4s8!l#wm4X>Fo*^~0pr)6_;RKsU5FlWrT6V(j
zX_Yo^L`y~f(+1RD!i*jxXfJi6-gffj`PdThDgkCWOPF4l&R=-?kyp=NnmlvzB%;Z}
zlZ3frcNgo$4(2K}&?I}<hd6JgqPL+uCt{gr&!4$)b{y<y;p~OeKlu8oQ|B+e_Tr1|
zziTcNp?kQT*(}1>E6nMMs+Q0|7bGk{U|%2x6pFG%^8;a`PGIHS;sOkd$TdyD#^?eH
zF($!E9f8LHEL2pLfU=Fn;nLdx)VLhCA&sS0v(dhCa_-ruUVZgEDkPqThtD;nkPMK!
zNT~e9j-FstRcxq^fu&yu_-(nA6YZ)D!Lh#7D$^4{%_DgdzkEolqJYOCK~$p1PgG4&
zjCH*Y4W3yvwRkKL1Zl}tierzSIJrn5Ol1C&ip%NZAqZhn$>#Ukqk^O~=F6QU$`}T1
zeR&%<!r#G-@ON+{{B4~LdH)^UOz{qGgh#lU;^vX{`SKmy2!97R!U?#$E+Ubbgh^2n
zT#DOWS}ik|tCXz2j7qC3mzFh^UOPQ@W*hA$Omzp#Kyb(!He`d@jWi6k8Gc*W)Y#OS
zv9Yn!Q}L+t>L!ashPy&hDcH3+qW2g{60QXgq;~hUw)Gx>+6s+$`W(2-`Zh2Qm>o$d
zHkMh?d#d9=9-b2WkjT<|t!=&M<(HSGcBJgJN{c9xxxW44iwi7_w2@{u_o9v>bp+Fk
zzqL2aeDqNa2F$^>zP`4rZ;g*b!K`AlDafy0djsf^%~Z~kqzx-^L()b9_Z5MzA((=I
z>l;!C$k)V0QMUm?JIUOQ4KZYPx|=<ybVcv=jrl|pC2i+>gbK{>(5|2cNg_$VWlU=h
z;NEcCdXLQ(XlX}=8vt}6KCf?|Jc-iiP`ehUFP_x>K8XIf5rmf0?cgctZPaVEqFM)F
z9`IC^wYO1kF}0k^vc_uwwMorZfEp1qBgN$PZ@^Wu0^^qOoMSUHg{XuNGXV&y`6ReR
z;|>0-Dm(&gw40=SIDr}|8^3s4?;-FnREsI0Y%tl=uWrMPU$40fyhugw5vV?lm8CI@
zXRfua_W<0>pxnWn0nqH%ZCe=a&ohfpZ&-D9N0c$Pw(RD{=x%O|?&iiQ)tczQEWDeW
zg?DmebdVdPySZ6-H#bIiabt9ln}xSUu6njvvup#~x5+ioLXF>MCM^Ux-bDpQP>-k+
z7CsE#OP5ww^P=9Y_<*k9Q;P8W6!~oe_K8F`wL@d9c-l8bWI2AB2Jo57aanI}wxZ#!
z%>%&S8Q`~JQVKo){A*J&u*cZcYtO^O*4&SQ)Zc73^yceBl*M-a-5>w>$M5F15pEfZ
zMjv|O3_ASG6AwkJ)$nz<0|@8#>%vvNxu+GWwyixIG2L(Ex8Y&1&CS8hgy#Z?|C|P}
zS}%lJuU$E0QGq=Hoe3xdYQB<3(dK++MO9=5Qw35}nzI1?SxIH{kPJ{yaD5wA+0g1L
zl{bdZvy@*&X<^kus->#bbaP?}3~DKniK>~an=tTR(n6OnCo(0B)lw#LxmvZkeBfa|
zm#wNJ{}UsK^mL2~LB!w%Ko=^W(5q~>Nd|yVs@XV{Y1W)1!6sV=s#@Z=5hxjQIxTg5
z7paJF3zl;U@V;cOEa=UJD#jF2aFBqT<+l-|5JEj;3xPP8EH*d1SOr3Gg{F$GSkB`K
z^UIeY1zqB|5rbwM8tQ67Nny#^)HS53*<~O{pP5?D9+GQ>NUKpu$d#@8a21#!qQuMO
zsF~_|14_?06au<Psf5@GEC#==V`!_$ih>er0+LXLKq3Jw4T~vhO4rH({V+GSKFp1+
zKj>`WE%5lJ_i|(FUQWWjmm6Cj99g$_eV7|ter{~-`uWe#T%O4iUnv%HU<&0zY<}_l
zrRkXkIx?GsVf)IFYNi^Spd-kx+cB2|I}%_#LSYuWy$V4umY~wUsC7UvMs@{IH!fdO
z6JYvt>4jCaQ*u?`_4&{L%QOGJBr_CoNUZerJF>|OFQ0g1?70_?(UG4o%SNto#F;HE
zl+OQzj<6qUJAS?bkw(nbKzvB0CPe@96Q>|)z4Y@b5h6^JJ%AZ`!<H=`+{fJU%a|N4
zP3gN@TYZqW+zuzeKbv8Q0rHT|Y67Hmg^oDgZo8d3Vl&eb1i5VYm|=xU$5F+2B?&_v
zCK<Oc2sz&GVR<BzPfy~P(Gb)1qF#`Qz{U^l+P8mGYkPN3TSq@2mQ!iT-_+6^bg0OU
zq$6-ahg-QLO+bK!QDlp@z0U>CJALj9V8~F6n!&69CIIx!;XbyE%>E~T@aQ9tJo4kQ
zu?uKI*Z_%fAL{NRnp>NEK$A38*Z*lQYfNTRS2qw&+rq8wUA`a`IKWinV;jXj_-IFS
z$iJ&g1wuS3f#qR^QB*rjf|(3po1tsMrUOVUScQ;)-4d>+RPWk6+}qNmlwc>rPbU&Z
z(c}vHdr_panT~`M%;Q&%FqOGG=?H7rb_7%~SIG)A6RDEVOW-puyBlrh54d1Q$W;J=
z2_JbfSwZhOLNp}ZE`8U#-*sTiCVRF-h9L9hsf=O?5A+?le#eesIx=9x1l>52R+yW$
zUQb8hm))^}kX&Ss4MVn+OezrC!ofBWWZ#A`fVWl(GG_SfGNu7SHrUhzB1X-PT^BFT
zti+2jf?*V+*123MXA;Tz<ybsHM-uBtPztV4%Pi3m_)vDlizLIq{D)2e)D9SbCQGHP
z6Y;vUT$L55dhnQ=pjzdVIWz>Sf$f@I%owFgaw)d3IJXF7#rdV#M6y&v*?KxsEMGmc
zIzKykZY4`c*sQigQb<=JQf~*c0qpCtkRwRL3Wgwl#~JRy;)O>at!r}-n3<@;Lf9Y;
zh+0H4wAM{*L_I`8lGK6nfiM&o5g7)~$3%RD@(M?N{WD5ewZVP})fWb4oL4GRZa0B|
zk;M~6xvI8nc`1d+j!X`4$K)q4$czjH4zpAJ2=K9Cc({55H4JeCX2R`hs)}WG667AB
z6M^B2>fsd2kxVm!Q46(D@@i8sh;jfh-;sV=JA`WA02c&*KFWkoFyT|5V#2o@e04aY
zjIp(4n3GwCIlel~@zr6ROLjO!zKtQGuD%R&e07-PtAiY09geK?)nSgW^3iyK%VjW;
z5(+l1R%g!6&COh%n~Q^QYUUu4lF=^9nt6E{8W|Fl^}sV(C$dgUvDj4U`R~2-(hEO(
z>7|QcdzyJ@i2O9CPiyAWr%}?eGBl(IdUGh*P>IX3Q5@Lp^R*57e9dsyX=Z@KTaeM~
z(990U3Q96BF6x0>=3fD<*%^E{ap&(04D5T~z`$;B9nJjGOFrMJQ*CXUxvlNgDWC79
zm-Ilt#|G=VBNPgF2R600cW(qBH2I~?*(|2fyrO6@?c_11f{0<S3Xr`j;8#(_RfWCR
zt+-ne1mq0_;DE=MP+S1B11ig+{4k0p8mp^%pwCrvgCD!yt(MN6{r!DC{rv%qT1^0^
z3h23`Lz6lHrb3_fz)A(frcwjMaxFFsa61^cGUSQ|C>15zrcxRl@NjY%PWWF_t`HC=
zP^VdTq!wYIj018)*8tO1D5z>Yu9@R;Ri#opdLS#pb;eBi2V4tEGQw#?SQ_+j)he~J
z24JhkwjP+VcxyG23#MabY8?3Xlc`h;q)S&uY=AqL(_njWyNg9!x!xv*sEv|W%N<e1
z>Li61H%E<bjvCz@HNt0H_iDL0YIJkd=;o-=J+iLlx;bieuT$fC?fLv1t>em&-=0}H
z#gy1fwEkFm&xWRjv)^Qj<fS#B%$t{NDIaEn0a~{xFSw33Pi<mKsGZhbN=C|=N*2=Z
z5Jl9`?-VsaYnyU$sbp#DXNtR@)?Lbz=d<pOZ)Qp{LF=N@YF7*CX~rJ3QIk30GN*U=
z5X-cd6?4s8l`*~5QnV%&f7z3_t+M|(3Z$KD$#$+Kui#VtGEpF{+_>iPsoK|Dk~tQj
zHZGh#y)c*0&tVMPYK58cVk~yKv(s$W9mkfIjvf2XcaFUji@k(FYpWz*_;CugG;X{R
zbm>5`%hp!VJBEM<vW2-C>o!d&O0On#cIuA(snq`ci1FxGlzt3LbLq^l+aGZ{Z`EM5
z*BwyUdU_xaw1-0N7>8y9u%IX;<tAgjj+t3C)n{gh8v=^Ezuz5D)c}T`O>+3UG0plf
zT|!k|M|&{X-hS|4dq2*>ShJaeJ$qX_JNtkdG^aZf#bP2cGlTiONHdzv0Ay)7onApb
z8<VakE0xvNS6)djY2p%WIx-5%#_fpcfQ!IUhoFG`fWoPOx6;glDQ}=eVh;JYdEK#O
zGNEpLdWql(FkZ}}bFLCDmuECME1+Z22)R~t&;QPTRTT8?m43}vr{b}~#p$d4YPX|r
zuk>rY^z?;ui61_9wO<jmS-RS<u}Y6(x@hXU+OJkC`u0k{zE=3Zoc4dSzU^wiB7V<z
zwO{i!w<IP-*DvVTViA3NrC(ig00FT*>;0Neqi?VDYqNPndsoN)-mCoz|2z72tzS#E
z6)?L6ltHF`O%PS04(VFI0+wJLN^HEk)~^KUezjjgWHoeb{%XG>z|VBGUtQ8{xzbvl
zTkBWSZ?;5~F)*|GvW4S(Te$JMg&VIsa3;;en>o(6nd5w0IL^138?Re9&bNgduRPkX
zBmz-XL(GCiWd_B?MNL{ny@tb@39ipfrWmzBmj>=9z!_n#1@dtiU_~(fm}Cv8gC|dD
z(utGB1)L6}8(^fOHu#Ec^Yful2A(6>MU#~RN=B9!tD2Ozw+1!I*CZ|CbacMcnUC6L
zW@c8MPJDoq@sL!SD8w}>o_V>1YKJZRw`tPgPV>t+J$UI-N5@Lk1|QO7M+ZK@qjab_
z;PL||+v~Hz*6j)RbOwVRT_M;%D1ZY|7)8ugQ5y^)*uV#9NQW>3)r(KU)P!;>z=4!&
zQL*fz0-SEqhabupVZXLUZSdjNR2170p{3z55=8*cmrLeqR4lY&67FnAum^zfh);W>
zHh7q-Zg)Cuf_8F9Lg_iG(Fxg60~1<>M=7~lE#P!SbwHPhg2%h1eBNxX;8zZfiU_~f
zU=v73r9Avpnv__c&*N+$=A_eTB8YgHhn-H;cbUb-p~>U2f*BVF<^~!HplN2D4r2w>
zh$#F@s;N@J2gsN}2)9cLddlR*m(=_cuAYq5yg0pJNAX^Bl&nSAzz6EyQJ_)-{Q4^m
z{<AHjjIp(48%L)*I6B?I(dpjK#tglkqtopioo?gk^d^o@w{dj3jib|}A-MvLp)5O~
z)H&oDwC9Rwh6v>VxNGf@3zddZR>LV2Ktx5s)v6y2ne(t<W!2{X{(c~cLJKWO4!AK|
z@P*1Dmr^UT>#l1Rlh7Mi#kTA41=WX%z+Fbo&UB_0f?63CVnF^{(jOqFX4EAD`2FO`
zC8-G}(`M81Nqoh-2~jA$8I(|)o-6PC*vCG$M||z*(WA%l6*%alE?LR4FMs*Cvin0H
z`q1^(lV2ulDj<nS|0D&FbP8w~C<58i4s!94Yb4OMr90@T*@qy!M{US6Szfl`ImPAI
zS&NT`isTv-YFTJ5`3hm`qhJBl-lF~hP?~iYkZl;8J2g10T}Capikr<bw4GFewRI+0
zDnLDg=7MKU;~O%*0WfEV5m=RQCqgALgKvn{y3z@wg<X{l=xSAl$VI0GO=ui)0l$hN
z<v=J?Y=U6%>PPK>JVmYP9AP{QrMI*12=~&;{uR!p+iHJBtMN9vE&#0aco7{o5h%sx
zA_y)gs?=+BuS$hfElFlY42l9X;Sm)5)5z9v0W1wB2D3qBhl@4EfiD!{^TBAVgR6=$
zSO%6E!NYp+g_;goRA#-so>~k+)hktZFI?H|9ZZTSV{C1aIBJ$S3YIv^l{m_k)+toL
zB?OF<`k#R;lKRG|m3@@)*-i@g3w*Yd!u^_pOZ_sLPRjbP<NS4x{sTwgBshdu6oGrg
zcC|`-EEaloyXm!DrdLs<SCa{rHfj?-Hu3eb<Z>r&E`ooYv#$NUK5l$n%R?I+eSm*4
z=wtl_2aqGh>})Lu3LMxZ1c&OmOQUA?R%RYq&!01oaKB5x&1^U>lJ<Ft?!`P}9;0`<
zGxNyR-v^hKO-zHXec#cwHxWS`(FW9=hH-Lr|JvckFLQll=K4kLY|OXj2=~hz?=o}!
zK}D%Rq-$?i9<Kfl<?p__B7WuQ+DY}_wsKEx{RK~L<(}HgJ+<|XPkj_OK*<S*+0`xX
z*<l0Fi0N=g*U!6lzr4P`<g5Ml|J8nyZm$(R>gQ$`Ki4aMbUUHy{xZ>{zR0@%=jVFM
z&y612LOfT_#mlM16k%B)DRN1-9lx-WTe*;%J~2%xkm4XarQ5ug0>T03g)nM8W8Vq3
zRkscJ;}_%pe;4;a$-urZvOmym?JZuXx5XOl4iY8;cz2L=5T&7m*bvWQwYwZn0K)=m
zN6a%-w{^D#QMM@1($+$VEMkIrbXziAtQOPNTr!79+#{lsrF0>aj4DZQ;c@|?#Ye<W
z1c<7rS7;Keu#tlLu+M?h)KpPHn3f*_=FrxUh`sDQGOIE2OlUcbB;1VM!O=$jm=DK%
zh$wKwDfzm^;imWjei`}<RMOWkE1!8I4LM#%E9<|E0Gn_aBNCWuYgm(Y?#FDTE_XFc
z5ORie$d%R=ebmPO{B_oWFgH#;9Ch%~Qq35%L>;Y>b#4{r#xIZT)xlAOlcNYQFc{1p
z#DJ-9+>g(PfO3sj1oz|J(61gk!i-PRE|F%%BS;QL2p%Fjj0R@4p_>4U5BF)~3-~4q
zyOHc!f=fz4!6Fg_M0E`VGc<G<ec0$7<bp-PI1fP#pzG2ru7O|wME&ET`Z19%h^vYB
z@rQ6rpSW_LU%}VF6zKLFm%4f*pQ495ge$`=7{z4yd0^hXu@8H$_95ocE7Zf9N7h@m
zd7V4qzBdkVR0S@CU&RyQ729YfZ2a|;pCh*Oix0eEb{M$&>#yfF;cM()pG{s*>#Zj4
zu0|;mzbT@Ov9+a%qp2p2rotS@>F#8#2Q<~h(Nq&hQ?1;bz}rchIQnYh=&LER9)Z^y
zS@+o<wRRxY#0Uj#E$$BeK_yp8dt2K#=|`>mb2)!?crdu5b3gX4r006C-}`RtPww1V
zO6FsRu#m+5nn^hR>eD~N{_&4~G(Em@x+?vATz^om*u}s3+XKdbHvX$_vofkNRbM1)
z(6!m;@;U-R+Yn4lfN)=)VK}26QAekU)?DtHr>9q@=U)Ronp4GcO)RSHsC71%E0~s(
zxw-r-e%EGlR94dq_}$|WNG%tqW3R@KW53TD%1zHhRJQu7)vcS_gQ2#5KR&@jTZ8-3
z<_tk>w7OHNEgL&pTEko1_(Y*dhENRzHudR86&aR!SyVK^EaQ5}zIHl1^d0+|GbX#)
zB^W+C_KOwP-@A1y_Cu<KGg`4)JR<g+5wl`QRqTfcVE6SQXUNwl;}boa3$<(wwYcWR
zzayfIv9;w6jw0^hDB^t_MSK9~-pOq24vr%3;3(pDjw0^h=Ab(`inxQLh_`bT@phgf
z2H?}4n_Gk%Wn~dgV7hZ}b9Wy~82du-=Y{<)n-}%15W=B9;6(KX3d1JvoFUr1QNLnu
zZ$so`$Y$h$R9h0Pl3lLpM+X8gVLAEQxr=8{Tv|j`4?*bNcJOT--M#&r0cE;-pgq`g
z{l319fdDT0)Ke3wqM(`?@EfI2Pt<R3+Is`?b2kTTvCEg1(xOiZnJc*Hip{oX&yD-`
z47dSsjX;>bP{2`LwK#oZ7HaX-_=Twj<o%RUVD$m#&Yc^=K@UJ!7nfGzvJ&;n%9)dh
zxtT@{MZxS2_HP;5*zD1dil>^JZ)Q5yqwENacHY&~vT0`oK(yO8x0NP+or9(YpoBjD
z@OK}7v1DbrQ>Sq4KmF4?_ipPqO`Un=*r{`>BkEV3|MZmyAAE2uw#-CV@7CLY_qX4B
zU7x<2pVA!R@HW)D**4Gyw_gu}?m9b=;@i^N5%NHdR*_y}3p54&4hJj>4<OvgYe!*%
z63Y4Jk-ibNh*AvIwHMQ{h^vy>>OpXyP1Se5evZt+5rI+*6$*97kqK$}a;{ZbHPKnL
zV{O4~|Dau{qTDZnuw~Uqv_-8?ed?c&!6jy|%9aO?4wOP6WZR+)gxin!4!CfO3)2&m
zvE>D-@ro?(ay2`1DYjB7p)n9`hkOgbbXwt8Os_=!#Z;V%&aM_DiwiM2*~Qg`EJnyc
z4q+cYyUpxu?e$xbvk}jpdF9#XE?qn`ei7BzCsuN$m18eVPQVuZ08BJ?R>>Eb>h;)7
zOA}FldSL=?o4J`)#S?C}i?Q?b=Mo?Zhnh&t&MvMX8GSLGEk;94;4aQw!ER7s1`^XP
z4pg{=p#s+ggepP>BoU=f@<JdT^;e2DN@_P*E2z#3)e}w!sJ2H3lv3%;nM-qtnf!br
zPBs2oQ?;^rYFtSBpu2jJBW^DWR#@k8(Yd)Kdc*3LST1F_5w}~+mHar%WT~vAQu$h{
zEFjsKE?PzMLkw<{GTeC-u~;l22N=FRgDQg{E*G;kydd?9B4(n97L`r7Blt$52&AF>
zYNraz88Y9C*;G1HEaRfCeE!6VS5BOq%H%=luoA?Rh#f3uVNk;3qk3kO51dPKxp1cx
zQjtg@A`wOiXSE!)RLfnxs7VJ<UQLCMb^7AOrC3@&Y6gdcc@Cx@RDMH=B+-hIU2Sn!
z$_V|3tO0`%RxJ91cG`pTyGE@lRx(j3xnhx`N)5>`m;gRi=ZOdpMWU-vjkbV623ID=
zOE>i7vsI|yWyy?P^@Xm4UqsGKwNjLevr%c{RY2=2WrbBtBIJkqoO&$|dOOEK@8CG-
z2sr5Py@7+?$#KxTISzU!$3frCanN^j9Q1CEgWk<^(2X=qbBI47Un{eEJ2!;<P74*7
za>74mrK)cL=JkgMJ3)qsmqSGc5sWh0EUWE^0tmY-K=jSP3L#es`F`@;YVpv~ji}%V
zA9*@WW#<fkZ{(KY4PoyVplY`|5Hb<QhFelM?7rhhH!dod^0=tzSE9|Td(WE?Vc6!8
z5g!5fw7E0|8`Mu8o?1P0|9}%LX~QsL1X@}gCIp}rsTvv5$7fNur7(%wV6%DHI+EFn
z{s0&N5|U8q4>bszWb^sch}@aYO7I0^9Of-;uu=_fG!EZC(2h8%J3sirTW`4GhBjMu
z@wHVdH1^O#4?VjCynr8m;R|1QW_j9b9bd@fnm$`5Q-vEFHKUp>u5W)8C<xEYE5pOX
z&pr3tav%aT*2sGi&9jN;oI!X<ItMmw>hJFEZbb%x!$&p5h%ix$*=vqkEFO1Llgr~L
z&IufF#6FX-T8oB6DIP-<3ZfI?g+~)t2#gt=^T>5qSRuVv1#11?ULW3)<*Ac1O(?vW
z#Rq(W608tT>s~GOOg}LP#`%C`%OkB<bXzMr`zdgd0{?Iv9HNw>ApxNSmEA$oJAOOD
z{))X7y{Hg@7btfL7PM>vp}etlIR^Gv#HEqNgZNy5Ezg{rhG7j=y-g66g<LJ#T+YR)
z_!ZKi5NAWqc7ZAh_`@zUE=thZDiRQ?WMo^Jdg+-96HEC?bW6GjM-Nrs0*JtcSDtt|
zgNqg<NF!(v)c$JDCnl!Az*D(00%;&f)dVMa)rRe12d>&eA$C9qn8BMOT1vvyR7LTD
zL0V0cWVT=fcaWQ?d0hHYaHU$c2vwqpfg5e94R%m8jLQXEa~_(NSTrbxQ9$Jr{piNc
zR3rW5(@(!d7QRv~E1o#EDwxm{R#YcYs8oZu#W(qM&gKJ!B-22UHRAaS8o}7wLlG7s
zzYG%`e!P+(`)kReI6=x3?*$wPDmYXDDhc=mN{7`gi6m9x`BZZ0Lq5assDe@HR7kPe
zsMYJ3A(so0E)>OC!w^FlH#CO(2PmX%YJ7YKG=o%6)nyVSy9-no04j*m0(m2-S}{ke
z5}Fmz+A^9|M5#p>6+5~hDg`VxJSd*aTwH=ZaN^RD`#q>>CS@^i<4r9lE+^fJ<|p$d
zdEx6^wpw$jR^XDLoeU$3@H|waD^hI|BU$l4&BJN+(hcCUsLF{Tk91Wq^!q&-(8c^K
zuT103yL$1b6Fm;iPXU1n9P0JAVx`sF1ZWamxK>+$R~K~wz{t^Y7YiFaxNc3QG%WNZ
zkh5{&>TFS}twn`Llrb>R`m%Fm-Db9JWIccAI*!wB?`&A(cXF~SA91>q<Fq?DPP=X7
zs$Grk<Tx#C<ufzs^vsM6b+Rm&1l0+IHPrHnDgA+f+YONabODiYDC~&s_U?cUr2yS^
zmVmCOzxs>og}E1kA@B>k>v5O2GV#=?v-A91GLu|d>^#5s;6`a2$q>{Pc=)xiI9q+K
z2&^>B6I&)yw)Rb<jwM${R6I>fuJ61U6Rbx=kM7?;IJkfRPo6$;ezxXvJ^H(kK6<HX
z_@>{~A8;Kz*4>Tp(2B{~zl*kk3?_f_^s*Sjy+Pr@57lQ*{F)%Sf;}BQsx#263@Wa0
zN6(OE%bCl9iq~`Vc_08Fa@%cbc=ln>_WM!7!B2Iz$|wdX24LStTqcG~0L97>vSULV
zDS(N0xyndetT|z~mU?@g&feY<#gt`JDQQ5G@-@}dhwsGW;c#oK7iGX~7TQit%&t~j
z@EtiG&*$TD${I2e-&&;n!(w(B-?4#l!=Z#bC>ChjA9Mg`0phc3byY*<LikS%0YZvv
z5tt;H{jwN!lzyza7B0;#<npvV{HE;#oie4MpfSKN8?6pdl|mVTA+TduQ&yxsWJVnd
zBFb2~s8pKVida1w3NK+USz2ledK^}mm%|ssVS7HgIEfqccrqDO=|aJ-RE)L{4pO2N
ziu^zeKM+yI*xGV{)42|C5(8hO_}4laI|zy407u6MIEmo^N5>J4j`{qh0~{S+$4Ly=
z^AbbbhIV-OlZgb%98}Wi9(ZW12o>-lf=BTL^`k<n2m!58pC{AViPAc>*otv*@2QLW
z(Y9Om2CBKqiSb;vT$qLA*EhJs2Nu=8!EM;OhH!zIRMb*RpwX5V=OYo#4(`?07f4+I
zKGIV^#04@1L-HegA>7u6YU82M%2H-EIgMKPiK-b%EJxux!purxnpj?WMYCU^bebFs
z(7Zo@3(O^I$`GWGy$24wC34-)ou`h?PF@`Q+rRzW^CeenH!fg?+7j?n(p7WQXFsdi
zzxQv5o?H|*(<Fbl9t^-!g>j0wHF8s7izq@sE|J?C>gej}?dfvZ-BfVh+1%PTG>YSz
zn{sg$Spr<P%rKFA*&siWCtg?xI<X^vd1hu|A(_NHm`sjiN3c^d4`A{>D*WGXi%P{(
z%(&ldsiZ;SyYIr2jL+tnfgrjn)EIJ{rjkn~5rx2!GGADp#gjOds6`+E0B|A1FWG5K
z<qKv9L~?I4F7VVb;HINM6JooIHjB%(Fmo;^<uYmH5~s&uoDiC9xPZ-q^IaYkF0-TO
zkxXQ#oWb7BxB%k0gbWHsOrg$VB3`T@khNg4piU|zhs&pNfpjKnF#$xWf&qxAGP_DJ
zMu>^VEW4P(1t!y`(h>q8|2;P|F*UWYh=9MWjNnaYZgu%5-^K;XC8VX>b6LnW!Jr2F
zFeb<>Qj4aiSD;9=kr{((b|61EkKcqBTb4~K&cUdxRP@h41A*ra3lbo~ld+&e7fqa5
zeAx=k1tEo`pw2Ji-Q~gMgP0J3Ymx(xKq>X81wohfWy1!|-qs4KS7oRyb8%uyKWfWY
z%lS0%1XP&TP;)8@Yl?#=&Z1$r>i0tcHOnXhfiuKUh-FEM3dJ10wgNDyX`Cj8B!sCI
zknmx#w4#p|lC?06AtN6(n_YoAEBl0)HKAZeVzI#)ej}ocv9;y>9A|hR#~I$w&2Ych
z$=H7dXLujS8Q#xv240u=J&rTHpPS+M8lCUuIK%JpoMA8p;cRK1Vz}cgbrms{&O<JA
zG(k)<RZFQrz)~(kGsxCV0X$>15_PPcKR;hp?P$|*tAcV|rJB`^I!ks_g>2n2D??~P
zCl5|fFK17^LIK+s&#tBmf_Zv2mX$2cTOs0DOPT3So4mPIz@RObt*{6V7V{7i&VK*<
zuasO(P$+g^X9v!Nk*@eUPy-N%69p4?szwfFJ<uD22!HAA-LhkQz0R-2T*<e3EkIeQ
zqH<V)S=_<#@vIzzs?co8jO#}Mum-;3gLgJQcMf{T$x~TW&Z;oG7k+KKMWKYQRM`(^
z6UMc-ZM*5#+kXF#@BQO@-usq*zdIk>x4{>JoP-H0Zuok(J^b*zy5qwi{_u77xrcGO
zoyu`;+P}Z)+;iXh(wDyUm48^EjQhOMGGHMPexGCJM?d<}<=oIc_uR8bM*uf5B23P8
zCImjSwlqSy@j;Thkg?d`KRh_l+tTd!cDJ`6h}$3XdfPe`PpA{+x!gmecETfY6f#tu
z24e~ZD@`h#h4nhdHA{fKiDy;mbT%1-xVc(Ujftl(u8aq|=YG0q4q_%<O;yR|yfRJY
z;}Y3&ni!YcMQvXx6fDC-m`MxIehmd1oR4E)(}BBh3{!fgRe5{ucy*N48tP;VUKH8H
zDh#7RR8=h3krEWM4PpqZnN=VwR5J7Ui82#a6y}r(Z2=kl7|>o3W3cLMZx5=-aK)0u
zkTjXa^fI&)dqEVyyig|{0y(7nLAToka}ijZ-5D?elcVNzJ3y!_r$|i{BsX#wRn&xX
zSj6fwPL~nqUTL}Rx(yDaipgwtx<taKQ(hXcM=NAx5h*W_d7+oUXw-z{e<62aVPXEn
z^Dk$@ft~@o#p|Dc;n`DBS1D(z`u%EU1$wSwx54a-FjGe&ou2r~i;IxL!@+h()O74y
z5BxNi#%;@sk3RZnjM?AvmbbJ+ZYdNpTL0|w%F@L7@pOA|<EF9@2rN#Xp8#)jmxMx7
zlPptRVvEPsq#x}n&^#3fc*auB(uKv}LFjt3&ph<Z`~|S3xcT%=C=-EIJRfYjiG8xZ
z?$F!Y>XRJJY_Ni0p?Qubyt=?CNNr@OOQX6MS_-;e6(x0WwQ|WS5z2(zM)@y@r67z&
zQUf5Rm!TcONQW%$QtIenBC$9#a{*)a;-&diu_T$7Q^h<Yx=96K#Y_SP>}qjTRf<)t
z7)Kro)XA?dE#;ko4)EvRZi{Y`SUyz+w<wnDwT>m?%IGLOKJEn7@lbvm+9zI$vK5x{
zS`oEai-c2x2nw75_G=;*UyasFg~DWjovO`TKxM>QI+@9$TywSm)?0548|P4N_Z&z7
zmIcLB!o-5W{<28cLQ4~h)|XL2NvN(WkU0?44!#b0w4v#dErNEFWhtAjVaj%g+;Qx%
zm!~hzF3>khx8H=i<XFWUs^7lJcqgsw+YL>oZA2MkYfBra$#^+F@8$SB`C-Vn*EX{5
zfodCB_szGBtVad3jhN`#mncHO8(G(6yz3I6YDP9zz0={*pvdhe*=C-enFpy-WLGEZ
zsUS%hre`ZMp4BaC!1?U+ui)T5O^QU)Hci0XYj({ae}1C3OEI5gul#$KrJpx<z3}<y
zBe%ZIY5o@b?0xgd)&iu#l^+r<!8TMyRr>pyhep*nTbwVm(i|m^*zJuVg`+4UEJ-<-
z+<e{;ehiS1@p!PR35u8Q1TZb86<<~A?b(Qf7d2^OqOXj2?shs@ECRFxF<vXNBo6vD
zDG(@26b(TKD;2ACgD>D%O0D3aNt0Sy3MM>YOgER!!1KuEYGxaA!B#4}%^83HaCl~}
zZ0=wi1})4wJX*&eiYQ}jZTT&3Uj880UmxW9YoxPLJNq7PUj86AFaI_tv44!4mv80f
z<qxj+7dyJmT*JW2rE;(?h$@-OT05xbrdO$_04oM8Hip@adDUe$z^0LLrahpPkaJcp
zR*!U4izp4u3Jj1YnF>UaN`7Su;e93-eZf>gqiu1L(6v0Xj4w;BFpBYAw|@srXFax7
z#51<os^DfdM<-BD+Z<J}(3<{$k`Yj^Emb_yQA*`<0!y-|o;tUX2mdX^&O9|aS+-J2
zaXTvA<MN7=gnAVE1CLUvNM<~lz&+QLJfwiE5`e`QSwNVh$|{Lye*FOzmfc()2IpF|
z3#dcL`#{BN*4O7|t6&8Q=I#SxW_k%sW;tE4(-U+c!E*1L4#JT$<jDe!2-pd@(~5Hi
zF_R0<&3D~(*A`D6=EAIJ>utB)HjJOhXKRZqsE=8RcI8)NOS6|tsRDcFJ9~|ZfBn~g
zJ#X~BGaSy$9RJ2QzHxFUAJ%~ab;X5<#G*RyY>c8tzKkff2b*CN?C$RE>+n0_f$+ix
z*o-Ih+wIMmsE0JlDgeM!Rr8fma@u1?@NI#am0AuOE+%G~*#SXRufV->=;$^m#+V@$
zjJ8T4mqwc{&Ml)G5_Le(T!AJiq-LVcQu#9YQW-w<2jH%P%L<UBLbMCn_z*prXkl<R
zz&s>L7K<DAA{lw8DmlYMt(HXCrdx3!a<T#w1pHNJPFz46T~04!JDw)9VPSO^t+}vT
zfME*uKouMnfC3f-2X=`PCL$M;+-$=J_>FL~%hR?Y6jG`Q`g+xhk-QBST@>KXg9hO|
zP)R%SyGd=7Ecj`pbAtIBGC?{3$CtM0ITWB+zzb15g4{2(S2Gn}N10dr0E(3_gXIFx
z2_`_P3c;Ys$b)L9=8&mTf=LbXj@=Q07-wQ{H~y&h4O)#qU;_KBa5t^&^P_C^t+ivc
z8h;7Mpd-RoTG_|-qZS~iq)n_uxuIPWD*#kWPFIb&xs`$fwNuC~&&A^ffxvzotQgmu
zo9ZrO<bKjT3Z_bC8|1iRyNN9Cz_&G#pkFhaC6K#-_{&^wG(=f*h+cpwCuS>#4Hfk&
zGE(J*qg%>Z$d1d)3n1KNiR2SN?PBT|%E$@|s^uiW1rjC7kdsP?$)8E0I}kC5QtWVx
zMY{lV0hf)4$#Z%-!|Y%XPL`R@<z%Y|X>M*SYJrcE1>&}dGRD@H+c<u98^_OX<M`Qo
zI~n^!=oz<i{OmT4pWVjsGu~%$6UWbP<@nhxoStzPuV?fvEUXk6=*%dKR74U9jiT7(
zH`ittY&N0($gy-4)2|?@Q8(sdoa$?Dm%+OxFC_9&ds(tWdv%C8$VesqXy5VUXH&@j
zaaMDZ4=tEU!@Rk5gQNWK#}Qnb9*2@}Zmvigi{gs9O$vc;^zGSWMp@;b{9rsDwP%$O
zT)xfH%CTd|pfmPaEH%`1jK>!*lX`Gsu27N9vDGZ{;!m7dsyN_4b(Ui%aJ@n)>MmtS
zxL&+)-T_&BpvN$xz$I8Dheb|>0U7qNK1@_;!drRir~mwgFMR2X&nNO0*O`fh6(R7&
zFCH(n0WhsId*+L{ULqZJr)L*oIC=TI-)a582R?AuEhHY9<(J{Ccy`Hq@ZiA?y{)w#
zXS*iGfg(wG#UGI-WFkwjr6u44Ac!h!DscV0%??+v1(EBm1Fa6&GAh-mjjBpQ15o^a
zw}F#{ELgJB$#(E+0wB8zb;zz-0acm{_GW8fOJPdz%J`5k=kQvH7Yn2ywA5jPr8E=)
z0}k+E+{xB={`n2~)M~uFwov^zt+k6rTIdu%MymjM8I9t%Pz?{&X~D>n92V%4@nl5~
z2MEXonJlm%pla*=3~h{%31VHbl>!DuFzmIEf?0+FQL4KpL|m@Fzt^SWu^b^6%<*E-
zg*f(!nWDO_AJ%UNvFz4nmxMMpa&$dl6ctg{8}_ZvjoUljQ2R<WN##UxN<gUWD?xe6
z;Ce^}#cz7jx!LEQxO91;xL9(#%ZYi=Vn(zeqyyam8g&wO9Gq=0gXflV2{mdzFRncK
z<dajTjR56<_}d3+ily<mFabGG*BkcEAN|YZR9v;jfpW7j3;R}HaUv!FX8&lb;e>@>
zZr-%%6-)(XD^)HPrZY3Zv3yS0e-pc}zHZS2eml)jU^Apa)`ff$`TR9V$O^cMP*dcZ
z)2YD4S4FfwqO2vet&+(_%?5G<RaA04+K1SG6CuU;nmYRWdi(r}R4HQ~F|%S{pGV3O
z&WYse!+n`eQJ1Oi{edSs2XLdQ89}$#YCg>50hPj>!KM2^goL_YD^)RhisC8|f$^bW
zDu6g8n&c{gdJ@sACX|gfRiak7?q@+MMHF_8+Ec9mmRoM=HjTqtccFeYQ$1)p1Ao3r
zHcdh|DVH)admLdPijc!R0yHuiSF=UMiaj5-B60B<{QBxrQjLn27^L%mp;i2K`}c1$
z-a{+<ZbLeMXG9reYYUHd{}zrr^3vYBaIO>5`MWsocsIu#Z{@h-yEti&_vpTv<Bo{B
zL&)9XZZ0N@p}2B9FVrW@8Z6je%m}cy6m^8lBfjm>m53=g#~WDzjeLMcZh%e~#C&5!
zdkij~s&43t3tr3&-ip%G)8iAeKsZ>fhuh%`kRcCUiMT?lWFvW?kv7msA<&O@zu<73
zeBs!$XU>nkV4*w$Pd$$yE5s0Hvs`PUYyyNMt%YZ4q+K==3L2>djkJRG+f$6gt*u`<
z{MQlV<HA3oPRE}%9rg_(k)bb34(NI5^!@kWf1<MMFaPo{_wqN%g?VY~2?&kUgGL&H
zzLodfR$5z;EnSx2ENkfiA8zwg27(9a2MA~gbV1(jhR^oFwYabu^o8z1hyhHyc9Ed{
za)K?OlduM#-I}n5s6>P$9`0Vnkn;eJ0%eD*BH1aS?E-{Rqy&KqBalS{T}EMmhpq&V
zX&4rb#Dzx6LL+?vjbhZhAlf5L<7=()tTD@`D<+tbEJ7O7Ko<9ph1C-x>d}q(0y_E7
zmFP3=YJNi_v!RjYpd(5WbO58U8S|pqZSym7_ad_rVg?==lP<y=plp<N1lHn4kD&B$
z-tP5>>0>?np^^8{$bo=+#tE}`+Tu_wb|;X&!Hcs<WI!>1w;Q+CK0~YVR-?$iEqs_(
z_C5VUTdGnFH1%%ANyV)0v|9iXm=zT0A{He-w|0ZTTXA@t9=px!sgLtA>Dur=Q4*6P
zP>Mv6r-3UWauhCF&zERqN;I-2K&V5xT<=i-=Fax*Lq!S$N=uYFVKM4S6G99QhUN8m
zItmM|=TJ1VCmNX)4avzHQN}Rb>x-9@oOsQ>iIbeXIFmBhyc}=fVn?xmU2_kQ{7*G^
zW*%9OpfrzMji6M`^%)*)byQhptF?<4(o)jB>d}NL<T+esmn)C`U{0FsxZJG?Ph-y>
zwkNx1L!X4enVKeSXQL4mZo7#^jRmF)cfK1q3{piy3d^VxW?|2^fqgK<3x+0y06mD`
zB1}jH(0wLfvnaV%ok>mbKnNwYR5FL_lG?XLk>*;bTQs2)7s;`lv9OSrveq1|2Z{Qr
zb-OvDc>rt()0$*YCheLqi<1*9Atf@oQ4q7B39Hz1lATmfOkI{BOu!I-j<LTw3NEkH
zo7LLrm)3|f#@3cLu3thN&*n3LLpYcECB*ehE61}#T)%`ko*jy;TU0_E&-QZtqOSLg
z&3dI@&@862BGzx+Wc)YdTgHDAzBQ^k^RR=<;k;8boiJnl<juzI#wY9l?^VOG-AJ6@
z9SdvLyo`147OXqe8Ca(noOCmq98<BrnH^@ozxMwT^{MmYXzcOxPia<f2<x^%tOwOJ
zjAg7=ETqAMk(G~>MC+z1)?fQ5){m$q=OX6bMQ2Gf4HvQAauWg%ZviRX@-a2rd<MUF
zra7xwD+bm?9BT}jfnJG8-lD3(D2R17hIL-`7u*?^aTom9ji3Q3k;b|TH!4B?!*`=u
z$>nc8aRKXDHR!bCB6epGne_r7r0K6#rL}ydexs$#TCL`TBgz=MtiBu^S@-=%M%I1*
zZ{^0_%{Y_#_hzntZ|3^<b%=0W|K7~?@6BBQ@-=xak*nj51^le8^HDcrcB4NcZ2xo5
zotj%oC0C^~*%i*8K8GRs_wH1>1U6}xtJ!RFd0}Q|g~sRAOOT|-T>>uBOsSlit5k9b
zcgkf%8pH0HxwOp_LjD(k2Tvb+{`oUBp#8pvluy5X^&UjuP-{zTOLMs05@>GgXln^!
z$a`I=utC1GvNaG0!Y1RV;SYV{-EZD^!;NpcZqJPe5BmMxTdq5B)0+?60RQQo3kwH8
z47zwHO0G2z!&;V0#S)OO({Ny-{>!%Qv}_&Lg?sPSy9Ngb`g*#1y1RRN5ThGz>+J6B
z?d$FC?&=!wco1a@`(iVsc}#`?6oJ5p^i!zS1pEwUY|$H)3tGTnzMypt4{zw{Z1OtH
zDwI6J=CRnEUIZm{bv2tzglO>_TC)luDYICGQk^5)091b~pnL)W6n&xk23-hKA+Y9B
zv4-CP5DB#VRiu}|M7Bj$`}(#pyVmRqU`mk@Y6!nKK$&nSzHk?;Her`8AOjz5i_WE1
zZS-)1Z}|o~LT;DUD3(OCH`Ls@5&Z2Pu6(&nc)${1p|hz(EKj_y<<(a&B2RMq(!_=H
zuf0Zakr&ULxi~R7x3Dltl@=yZQ>-~jFjQh)oyA5Kvs;P+>|%+eF3isAU2x3gk(dkh
z3jb(5gj+zsEfx@KBmrrMDmyfn$iyuYlr-HUu*OkIg%*UvB0o;=x_I&O{L=Cgd<#np
z3-B`}0Dn8bu)G3H5mh~LVhYtOnv>Luib|0>Fk8?pn}pyAC}!LTiZeU}6p_Cp*8333
zdj1_T-$o4N_7P<a1FpXCkvTiK(RpBGJ+o~~Cu2<*ot@n1?Bqu0&XM(5ar?;nthjw-
zo%?PdS<eIP=D2V7I`<_QN9ww|V}strt9z(B(WgLecN*iy{PekV)3f7%vy3H#Qj2b}
zI6NLm3APT#nh}yzd+f1F<)xp&DEQ0^k3IJ4Jlb~g4EjypkxuXEI^^(?VRIj3)LL-U
zzI{5=Lc!pkJ=yHQ4L99%)2_iid-^=kiLI@Gg#$85HamX^0pd&Z^RGc-hNbMa*YFi#
z+qT9)TUfa3Ak*0AXchi!q`p&qS0BhTxDN<%6hArt!XZa#^7socJcQ_p;)S0+^bo>V
z)}9s5iRY5VQHOP#XJ9KrAvSN?=IuU+02TP!i$FnDYb!81T3{Z8Or<mw`xVHW8s^(k
zXW1(|9WY;dtuQLV-f3CXEzqVgO2tx~xr9QW+S<CYt*tNQvRIlF!E;u(AaDRrB4;P+
z&1D#{71x$7!;Myk!7>GcMVTd_gv#!6*=;@KsDmDPK$>|3DSPnj(z$b!lbZGPOVAw`
zRwgGC@u)OAg<29aCB}yiIr0@b6l#Oc4cybVHbgF6eOT&X{Es?I2`NLwnn}PI3TSsp
z(k%i8BP`z*JA2(X&_ZY*XX1o9^(qvVi4)UlW%(=^jBXL_9zU7DyHU4;yx4FDksKXG
zL<j`;+96qxka4V2pxj}cQ3M=q1;bp$8KMJcRB?uqt5$V{OxF%KMh9O#?QTvsxr>uc
z{)C&m?!q`CZ_i!a==cq8blk<sChy_quJ>?r*InG)W#vW(Ux9S+9N0kq+-s<1_QUUg
z|9g)-qCI?i;>>Y!d!IXf_QH!Vy>{ZnB^V+nFPvbfv?#Mj)v85Bz^5Nscp)=64{SyB
z*v0WGqH!w~!4`xrsk>fV1c#cKg4O+BzVL<5f9>lL<6TYvJhgo0na3V`?5WpYJ%9Px
zXHPu#;wm(a)c9jM+%%ymqzRV;A)i1=4msN3WeBF=3;)rNi)9AdL*COq468vH9dfzW
z{Ra;o+`nhf!S}r9O$pWOZ{E9i@6L@I2Z#4;YuoF$fvT**y%=aB$WK>mMOcx`#$}Av
zg$uI_3z{3u-tA2-&q9e7Ru`f0>ZV>9CW^gpL!!lJ>+2`jDAv!hpRy-Se|gr`Ke&tJ
zA*}MB+;#W+J`iD}!XNIBFkKl8f#7^wusO>9SQBA2L|)=5K$&yZpZq|RU;OT~KmWPr
zMx*p>m^%3^jDynTD_{Tm*Y&}+5XMXQHVn?~Tet4qw{NSnxxJ$cVF<$m0~<GO9qQTE
z5ylO+bZ$d!H44MV&_xX{1oEa<!9o(5Y*urFNt@MDJ_9cS2obY|4tH9Y74Edv=wJ^l
z;P#FdTypomefxLry!YJ$fQ^H;+u4dDT>bq$?HegW20MTUL%^Xxb0mcl;6;`|G+3cn
z4m0k&vmM7^g{c)OmPU7V_{?V2%U}Q>K6voJrj2NfmfM@GVS)tc@&{c?OM7eI1{EAq
zMHTdA4PdN}m8fb)OwPi>gtJd`8vhSzZvx*&d9{zeGukC<muz|8?bwdjB#sj&M9vB%
zEM+Z}C2c8dOZ#v8eUz`IXfy`eQrhyhrG;*^bb$h0XbELE*~soBPMpO1D$BMuYv1Sp
zymDxUdoTC?zuz4Z*<+-UX6C%-J?}Zsd7jwl$cQ%&l$l+fdD=XuEE}GN74c0HD38g}
zhzV{8bXgI`uP_)Dl*Tg&;1Qbar6JaWG=)`3)n8#Y3fLn6K`IRI7*`;r{FI6m?j-0t
zvN@hIg$}TAo>6O^b@S6Ohok7T@%U$u(-H(syo|h{xwEYye|$cIOPEN|nHUXM5!%Km
z5Vb}t&2VTq!F`C(baF6lQ4=_CfPiq-_$IW3v22`@k@?U<;hOV<DKkm)G)tjy5J7Lu
zhgJ%}s}nx3+fem~UIk)WKyy_pPAb<Rs^JVY2ufkXg=Zr&1;A5$Q;1f57Ei%1og5fA
z_U=0ax)hkvFeuMYPL7Wb3@w}r0G9>cBswTr#5%kZjj(V?jID^1noFU4!5Q#1!$FO~
ziaAWkGa{3D(KG;TcK#VkOs_6`CWT$zM=ov(k!MnfJd?ODoW|M;f{t{NXZqwG@k{fz
zxL;f$@=OZ5Xf<oU6jeit0@v&@2{M9H_>t9-V!BsOHqgB`D9}4d2`@=U$qfD=$)E-K
zF^Mb#8S%#;u0gW+A&o+7<}u_I(IAXJQoiZOu+}6}{E$*npJioB<!*T&PAa!4Me7PN
zV}bYz(4Jkou8@nafZTqm60Z>XX1T~We-eX%m=R92ZltjZno`d~4-AtC`x5lzA7hj)
z%(H|s-eVU^98AHT3}#yg`#!0~|Eeittc2OJmZ>64<+xqg;$T_^nO_k`9cJ1IV;*H5
zrZ28W`I{c^YNEb){-4Z$aA{p7W^B0F&rD>Z^Zz&}!llSftW)|w*U}s0dO7k6ecFyE
zJNYI3br*fg=`-ci-x}%D41JpZ_y0J=As61;>!5Y6PvR(U62+x<QC!+yK}Z|yyGwL-
zoua$jVZU^C9iqG2y!%pI+AfMq8%6dl<|r;wD3I1H$^+At8^A#KyeFCw;Ag#FNCP4Y
zljl)^Nn?@+vVpc}WHFgBe9_^<G|KW%qk5oF;OT?I{f7XYed;Ol)7-mkEvQvhg?La4
zQE*C1diXE{=3Tl#g{wlGgknlwS2(|}C*9N2)7ACBJq}6w)G3yeDP=@x%mqobT0~!q
zXS`nWO;_6u+rilMBOy+o$q&h6>^C2Iq=$IOtV0@q_SrL1PJwJRG*<3Fk17Jn+}rV9
zyjyeMj;&j_)^6Q;&GmQR-GeE$*CD~mu!@tnuUpq#Z6QTS5O;NL*t9116HjZ`cCE_&
zj+^Y1o1h+r);ONE*+32-Pd#3=uz+gFtUm$=h;9%t3nao=2ropVRFhfY<dhd?DI(+0
z!GZM@+&Bv~ya4T(Ld4%Gxe67WbQ({Pt0+V!b?sWHnbG%o>Ga^y@F-%S(?O7CN=xys
z{rgel7#l<JdpH^$9v-?dc%*;-{{64KLSDnSV<2Q@l4y7~0v#B@jlAC8BCQrv=;-ii
zRP<u83+K<DK5_gEa879C$lx6c3LmT53M#^21U&iZ((9#{?4!FwFPYZM#zKq2qGu74
z%J?+Lg7t_)2M;n~5kh19<?DO#_UQU$V}}oCVFSlcojm#CUmOyqMi0nLGR;XCGC^!%
z1PYPh5&*W#+fp)2$wv`SAZ|?|pnZ&_oY2U5yvXIkvI4TAbag?u@zC5<?w93t0TYcN
zxP6Qu-p$j(*p{<yVjeFs2e_EWYr812ZN2C{SBl2hO40Zd^LUBJ*C+9K$wcEz9NF65
zeDn0-V>FVD$MJOX*pcJU|K+Wp{fuy&Q>s^^YRsc0RY;*@Dl<9RYx>u}re69RqEoE$
z@U-V|FQ0p2i}0}UhVU)nTMoN$J>FGj1vVLk&!DfvY@XP=x7XI%n%!WxZ=egk?(PlU
z8#ZPxe{|J-_mTVYa?hMEk>IhImgSi^R@Twc%ieQOdK*|jp2DM-29p^4J9A+r-RmWf
z3rX@kQ$)T(=E*$rv5Pp$z~S>)dD94|cm)Wu9(=IZ*3@KeUxkL<cA8J2n|1BA&D*z=
z+wk%jh_5p|Ew0Ix9Lp9IP>uu}6J6kJ>({r|RUvFC(@<rC^6J`EJ6qQ7+(~xRw`Bkm
zdK}ARyvJyyA5q-VSdDm&rbue*R<_k%xv^o}HgYds>x+Z1^l?Ta=U8b)MXwD6`u-r*
zy_L!E6bc56=_w$tF!ws8YT8MeyU>{wF0{wft7O>(z|~_|>}ki*CNMM{IkIPZauU?F
zn7gIQkKT}pCpZZ^J+0$y!64&D9>njbc@DZUiz7=@$Y|pOWDxmab03h#2Y^1b*ETZ3
zoH}s=_nf9Q=*E8d%k!_kiiyN2HJEi^wnKAkIvV8I^o0w(KZCD*F88z?57pV_eK677
z)+~w!szvcoi^!g<@k$yE)Qar6PGry3qWPjqG+)%&FU=R#qIgIg4T$a81Pujb7o<`=
z$%YODhlj~Q>hT#EG7#pRM4<CSp5~(O&AD*-KSuUs_w2c_6^8tv@T%~Tu#;Y7#8r~)
zVe|#8TbIRb5e(ufyW^pbFMg4Ho^$37n1#oYH#YWazV)r-Lk~SPK8~m4R`MJpCtoB!
z;)8LH=04qE;8C~bB-%UfV0hEjS9bsxt=HqJ?Ydo8+<iCnZ=DPlgz^%QFPB>^)EZ4p
z6yiR#7>|Ad+76dC76R`9Mi}@RN(%`QFefPI1l|Pt^@fH9l?qQaH}70^#TDdhxfdaq
z1$IlEGxgD?qen*&$|sX}8s4+_@IU@RUdE^5J|o`&n}Ad1B;m=aDNc=6eDA^ilP(wW
zT|Ci50<INK*aWLWrb_}1r2yj@TY^E(<W3MPeOyaiut)?ac;<{0DD}KNJV}rJet3Br
z009+`36o<}6BElPC`h=c5oi4*7l9b<@;(?zZZq01<*mgmF4dw4#E4hY%$QMRQAUwP
z8ATRl5?Pc{WKl+uMcH;=im;1!|2x8_^&)(0{HHjpPiy<my!ISs^Kzn?1WRY-*6QK6
z58w}hjYPYbQ%q|I<z;u4mOG@IPLRG11kdlkUsCcroo@4HI~kDl^pLHb(@vgbo_?A`
z(H4o|UWKBFu~pftx*XEdc`{wV5$)h$G>WG9efv%g4w9otC-m^-UymzR`;ANMOxy2p
zNTYtR@PN8^{KB}^yy9wybZL?pD>%ivyshf4Ok<5hI%grJ9!?=6g>oq%Sq}NJGO})3
z2m48>)6tn|#3A+Rh-ryaSVCp7+1FeMQBKs8jtltsEFcXr2mr}|xyJ&*NxVGCf1K8=
z=%4{34OYCqSq;?f1agjwoGyEW|C4&3Rpb$9y^ktSitBwQ(ft$G`^5L}6Og*3M0Ed3
z{vYq(5W4(F&%E(hhdf?FG&8swjO}v<?YjrwcE|%=B>zw`Q7mN6q)M(U&3DLa21$P-
zsK}1Te;M3hC;wnJbvWeLzCeC_J6^WN(qz4Q!>&6Wa$`+bl|@70xvU2Hghf&Wrs-H#
zD6#fjiOOF9Dz^cmP<h{v%;(py!e6EcTQ)-!73!*Z+GRB12zugK0!g=y6fRvj7>PRM
zvO*G?b0PD{XqcEgk#@)<8lnrQK;$i{k}rJVSwf|<f~=Sb=IVpXw*~RAG!*vwV~Q{_
zr%8fh-Tr;c<^gq|zc9L>aFK>M2`I@jYvWqGybre_x2+Y8xium$zCm=)*5Z{k-zL@v
z+aS7UYei#DtTVS(H0H$0B<cbKmhf720b*UwfOxk=V?^GfTBly3*dYE1Cg|p6g<1lH
zB&X0L$pZ4KDPG-D0qks{xpnLI?VMrz_N{BJRok(ZS|*WLa^r2YCwW<W5!ttI1f1N+
zh!v9AeSB$F3CorxLkQh!YTWL{m?nxKdCae}A;{0?IWTR>pG3N)GLjlc%l#NrvyLxJ
znUJ^81ZVmWAHMe5qeoA93uzz1>qFMg&AB-LN8tG4STE6jSI3Y?AH8xe`UVzNud~-Y
z%9mS<5ct~61~AIk)gjAdDmEe>m+Oiuk<Y3CbOMtrkvs{(8GS0dgaqOeF%;1Rgb@M_
zpwlUx_aZ$MjC*EgL8pT$%@qvNP%{>y#TPj~7p)*ph#T?xxex*IBAU7o)~CV32o<Xd
zoUJ=Zxj6!X<Ht`7xaR<<JMCMbY+V|>S4uKY#@0mBkl@BN%Gd}#AwfX1sMb@?f2G`j
zx)*0CD9AU-0SYQ8P%9$17!aRl;sIV}PyuQh<`gRAj=(Oqh}53aDN~ZA;>t=6+NyO-
zN?%b~iG{WlSu3C<SS1NLnfU=;-&PLXrFK%SK#0X8;?umNgyx6@2!ukV7jhWT<fIH=
zYFQTK&|V5)04W8%!ht|c0?ZiTup}DbOW6b#gK3%CXtB)9n9Wd|P$Jn{tW8i{jUR7Q
zkkpfT0|PFVqzKT$A~G|8N(^Pz-EEim!JKp3eInbxQ)K(!5ZV5ncqNTsc8lhl-6Gq+
zLuC8+h~}F+MYeyZXueq~@>i|kLkhX3v0%d;n3<WLo*17y1L~ad2~5`G<Js)Hp1Ikn
zsj-ps83^k1lXp22mb$5lDU6bUw4@wKM1e(V7`GHu28IS+@p|6}$B*ypdjk<QI_Jy(
zbzpez*oW`FeHdna=)(gC`rbYM;?Tan_uhZ+J&@z1({|y%wC7G7*}wnoH~yM*I2^ww
zcHv?AA*tvG`!J@)6<r(k0KiF`ICSzsZ6j219d8%zmpQoSo_h>||AQP0<KtTkO5_=o
zu+j934QisGneFknuj*)P0a&Ol8ojr+vJyC=ilWn4?@|hF)53z+j}j>88`$HgN5{s_
z9lgLQ4({(C8~fnZ*LlU(9i3~|tlzZ_Vs;C>sl8hhhvZ@&?MaJ6XDt$z*~t$y=O6g;
zm+rgkp8M{*&+WF8Y2~$-@962-w6*Km&EzNa!Cp^rHYZP>8@UR2_G=rZKlsIK|NQ44
zp8PY{1Bk&l*`NONpS1hua^V)fhde`m#XkHW|FIdX@E6ImP9}VkZ>^}ZSqg0h;P=4>
z(52a2uu8YGd1X^0@c&Il<2I<j!Ee=6G8owPWE*FqygvpcA&e@<y@+VZ>xKuLokbh;
z^w1cuD6hb(x~RIs$z-BDqP<p%6lpEXH|cB`J?QBzEiEa91d6T5W&lfum42>FR;xCE
z#JH%q(g4PdI<ks0LBm3wpW}E)g?udZ0JIS}O28I%Hl>GGbggWyscCLpgP;p#nbyt~
z<+i4__1#z(VO!I=;j)$O4YcxH2k2*=QhB+h3@X5F9UF_TzyA7dNFD;0uQj4jU0rQS
zxW>_qm~TN?Q9$eA4eATL;_gq~ym|BWSAUjc(IUvVx;^2z-?uRDMQ)c$zAVoBr^Aa>
z4sZe7M}lxB7(f<y-aVT|WH><vIL?sGcoyMPBCN>*WWB)X5LQvG3}_|uivGbt7{uU7
z4l!77>7hNp{K@y9`RCE2$Uw|aO-#-$AzVFqW^`g|0$!ZcFQDgca(ry?#1P0x-bUQd
zDb2Nt2*${{gFU#H&&YOv>QlSF@d#%p4(Y>pTyxE>J@5m+<`vJqxc|tJy)XToV-8IB
zwkFVEkO3tQnzfLuAq)UoUg=U`DTp>Ns*x}miBZrbIEv`^hSa$U?n<6Z93%z34o)ji
zpGSon@T<vY<rN;<2pCxKI2l&KxB3^;5~{|CCNElkMk7}Cgl_2k(D3L8vL{OAUuWj#
zaIxIp8hEg2q%}<tdC|_|ET)&T4K?Vzt!OCc6fLcF#l;;x-Mr%H;j`z?4eURRSl-B^
zH6JxxJtIMPn*{V1TEuWzzh8W2967+GlP-uD!~it&S8td1!L{YKdXXQj7x_W4(nmdB
zNn?O|ksquV`N4XTAFLPo!FrJ&tQYyg0{f-7TYV{RBW8`o7mv%wr{nQNIwSE0!_nMw
zWOCA}qIp2CAo$#~yxCGa<n^iE-tYAWqA|(&Dc1su6HaFDUZ<+R|Ma;b&}H-==FRTZ
z_BJ-KZaZc5DNe5|C@h5YaWZvvP8A$eOGhHHy19*Kj)d*xIm!L9kw@+17n)A=^=ycJ
zd-d8b@(^Bp<Bd+${rBI0_m=~KuibS&Z`PPQR~G2nIxDNNS=uTqD`|WW$tI@?Q>?Wh
zld)NI#GXnGn@onB=Cm)HR0wbh1Zv`0i305h61>4;aRS((!mdQ3(emcR6lP9RZAI1&
zow_O@iLpv@GPSkn#|J81gF&BP%$r$-KN1DrKN10uJPmEjFpSa3csx!O8dHN|K?wW3
zyg8a49GMRsJvlWsJ3SvcH9S5+4&h~9uTzCTjr%kj@06Q2%bCTXAPabqmP;fUP~9hT
zM~g(9Dwur;hQAaF@@BK_@K9DeaG3J)EJ_A2Ig>#gjouZc??x`jWambPcr)-N=n=$&
zZn<AkNcbrt8(fOKJhO9o4i@XviuoPH`n1=G=HSaN+TLX%+q+C;dmBWyw_ap>mx*le
zGLh}oiRR$)#N_#*p-g6I=)~S}^vy&vOB&dU!hP_ap`k-3u@d4KQ!UR((Ov)`Jwnn5
zt3pJ|_?pNRZwvIj`r2#p_-n8I!uiesLbUj}1t}-ZiSOBk|B$`*+Ec&I9iZk)EZbe^
zcL2}SzI_W46Jk?#_$FZ=54d_`bF<&y+}t1oQU(o_nFUO|u1vBRt{!M*eEjSH&vfNG
z4UAGk)~zcLTxiPJf4*V$I-Xg7-DV&mmUCq}9E9Q9J#9CGaQv<{HZ*?eJ8SRA{aNy#
z9pph|1cd#+<e5j>of?TrE<E~ZN9Lf@=|mJDdGXe-B5<v$hgL4lo3&L}tN?bYv9cJ|
z;KIr>XzI08kj?lq;YFS)Qsc`=8Pqt{LKxxejL&Qn$FJpr#b&k2p%-1%S*%7bBc=?(
zY+}YWT~=#DBZ}il*1CDdqi`DFw-CXiy&KNbSbBI#$CtD9t&NR&d5w*mKG%_tcp_w)
z9~l`5RqnpGvGMAwkoV&l4=%~L)@hI;Dk&*ZWzz_sidOx0zJxDLE+AE%PS4Jc4MO-1
z{9a)>Rt>EG{HfX53*)G!=h=8h5_4h-${>(U5Oi`_m{5tZh_G=Oi8tB!_^bgkl-h)h
zg1#ZvH9kHu0isr>9G+re0c|EkjW`w~1!1g0J(-y1%Po1Byi_U#KL%?NJc7-VQ_!@S
z0Bj}(Qb(`7Ld!FOB!IKv2nwKyhhnNVVdO8%7pDi76LJId{z-6^k9uRc?kR5w)Lw%=
zasg*-t-)ve(S8A(BFH`%D?)*`@`-Z;@cob-#e@PcLZ>c?wpb_Em9$qj6rhnszZ$f#
zC<R~i`v22v7Omz{hHaT><o*AtW_?mV`eMy$h!&~7h9^5i=rehi{vnS(h3J!yJ_YEL
zi$0Cgr|0RDj6SKk-sQRNPP@DhUp%*oyHW2D&28Ti`IkHJN*d$eAv#MjON2PazeD6-
zJ|prkcZmGUI?>!Fs#%g&qi!CoWQZcbH*#id0v&*pV<VC9;`o`v$DmU-GBj}FKsE^V
zxWH1tcb**JoC^0Wl$5<QZqDkNorBEGsUvzh?y??{A{IQQh?@*%BU<0hhThil!v0y;
zJPoY;mOs4p?gt-y@cx^7+^&JQ|M>Jzj~;qw&ucF{`$RGqHI0v6_zQUwhwnc!FfnoA
z!+y?s?&yiJu@8Uu6Lh{aOzFCH>j5%ZSHdaE>#Ho5%KGx&*4gwnD`HM8w~Ub;wKR6G
zuB-}0^c7t<URPRPQCZ*AvN?^SQEppBZp7hxwruL^x@^-HPSvydvaYW6n>L>ZjAH!2
zfe%rVxiE!@|3hF74(>b9%N&o}$@9u}ovT)_S<}8MiPVec!7qLBOJ926o_nO~9S?3M
ze<TZJR{Fq~zxvfjHv`W5BzaA3ypnF0Uw-AI#E$y4b2Hf6o+0079(jbe@_!#yKl+y+
zlkevK;=p@;%)B`3ByaSfukjI?^NA;(`18A*%;Egr4}XX?!NbD0ds{V@wN;f^zgAXM
zSi76CcwD)%sj0wL+uXH%8-%)>+d5Wt7b5MS+uCSZK~V<mXi-UNIj1TsE5YPZTINeS
zl}od;v}ELi#+J(k%*E`?EX{u+<WF<0(GV*I<QL<XiQuAAS70qrt2Ka179e4eZ!N9>
zuQKi4lgU*!WPhD3NE)#4SIamnMVK>rrPUD7L_20U9Ky8aOF88k^w|Tj-rMT;pdDO|
zH!EfSrutfhDb<ZDE!M)imX5Z<qT0r$&dav58i?xYbp~?_S&MVf8bRWsu;y`Axe;#F
z*14Ig*9hQ1b0Lf$k8pA!mV{z^;;~kh!bg`m*b?$dx0^=!$W258?#ba{uXlcKc4G8g
zW|@dD6r7=j2!-E=s#?hF=Tt#I^dP;HqbezcyJ1XNDw$LqblpK7pwX&(TT^5Raqz<Y
zBILt|C+JFea(Xu44NPIUNZF;C@&42OKG&RU2C?z%FfD^B&YVR#ape3NPIcz&(1i<Q
z3*ibIS`^T?2M1lhl2crB%@xQK?Yz3TM#K7Oke>y9LKUKykA}!-^MKk5mA*hpG#gX*
zVmcx~iQ~{dFQA=R)NmjW!fyeuPeZ@Bk%DlbnTpYeRy!SH_1;#K<ika(W$*R-*gnJ*
z*oH^4Y1jD!ul^MZ;^zlWp6E+rw#;n<<W(H~*pU+h`14Utl>@U3oH$mlb}EZnT3~Wb
z<u*>y+}yZgMN3;tZ>v(Opqhl(K+<C{=GK@7li6x5uz>{%a7xfBVF8E@cp^2)=g|1{
zd%{qZcq^j>t|J%qf0AdsOXL|HBF}j5MbCJr$TQw4io8C_Gm5hxV$az1NuE)zm_YzQ
zg)^5jr$>fpMR{m=F|aT?aO9}lH8nAErvD&Fu@<qQgf-Gg7FvA^9^^;h8KET!yK^rP
zv|}<_n~i!#vkXaYv|j76i0*C8(|(9b_2lHl<W%y7H(q~z&mR06oH+B=AAkHz|Iz(@
zZ@l>HC&vfQoE<nlaAx2=@*^Dn)TuM)kQ;$#95@G~8aO#17;*T*wl?Y+>(rd0zN)mW
ztgf-Xw=k04O!3?l)~&jFZD;4&&b4bh&9=5Jcl7`>_g&LfS6_9-_N_Z^)YR61Agijn
z#twh=U3^GO6EX-5t*xA@wWGPFW<^Wup*g2=YXAO2SOp$E%PICBI(g>IQR*M3;U9mX
z+=1qOn)6iK$#2yU+<Wi+_uYU0y@k~`?L^w*5MyNW$xq48@OTPsjy!zeD@yhDty{Nk
zv2WgLCr>!+Og=vK?%g+Dd+lxa-pgt4eem<wUVF<I?(IE<Q+uz6mUCr~J@wR6-+LZ~
zif>9E``K@P^F8VpAL+GKT2`%wYsS{O?xtHleao$MyXn^ZkTH3j{G2>zdi2q6J@mB)
zAG~M#_HEm?ZQZhE%VwP9-#ABQS64|9GAQ}QsB)E-7J`ANxYXK66`^sf;Ao4HJIDVm
zD=S(qfweMmmTS!>!FNFy5(+t6m``oIz*YeAJIp^OnOv<i7nfD*0gpq@0}8d^v~Vim
zKh-FiX*jDA@LlkcC?RH?qu&VvA(&P`I!?gY2dW-!CYqlcDtMB#BLr`1f}^jnTC3|C
zY9VY;Qrod^OL1XgL1A%GVNn@?G)@I1q%4-AqI}M3(rHZ)X*3m4LM3no%)(>EU=dic
zLJTpM=xt@$MSLW-NH`6K&)M96OX0xW<j{x@2@==j*trl0(fst^JYBjf0BHwhj}JZ)
z_&8cAUIG>knvj^^jmA6)r^wS_xtOQR>ut?sN8of9sgLvy!nK?~dv5T|`7>uu96fT_
zJ$JtU@H_7xn46lMo|=a5947rZ`tS%GwRduuQw<MKV<1fp8&ysv$b+bOR4J-R>o>GF
zH?LT=j(&GfI1&Q6W+a@N!^raB;f+N+bEBtE;*hg*Zr4nbavjmlLr&u85H5{EzBI%E
zP=~&Ua4=}X6va?Ki6LlM&WqqSncyci655%I&F#({9vK5Vc4Txc8J#}!=5Ky=^zf1X
z(`QZ}6x{Rfc{<up0oLSHjEsRAZgOM<U;e`A%*@2daI3|s1iqjNwa=z%PSLuuuDZIh
zy|q`0)>%+H)FaOUc4Jhsv1UUr1=8uX7a)b^?PMBUn$#?S83FX|2|`g|-(7Z-O2E63
z8@bgk?}OvZZ8wW@BVx|?Pm8?dO?V~Ejod2ok~fRI<c;=AsHhu6@#80PzKe6j;@n8#
z!PCPY1dUTu$NT>L>tFx+53juN+dur_kAHmWPd~N`pVR*E?R|)<4)ndVXV0F0A(ML<
z=O{25&=8Tzam29_OmEQ`0O!6~#HoR%37{8flx4vOxgv1t=*-*<@@f71Uw-MOmwxx`
zOE3NF&9~qE@Zi7?e)c!WGcKIl|N5_f^{YSPu-D?SRpmZ#TxF?DxD<`eQjhoS@#7=j
z1*hip3{l$<8d{`+n{OCj2uzJ3MsUZVFJ>|oml^ds1RWaneCq}S1A9-)wcr`FLPXx7
zb<Kl$KM}_=N~KIQoT8|#2Hv5t$f+qZD>4y$iBLvv=8N|9kG%K#+eeNZS=6cl8SdT!
z;6`O-MPb3Q`|PAwTg~DE#kD1<+qV!KzU+r5j9U4UpUM>*<EUP)-+T>%#;$cv&H5&N
zat_1=(@AXu-%xJWfjSQhucF#|<Vo8=U)BMiw|aHw%{yqcTZ2v=x*_Is)LBdw)irgE
z?EqJ=ZE2#yau%b}Y{~EHA}gCw;YXyn65%3`+y`Y_Kvk!3>*~hR74?W4J1@KO_S<j2
zVb`Z`z4_*wZo1*7uY+}1ySry&cX#*3%X*L@-vZCshi{IO2<?`ksE;&gKC&!P>%l7m
z2{!}y#8IscCjnUHSCp+@TVGcX6|=TgSHk&Te)ab4>(_OzX>MJ0?PmK*M5OhrHePkr
zRXcFlpX0DTe;$abWY7y%B{H!jxVo*SrAC?DsVOyN;*@(5WY1c@p;?j0fT9yYr_O+b
zXa#El!u+Zg4VT-CBo>@Vp-zq{Fav2CM}bC-;f3}$EcdYpm7wgugua^u<N=q!Y(=%g
z6pRq(Sp=(G4NbBF6+>s_(R5@UY#!sI%;>P&OOplRIV5`Bh#MWC_TnT`bi9EVLS|Mg
z-#g+81jhEh<J5%F8DYkEQf0w>)}WM2A)kx*4ea<B>QD{Fagykuk_WvxeRZf(BeRtx
zX_y)4WU^pCMsGbtp#?bY7+Qy7$+%Mk5etU0!6ArF@(qQCJWM<Az48PUJkgDU+*%00
zw5VyQKbS!QlS$CBm>+SXqrhTJr3LUa(JUHe-}21Q05Il-9-$XR3vl8FHJb{eR|<(`
z3TOj=Ccp(!Mv1g7Yeol`5^(3-^Tj9AkC!dSXl%HcHPhJTedOY1*nJ5pp%KMyVl`Y1
zUQ1WC8j)Ahh`f?U<drlcucQ&JYBi!&t^87!7FP&X!J=K|v#GlsOvuQAh>|X5(r;wn
zaImvgL>lQX=`L_EMH3uxZ$T)s3IA3(n00S)Qe%5{d#8iR1ICCUpp5a*3ii*!KXEX!
zI51ANk=iK!ZvgF^hkteWIR_JibC8UC#yt)uOh3sV_a_}p93XM!srger2jj7E<U2@i
zKk1-cRR1T}Nh9*!|C8%v+AX8^U;+aPpCcipkN!q~S5;j6{iADR%G{Q@!@(@&eROTI
zd!&0D?4*rImpXNwMh9c|qrL5+@`q|2Ov5lI)g#W|!FE*|FI|>k_*dayI2dJ&ld2j5
z4Iu|(z-93q{L{hTIhcqNa*=?`vl54d&IueF(h;c?o%M`^$>Qqd4Kjm*gGpLp^r(1T
zWtaEitLC<=MYGy2k^NjRx-Qq^m2_6ST4X<0i|pqrk^NjQvY#tO*X629*M*2RMQan7
zm(%j(i7^B(sW^%!a)x%uC<LFNuc)X{Gobk)2@c32!YVi&%FA;|@hPd_NK4I}8aru;
z5lIlJY19TO*NP_ei+9m~772hkDUYFDG1|;XrgYP$O=cFf-o(#gRhJ<$9apS2k`u_G
z8YnM!Tv;aw*on!j5Rv8^_*yendGO3spgz!M$>PZ7y4CQ^okg7;B?udAbuFEpfWL46
zkb-y#WKYT>IQx^cPF9-DaBBQ+mG}n+2F{-6%?*@_@azXW?tkEc2bw9XSHlfoM;AGL
z=)SS;8(-dp5T*0Rd%p1vU?TDLSSWyS#iguq{att6^~`>JJ!Kjm9y_gyVNmq`_D_7x
z`kXGYrEL}B)%G^bQ`>I1>uX>8+UGC7_WGM{#(Z+ab=O`CqvW~jY*trN-2t?4ZMh9|
zUqLNSu(8;X&0?pp6y?8~vRu{{x*T+VszrtYKr>wfV%#DD#IFgoNMMRtOi98E@YDft
zN=eWIDT4z;t29>}k7p^hybOJ#(9!|9A9k`CBs2qzgs+uSs#~G(%39>Z34~8WKHmb?
z(4%pscL;O0%O@z6&^(sGen~pa6@%lv68BSq))PUV9A{bVWRsL|OOWtJa9m|FlGNA&
zR?q1aRs~Ydh`&gMut0GLAUptsIDteblAWv!S}Srw+i_%qQ=gFl?2O+ttOg;7LdG+B
zf>W1}%$x^T=_F(|j2el;nHR&!0=-aKA)zwsoCH{!B&SS=S&&<~vWyb~YA#NV-{-P)
zGBjlP+60T7t6W8y=tD{B{}Lhkq5e3?!!WzV!OR>$H6;g;)24+CW!}|;8JQ}9sp)%&
z6xT?b$JYjce^Bae3v}J<r#ue+u>k-$PAv?aoyBR+kDnhH0O|^F#pyvzBqAidqobqs
zHk=;*$l!N>Hm@36CErV!=LqxIpO#nrx7g)<<l^>O(Wn>q)_qAd>Tknq|F5y^t)fvc
zX3V`sH0s5%>@A{EFRry{?El8sk){c%&=L%JQQ#arGdgqP$h-e~^PPA5-hcNWd)|5P
zJ+$0?ICV}bO9ox%$=e)PFOkvFnogU|fO5{pAS!k0)Jc~c<aC&l!TE;)kG9Ja18+RE
zh!9}TJA)zkw^#c5|M>jlcI5gTPdxeb(?94Dz9~Fv_}-IGKK9sS&z^X#I6vb#^-m;1
z8w5e7M%=>0;<dFIMA5!U*U8`g_W5Hc&tc^;vk(qT1)ookkg^<YSQO412O)@D-r8Pj
zkXUt{oeh;>O|EZkUQtm2I8#;g>4Almeg$a&)F+#gIBjWRVL^ssyBTf60NYz+i5OxE
zbV_pIbPOZOwZt3ir~(8r)Z6X$hrW5s=GM<%zm@!h{1Xe3ACPC5`>)?YUM6pnSI93g
z$vKb#<yHUdD_`5Uf62J+0Sx%R)00Sr>9Q-9?eEvzc;k(YI*oE&*V<-HU=fi$daoIT
zD6?1{jPZ@DDq;B5?VG^x+0wdtefQP7K7ZHU_dfW=`@Z$a*Y5x9Eua4Mbyu{kS-q;g
ztr^Gu2?s3#ZE<eRUTU!*-G!{35&elEAJItQBB|VSwz9Go%duJ-@>VP1Qi9H=Vl7;X
zPD9(wic1R2O^sdcZLMw1tJbdVXlaJ?>S#0+(csWjL|V88fLqcS!GcT*vPOhVQmrPx
zzJ7%zKi`Ovt3kskz^`dIkqF<^Xu+hBuQg&QwzSukZtMBXHCOGta_g?^uiLfl@?Fq@
z+M3@SfueJ1Gugs5uq*^>aAdV|VS%7}r?6S-cU*o&O?`bC_P~;#Mjt@}x52|V1!>+B
z^Ak?X?eYPUH#Q8c0iamp<5RTTVQePi)}i$+M3?P2C?f#@V<rP<hq0fG!~&BO6aE0C
ziI50D&!><~(mn_^-vl~V4E+#Y^iPZ;w-uCo!ihj)Y2vge9uG#)$r2j}Z(Vrd0y&0=
zhlv;pot08_ur0Y}X9o`UpM<Foou39Ha2}kb9CHO-yW_xW6@pf!hAv&=F(T7y^fJmq
zo?m3tYLF5^n9sxui;N(EB1R5;uXGk=vGfN!Wi;i?#qHp?qTw^N-UKOJk(6%=Q+*?n
z3?j90?(C#HIN{ohcABFju7mIIJAy3Pz=d<?Emm35GfehzwCO^U!M6pe0OiSqWIaJ@
zBPggSc{=jkAZW;{vC`A<$S%ui0Gw;oVBr3xtbr{6M?gVwb#+~38GcpP{OFg20ecw-
zank3P{n%!^ybrD^w_PFfV`5E!Eh0a*5wE100Gmb8%NCIz+x7|3%N9}eBGv@x5oIoW
zM1HLLQ2)u}2M!)RyblnqzI}&}9z1aTWdET<boamioBrt#adJ)_Gd+drCSvty5Z;uR
z_OfyGn4l)E>@9ln@2~#h=f8U8<-em~^TFR=e&ts`|HG?)fANjI*y{l*{UI5C+4}}o
z-e2LIdgdTK@<PM8e7K2?>mlL@zI@sMWazElf8_YFqeqS%>3bPlAAUJ{?D&!W@4ouV
z%P)_PzWnkluf9w6a=dmeZ6GSvFU?X^*x_EZxXXC}71F)cKYRZ9=YI2>m;U_cpJ4m*
zpI`dTZ=QSp`Jesbzp=M+C7%BK7g(q}^}>IB>ybwu>8>0<!1H|X;|$Nj+OV<<#d;lB
zE@Fnl48~Jwz1$8srzy<cDS=9J3qHRPW40(yk)Wkx*IX|G0CX^AGTGkhmKtq1zj*bg
zHu#Z-woR*x^TXPj7P|A%27U}Q<63npCmM#J;Ub9z7ZZrQfV5`=0i43NjT`Jcw%a#f
zj`i+Umv6Rj-(ladaoe_?*t_>$Jnh^@zJ=Q%XhA<}kj~kt!1_|CmqqfBhtEp%R)7AM
z+rRLY2X4FlW_pC1Z@=w<uYBS5TRwjy-TTT{=<|)_5qc4z0S8BNwkd(wXvT$$fNToS
zqQAbkdSYzCGckU)e+&l?jP;)#$L`p~tQUKTqfkYdrB!UBkeYL$F22NM^;WC3uuzI9
z19f5m!<bBO^{hK6^DYb=JC6xy=KQgN1+OgVo<$XDX6C~WXYgZ|e8?4Mv#Ib9_%lGz
zP`?5pQ*FH#GfFOofqocte5#9WRtt&*C3T1uSJjmO&t|dOiffSDSk*!Qwb#Hy;(Tb?
zF%VD5=wcOY08j^|ef+qCz11rK6|14i7_fe<z>nPSin<2ug+h30s6(}d*Pew}7+4JF
z(c1LNrd}3}<viBYl3pNt<!H7ouoWX;Q(tT=uo^T-;o55I>g(69udlDGv61b#v5>$6
zO_&7Yv`$3VQigU<0D2*PtXh)I<mqh%X0VlDm2EDt>GLw#Tt77Z12!3v)73&8z*wT-
zNCFLKM9I?T585%Y+{^j}ySxu>A-CNv@*(2t$2Ubj<Sx9@0Uz=Okq^0B<U@We@*&TN
zVxhZ5KIAS@Ec6+X4|!1JL)sBZgXwR{17isJF~9j1=Tiu#naBc)Nb@lyR>8^wdXq#X
z<fpGeBnm)guH26$NA=XytZQoI!jK;d_a!B`ljAV9`DsKhvvX8^Z~@gaz8#YjK*bYh
zagS#3;-R6lC&QRO1o!FJUVH7N2W&et<I@zgI5#r_48k-y&b0~x2<I_dWUva^x9`Z&
z1OIyMA7gAO;-IqZ)O&CD9X)k$-=RZCj)Mr{)S2VQ4)N`IR1aQIno)BsP_qJRRi-$i
z)2O-}psHeluoCdh1Ii@BbcL0gffOJ_5@7lDf-Fng+poO!&U?SOd!@{WBl;z^H{NmU
zwL5#-k?BQ4KB_Hs4Xu1(aTbA6*4Vgf*RE9s(oAt_^$H)(VWD6fMZ@4>>CT{MucD^J
zhPl#KS_bb?jU*LNaTz7OY8fy!eesLi$P45{a+<h^pPW^GR(;{wXP+IG0|5CBIfei6
z8u=6XVcr+-x#!LsuLeuWjW^zU58qx4;Tog0upFUWMR9?(7-&rstj|~smC?2;3Xm*8
z^$8VlDD~j`mI7^t(*vttJ-E3@etuO$Q)~N53meC6j5EgiriPlTvV1^GO_X=Rgn}Ng
z!L0o6?Pj3~G`zRw9%qCO;VJ-E@gQ|%FY{~m8Tw#;gQ&1fxG(qEr2Y3>@e5@b?GY4$
znSCz#x$DRr36c+lSF^5cL8diRlesZFh(XrHzQ#_o=a^}xgj^$Z{jgm|!wIOQAiPuP
zjG#j`m_QPeVwGCJ+w^KpUY<&W+6?5KRFrB|iP{U-oXHiVkyayASQ5Hp2neGHaic^E
zB`7JYMj=3lNHF(L4?8g-e$y6~;!^30E2~P1%d2#Vxa0;(tzBle+HB^0D{7f}MspGT
zteI4Et)O!TH4!2dd`v}!POdUqZ0fWRh6{}+6wx(GYXtzb#rYTo*5cw)UPHNnGD*55
z4McY!aCR}5(+8OXjl~lZfcgfv3s+~K&b&z<*&hlwO9ru0N2`uDf^tEQ;~(v^fSe%C
z!-w)LDhEB}E%G;ZOX!!^2@OJ-u$`<Y3%D2euwP+!Aihgy!<oNk9?LwPy;G10FO#P=
z7|(v{T!SF>rd?MMNQ{OM9j0z32bp^2XSs(7*7hs{eLRGd!piLSjGaERw+Yt@<H&B&
z$6vHb3K~+S{Fpes;B){yUW(S*B>Dk*NQNx256HiNT^8U#!9dnPjeL>yurc-^?QqY&
zoGDF5GT=1L&Itb^$Dke?Bx>ByJQ8s6r5U7bL3T&gMnMrxP%;6(Fw|l)lnFbIsY;*;
z8(jM|P4I$@AxWJB$<lNt$uf|eSa8iwPtJz2GTdSiTF<#$D9a*Z4Mk`qOz9T*_843-
z)KP(qm<69VLpjSStD!RHrV|Gal#PU<F?<kSPu~i_4+o|u0ri{=ONNFHzPabGul#c?
z1A(j>U3U82J#X$kaC`_2lamk*a!*c9Kw^p9wiRomw{j0&e#@@T&d!D3Zxwp7r|3hl
zD_->3H`%X;JST1@CJSg`sJ`+*i{#ADfBaJIqgRqqW;?T!Swo%x6!`1eL)m|1|0UG1
zj*(k`_~Z_96!+_wxknY*PhOIs@$ckLVRiP?nceh}y;;~OoX>TzK1JT3iZ~Pyk5Gkw
zvWFyym%Us5>+6I<K__e?*E2=TJbQ{AVP9q%VKs*`S7%By4cSuMpTCnsKXlMaRKad}
zA10yPrWegvdQr|!FPgCocqPsG>P0h_UNmFrMKhLOG-K&SGnQU7V~P7MMMx&JC?PPw
zrjXMFBqBIYT0?3ub4zEGo)Y4a0aSmvAa_U(>Cbg>^5Vc*&)Gn=L(=HUALQg4$6gqG
zVSKwoa{EC03!J<mp-!mdyBso$v9_iQ%}YefJo`Q;k4fgFbCR$_V#sO(oIIo$Pz@-2
z4oO+MXo{1sY}$%PlSAT@22Gs2a7`y3R)@ru7cA!FX_a2BSK+;3c~Zm41LnH?I<wm$
znK1Y(Xns}8n9-6*f3DD6#73;!E$_qS%WWHXU&^m<+I@-XVbgAD1zupMFIr!LYmMk&
z<8G!8x!>Hjb~j6ZpP)M%c3-OcZQOk+Z@h8$rM&TFyZ@ax{#YlQ@=|nw$Obh6jn-rY
zksd}Hp6CyX_m&zX3AE8fARB{1L@+6&Vt!7aMEN+JfC?>wsT62RiE=R{NJBxdFXl7?
zC^HLYdqIdphHZR&9vL_gqlKry{NoORVL_dsgD|j&fYO5`7Eemy57P12qU#)zc8DdG
zMlWEjUKpLg7@i<QTrntJ;+A~4aYdA6QAYvidQ8C7A;kPMc)O5^KtW*Q{NBI(<u4fO
zhQ*<M`}Pejrm!SV5ffJ&4ElY|Z5X761?X3JgXrDzWN@^MXLuh^&zWuj%){Vl-Gr4G
zYip}3E2|5wO-&7Dg@rW@4V#b&Os7?9O$r3vp#;2coXECr!(;tpW)p3O!?t|Y;KLcI
z#H5kHx#{&9%Bhbk7?Ar}6Dxxp9VR|WDx+YjewvyX4Hw@`Ys$FZc(1|4f@L7zW+*AK
zm{2S<6&fIyOfml;43y|i=n^sFGwCPNkIa2Ge##`KXgn(*Po1P%lVMCtsbB(a5NQge
z5?G|UQ8|ld2myyzI=vKLp6E~{2aO<HNF)@%wGWVa6vG8C?W|aeak@~NK>r|{Ld2Cs
zYJ~sjgQ<aFOw!B7vXB84(yT;nDK0KA2bQ6{vV5h9uDMbmzJunkM1_WLNFWfd7#eC)
zjn0bMlTHH)D!Qswu(YCu)M_!{+=>8N&Amxw7IghGOdSd|B*z$qHlMau(<__<p~@s0
zJ;;Vk#Vr*j6)o$YlojOTQSex<3Q=X3_hE44wknZFs}gy%Mv+IW!Yipqs}gy%Dv?L4
z5_z;z`=wD<Wxq7asze?wUlfDu7qY{rP7h)m8tH#^KN_R8XkCg&aD5k}$lZYCR?qg&
z%z@1@m=;XqXUQa|g%(d>0YUUxPcRls^ZJx*oz+%ST3S|JCv<=|meYdcx3yZUROVH+
zpj(z_G8&YnmFs)1+_~%OPv5ESLHh1T4qA!TN@KD6t}ZniOLpEJi$P)0YHP0ouRvYh
ziiX1W)nq59McO3a01hX)-U_?|509m%1v7mCW2vvJtgNUgwzY0<AU$}c4B9;C88R|}
z>4A_roHl4xB%4Vu`Ml`BOLJNz>Ee=#nwkm;v|c5=zDk<LvJg>fb+x_AM!z{#lz^1o
z(ozEXcJKtV1b9`<-w4de!XiajD$s)A^MM%galKRs;^>G45(!x%ges^Od8JSk=$cF{
zgg^+K(CJe^y0~U%CdN~zj*%m{yb{UK45VM9t`UeG@p>r)U@vY8wHyduz%jm)oB1BL
z%lpX1?O~CfJS?)4hedV*`W~_y-uPjWojfeElm8Og$u~rH@*g5Qd01p8yG3?#`z3Eo
zx)VuU)j6{ok}E-~_X-z*9A_%DICf?j?R)_mjfPxU^30t(bL7zR^P|%fiO{0^^so<j
zWh)kPsiZE>%*{+qO(*0^6YvmHrL!WN&fN*4g7|#Vq!dymXhBN(7iO>$J8@`oA;fnt
zg-j%MqRx^C`DgqT!6;>s@r$|!-+t+hgTu2ENakFaJql8|<9~VaCqI1duWufFf5|o2
z|HA9T<SouRJ3AE#l>{Uw4)5D{U`b=BDJw2j=$#em_^P$QFjVTu@W^5ag$3Z%+34uN
zVTii?^69;2XZdcK+Gf=dD*&TVjK{=~G6-NzVG2rWtCR{&L0t~XRe?3uN+1v#o0?a5
z6c-eh7FJj&D-{4ibECu3rC<$hD5x~B-toafx8GTj$x!I;@u{F-DsQaH*J!A(gpRlj
zKG~4B6bSO&dDhNW8`B~!EYp%C=zO9z86avUt2TaWr_oTj`i5_R``e%H-0_*ueCBg^
z+;RKuyYKq?S2nEfvUhG@Sq2^~>(tbt*IrePPhRusd+)jLifZZEJum$J$gr~lqz2#n
z(T{%g?qs%p+a0^wkaj`nn}`QASkqM(O^i(O-E}LF$**ayX=tpksX~lg*+dtgH7#wc
zSJl@yw5+-8vdcPKJ1}X1j|W><_xiS$)^<Sn8p#gM3eM4hA8ykKh*-WJJ`zl&k+`!$
z5GV|IKA0p*o!OwqD8)uK*bx*fWPm5|-K}l7NVyHaAhA->T(+X2VU>B?7eAFQsVS{M
z_M|Ak8qXiSjJ|;uD%*fi`#uyN_4(3hI;4YnJZ~2^Yrk^<LpO~WL0zI(s(#X~kS(Q{
zB6p0DDzT8$Xe3FhB`jC!3ae{Mj7mAyTS|oqd0K5*WmEHtl6*rEtI(P1D)oRMW9eI<
zH!kH#Xw6KYjmE;sYzA3h11pUos~rFkM2l98D4T&R$jVH)Y){LY>LMfGtyQ_=Y|A-6
zj#fm=2eKIGby8|wam%Jn9i@5-0y62UfSV~=yW#5Vu2|Dh)+*B$Rc-Gs!MYt{()C59
zvsP(wIoe3G{-ybFDj`cbD`ZOV914U>Nm6JcX}>IuL~}-6+0+8Dxa)4ethtQuhWuGJ
z?bARD0a6^e-ii#R1@y&I{#m`5jZ-0vRGQ9e-swqz%ckcR-HB+xJ3h07&}dyO7EPyA
zDJB5P8IL=dgaDsPk2r@_b=6a0DV<yv_s@EveND$}CcNas*BKwd)WDlPivh0(OAPPa
z7;V;yWL+%7)lPXm6GL^COaL4$Q*KZc4-TG5E({(xdVF+j&Yd<|3alAY!Ev4VmPD$L
z1To;orXs{rVl49EgRR?F7Gd>+CNXAdbZU%hugL*vS)y&^S?ikOUUNDbjU_X&OcG8!
z3+IYj20k|fHQ^9IF|i;*#U+Z+1Hdr1`O!c}1x8~D_;4#aYSd~$CW}NuP_Rr3AQsG%
z%X;+`$ER08loH`4C?f@4jcX0(pU!{>m+y{-<`#m<1z>(6$qepq)|<kxN<f@rA{<_F
zk6@$^1N%5MbPf^dh4bf54a~Y-({qyxe&n*OYPF@L6cv<dVEl$$;jA7lG-j={f@LZG
zd4)|wg6{EIe+&c*D3VKLlzu-P%Y(>hckV2LI1&1fCb;I8Fnzm$)efE;@wgE|&3VJL
zuM363-024CE0OaJprz#d#qi>>3;{Vly^i`CG}g)hIDpAyNa86}QM<>%#k0KO7gWP1
zkB^`1?>~BBY;^Jue>;Op;o-xBGpF$>AH9se0Y##*F*1YW)3Kj~iZs;@*HwP10b`Dl
z=~d}yobmr;xw6r1m-k`v%5B}EnXX$j(`^&YblrF*jflEMGhMf6rt22XbYj)+ZqZEF
zEt=`X3>soi9gQRmpsLqpGPPSQoNjXb%(>IE>8xB4PYR?S42=|?>ty5Q<(yVAJ`)av
zk?8QuXIVL4GIwI%{{5#8R)Q&|dU*J)*M9o!Q?G)D!gKueIDKm#JXM~P4Q$-VX|?Yi
za!<^m?tOj$+C+RwbrssJX*J3v2%Vi*UA6s+wZP0Zw(RI>CRcJfNr$+T-2`c4ZC_c5
zN<&FO+dG6zg4fnJAoG?6J>(yg$?e;>Am8&0^0&PDmiC6mRqMX=*^THelEP61e9lX3
zEO}ctS_?0S2<ex;oJ|IJ#6wu709IcBjl7zg&NXfAD=Ny$DyvpDR*~%-Vr48goNVd*
zJg1#T8BnID$m9Zuanazcgo(<ylDNWXLc!DP9rk!)F^#swR&5nBA@H6i$YG8uiP6kJ
z)bHoC8k<E;C37Wm1oCOVL|4<^*4DThDq~YqW^-BHHv0{miV9S60L;jK4*EffB+4Bi
z;Ni5!m9@qK3|6()D9gtA5;q0=dKR#XQK=>;XD0^E^bgKpT{kx2BC{NdF%pT?$)<2G
zwbBJ&JVG_WLcuJN@^Z-D(Tzj!2q?j^K?EJc;~||zuL&ae^#q$JE93IyU<Puz;I-oV
zHd}8A)rAYg!$5~#z{gF`Ou8_+xn@Sj=4f3M_Rd1b)CVFWtqB7+6UCSf2C;_aOM-};
zV<`4!F~H~M4j&yjHR%Vf>f+GoA{pZ-Nx4knWKY!BbJ`B~LL%m(KH~ymWmska<BwGp
zKvr1dX#B!bb|K;SEG+tiPyPbM&0jk-xZ`bhc^|pBwTVVln`lI}iAL0l3a}cAMpK(;
zG_{FFQ=2GmY}$QkebFWwO;%J}RS*=TTGNDyGIW-e3Xl~;Wt5ZAKsp0>3Xnj_3>8e{
zX+GKL@hEB9pD-R4#qNCYPviAfRh$gAN|Gv033n1s($y+&^#F_wT0NRP*RrM*<fj(H
zX%k*QJIgJ{PB=ae0ts%oXWlw6FgRFWFRwsoRwAp9xWNT78?VRf_wVN@BB8oS%_%X2
z%FR@OjV|QqBAG7ca04|lB?EJkQ@x|CCXD5#0vJ>(9BrioK_;WRdLVp;j0=1(y+aNr
z8s%t5a~df^B~Bh|N1Qc}s3@7l0wl*(pH&l}#G`@~;uH*&xhc$_&OS=u1Y`^?ckl?0
zWQd6*^lh9nL1S!%L`d*f$hn~D3CtH6&==wxL#dcn8?9Jx<w2Yq?NH%Z(oazQLg?kk
z@qr<g(Uf8~#wl^Jf<%huogC{U&NEj-L0TbCCQk`z=qIL77Y7iE;M!$5X)=lSPb<n{
z`d~1Jc8+F)Qc6RjmIN;zIyV&o2Zmb;-D~<)ayHm#m-ms2TcgMZ8$~uKUgy?U5Yi~J
z!A6k{Hi~SpQDlQFL^jwcvO%*7gycY&&_RZOxCt;p-bt;Gq1J~!aes=MA2J3euUEAM
z+hfof&Y;5~Uy;QtVRuXtb^+D%u?RIhgfpItR;Oc;x>+_myb?BP$ip#HADJ9)K69qN
zUP0}xOjiGq!Qqv#wHj(`VHjHlH8!4#f6#G^yMO}0B~!~fR5T=}md0ewKzT`16ls-0
zdmEu?dBWmw^basGNgQVfzCoCnIg!AL)1J9R7LW&MZld^rSHigBph;4OU|m2}z_`HQ
zkE90e3V>;$0~l|C#*mZJu0ex{QzH6_fLBu{<IQR{(lsd@DvnCAgq|*h)u4C{gA!m+
zMp#q`i8$kO287xZJsnmfPmzC{lS3l1CP*n=vZarV2}k_Mj-<FbVQNVH|1Do4=4sd{
zvZIY6Uq*2c6u-4mWJ?=Gwj}0h=n~mdr^uEzifl>TvCBy{2t765S^n`ohkSA@MDnW2
zAD2&!hl#ej;=7#GiqJd%JIg=5XBGCo;}UFJFGJXdjqH1OjudX&^xaaVkFXECp$+RQ
z+sF4v9kg>Wvy<2iFs)!1;y$+5TWT=m!T01D44o*;b$)!0T!%Mr*=Q!-eeZIt5vb3P
z?e&%x7NRxXYAY<Ptgf!E{P-U9dmVDj=_DNjHW@#-kL~rMq^#5Du#%<OY#2-Ya2Ap=
zn3F%g2U~N<^NZ9Z=2`%)BeLRhYaw`xX6JKzy``DV;@-V`7id~96pDO&58v3zG_;x-
z|EY6W4+AGoR<xLi@8lpQjgs~v?n1bs_|EbVTw%{bOi<=qau--2i}NvpJ=_S2Wz>VD
z&k10(c!zh$r>8>%WbzyW7Ers2_j-*6>h>>s|K*>wk&>Qf;-jBoT`VI}kqi{5mw$4Q
z!_F~zCzD>p0H`yI_b8BGj%l1I@@*KXsLp?EulJYu62Ea!<n}tdybtD^+t!JErkEGv
zGLfzSfAK=B6ZuWCt$z|P1VRs7TN#(rD*M<DUtB7e=9kv2U5%DMlo&t0$8%COmab}!
zf)6ljh<5nm^?8bw>o5P(z3Vr0uV2^o@jbqjuD1dF&&$gPb|e4edq595ip)l6)h1%d
zQKLK_Q!ByA>i41|kP1h6bRE;qVN+328^AzqAKxRla>Yzj9aLlki`If-O-k_O8zH1S
zJV;o1)V08)P7NetVG)>RFcd02z6Vx)hef4C;yaU;%H*hBrvWz4q7uNNOo+HbG!`IU
zf%OkfX=5xPaVXxySSX$j$L6MnkDdTY4}~Pe5(_iqCr(dK0W~wnBi|iDxQV4Hh0(@8
zzK8l>@o`V^?9ums_u}D$2aoojI2DLq=->aRSC1b(+CMOW3s2{H07d{C5k9uV7n`Ll
zlo_k5%%E*TVf|x!c%uau+`<t6i2#)s?O=SkTt0$}3T`Xve8hWn>>}i)on^U!|M5K#
zTUZfvp?(Slc2Kww0p&mZE|UY=LQzhofCOUF!OZN(IKg^WyhkQ*$(Mo&thp7?#Z9wB
z5l^6!uGItAB2g)q=Yul4ye~IE@Kh!mBbB20pi(qOD)GAixBPjTXpD&S=jEdLpi(p+
zh_x~tMCv3`bZ=nw7J{w^oE2PVd6kw4PfYU;(87WJMd||J)P=@8R?XmQZroDDxZgj(
z>x=YAHtCCsim|{iE`rksSrw6S@~LTP#g>-w`WsdQL$dmY8?L|i-g~dVf&3?40LflX
z{_gu;V(!_(>+30Ayb{SUAO`B|$yU4o-2$9Eh`NYWtGkpe2mdrQTO$#m<ZLXZZbCIb
z4Hi=Qf-5ShY!+Vc2N`h!gwk?=>Y=aZ=D=f&LJ}uGf7&Y;o9l2g5(-R`QiyJho~i`+
zGr1)n7P5d~{o=r<4Nalmi(do!wM=MwnpdGKnL1R221=k?Q7=yt#(`!iqEcq!G5wSm
zA*&bZU|hxNDbVU%oO)~p5E7kt(~%|xdyYhZu@9)iF7Lxl&21GT3lLXOszes>KdGRU
zh$4bds-TE1K+6CaB*5E;Vb5U(@}MATM&MRZr~{Yf0uM{TXhGhME<4=x|7XKQCne1t
z#bovb7y%2Z1G5wsq6Sf2RtS%$1<Mws42drg1M#Jb*Kch{;J9Y%)~g`(d(~F-NocX$
zi$c@+{HP~N^tgF7Sf7_sOd2eyt_CbMT8L)>YfHc&l_e7CB}0hP9+ONoN<|#mC<&rg
zBULiUTlyBmjJ5#BT4FFh(e9O-2$oRs&`K40Hk2Y0!yeYwP=lgI4#f*73fxr^aupoT
zIZZH4>wtub1(v83CY?c13qdI$L|^eZKn_|Ga=CbYhH~S<Yb?7;l-0B>s&qsklnes7
zSYGeOQaI>!yJsk@(2WW!)%TJJS)$8RNJuJi(H`WC;-Wot*yVjWW5CmDkv*&yd4wL3
zJ#^r8)FZTuBE;3A2ywN@BZxW1+wGTDyd5HsAnxla45oGYLOQyHLXTu*1SDLj^Gr-k
zxUsH>N}uoi2+nFgiEx=gvoM3fQaGI`U71aICesMhm-)rzav)q!k#{Iby>H}iZz5JY
z6{@PDLSG#FflJ^E>l^cR8dOf`ie{NzJRV1*PX}4UfxRS~Mq_4UV*xWU0j?sraV3yD
znwxL$s3@!|uhbyE?m;ser59iR>Gy92GYB5+mysaKW7$;f+8b`W?Y7nITW|5qx^;*n
zr7T~#qM@Rs7*oFurR!yuB$Ek<N{TP%)It{BpO9=P!65oe@;FAy^dh_}q{TX=B);g%
z3UW2$ge)7CX5%PG2CDOTqsmfRNO5pzq~uY;<Cv1X-a=()WFRBtStuBOnPnV$&?O}%
zQcKUzSk>8rIJ_K+kh#xdSLZW)VKl4OL4+nkMb6xA0di~TK?k@LHjL|-41*ZP;|ZiR
z8Xjvxj$Moiymn#qAAf)K@5A$MthK>>q#7TW$zZfYWCq`?tlcOe`5c3oI?sf|9C|Ck
zbP!I`VtWcI;h-B|{)fyFO%pj)46?{nDHRJ#O1jNtgx<o*abF}xyWnwqmpP8)a&)$w
zC+G1ItYmr$c~dX3fs@JO;h03W7a{9UF_-@$xBA&)m-oS3bK6#tZEq3T_EwQ?Z^0|6
zZGV!g;TDl?ZxQ*r&7#?Ei^#Ucs~;01%QL7D3gr@1*|2W}4e44ujZDm-F#w()GdQPb
zr8$NjA7d=SErUb_R+zL$C&Mz2RS61fImO}Ab{}QJbpcaj798Yz-gy7u2Qd1+8S()R
zAyw_~Lj%kRTZKl6wUr?rRBTkQA_;nu-l}|)#bB{2q#?N6`INdCWvHbkJgx3nMZ1oh
zt4Jk|k<C`u!XK8&VlzNeF0wqTObRDbH7Z?iRa^ba+U8b+avCfX$07yYfHCDr%)kES
zuiX84Y&(%@<@D*)RiC=$mRmNf7xw}gd0NVYuLaJHiKQ*&y;T)py(up*EHJ>AYAnUH
zcB7}%=FKacn=twsYf(_<pfqcsy&F0<9fC2&P{BqX(h2z*shp0FDmp&oiKuUJDV*jC
z>C!`@g76~B5O}hhwDip;Dd<dasEh?!*#cE|$%jOKSjMZsc7p*T1vIU<Di)j>b^DUY
zBw$mT@==b=F{3wBm!P6vTdSs$Ncv2ob_KqhDeanookPz8i3X~Ip~xgty;WI8rj~()
zGPeW*2R@?OY!*-M1xNy7qj*XVB#Ryjzz8!M1HPLY5ND){a7w7<^#atWQYNx;6i2Wv
zx<`>N<+M}N6Bh<Y&S5Z3hsiWOmFzt5ajvuP=#5A=*KOeOVnCi%s&}S)soEvo5M$6J
zDos#fGLcvk=&nxD&bRmys;R*xOg|wcAQ%#j#Imdojm&gng7YI){$K$0xMWrh$6}Vm
z7Exo$k+Pq^aDD`<)=?M559?VLfW65{cSey9Z(;z}8={v^iG)o=da-DH{`U@wK)cc|
z@57+VZC8m#ptx)F>!K03tAdaUjKE!@*=3h#cG)Ewf#R;wU831#muLjG?7qYkX%*Gs
zYv#S-$OJeGvbYJ}DI~Dw=kxM38agPB9sAcI#AyK#UvT=E?;M54dtwCXpF$+E(Tb4!
zha?{w_QJg-{TE#B_dYy+Fo6~Gg%2)V5c>N8$hCkMp#Pa??82AiPr+f0lHcNB{*k}D
z33|SBK7z5;v0($ppoF2?xKRM4PZFG+>#ezF``VS8w(Z=s7BNX%_vXz79UZhTg;#gn
zbkmpbyYtRFKTB@lj1v=+lZDhlkiaC4uKdeiI0hvR^@$S`6TkI){JzNv{&I4jybt!O
zZ;(HcJ>(d9oxH?iq;3aJ^v~FNo!kYAtM7x8KN{T$x|b*D9uS#Xrk1H-%(;gaI1_=>
zzxn1{Z+EQ+>7X$3_R~*4ZR`<tLhOLj(Mz6w`mML@LbGh>%+Q5*-sEisFgE;0|K&2k
zFu~=Wg4L~E_U?5pEo;_wH?A^UI#ykI-KVa(=BnKVkbwm45J9JqbeL*$1kc1{@!%2x
zf{I!s-HKRsp*|(wxYAIFR#Q&W^0_NYdu!6EL`oye${=VsE<oZ78W~8mMQP^OY_2wA
zF7Xiq2X-@4aa9T2fkmrAbT)$mK7-nc+V5AXtTJhy$*SgSgj6DJ(@J#HM~@zrAUW;T
z>1d@#572RA<Mt*D7B|YOAOtFH*@z;3eNBN5$3Gc>GBb)P>d8sHzCtCpRMhDCnkbY>
zCkG-?Xq%}*3&_^_d;mYmktK!CKXCy8gbqm!BT!HpBE=sO^Wp*+P+0+|C#SX`86y)&
zDuywo49vL$NB1r+fovsj7F50y6X@a8A|#qvS{jIA{KWw((g=b|%MiF4G_vvxHPYpO
zP8rxb0HWh-AZD6EXbfIZ=uD=e;g^CID<)y27Srhfcoq^-+-ajqrBo$o?E!6Eh%quC
z@}^o4YMoA{Dh4qpKyG}^Ki@re_CVhoef!}Uj_mL28$EFXxHrkklP4g)_w(n#Eb?3O
zM-HuZHe1fskvto&Si)}S7}R9IxnZ;I)B&#!(#MYwdbr1u94P>BU`9iMrC>#s)lgtF
z<ZG2oX;C@t;|`>rRHh83lFOQvDap@?1U<GHW;F8rauxLRyXAf4;&%7$OX$mQ?!JV+
zd}8+{^yOzO2mzfx`P^>i-{{NF@4ke-{KD=_=*zoy%ldHW31TPY4$(}1@9s<J%grJ`
zQ*z1AfLt+W!1T$2+!$$FO2oqx?$8n#8^9|+Gb4dQBG|_U#=)>Und7fOqa_4vN8Ue)
zDJDw&eR<qJJOR9<+aE`^f-Nb5t}JF1kBmC^n5U$KW0V<ArcIE9$JYyj|A24q-4iq8
z6fM8#IdDMw$}6w@?XR!@{_TIf^IqS1n61YX4!`os>#u{ON&aj2qXqIIJ|!@=rw`@m
zlVbt+9!Xc%$^H|^kN2Nfp~sH(o$Ko27z4Vui-N+^`H^1ILrbH~H~*6|<$afYNA{op
z^|{Y|?yGk4xaq53{VZI?>elA+6&<Z*MUWOonmw7^xN!%09*@7l`}`sIcoN>_d9D)k
zr_cbdljZ_-3=^YnaL`zWNp?je)-{+~je~<6Bj`E#DX=r;A<quza~;#j6hP)+ZSG-&
zst^1Ina2XTosmOEWd@!M0lDG79=z|W&p!0OuIPa?h=7eQas_pA%vbSvn)xpCXzpQm
z*qN_!l~`zIKeHRX@~iW`aNXrEyim90_S<f|<u)nRQ#RDT@B$*zDo*}0a7h)(0Bvo%
z;f8CkM$7y)pF+<1s+&-1UcGvCTT63&Q)^3IO|gZB8&>P;)t~?T{rBE|_uaREOq?$@
z1L0}a$kOmra<3Oa9we8{$fKe^K#2+}L>D<3kgPHp)9c6!zVlwx8)m@c5(R;_s^k8f
z>JXg(2oC)W_r%ORAhQ3Pxc7jw<1WvIr_bqi_w1hSy%%X^b*;2&HpWG=jUD5H<-}k@
zh(jO=HxS~TGjdBD$W1OEC6E9Y92{bUjWOUVOE$LEtX{VFdV243pZ}aKBiXts-|zQ*
zv#>t9d-mw;%>3W?`M>Y;KF{Jgv^HnQ;m?8w3Y5m{ii)B24UP&APjGN7qft{1Cv^<J
zBbDmxZWzy6>=q+dcsdw#s)}#AG_ZqcC7~>(NIcEu(2qDstr<CWek8qkY3fyMpa#$6
za>r5J=v>p$*V5k5)?S5ViOF|kM@KAHM?n86G>N5ZOI24RvQmv3mM?+C_;`IKruE!5
z#2rO3S0GZ-5tM-yF{`Vp#y?S3+<aZ7sjL`QV?sLP_p?AXvomv(3$RW0lC3|W5e#IY
zfiR9Z8O1IEmq{>WDeOh!u?(8ml*17WU?MgUAz6n`haC=y<}ntn&nTG)M=q1g(y`Sg
zI;?Xz^UScp(1{d33ld8*;`4_Sq%R12&iVOx{Ol}>JVPismSJuQMyE*oEK5dI9OdOc
zq8zXowFn+I9xgAJXg%sTGzKELD%_E4#zw~{hKEO{CV^6?M=<dXl1L2Gu_)DLas*QX
zjd9^Hbl`~I)(E!cvWtv?N76Yml9n}@pj$%}voPAv<}sq{LHB?&<Hmz0Sj#_s_lH0E
z<~P6jzyIZh7hZVgThBc6;^{MIE)9*$jSmdY`?3J$<S#gVy1#!9<mmqgX4LV)`~%gG
z`)zat8w?*91rXh=tpyDRdWfUy*hMB%TPvaRf-Wuynu$CvM-gQ%Z-9y#8J@Plj>}3`
zoDl;%5E(FG4jArj&`2}lheSURW<wYwQzFwbTqy2Gl>VT(E?K<(hMv0GFmCHusie<O
zzCDkEg$P?~6%AfXL*!P?e(WAC8bsLLfhc_~4Ut=~fd+571{&<>TSbE%t5KS2oC;&f
zky%3)_n9}D2>H)XP7Y7|{h%C;OizpqesG=;a&Q?@m4!tcE0sV2uClI<3qz0!C1fgu
zlsq{rz|ElXf)867=m;7N^Zsy9V4@2zT)K2@z&rEGE3f?S^7%6-Uw-QYWNj!pKr$W+
zqm-9Q;@-~9d-mw2%F!UG;;9MH6@PcqDB#sfMBJ69fAuS{9$dAp<s}a5p2kL#z}A69
z*yb*F7FU;-;7UM6L$GF3M)PP!DxtaK$KHEyQ4aykv9Xl10Ry`|9pRKB^F3A|+i&eu
z?p5y9kBxcP+<4EnbuD#$P`SV3jxvjQ(=O_7$cO$@8@oHY_H4b5YQ|N}TWS*_cja&3
zO3dlL{?x&PXNrD~zvY!+`~I(f^{bCOI1$XtjWurE6I3*6wK{4VTd=>YT#s2zcS$4c
z>sxCvgVj)11ER46J*s?;7eaZ-MWfO%Gn3#*$ts-F+tE%aDN5%KHlFbkAg3Ow_T;~x
zpIQD2|6RNkp8jQ~Qo%MA+qb8v=lYZf>1PMOPVfCpAN3RZc13P<nQ%v<!H1k{(&;JI
zU@mbu@cy8KUhFC=t*CCPufX6S5gq~M4<c`QVsD!YV;5i|zV2xyjSvX^{5+;<8_O*y
z|3ViqpDz`1S$~u@H9H(_RdyZf%QYpH)%EMzYjJ~<S4;66#NzO3I$LmNWP~YBkwvZ~
z4A>e}xG~}e(T_1i13hF<_{EDaycL?o-VnXuEKLl7hr&ra7`1+cAR+}#vVx+c;gMTo
zV_hybp@V>*0XsGX^u_RWA}7<aOP(4I-YUtt!+-Pl;GvJ7eDA%JgJX-h>?an&MIHXx
zDY)2zb!4JqkMpLrPEyd~%H2p7k}i+1JrNoR5h)T<aKn5a$1$lyGzsl1TmiWJf@B0*
z0^$8ZumZClVjjiSTo$FMVg*saCghC(lzJu;16U44Ip$!aKLcdbxMd3jy8<)gi~ex*
z7^*;-{0x%nC>dd%Tl9lFCyALT%O~PxoaD;qTH880Y$-C$SIUPb&!0bkdBi9jL^I?`
z-dfp$-q7FZ(;2Xq*R{J)q(h*8ip`E^Q-6!d$Fi2La*X=MV^8w6JMZzQ(to25#V)6E
zfBIlIs{ZP8W3MN|e@hUTSo2UX%E)AAdTXC>h*~<ddPdq<q}4OJ8PDDPe~Crfo#{<|
ztBCPhJ5#O7^JZ-<nuSM!l7aPcG8vekUi1gUK!PLlfoWv=OEb7(Mn)$=k*X&<E0D4n
z7q(A&uDYS6#TvJgz^rE?z=zY58HJG>&yFC6r1dBP#iobOjZM$Z|M=9YBbTO5y!6sb
zzdU_mX#98YorE50J+3?h#K5&<kle1@@v;5;s}?J3aNpY5X|OMk{w|T{<i=u*FC-?8
z9>tEvUE5TG$<rPfnOO8KKz#Mpu2MHhzYxs>FcqCrrP;D5Abl7|kc6@pG8-JET$SJ+
zuUV_ZbarWX0_pPgC!f4@$+YQXcdT36-SsCAJkV6*ynC0rAALf9>)xLA8y~uRJFYp(
z+}3ufva;rk1x-iy%P+m~LbB=%DM!$2`q1L}qtD~-MihdKo?VyAVRup6*jxjxgwEDh
zs48Rs+|$&6zo)IGj@lwgG^>{?1Tg`UhCt{l!Ms2Qq*IiEjICg?;Z6o5SUOzBip-nS
zwx;E;@!$E#_%WT8$ENTpvAlfx|GAWIZGD<;y!~sN4>rP-gyR6T%w`A^+pH#ouGVI&
zbXsh9=_*XbVxbjNZlbW1gXCu_6+pQql3D~gE-b`J#DJJElCA}51%b7y1{eh*p0G<Y
z+hO%$G;S#=>8dOy!|>OEYiO^osiB&rdX!aTscbwpxiCGw7`=4r{r6|h0d>|VV#K;C
ztK_My+&E08w<sPAl&Q&6gR#WK*{NtW5Ko7Y7iNcIMsqkajuw|xgB=;xjs?_Ux)dym
zq#=c|UFft>38Y9=5}AYa#h9lCQz16n*|&f3+r{~JUdLZBm!<-!TFqQq)ECXpTqLLv
zn^~eQFO^PD=W7Kf6jG>4><vrJ6q)4A@HBm}F--<YbtEh*sW=3Az{DlotQ;YQf{&bn
zK2wqeAT*Dq3P^vUg__Ng_rqi{-U57;Qe~9FdF5bZfJl$PWz%BGdS_7D2?Q^VjzS=1
z{M4yaQ*)459v)vn^G2dGA*muBwPirlPLyNfnvL6V+D%jdf?q=e10)lfOyt$c5fAbX
zj!&n-SH?0?4@F0@Hc0n3;vRs|)o2i-DNnO02wfd)beG}HsmH>wxlLz?M3=ud7<74<
zF*J0RQFq`Mr>D>SdI)RdX*MvQ6A!9&>m7Z<A%q+C*wMGTo7FNI_G@s`GLvD4rfRlB
zQ#IS6!AUzbv1x|}Cutonv^|-s06;3zfX|N`Gn0uUj9<8fhh!u<5}-~>k};nhAICNK
zFSy-#$pm<rO0~8&H#Idj*U42=i^=>rN|;lq^P|9zxsaD$z{B~uxq1H#^;1bI%O(#W
z!7+HYrw99lH?nAg+<x0FH{Ep8zTI+_J~uZw8=_c3N7L(*aDy%F!$TaYbc|Xnc?=AQ
z5t}!!DQRf9NiuacQ~UOvyF7CF^1#K@vc;J?_Vf2gC^3jY<8=D>fF**~4Yi*7I|IH0
z!Gus`7Ck{^32rA;)%t};AAR(5J^T0fQU5A2pS}yb++R??5dZnvUp@QmbI*KBhQzRu
zH(FgKL{k@h2~g2$*Wn>X5->T1)}hBhmzUvi8SM5t$yDs18XCNQ5aa^B1sR=KCvp4p
zda4i`ETzSu`2uM(j0th7-i3#F6^FHmYQQ;VI16e|7S0CvE}4oFR46n#F@g0m?Uk!A
z@9%7?D=V)+9)~d;_MMwr@enRGCC&<J6V53MQ&1ensv}1xXu2^>&CMM<dJH9+6N7RU
zbT*+>1z}gD26&PnSuD<~4}pX-7!t$=2yU`CL6MM+NFXnu8kGUtqqNjr=8}!M(CDR;
z7ybDx-k)T1;$r$Pl4wUlmW6CI%Zw!%KXy+E*uMm5+N)4AGitT6qNYaXbF^p_k@d-n
z$LJt#t&|TBL2y91nuH!Btw7co4E$6qwkVmx@RnbIcrie=$t+i;SVyJPMCGx;MQa32
zq0_#TB(szKt{xjJk0E~sBc^8u0+W;PNT#82>hR(EYKQ<-)-=iAN0AF2?}b^y-UGrR
zb&27Vc9reW>_+-Dt853JN4Rm<T4lYORkr28Dgx-!tg;=N+O(D}kJ(F-&X)?O>VJ4f
z@I_)XVU$nwxpU_(4`Ng{ak?L~^kX9lk(yx;YDdfKfvSxIBQpypPF)z7#JZGhX{@mq
ze}#wSB!U+FFR-*yl(&c|n%^v0kE2u<q2737!}Ys&@7~k518a=WVHgLM1*|HQDS_2g
zyjEReP@sxZ?fCU<vY`nrky@REOk--Qpc)&`Uc!!dc<8iTRb)(grz3h@2oScc%=_qH
z|8@80@eod4!Q?b`zXbR4q<`O?(EI+lLqhf1bmw;Zjyt~p(>EZx@d8;?rI4?1LY)Pr
z`0{cGrjcqo@DPWy$Oa}6kZP7J4X2fpK+-lj%oI4!*jnLOT~+g*Dr`*6Rb^0e!2JMr
zF)2ip;Gr6L%}{`lbPR`CQkM%{VJn0T&3Q;_gyx_mJ-6VOt12tpCF?rtYbvp!LwOWZ
z<y$-O5bwk8aFI5xj^!~<)!Ir2C2M6a=T@lJ)~R!6&!0bcaYQyoV~G@Q+Grfx1&rpB
zBshzQ<N)V%T#^N~4V1<o5s*y54DM<Nc{7mSM;#QoR!z9L3-CX9ela3m&lg33LlVu=
zXn54&Nc8hGgF-}x7?^-EFax#Vs+>YY11nGZwxA0!sD-4l><BFY-v`jf*=Ja2YJ=CD
zm$0)iVU8&tHxn^%gMqB4EGrs#aIk?g5(yD2Coq7AIC$1TT9P_eoSMLfVkRY_8filA
zoSdw$E+yfGEGSm`fr_X1^$CZtK-A-QP0qSSvzi{!tfpJ=OycCaPm{CuX>!&+&1%x(
z>3y2jq}2!2_FA<ot7&pR9G{&A9|936m700|^=F@b{q@)1J&P~L(MOpYJNx#JUV)#2
zn#XX}mhxCpD&=-#zF{esHMP_s##!XL59PC`pT07uoqe@Wd6fBA4CqRASEjabc<tIr
zZF&RdD3_Z)l;S@5$*o(~Ytmfr+E3k2ee$YQ=iIjsP5heWbT@eMGzCxTt25qSHRHVv
zwF#M$=s#cINBtdPu@^GmZis^XF~n*<Kq2<<M<+ow0do8I@4car3ysUUkiP$ZT5clw
z5JQ8j`EdL8wQIUGIkBf>=T0p7EAyhWp#eU3R!wfCoX&$BOO+US+^TUOUKljn+Ukm`
zTBJsftLW+3z8zxPJ>~ck%-h<k`tq*b?F7ghp$J5dLZU1Rg@%Us<Vv!f@`fQ)A~%tQ
z*<7nhm^*e{w|=80X_}gEXuznTRL5PBIOpcxe%lmVPM#l}7@RwIZcc6z1W~7;6%D;_
zlm%=l1WxQ7(q4RtBxo`lbSy|@S-cz)DNgrtBF$uMw)jdiEp@x#$)UR{p_Zx%^~$6w
z2qOW4q^qt>tTQt#dqr}6LQSqZPO4f-uCud&U`Uf-1L5gu@={kO*`kGoSPbHSONka9
zA)svF`leWCB>?VfvVHZ{(`PSe67H#imtTg!=9Nj;dHC?;<lKxV@lvCs2Y*8G(ocUv
zS*4$<@#4ll;SfTAdfcsv7yC5v;**+qu@BF@I$qp%jd-zJlYRGV;>ErzvhQjwP#Z6F
zkW5HmA}EwNsAmTU-*^MOy3uiu5hW#TI;Jka_5osrEP#y)O-vE|M8cPmY)Hm)bI8Ux
zYHG-&pnPRkW{{P4DxXz8YbDwF^_A@W8w}b$1hK+C<$8qL)ilkKG<{04AyuC`wVbMf
zvd0lGu1?o`_io<Q?znCxWv_3&>rORqUXixxt}e-D&@o+I%c*;i=Lcomhtl^>_;GyO
z`qy7Q(DG+1Y5Xtl-HB%M>j)H2A)`=N<a7GdpO$PcJNM~NFX!~<4Tk5*8ony8uV25W
zyRE8AP3<JNceVERQXj*gjr{Id$?s(1#)b*4;^O5T9{`M$SHpu>ZZe@PT~=bVz;p;n
zPbn_$?glHr0$7?%^I!<oT;5Sis*MmxCsQdT<8#RPnDwv~v(Oh=&iZAL>z5lpl=&Zi
zc>RX0z4a^Ezh&1S^r8LtB*}(+3jqPZ030v?>S(qmo#JvW<A4sgyF)gj7MAeB`zM6j
ztyG#E9DMt2+(u)h!9b2^bnN1h(`4_2D^9lP3k6g_qX}aJG6)8jkpY?rG1*nDMF;A9
zl}K>HDnc*<A*c|6AMr6OC_x9N2BpFTxv2mXF#f8ZF~9^!&tozrgf9zFArysrte;$5
zhJi!wGF*Vmf@H%f4u_W^16G0&k>P6CaP;We^CRJlE70M>=xeVN1_gl+$g@lEfd=Wx
zhFO52p=AhxlUOPL1QZ>_h91NQqBU;r6AodytA|+=8_b&6;LyYdGoDF!TV@TGFl%Ci
zS%W3aeXGdatceX~O>EHU772h{<lvb_lvN}BOl8C-@yyvb&b~3*&upHlmiTzZwu)^v
z{pc;t!dh_WZW!9^B>(ScUMzWE;vGABdVB6<x3tx%((FdUS?cG^R<o7sXMBbvUah>k
zyjtJSj5vb$NpL<mpX_HGaD?gS@?-euXWUUUrs7h8R3O&R=<|?n7w1pmqn{~D6-f+D
z8Nm=M^jNewY@g=bY2)gHnsawM&fOO3N*uOdbMCY~mfJPwPK(3#YtG%4YxG!}X-22d
zLAu6>Dp+w+M9wx+>132Oaug8_S%{D^DHz;Jq$NDJfZ}wD6-^lIClh-LtFOVRLAgaQ
z<ddNsc5qFM#g?4$C!8pQwfKza9Terlz8S7a$Omz|ot`8Fw>ZW{NYC(tbC9<P3FgwZ
zJ@rKx3Cr>JzI7nImD`P(z<7#&thvg`M4hJ6S{oWc#br(e`}(epANv>tjN3M2pR}=O
zH>{JoNl3BM&}~KpaO<-$-yWV%c&yp{#S7@;PemwOG4?U$gGF1Ln3)#$n%x!H**5hw
zqMr4!2fnzIxJq*m{{FppeR&u44e~*M=?{0KCH;@&gMI)JMh0eJEr0lVs8VbyPQ3f(
zuU<Uq#b2My{N#T>^UO1cr|A0b_1Cpm9&FyezOkaMZNrWoWD~b_Ez-`m8*aV-z@2x%
z!2@$mJ8!uA!3Q6_1qJX%(poNeBj`eT8DZ94zh>*!tsB?ZqhQ<urI@zX=9*HoA~*My
zij|+fVN)MSsmn*#{zvXC?d|L8UjD|qb%d73ZvUh8#b0ON|Iy`H50!Yj86Gj|ypBnS
zfOKXUQovk{CS$44d?=Pw+kZr^E&<I_Ppx7k<BtjqHUhz97R+uspY)Q+dYqv=1G)O#
z!R9FB?G(F^p2z<3oJbTaM+5OlYJL!goVYG_E`S>)Mkv8`H083RwM0XLU}7?qija~*
zXkZ4=9)U9_*fR0-!DgM#te*?PpN&)ylEfud$j)Ax;vyl`7g79-!SN#jy>=8m6NzLT
z6~_#C-SB4<A!n=<Sp*kOo{eYo=~(XZ<^=B)-<=93=kafWI)&X`A~16FjNqLOh6q$x
zT)@9R0k!o;hM6CQ&)oF%e4N7$(q!QA=i1E-@#%K+Oga+shGUG}97|JtCYM6-7M-AE
z3QvL%#OxgEmKbVY1QJ<5g(e6hE@A#f;Di?gBNSGz29fbVW5<YGXw*Sk0aemW_F%I&
zLK~y$(0l@KK8&6W$4!r1I(BS$XmsKND*2a(PJ*>LinfqcmroB4fJ3yHWQ$zx3I}n9
zWSJV$taIs=2xKjSF<cIlO$g<v7@?k{K!jIKCFd@VhiAP>bmvJSmRvi6c3JOCDE)QT
zS!Kdl4EMCoSJh}9&j>#5Nqr)I<`?h!P7TGgPhwZf;koDD83})#ZQWH4TVMUt1s2cU
zeZnDxBlWmf6T7r(^PktmuDkI}f(h@|#QnQ9vFmP4+`n5ByYAM+{kt`>YmFv$nGTq1
z@bV<>QyoRt*-7F<G&k#AJo4(;z}a)7Tt0!>SJ*^h^e7&Ge`;`W;Nrz|XU;&U$Rnl|
zGLXFpa;M8xB@z4q9|#weQS1(9GF{|yBCI)_vZ=A+_}hnYQBGoL{$QW-rK&ex{P8od
z3Tf}fi&khU!S!H%{u}SS^vf51_OqY-@Q2j5@Y2!z@X*lUg_z8AbZnJe9UVXmO&txW
zL^d=Aqb=<)OlW9mlshtkTOmeJSzS?H;k#vPfM46UEhzTv-IT9_+7u#b*@hh0=)`Zb
z6zvs{_?ZLnWV`#p&&bT+U`BEc4nm;*_~~<lgBQ-6SbYR4_oY7SS>5K|-p#$6)^9r1
zNBxlf@@e+dVE(X=UN-)5AN8%`uOxT$?&w7sY2z1z8`p1Kk1}aDs;r(HsB!8%wxaLi
z;|O&T2FT2F&&4IzbI-xU_wT;_FV8>!qwoIx>La<sY1vEwbsgGJrj1=DSNqyEmeP*(
z-9`0vD$=g)bmB*3k61&BuVPmRpjk^tw~VSH`pW^#akHS3pm@EA<+}W+03{(_19xq?
z!yjjhONk+(!(867p$WRIsKsO`$kOAk#`qQ6ijI7BU42taGdRHT4V*?}E|s2@nOJO6
za>ZgePuWBoN_n8ya+yR5WNQq#bxZ_|tsUgu)t9Zk<<ooiZd+fEsdnCoeO8L7r0Z|l
zxM}m&zMa>9{Nqsl@rc705QS2yL77=tI4QXxG;cJ<{Sdj1$Kpm^EP(kBXkp47BEL8{
zOFF=de&5*>GZVuj(+Er`^QnVjsPkNy!))B>DDDzC|9ZqMnR1VWvoa*=ostU`+Dry6
zaF{^{=_G3=kFaHxJF<y02wdusICCuQ9Z^4BJd+^9B(oD!qi2%pqsgg)f8tw9hs-#g
zA<5-*Qn8q`mfUi6&RE1j9+lTQ<qn#gBjFnHIL^*`nQXx8LyRWAM}%jHfE&mWNQ@sR
zP&@XBFo**QXnInH#vUWNK=H}vt!5JA%wVN2Kax9m%i9Q!i^RLp{_X|4GIaW^B|C8R
zJWI?!$@eeuJ~+>zyc{4^Vey5RUj6NFUw!H4GMqtJ3G<RT4^Yp=2v|eQ>La`^ho&ki
zMWY~1LvI3)RB`*2whvlaILP-YL3&=@mKa%_LU*CB{7(mjL)6mo{R6ALo9`W1Wg`CI
z09S*j^pU6isD`4-fWN+fV3mpZg9EEf#P1(iWg>p}z$$kA{sER+@(iN>`M@d@u}l-g
zN>^i;6@m^cM-6K<Q9A@kGwAsebSp|s_*0!WJv4VQsjjaD;oWV^L_$gqjcEK9zHWkf
zp&3;ho#4V(MVNw$8?%Z9;X~&~TnxxkBSap;aj@4>7%VRX6NZpw2B#oA4eD0~w4k6Q
z1(fPxN=nS0GM&?@r%;M;*v%O13r<6r3lH__P<U3RnhdxrZDPmTwe9W2m>aFHw2CRf
zIiIZ$C~Qq-WNIvv%tRSaJ-)oLwXw0Zx~9ymZ^KuONdo&aWr#VJ0Z^ldC|YVpKi%h_
z^oBEL3`A^LXCjF%NB!#E8GktE#<x0Zf&_}BJvE)3Ab%;grY48-{`*vYZJCn}j=m3q
zD;_!`6O$)lMdeT6o{F*98)F)o%R^j3S5aNl)xZR?dS+qqieN(fbjYHlnm9chOvWPf
z0WpoA=3NK~W^1vCU)GfZM3$isELn22UT@S1UX&DOe8onOHMUSyf+~_2#&^7_8motn
z%t;X0&w0w?s3uWOO*SeNPxJN)l;s_Gm{N=tt$1(4K`^|$CQt>UT(L!oibW;6KX&sU
zeL_F}_S<it7#yx>Zfg|=OK!aJMzH#hymx#&vN(Hsv?zg}(ooB}#oXBA#4o$HfN8#i
z>XuqC`@<ADOYP=!FTM2A?=Eze;ylfs+P$u_#BLqKx6X#Huf?~fj!HEVh-ac%bo%t9
za_61()aZQJ*wl-%e+wQ4bEVtw!TYN&$DX>p^Ez0Abhg!$xvE;%?7Zpb+xOjgBMe7w
zxpB{pAG_h>H{Wpo7ryX?PkiDNx81OF$Ciy7x|;Ugj-T$|2f=RBO>2m!UN@N$X~zPR
zq!us&(d=(%Y$gLMEzL+fo8ePbk3;=NOM6$}HhinKOsXL^BhW!)(O0+IF~yGx9DMg2
z4iFb080{!>$d<U0@p28Z(_?AkN$Kqu0D30RKX>wRYMW|Kmz!H$3@)N23WEwna@bDg
z<G8Ss{umY$<^>I87lXaaWGE7Z2yrT#@ZzW5tZd4VCS(jz*QAH=L<^u6<nIK`pa3a&
z7l{=grdleB^#Z4m7JDe75`Y9zs)0lcPH_h9SK4OF_@jwrp4HjR<|H1b1e0LKiB$-D
zA%AIjcyh>_%+XWRcy|Ii??I4wPmKA2{xP!ZAR8?#iW9R7Ge8!RY;+hu9nE6TV`ef$
zbua+s>{5hssfA$#o2l5OV{+I{4Gnq;Z$LC$*J3y73S_rA7&9m+rARe{gNq1<@wvG;
zQ(c`LTfnLk?A2vu5j=#Pzqt(W4^b3ddU!@#a=zHyP)ej0eI)vGMHtGl>eBHj8u~=H
zP{G$OgnQsyh^?FPm64E6%-J010ah-8wHLvfMqe_YO2^^3N1P$8f&;5Yp=N#X?o)L5
zj>VXPa&q2NW3dos7Wfnb3|25ypckl23_K*7JjBHc!s$4h^6U_>22GO#(??%f%*93r
zNeYP&?-NM31*3dE=pDm%z=1TdSsI^>Y$8IgcnraBkv!Dtvt;cBu+0JS3?i1XNXSeq
z#+;nZ<gxOWOEcjpz60o0S#97wv|y1TF+<bfFNpNa%;n=K9DAUvtv)hkGu|1THj(IL
zaex>o_+T!a#R<aXcoa4*Xl&_4RL<ZLqf-D$@Mgfzgn0v}6BVKfNJCjSY0hQxc!fN<
zD>JyPQWIpd$qYJC4}xkS87*T)BJ~C>K75O3;>5>@6D53>(MHBUj^Bi4It}Rnq;c{P
zGfv4E-kg~T{)s8PZ#I_%WWsp=?99~Vi7bM<(_ywGpstp;Ca?p->`al<VSr4P9Xl}m
zG`EN~VvhKdc!dNR;8;NN$9W?bW}u%Di!7%lfUULOu^1$C?go6v%FRSQw6RF4A$$^W
zi~wS2=uarv{$#_87)J`>A<rZi#$^kGqP4Rq9nJA5XffG-vX`SE!UIEPeM&Glv;@Xu
zLgv+{)bD3z#@^^Btguh^35Teq<A7!da*w9+^rxB~$US&2*@1jgvjfrkUEQPEf!wRv
zf!wRvf!w3nfn2A_-r60A9a)e{_^=N_I?d<9VIHnfH0wYvwy|-fnK0RlV8SZ})fyf%
z;Lv85`IEnU^|jY7d)zdmP!khz!G@e<QGyf6q{BtXmc>rF6Q1mO??r4xypR@6PfY00
zl+P(_9Z2m}>;kgH#6>G^A9Rx!<}p8y*>`70hfM#|)4M=6hP@2+0$!iX!QWxgSPf2U
zd4BXrFxb%11JK{vBzNWoqqt^w+ILemV0>LirFxs;?Y#Nso8yWbys`2P;1-mXgVa?@
zia*Ta;GoQZ_TC5Xy|>rn&SzO_^X3X=^4)jeouf)Olby(AY_rdul)0R>+)nlzg)NEY
zhJ82Rbn74N$`bV|ntgMZ@<sB&ysm66%qTo%+JTM9wr#zew{6*ov1<G!XP$db-isRP
zG1xd9#mD0wcQz>~k3QO)d(-3b9HZ7hitWgE{_XkapZk~pDR&mT%iSI8u_<W)x237A
zz8Ki440>CLygFB1Pft%h*_o(EE!BZP1wcXOyW5bgDm-olhQY)I6+nI_Mj6Y<h6I`c
z0q;E7kRard4M|Y$BnI;t3fmGYhr$Yt1caQW<gnZHrE;+R0rwXhkSv7L5Dq|z0{Jo~
z^TpN3h{ZDa4aF7<lSv}br)a%J5ON8SYom#b+zHl)lI5{4;d0S<OfaX(3)8tEFh(Q?
z5?i^MY)-&PW<)(g1;_}=g$0>!+qQq-zBaiu&(IYWLV_qtMi@th(U|n(FPRO-@RlJK
z8S`Uj5=-E3z{C?N31qS&7P^p)qIwbbqdWn;kL^j}%nN9x@*@Kn>z|QJkw+F6Q_z?O
z#Z8GVlKlzbpAF7-op}9)k&D=y1jwlxow`gWz$a#dNGAUA(;#$RK9lgyVuM1qCFA5h
zb45;>{~0`ses<R5&cql5h*XZl9u9A5G8QYUg;O}$m~=urRf+f+VNu<OM4?hmP6w^W
zo7Ph){A;O@>c^@|lR=gR1Z$Z5@RP)i+pn%EB^ZQU4ne9^Du}%avAi%qIii!!B+>&%
zu|t`inx2^&o~QG;MJNTsd_ASqA{bQj*rt#SgKY|~n8esBD`o!Yzj^sLzd7Y`GnjTd
zdv<{?>Fn%;646<*JArCUWnHt}i9`Uosin{Ae-YiuH<ph={ayVYR?|}y{o|#Z3pb9b
zutWLlKH(6;mU{GSV%%3WF|J<|<2-mKiE)^dS(%mU*Hl@)ripQXrHOH0)5N&1X<}T@
zfz{4iN#AOfWjh#vn5RW#Dz@t|{Nu2STnaj`^NS=#E3nFB1m0}c6#?268PMZ}O_&a0
zOeFO&KPf<!V+#_&7DQa#f<RDygyafHCYIZ)svOvJBxuO5S2*GUY&!B}(*fDhS$Vr4
z;7YP&&rxSn_Z${61doZ+7u43D)lIWTeVN<ZeEs#;w>T-#39=a**=3wlcNs}(o4U)G
z_J*^>=x=G45q<By*T_E)PPwAgZQWXrZH14i!4n$1!`N43$-W{yF>+Ggo`5@WI7ArN
z8P+J$8O~r_m*xb{8zb`=Y$_Coc4{_BCKM-=W<Xs-DG~cJmSZlbl0r#M-A3qjf^T^n
z!8)s}O)|yH<<QrNQs|NKLGY!*8C!R2tCQ>+@?_VrePIj<cxV>5KeD`O_>&;8>FMb#
zf*BVWnq8cpjrrbq^2sM(Uo3}^Mp2Krx=ApQzdXet!P_ktRyPUld-s;%52r}+UYR*@
zVp@6l;WdUKjDn9x>mR=7o;I>8$dX+_Z(S*nT}cx*1#3Fm>ncjC+t%#bw0+0+9k+f8
z)}#ma@7}y=!*w0|Z^xG4_WifwxMj^+vI#)MQ#SzzrEP^xKt0huU)cm~*|4F90RJkY
zXAE09HV>Dqsyf^~&<HJdI7$ekO-21!B4{ZR>H)-9df^(CW&M~C3V|U<LEko&#g@TU
zj#vqGqBsj-f<!EhDLVM?VE_pJqX|5YlVK_Y*4#D~*&9UMLxAx<Z;V`e(0HoIiBLH{
z=uCuZvzg7u5T(OlwVBO10_8=M-Yjod;C-FqM}g$0Ly3$sF%^iBA)%J8EQ>c5_6tlV
zAMhrSCI`_o0q~?UL4w?gZIBZsiES!!cVcofvx?jy2f2a#`>X&kG<WghEK^=CW)}g?
zW{XOYezW6%>gHm5nOx0a4u*#uiOp&R#|Q;`9?CkoTrdo8F;cjaDp&^6P9`98D0-uE
z1F>e@pgiGYMImcbK<0^5Mj^=DVdEI+2KfC8at+cLHVlxt01{8p#7@<eiUNu&1t=ba
z9tDv2W|1KAxPNwZCbsDFqw*Y0f-;N%M{~hAmQs{8H#IexXmSN0LyDRCYy>xO0Dt=m
z@(z|Dp9!%MpNE}#|NRM%Bgv5Jdm}{6fVJVaiXVFz<S&U}*lfl>BX38+2k04>8V24l
zv>|hUGkByB-4qO>fn|m2IOKhCxkNgPE=M+*!*3Lnr$`ttBNjAB-<XnxX;GSBYY4TF
zxq9%p%Rx0~L2XUv2{oL9oi}V32(G3HnBGnt&P^5(Senaa7(ML1lWz-{#xFKN>Lh|K
zu0b^DS%C->xI{AeoAP05Y#BR)aE7}M*cs|Gq$X2r3no2mXnsB|*O00Uu@KkOgM<F8
z3B&pZAvy@GoL|PucKmGRu(Py|G2tRYHlZ;w7UbS1mtCRz1>F6Sg%1W{5bJqLuNc{$
zyZo<>8lL?3rv#jy$y5LM{Lc$j{A;OhXuTFcuE{SukzWX}a<?YG?9t?xJ(~QoTa#b*
zX!48JYq3U?UknFU^Ghu@)TC+;5IyftWc48KVu8jrz!@zT6vBX<g&7F!PlOZ+HgPE3
zJ1`WXqUG9b4z|-OTs}3h7$<ldfp9^Ckk1#4m;sT6WAB31JOM^DG`WC?+ejH4h`2VJ
z4*B`Ddouo;n`<q)5MBT;W8avqC@-%l1I?BymSkKjSwMjpr3^40p(>#PzI-A)QmC{S
zkZ;NFeZ0mo_HY08Z+rLdZPGy8ZZaSx(ZIOESH1>f^L>zift!a0(bg8ho(lzaK-!kZ
z3hb{q4!1|82F0$&TLFj_RMSPL4)Qj%T2o&Fu2>H)BkEE?Pc6a*shb10njkrctptWn
z^t=YD+Hi6e#0yz4fG2EWv+9chpeC09YAw$jNQoQ>wbWta(N&295t=lhv=XdG49x+R
z3NAuG)TJd8RuG_QkQ9vpMQiczl5#k(s5cNzLK26^HHHwt3j9=!ydk$_kp(|#uf@ql
zM(SP#owYp7oV_aQyl^2vVIDh!F~CI)&>T?j6Q@%aW=XH{%qx=V=NKG~71b?)%Ua-2
zUJ3hXej%1Xw;8|?HH>VK4D}?F1Po>h7YB$^P@NN_8Oa0}7Y&N6WqA{+Xah!$&%{zD
z+$5+qL^Q}Th>HW@C=gG+v!fC9X4Qa244<oPQbCW%g{`%j%(~!%2yf$me^<D82qGZ9
zlfCa3`h-JRit6!24KDl>4KDnmX5Ib;p1A?*_KTWz`$f&V{eouQenGQt|5&qb|5Squ
zoBCF9VT}eCZsLijEQ4VqX8{*lbQ~5G4%NIn7{o#b^H*d|MzbwX=mnw=^G|-zY^Ab1
zyq-}VCC-NBZnY>)>kL8Uy%<mYQw5LJQCVpN2R?6Bks!*?n+ycgvmLFiO-o47D&~-2
zM#pmY=H}+nQGlYF3bzHuH16sQiO8hVd~^sM=?a1Y$AJNJ#N==Z1JbslQ4H448)OvM
zAf}`=Y}rzy0Q<RB?1!52rZBN{j`6r16AUR(LB*y5|5S4^N6ek;>xYMjE?pWLoA&#H
z{t^LCGnBQrw^k5g8=yW4#bbSJ8TIL+bCeT9R>ctQL8S-m1dL*Xsf^;^65!i3PAV>Q
zCSbwEWx&@9Sa(;Ke&*M|{`IZ5f|vd5Pk-^s+m|j5UFtF8X`~)}?+&Vq{DEnPLc^?R
zZWZcHAEnzLe)!=o$S5QK;15g;4EPijenZO;Z(~gvAYNG~HbC7SOLgBqVupI_zT0lU
z{q{fo)7x&_fAj9`o7SQ(+_VPI>LC^0R#M^Zm#PT3D?)|0g*b+;RCr6tD1C7Wgb82(
z0Kq-NU}hob0+6=^>l}7cU(+5glO6s2#Bzx@iSUmaug+ltvLaPpnR0qIVJZ|wwfRse
z5=Ms`Rtp&GK^)-?R2q#cqWzo3<OIW|U}lhw;=;u-foC<q+qQy0KdS*1Tr}hW{nVl^
zqr@;hYUa~&G0JCnH*nk~@GnO^6GT$I-Gn(X2nt`qr29;0sdyVFc)&@=vFkUR!?3|i
zr5Q0A5BoA?5}lN3E1gIb6$I>+J54&p3$Qm_DARH|AMBdSjd3FPP3$HxQ8~wym1Vpt
z$U{AL6ALr~kY_G(8fe}8a2k@_uv^8SM=GVJSPTKnsMqnJ8R!gof_QkiAYuYPR)BY)
zre}hn-4$C!haih_F^2b<WQmM6_Q{HgU_2~O-ExVQ;JS6db#`ZTK8OlyCblpR9STV9
z6eFzB(A24EsC3$Z!1#2bu3D(2qRzWqOU;RRCTgirLSZArr1Ws<m<**B653!Bo(HTu
ze+lnhEu3!RNV%CM{uQwFfVT!}o-hRja{@#nBCw8ri_v5-=!m9Ciaafg39}d!G~j23
zt{+ewG&9u-DS=Nc1ig`@(vJiBSTV`ZAl8E;vV`3>nE=~Nx)g$jm|v=c&I3M71hQm%
zIyHs74z;T?m&Izf_|kY9sd$bpAU>%TPX-mwly14=sWTKQgh&!nWR>=Zz-`1J`1p93
zU&d=sK=NOqdAlPS&N7fvdzzyE5%}{7U6R~hq{t~#i61`!4=IH;kV0pYgR8-hpV0XU
z8-zl!Q>J_ceWopa!Xbol_1L0``CBwG|0Ye$--2fnthPlH^S5YX{uWKl-=c~6TQo6$
zizenbXkxw=t5pJ|p>{GmJCAAMffLJQi=_hR6#BXFjETTwBq^Izc7+PjN>R|PL@D!~
z_pnL+;N0chi{CDADPVF|C}6&i-}KLnPft%y2W68=o@i)WDpghjkyTVzl%acBG10n(
zU^ERVYr=1S>h?QsyX_Nqeo8hi(Ib{hkp&#4@7=p&%l2)Xd*8ShVT&n1G@}NP-9{)7
zry$1kTk4nic$IpcIwhM5?1$wdBgRBG*EJOQ4Z7A9y2DaYaU0%5JBp8uP%V|ASAP{2
za}X?+^i&c~1F^}mg0opxzeHzPE*Uz=DTo1G#bQ1gOC8Wsg<uiX2rGfTTIy@->#ECL
zww_(fgaz!|NKLQ?zd0Qus?(uK*`zWQlEI}KU?t%t%!A8{En9kGpg>7j0bS&Rr7>lR
z|7Bz{CAI{&(9V}DQQaFF9vvT>n3|5AzCe%{fm-v0njX1e7tdW77`Sl$f{eJLMOl@A
zSI~+|;UlS!1_|KOAgm~Px5P1NZf;t}S|>b$<qBOTVGoeEi&R=Vx=b9v7dU(ndhm!Z
zzxl?YL$AO7vTRyn3M^INDpe3g@Dm=8&r5|j^($xrV|Vl&04rPxh%$RrT=hVoa0tsr
zJ+wWAPifZJA8OXvLwII0*4P2f8atp_V-IN7*nOHc_JC%MJ)l`*T1G&b23K`2;VRVI
zFqcTB99A8df;CqpoXeL+qX=E)hC+c2aB9|1Vq>Ycz*fA}<3D-wt#jvPOG$|eqY4Ez
zz^Lve7=?mb6PoxT(!>wpddy5_vTJ7Nup3(MEL6}6eflubT|u9IrGnPF)TjU6_dGv+
zR<?9@Ruj-f3T7eFi0=*-Koc@8G$U2eWFbZH4)}=0d)ttZ{DBe}s{096YOf%}BFl~T
zl?s^<odfc?<38Df-a5fZD@C#L;Q~g&?ku7dI_Xt=?*G)Me*eMy?w=<zNB4v9d1;`B
z#}f!TLbv>{rDC;P4s@g~giRmaL%oEL7pUJ*$7BoXk}vhd)#_JQbpaY(N2*_KHEy)T
z*Y@q(w{QRc+wa)-g?;!o5YZZK&-<WMvE1`+QCr-^LX9-Io12@u*8>m1PLc-@TJ36^
zO{*JxBMKgIY8e56al6vuKG@$?Kt3pa1!9@J2x+(^X+l$w{Pbp^u<2XKWRs-UMHJg0
zP>+fS>0$%$P-+(&#*@hYJbDQ&MRwT&w+!GMNM<bIoNn0c5S)Y3)`TyaGowizr3lqV
z2!{qUECh505}D9y7dj%96>3=~9i1h$tSPk%tuwA$_wkl`*)ljdOHd8zGFwQOxqAuK
zKoS`H(D})<j`oJJ-%6l&ZA&DPc<n-=Rz)nGqnH6-sZ~*G7ukp|vXIBH3d9y=>`@H_
z#H{p*35aPU#VP9|+QjdYHZjrrSws}E1%qh6>S--@nO?;%g+8zaePDsJVCwP37aue6
z04yWNmjO#RUjQr|M*s^1dH~0WA`oJ2gz-fIP>ApovNypguxBN5PK9cdwv)?=h`;kQ
zGEjhI(3Y3F%>{@;%1a;<(`ePkX0c%y8X6fEPLAMen#{gD-po=j_H+T6kX~#WBHM*t
ztY9oUeE97{zm+Yd{i<!YKBb4E3xOjUCHGy@c35t<{@^Kn+F0ndD(UY+&U>ZZ`h&ur
z^X5L`5W<~$+^oSLT75`uY`huIB)y3Lj6USen%JnV6>0S$wTeL6eru!CGUN3sm*2l|
z;VdR`g5GIxZ&B1p#$q!tD)Pm~Ca0!}pDM1R1lcMM1I>U|Gc#&q6*vT9^uZ)YobBXB
zAd-t0b1(kG&wlpIw*_JB;?c@wJaX*V=`)uX-UMEu&fv9<AD7tU$8|c%rPEQzk2jzh
zK}tr`(}B^TP6yl~H)iH`*T+s3b=TC?wNJ#??A+vsK7A2B97wB1i@(e2uuz?Nt<Fw~
z?d-&j-~uG<?7T1t@%*Wgi(9tr-gW~`->|KBiOR`7Y$SN)8_bu!1o<|=7V6J;Qs1Kf
z#^PP>m2TO-ePeGLKVt!Kup|3Ny!t~AN$f)pv8-eQndYH~e)RmCM~)nR>6ty0gpY5+
zLHnOkN8LsJGsX{}ka03Mx0mW#*FoNOjm6cqzQ?iLCPg*Awyt;$5DzqCJ!JF;zFA9e
zy13XEAoqXJ2k+VPTAHpcuOO{b8^{+Z^CacQK!OvUhVn-Iyn#Wv)euR+ew>JQgA!sh
z8Er1iRdaY<vsq%zX3XWfV9{bWr(<ZG1PS3fra;pm3ai#eARlX;t!K}=b(?pw8ICVn
zh{1A~;GX)riYiwTM1yMKFzTV*Zi#ifAyDjs8<X1|Spd?X^nyzsWPFfp$wK4@R4#OJ
zCNGbTjShl@9at2gRf#x+d3L~~Kx}q?!As5JwV*?(>L5!loW?*v?Rx?fL7goIYa}2h
zxe@5-jMw-6Q5Z3u^#dE7UBN~p!=rH1diV0c5cL*b3$n~?A^`<SF!d-rSgJ*-$f>9Z
z7)rL&#z@{;u7^J#tJn?kV9bbyu?IYNbQNuIXn-9zUWiC*M<S0SQ-N2G{(=EO(--hc
z40J{1Mj)r5Z0YDpWWTc(>cY_v#N|#Vz@KlCISX7x9mmUH(gzyes6e`qL57BEE76yC
zmDij(bL{kcit^s+Q+O?-6*Mf^eM0xiVKwMUT@X3~h(@@nolXcOIEx_E^p6z%4@=h_
zA&M(>F(2*|4j~w*#~*1T$7eLC>d!T(>hpMJ3nIs7HK^*d8dUYL2337d6FEMuK~)d`
zCs5V8EOd??b_2S^VR*AFs!dH}6~0#_puT6f2v8RT;|qbhC;%%ihf@b+Wg!J9Bq-Rr
z&0?O^2BbxlVNz*!wUwz*XU-gc?N>4gl(vHgweZwZdi=!6X{l*!Oa)sdyHJd3FLW=h
zVK~~4k6a$Qv}Se;-|ldtL)uKLPBj>*T^u=yDa9H9u4Eb&jHs|$uF6qA{;|9hI&z<r
z5kRUHd7WBuItL-tc8u8f_6CXb;~+_W>7`;7U4mLwYg1KiytfI|<OM&#mIY`E1&5im
z)!jOWfgZ`C2ucJVUxaU<vK#@v?!5D+zWp*GHXbzfSWsyC=j!`E^}z0ihMgEqezF`h
z3!|eye-qyiFV(3S$l%^}&z-w&Bp6J*6Rq@9mjS#QfT-eUKlojwcGEq_a=BxQk~8Nf
zQOg+8R;l(-ui@igsjpKn$}GWQa*tYTs_krTYwO&-`;kYgOHigNB4R;nm&#P_y=uep
zrd#)Y;TBSsYD54$D76D!6=QI}sMzT!uBm~!vS=?UudUOzA6v^>TN@fWfybbc1Hnj?
zV~u7~txyj$XC{=a0@rYQGM*)-P^1KPa9y4Z>u16!7Qp2Q#ReEcXO#tf&yU~+`J5!w
zE-?N93>KvH_;v)$AgL8VD~b&knonkk8YWOSfNQsi@ilU@73hV$=yJ8JT_>{yn91wZ
zN|JxF++At_Dg#9b_gm&P_H)BaMJSYj(227<iv}}<mo^C(XQ>r{i^MR+<S6r7EbtV?
z&c^{xBeU9U)EV2_Zo20I8RN6FjNIQtMt*EC!U`o3(;%P&G^2ClTT~>uFp|-;DZ*4s
zVuq(EtAaEgrZuZc`3OZQIu#2VGZ{$Sq9%h%d=~a$1-hR=I87JMejsB2+@Q!vwRpFE
z%2y1(#7#33L0>SN@lYrFl)tLP4`xOS%s!Y>k|P*dhHTWNR85c=fGY+nXOyWa1w95m
ztT(1?Zm=#?`kuf8w!LuZoyTY%Cr&LGSuz-sOk~m7B-o5Y(}U;fCFn*GkQT)roAD7j
zVpy^IBn$8u1F8m-NyWfF7Cdkp;U$N{70OJcS;&cVbH3mrfp3qkQwv2+QMBggB9Rj(
zK-4#xs!MU!*rgg1<;VISo0y*wPEL>$Y@tp|)j(x1nJ?m_-f;)ZI`B#v#thnzSp(wU
zc;me@@5ty}g5mdVJ$lP3ax?MY0CM~GGIIOoxAmDNmRz~%8$fP_pP+X1%>r_}t4}zD
zkg6W{Y2xpln)v%in)rJso=GZ4cWL6Uc2?&Tn)rLCCjQ=~iNAMh;&01=)oy{da@01x
z2(P~If)_2SbfMcfF$SgwhKZ?x=iWMlc3*y_jARBjQlL%*DTrwc`hH>}2f&f?CM44j
zFTjMr0jDoGemUjxch7m#zKPT42L=bjg$CeTucOLzVPGQn;!fpm<x$fQ(FIJcl$ppY
z=a0M%b=|k#2SY;^{i&Jh>F_1L1Y>36zhlz3Va-zAsjXC>BkW=Df;01l#voYY>XF>B
zep{QS2!-K0BPYT#def%PdI~*4ao?@CVzan!pJbYfYMX@S4aKQBw9m?m>G(<GDosxJ
z@udT<6;D%tK|N-?UsIv#qdc&Jr*+n^eC2Cj``RDeLZNwh1NA)h96p|3{*X*ZW}pha
z!i#IGEh~Z=5?Yt8B4eSO2wI|gIM#KoZPm0BuU7>dAmCP325A>G7R82!dbAuH8YB~3
zQZ$q})KIDm)vUH6hk+N3MRqGjbP65D;u3f;f|$S-?dhr`lR8UmI1`+sao7kI!)Zr@
zT^7UM1USCAuw;6;Q$eK*oNO2qXXLi#dM9)tn`$d->q`nv$JP#v?z<dDq2+78w-a5*
z^itW&MP4<psIyWHwR7k`irxvV?>WUQ^-;ev?gI%rNviUs0ogX^i>2dXb?^izjx-`?
zrst6o;Vn7w_UR#XB8k8@A;O`|WKgi1_Iekg1Z<H-*e*jaHiD++;VDufBdeNJ$l5-5
z{YT&V`|rJa;<7)y)R;uAA5m^_DDuJa(<e|an_DWELC9HjGzd{((wIb}Ln)p*H3-RB
zNC}vd94VevFSRJ!QXs;kKZMODBNkef_}A5g^@jpcO(hLRvj~a#kSh5VhpnP4;x9sF
z4KB7OJq*283u|q@6ifJ!aD!$Yh2|wrjCu$sFPt9LbT7}~UdUz6ljh~{G=)B<c=+%U
z@J$aNmP{~4(ljzvbsY2tXody{tkBG~7iw>$0H@aB1m5sJ3-`=Q-R-M=!XX45_4q4I
zg!&(v2=$mILVXp_Y(<3nD@}y@D-A;YiY7w+r6xjsSrehYqKQzwnh2$>yY+7s93?gr
zhu#Vi=5rf3$oGnvLMthDz}G2hw}|j(!`45YP3R`4XVN(iPh-3|i#}vv3ym~04N>Gd
ze+=%yRu3u4tqk5Q73COs@-7Zb=7j)VAh{V*WU^)(V`*AjS7x+X?WNdTURSKbMhx1l
z>1YCMRBLn?paGLV6STi~>?Aan@id`OpgSS8;WkJgI|0-+G+))(S%tNRf*nLwvL=Eb
z3kAD8_tsmNFTNs~&yK*8fYj@pVN$Q#<`AiPhSw?JP@(*S>OCQ;CPjS8aUi^<IfJRT
zv$M0itD`f$Ytx!qH-{hT3iLJ<?@Tm{pLBLMRvCd8;SEJ*W~f3bugKs5n*8J^@4WXR
z$?P(sl4oD3<h9oua&r-#B^6tkCSvQOYWGu}k%@7|;NxOOX4j`s*?Zug`v|JE{>2~c
zRm*yoLRk+Z)TnX^pZR@ggWtZ}jmv^Rn*!gh)J_%nZk;8_v!u-TJAAwj9x+b*8aI8<
zJxwbdw{2V3uW9S-*>K&4&09!GuUTz~76xIKs(x#BlByrtp*Mg2?%QrqOMa>qN;~za
zByFM@RV%8*4H7CDViDDum&PmVf1RCcHg4Ip3EW7BL!E9ZjI@~Dcza6+%F<@cEH90?
zz(sep{P!5-gZ*BZGGlx(h2p6<E!hbbe8J}r1wmoag+hsRmXs6HsT?G#p-!Daku^&;
zZAQ%5w-I)m#SF|QG8md5*7A%x;Q}`<K+vVyAQo#TBT8nQSt+pIl4=WdTQWR4Fg+KI
z#A6_{jSNK9mMG>~MkdCAMoFnK28_xw@o+X?Qc{}D#8D?q7N%8-)qk5WBeJ$uVVs~&
zz*3tD>c0?BSg9L|7$C`{ZIZdNQ~~3S%&C}3*>D>pm>pooAdnDFkVE9i&;@Hn|AYxA
z7N#<K#ur3POJT@a2n0eog{T9wguEBSE?%lq@~Q-RGzp&sLU+Vq3ZcKD2;s1*B}IkC
zFi8ZK-}nV>MbT~m#VeZRbX*2(8EE^W!q|)oqrtQYxT;ndhg7(VhX4HKNz?-X6PCtI
zrX)$v=@(}a>4ygMk~+M-G<D)6u(eQaG`;p3#vUc}882#6tL4URXa=FN3PobFPr$(v
z-4q(VPE;S^K!_h<{7((|!Th{G7)=m-npHg(;bP-4DiKnegsUySeb7Z%Z&YETL}k5k
zA{qwMlad+y$->A;f#tR>l2Jr1n`Sr&qhgnDR6D1I2@;@MQkG1pWy#@@5#6ba*e2$H
zdefv5zd)SraHdhP93GyUj}i2WLmd~Pv?a>l{`S?EU%;7$F~)e9OopiAAf+WJp27_W
z6=L=G)K4N5Z`l&i?eX>%Dwn1?n>`gu(;0FK*e456I2L~5JNl$xZfpr+U?lr3Sc-f{
z{Yhqa{QLccH^cV{hmbndgV*F4UXy2dO`hTLOo1}u_g4ATye7}^nmog6@(i!ZGrT6x
zTub>(LN({0L~$#h4CK*vd?GbGJj{?!3GzvOqK`aMpUsm;MdVY5bnw6ZH}e0V{Eh0n
z9whJ8PChk~PoF2BzCu1($fpwW=@j{Nh<sB2><D?J{@M6r3p*OE6Q0&TcD?30eoS*6
zi4&d;c%fT!9lJHxv8Qi!a<^M^9eXs_QR{@)tm%bUYx;Dhdi^V}90^~zOx%|g1)qj4
zU-ZB82KBzgW@lz#6adPJD9VI+kx5DvbiwWL==qZJCA&QF>@UFR`E@pnPcQ%CXP2Mo
zQ~t6aSD#HDJC>BVs$vw|WI~>a2PF#j=p0vDd$ZEp*VnskTRgsPTkp2s?fDz~sQ!Lx
zhr~_^0z~k=v#`6A5ifWX^c;B^to<8ryn*@&d<+j#e}|8QluQwSypNIps$U(X9*4`#
z59qRf2+&FFVT<Lk#GQTr5-jMj|237jNR$cYK_!iin~K-2TL;Wxx8oCz;*I+u5ye8;
zBLe$O#G#x_e64sWQ8KasnJB;^mWLt;9nU>hO5Spd)lFtP9UO_jPFJa;sS0-mYXbKQ
zuaE<<d>o31<kw4s!ABmsrM#z=SbRaWys@#VV@>_Xd#ODVTh!4}Bys)}u+`%<CtzX7
zr96N7^k8gan%J+X&R&Rd^B2!h=Os4h_vhf;i`2oX*C7Xu#+(fFokELc1m<{#(b17%
z_%$4T88;yd?>)R3-SX3ONoXtL{U{2Ar70*BBVodHMLnp6K@de)9cCTiDXas3d*vTc
zFq8v(jCbhMCr_eArqkgQ4(8qOL0XDMsoMq7t0HJBV^%7cO@t)~K+8oiECbPS>A(Z*
zav;j~7?;KFH70Y&-valzjD$|*o}_4e_E6RMaWV^uXc<Vf#H@Q<jR{SC!XYdH_2|^Z
zy(Z0i>C~*3COp%D^-`}{FHM^D(xh20^_un4q**Ubnz&c2Sua{|FIYhh4!#+HhO;E%
zlmCt1kd<PM#jFzeOscmarO06Ws}4B&p=B4n%R807R31@RN7cdtOq8%EBZ^!gZ##m)
zwQG0gpctfj<>jvb3u?2(24Ox@c*#7ZH3b<R%+G%wtrUHF*%2?jllm?#^aH`M!_CdZ
zu+XuA<DQi$v+PKvT&~;E5-IrJt-bwb3O$t+L~V(^n9NmFY}!;Uix?2rAz3j3)X4Lp
zc;az~UJv<iJGfV>$(^IKiE5Hq(9*EqBPNhK-QzGt?dbTu8Wer?dVH$C>n3V1#953+
zSR_K2jyO8u1UPcJ+1U{y6|dgQix)nCCJc*GpaBjlybSSu@+_G<7lrJcBtm*_`q<mB
z)nu*l_|ln#l@>WU#M&f)!eodeh@J6|LUxqpG8s<7){s=Q)MuGY0|RHc3rl8l+{quq
z!;v+G!zTF7z_kj!Bq}4r#4`T`h*cbAmL5Y(Lk7x!T&B(0CpdxCQI+_n*DGUV`}l`r
z_Ik}dsEyfL{?dOXW^3I`|I0D^(n4(V8ZkRC=FNOKW*7hB-26M&j@QF)UV?<(hvN0t
zp8G!Ye~H)h!if*Z>zfdiAAup<_<t#6Gavl@M}+L|_D$Qa5we4MKL+yt!;oDf2B~X=
zY<IQWd3DHcx6bp|2-)qMI;yV@*)!p!_ZlHPx)Aw@kZp|WbkS=>ZQAFfKO$;FLwxEQ
zQ5)n+`$t6W^Fy!v@)}Xw&A2-Le~;ST|IMh~^#3MmPbMzC{h_GM2ak<j5w+j({o=_!
z<*OeVwe_RleB+9!-QBeBlOKxOA+ye>joS2QKd}ok?{8ltZjV$r&R-F?i|q|9ACB7s
zm-r9jwoP%=e<*G%rk>{2xLr-v@A^>OR!Z*OeMQ{%!uj<>ahr(^EokGmZrI00J`}oh
zKCZa%w=ae6NNi#D!=W2$&{u@+p~=IqemHc;Q%D2<ozShK2QBloR};B=HR$1P&3#Ci
zrvz<p)S!or8uXxLo^I0Ihu31BUJGqkOeV%pl$9Mj_R-NBIy7e{Ey<+i!x7y5j_>ey
z*RA{JH?JAR#qjAL|E?kssQ7RscVEBr);pZeHEXUJ&Bd_g@@tWj65!yg5%_NEyHFE+
zj`|JT+WNWA{a2tkGhXv-pYl0&s;39Y{%S;Cv9`OhrM9-K>!U-wm=cCQKtGQ8s4%a)
z0-0BsQu^|#srL4d4)vnZxuG+`vWct0eT6&W+VH^#x8C~EAzyUVJ-E*gYt5^|euX#X
z9kIbW;iE&pm<dk!;03DxFk)vH@_E$vKRN-3d??I+G<2_+o|&J8w-LAx9|hk<F6StR
z>^joN)eyeo)i)2nK0N&HyC0npL{qG54>vc*eK;vRaSbT{)Rj>FiL0ReQ&&Ry0*>nH
z6Aod4sfQLvb!k@PR?TYc!ZQh$Z`Z8GF3oD}(qQ>6&1&q@VEL~91eP~l3XZ)`(_>>-
zX9h7le|`>yCzm!mh(8}a^ba(B=+HGXgqS?@><8_cOuIHqu-$FFyCvIgw_Tkn#E3n1
ziLS4wugDgEcs~(${a+ZZ+ojSvKN9VWlZ~_g%G`1bqs<(yHC^jAR#a@>e0BB^IR_mP
zVC8XT2GL!G{8=|+u9eUex;l%9qNB5ZF`Zsq$s}yISg}*Wc;eOBL^Rjlv12eEAJk?P
zb~?5QS>DCPtFwxj3rz+vJ#Eou7SmjE28Pfk)79C9(<P^4WfE1U%`h%Z<YP|%(xt1j
zjL4=rP!{0Zt=S~Frlv1n$mPEO{j0N$s1KX!Q!umBW}GK9n}w&AHw#Z_HVaQJZx;GZ
zC_}go2#0Xns)y^qsxq5RbB{YU_xOLLD(pJ2THh%<z#qa3kAWQm6=HTpnN6cAysRWF
zsDd;Miz+_GJR<#^m9magE8op#u^*l3=c=fx!xXbSwiU9|^q+qTn;%_|w3qr{${gjP
zyC9SUIVZ~Th{RuKU;Bxh4zN(wERisssp<>!0lp~Dd09W@w@duAu8B2Gvg6cvjkNOb
zfRZyem+0pVl)+0;I8l-~Hg@#rv18ORsh{Qy5<8E+_(9&s1_nmPAW4xAN&Io$nQ#8&
z85VOgmnHR_8V(4DsHMZ8Ij08AIkjresikH~srkTa?bC8#Rqf88Ij1hoIW=g`spY_m
z+8ydYh3YjK%25UfJP^mmqx{P+d6?~?4Lh;Z`Ll!2ET>1mypyh_seaJiD1A>4v6{c_
zHtK-%w>V>ZqR33~fdDZ~^?;P|x0HTnhHRZd+^|Z2TX;=nZq`GQtusF{0Ut9cHPa3=
z^qzwUIX@Q~94)-`2Okit^zVL`dIqne;v9RQaEMwuiZnRKt~o<4%^9-exkSs_u8FL6
zO=PXmoS_QM8M156kX;j5EeBS461oHC8oWHwG}VcP!au`^c|(5am7&21pMzd_ZX89$
zqU^8xls{vB{qhW-I!+x=9hSrxAKO~HwYia>5-4G+M`GrTbGvYQKaNV@U3c(@EtKW(
zBa&z@wXbbl+tSNNSc;9PH>8!$M<tPu@y=eSo8gV6RH@M}i8`;Y@sAt31>V_CwL5Dh
z9sJbE0TxV>N{$}`lLaH^0V<I5;>{L*#;_uYLKl-4Pn_r%EMY2anWRKkVFQUkG|uaA
zkLp5r<*e@X%<1t7-j$&;uFDd+Npui~hrn1icMuocib9E0xH|3w!Xcay^{{HLj#YDY
zwD+$S&m>pJt+{`#nycg1TperQYD}<du8vi6bsQgkbwpw5>WH9Zl7j`?NkO<6=;y6*
zDsH6&v@Kr#)ypq&m5bD3r6h!6p$$D7nz<l?LQoP$XGg#MCttpc8*ZUmh9$vjw{~@Q
z^>Qghkras%W^&K3zBtd~)_0Zn<0?@+CW7>WzO}uzhw~XJqfhfZR1IO5GuzMW5d!p-
zfY23ELJDVzQc;T}VCpUu4#hYQC!T|{g5GrD(uE1mgezr2%?nBmXmS<)568@JsPCh=
zt)N@Jtxq_FldB%vG*?2qAGkrYPRM>>J%vd$&6ViYTnVik(^k!u*rvG>+DWvozSVWI
zrf+4PP?hRXf!f>>NzaMpoKT-|a!JssBY;+{JruG__<@W|CK<uIP-V8vklB)r0=l(2
zxP4kpM$Tj5ga(jr>IFYoK~sn<y1Mc4I&@7L#baery+3kfL6y)dgM^k`sa|&wc@q>Z
zpjpQ8(?^aRnPMw;?%Y|8HVq3uV`xHRSQWx|Sq3Uu<*G{7ELE~uwu5zs+aA;siZ!Df
zs588?3&l-*Fh_*#yCAWT4`wgsm2^kDyN{v>oKJeJ`6LhRt8KYM(7t+~y6#cA5*i;+
z<3k<Y1%2p>ijq<Tnd>j9$2dv@SmtcZV1N)DxQ(i|m1#xWN|xPu)Ux9|I%|08Jkjlr
z=Alg%Pg7CpF>noY9xF$g(3Epf0WxljN5lmQ5*zqGKH*d&7QhW2Qc{GMn8{|Ko=EBS
zT$0nns~!UmdCEd`uAp*7Ri@JrE+s-vu{hCd%A~v)+4rYmn+i5SNYeT2b{}{XdDdek
z(-jpJqAFw+g^(3F(<}?2F|-&|1xqe(!(VOBC((M1A|2?!1p@z&=!05wbPQTmi!3<S
zMS>DugbO{xq%)o(-%J4idNxCdcBa@InlwSQ)^xT=1T&tT4s)ZJw*!uy%N5ns)R>v*
zn5<K4@ML{U4x;0y<aOvP>y;$B>Iuwq@<KX|P9y0ISdi|6!PJu26jZ`0aYFNX3cL|Y
zA=-ZVY%zSZT=@lPd(T0Hg>?o3PMKmct3kx17HJol6GTi36;_7!Sn>#^aCkyJ94r)u
z^*~BY#C4%5hVT+I9tP5;9!f#!mBX_$9HjQZSW#uUIMKrh=z@}G;}^43)WZZRtB1)^
zFp*Ys-rhdp5SFKUT(4Qndo)q?M$KBj9?v9G9oK7e-u0Tbyti)^Y3<dl<-MA<yhjsN
zOEpndJJnH}%w+SJp^1h=;jj-jnZ8gYZ?_Iyp1ou*5n@xP;j1N8qQx>h8^MZ(av3fT
zQH)}kF!<aQmOx&v^+n?_ERRi(kByICeD~e67ssYj)fF%N{Md6f9frAgen6d&sxbr2
zaVJj9;8kW%oZvVXx=((Nn|lBFaSBwKtXyjnb9h;dU+V02^~J?CB^G03Xmr!Ix(yRk
zDT8|*x|R|T-6q_4o+8{S^YcNfu~C?xXBzW)KT<(Zc9q-GKAxYQRqRbS-O}BCeNVM}
z@)s|Et&e(4fAg2$I1(z^^abiV@@8gEo-9mCgU|s@T;;ag%+R#GEt|dk+;h(j$+eq1
z+%Do)-?H(B`|gAHz+G^Z+1h*EhE3~sKs@!j9_ouybv_RsZ+Uqe88s^}C$r8r8)$e|
ze6JSt?^-gN;ShB!?vxt2mS`q}=wY?Mn^q4M4@{!M;vM{q(nKgL7S$mBSA!J5ac(z}
zM1ao&a2xuTXo;CYCIlJ_2y(3vqBod8f^>t^RNT@6`$4BUp6KYPUK5&0+gf_5IthA3
z8By%)#FT-8n_Lt*2J1@{OKZBibYRFD<ysi}z=t3nA}kFr%nrT5P=aH}M(0L&T`oK`
zfU7QoX-#7sBjG86Xdie5kSI#ibOQR(Ak#P$2#aKM3RJw(kmF8+K?9+?6z?t>848S)
zxS7QK07m1XHlVjyqS3IYC=`uaEG7&Gft(E0%4inz_;`^VRD=kp8#boIIskkcXoDC+
zfkX%b7rAs8!mv^$h+%jGxN~se&w>7C9?Kka{75DSUan1KNH@@6WU`Uz=}>46Q+lS#
z^7ChAE|wJYNk3^9f?y0CJA~9C@H(7MGYy|rr&F2cI4iP&MK<Uu9u{*P&G9V!y$K5t
zRKV<0OP3Hl>v&<xLOZ+qpk^gMs9DKcSGW6?R`Ty_R`NrdmHeP)CI5kDCI7x=CEur6
z$=BjG*f{~3AfUHHjWm-YgP?H<&B{`ib)t=HXH%1tlVKKAMFS#x0@f0;gtK`N8Negv
zC_#s_$4Di_aMuc10juJlNCvY4(X_%Ozakguj7ZuRqXB}dv9KQ;n?+1PN~MC(hzwpU
zgh>YH6(j*ZoA5=moD6X+8iE^2KI^GXQzmPXtB}#Bj8zcDtjZ4^363U>MA8q_8##F`
zQ^@R4L^ar5s&*q8eK9j?mY-xRk>#t*Xx;J#ixYkU7OE8^HA)8EG{sY!h{vYJ=Yz?d
zs*O4JZb2I}M<>Ew-0{=CU_y3tgj%YwqQz0tv}P~(ZC%ySX0PN|k-#Bg=MoaI?5?cE
zhQ6e#wPS5t4XoyHlLEDSU?G_I)Gp4?9)9)sus;QGus!!%RTy)_qiJ?=?Ch(rzWUCE
zVXwS)2_%%b%gU>28qjpCMy$LFFjNqKZz6?IQ&j;P3UI@dwP0ey(E{u;RT?t{iX)N6
zR6v9($W|t^B&?J|VHQa)EUzWHLTQrW(;12=5wTo0n?df(5;3quRv{|{T9hhz7Xq4T
zB6$mp1aL+(9yl82Ad<?!Qr%(!4Gniqk~UiORzZPiWjK@0vGQ8XArKKk$k8Ve{E;5@
zFxDXd=pqnBFb%6Gmob*czxIEqdk^q7&NE$fW`LPN?;t?1SCOLFtVT(eMOE99Wjk?|
zE90J?vp2grn__b?aM^V>zMEvz&P{RlY<5$Q<7^x|?sAc3^}-^tcM=3h07UP&??0r>
zu{SPz_TKwEcOa1f2u%C`|NGvry<a>>fqE^Do=K1#g*+4|a#P(^YBmi*I3=ieN=tQ#
zDCS{^v6mW4wK-G{&L(4NUPNX-$)3R3GZgy8<5(y~L8&WJ6r3RbB3D8eaAf3p;?B@W
zSi$U~Xw0qx20ss|1bHBlW+o)kOidvQMvWZC+F*cEFNobx<Lk2Ey&*|!2>^vGICYWL
zN2|bt$!7dOC((=p6JM1N%}+0-DWrm6d8lv=pojx)vS2gVK$DyYd1gGv<4ZOsIu(b6
zQ$u`!nmi-6qg;a2jG!z7jVcJYMw$%63WxzCF#$2z49*y-WEia+a37gf6b&odQw78Y
zvSJWv0M;ZaQXs-p=@8%t{G-@7mJ!=m;0@V*IOs(VSO`a1g*x*D>cpcsW+E021;a5k
zs}w2a6IHxQUF5Xtct&E;bgcj%roih=xWRU#o)@3RV*cZ^K+%7c@XB4C++heVX_Hsz
z-yxH756bY$J@_QSE1#r7|4x~dyGthJ?vhD4gUt4j_o8b_B%!clp(SM71((3sJwNYT
ziih(U=R%b5HO~4;cc64Mgud{8%yoAo=?;cOJ(8{m7+qjFz?Zm0cxftxXO`xYtO-&}
zgRD5QWif<#JwHA<GdD9jIfTrS^Su)b(;29$ocA<}lu!0uAe?XBv6H8JE+F%G9gc;3
z1e#8Tkc)|p%W1R#HVaGzFik~%`q<>Dkh%gKJvNncNo>*47%)m@bX8QXS$7#e(o|Jd
zq$P=)F-_&xty@b$qf}a2O;{Uis;KQ)sd*(3Wgg7kWrb`ilgdh*l|h_YSYd31xk`Gj
zEQZ5zPict)?kn0{wRO)`x7_okuYdjPcVB%~Td@yk?RD(iC6%EH`YR4x1%lxN*WPf`
zjo0mm)5Ak9A)|tJq|qxKKl8~@G?bK>DTjUxW=gL5L8F1nE+S8Oe9}jY%^T6F(p<ZK
z+tt^8>d;*eeCbPHy62W#_5c@kfRPgA8|`hk+}_pIb=U2OZo1*7TX2NOgmrM2mJ^V)
zv2_D}wl`KGV`i0kvaAS<H??b<LD1BUUi3t|AqQ)@>tzdK101K-Yf(_dfyY~=(&|~I
z7KLG1rP>6+W6>e?Ih|uTBdURb6&isPki!W?p~2dMj3_X<42oTqpnyS9AEnmoi&R;{
zE1DK4mDr*MGl0hCwCU7pJ+H-;*`0c|O%0z4Zz>0MLbU_#+C+}kmzFr~s7hRiF@^*J
z@w*v_138j;Hj@N(qAI&E1N2N;N*s-b)I5>e1zIn*fQ=p2UW`c4Se&#UUV>~-fO`h=
zfDnZQm%`W?Xp_*BGD3t7Ucnlv#fW1tAfiELBXL7&fVnh<#9};{VMwMZEblBbQfPN$
zK92g?WG)8ulqtaAN~0RmK_yAcuTX-lZzh%q&O}nUJD91g68$C=Io4ec<~d~N0+3}S
z?ne!qo`n@asbQ{Fn7N49g3e>8!ObB9H6C4VZXQRUB|-wE$PrT36zbCmX9|%)Qm2we
zk~|9?L{1z=9L%a!cE>^%7mD=<{jESYi`Wt?;3iP%sDEx|eE5P?@-P!f5YlB;at<uW
zVB*AlMi~-{k!FyqNLE=k@5T~SxY5j$Q*z8IePb><l*J7rUIC3(MT<{U^y4H`D=++j
zqJQ+iU^+fabrX;GXF9pV5LMFl*$+W)@*3GLeDZ^G?OqvryZ1xT+kG;*)+Li`?N&C6
zq-yXe@dU+`)K)>2R8-fNRkiQly}PxF5FDA6HuzI4l0PL%)e3Y?-i^0KCNLTzDz)Ht
z!sEKaU9JcLimmdPi^a8ke8s=ws;z5Wzqb=&<?>y7J38;)h3m(|c6(<7W?97wa9ad$
zo1v~2_`PIWlf5%TuZ-aqgTcH|P+uZ3FXhJIY*{5V7u)B~j7yNMK!--=sfAPLA$`xB
zTBOeY;i;#d`ormYjK$)LhlXIcN{k`>?kN$F&CS$wG()Oo!PtK45|{ZrTLj@yLQk(?
zH_`d-_g+#`Q2jZ@@V}p?dY}3qzy9^FzyE*s(?8f#_;i7l9@q2VJq>}`w+i9j;yN!m
zbM{gHB=C=Z2UkJmV{Yc!Z`|uHCuHV@!c&*{%unmuK?Au>@rDH9Ha;S@YYM!C-0VdL
zPFtkU!+8!W4}B38#(f5vK8~h;pU(&3wmGi{eH9o}u?=V;PrIG-msri?3}NZl(U%y`
zWzY=}F{;)BMWLh_-Et$~saSw04=hYhEzUq8co#|kq-Z7r=L#AXkW~kE1$x0u5DD#O
zR8}QQ)kP=lt7UTYWERWWph#UJIv3j)%udMz6pt^3d<gv_?{aiv_~hx4v!I&q9VNZE
z7gs=>60%f-v`u~(jBS!vh%wiw;Zz~Y6I6lAEayupE3Ti9U1B^J+qE>nBgBM)L20Va
zh_1rOFtyvwHX=MrZ8}IlHLZm}Qq#nF6sMd5PwY~FH%zpMFD8}&wn64yqB~bJU<8m+
zpNmREu?}99#(adaYYJME4HC^&ZdFvQ*|u$4T`^J{GbUPtRiu(oT!b89Pd(0BNx<94
zD<kf5!g)^9wU=nm4f!N6=rRSmkx5R8Sc@9eufYCU!)kc=a7oFA!N^etM`dND!^lJ3
zu<vt4=@EN2;<RC5xtVw<g5^S>Xu%M=#D88$L)a(Z<3bnPZEK1p_(m7>B^JuqSPQUO
zzs5+_UvcQrp&e^15T(WymleTrb5y-RH#K@FrJI@V8-d(Y<lWAOODyQ-Y!D*TPwe|;
zCssG<5_(@JcbHn)9*{}5J7uWtD>Bsf5I#$!+XFJ&^np(x-Q>3EJu>MgM{VuN6b3&H
zpoWG?3`Qw~q7F8nPAiFhY2vbEIz$REDybMTB<4`!EPzLaXpe*!)!H<bqunKHm+n1+
za-)KD&WNpGx7du>F5$KC_|$9^Fq%{ta|V`Ag_qcp%P+sYTphzbnx7_~hMcz-K<ETa
zlU5)$1RiNRa0dQQluMBLXIbx%Xvhg_D`x}Xru3~KxcOsZs}3a_Ky8XtflCFG01O3i
z<D(B$WCTruM#5@PktyXMPIS}o5i-`AVu@<pJ2LkkYFknl0p}F41i=LrmR7O21YMH7
zXzm!w8A3xrEW_MPNSTW%r=HtY_$GN6{(ZuVK0m4zD0k%wlw+=dcEiQc=m|s9O$R&h
zv!Eeq%qRZ+*n9YG%-#+j$~Fzba)VssgJRpp8VSE`*?Hx`8xKA7@WT&(;f@=xxpMcG
z+wTNr(;c_pcI&OT-m(JcNY;59Aly?zD+(GV2-mT3EAe)fqw!ci&*WE8TxBuxZ<o2m
ztI8bq_X|2D548`LB?Fsd6e^4{daz^^K(B;D5IoXYZfXtEW8uajWTj>hN4An;9HM~~
z1~Nbp7r4IsQWjWFAz`_A2K*&@R$>fCd`1shWW><uoW&*DoRT-fTFj;jDc-1Ok^oxq
zJO{yHwW%a%=OoY$<q@rLm7y*PQ=$aS0tHGzOt|bcL3F%?=oXV4W{+n1Ii)LsHJpY8
zkd6Xw;R|G1BQuwVOP(UV9n^FN%RWKeQ#^Q9F<Td5s{+&k4Y`?gFa^qQGDMt-Uqy9v
z8gf5HFC)C<qJ-+!W#UQ;SK#$p;smjRb<C(RyD)W}Miy97ou(y_7a$-HB^>}qN@d#3
z3>=woS0z!^L(?_eDuL~mdA)gtlv-ycoX4{nEF1~jfd>*T9vJulP}D|DS70{{3{MU4
z9jr<@)B}QYgN+yaML$3MB=p@pWaWG8-Eh^Rx0A%=%>wI*tynMw-{n!p$m&Uul2V};
zyRx7r=4Xk91dDPjaBr5tJrUPX$U-SB%`UjB=qx#wwZsOD7nCTvwaFk{yvxt^x$uzq
zBZ~e3PV2{@LV^7(S*@3Kafcz&q-{gjYCgk;uGLO+ySkK>_&_K5P-`VcIU)ZlW%935
zCjT~ct$Nwpx>jSCmvyb?GhEj7UhJK!mU-E$yWWeKnT#ZMiR+OfIrzoA_YN>J{(xe$
zZUZV==B5S)re;R`vHW7Nn<^4vl$g!9ui6TVDlQaWdWqDnoP6uqXP<rh-4|ZynIp#P
z1!_#7kiOGY<<VPR<yBSNacA>IYqxI~DU>;`ftrlP8n&VX?#3o4OfyD8Q;NRQ%Kl`s
zf6k-Nk!GrWkO{fqWM3ZwBn)%QEhJ4qL>Kp4cf)R6?#27pUDBJXPuBtZ7j37$EGT~&
z2>kM0k3Kzi_T6`X0ViW>=(S(`LNppyt`--JD^oHCP;8hR2w_{x+ICCzZaTY&NKXm{
z->Uoq#dB)p^21TYVa{P&K-vJ*Dng)6ixPCK27^Td@d27`MO;*qxvy3;=>S63>*`dc
zrHy4}bq=Fi?c`|XqNs*H8<(PtjY>Ccex9WA`zEmtGk)}3A-;p;5)=)V3~kVO^eQDh
z$YwyW1g|lham_R-OzA&K@E2<Af&sT;W&*{lN+@=N!=q1Rl@3Q47JWg<qCR_d7^O?b
zAa@&LK}9r#I+ZAzRw$B7;3^f>G>CX1DAYRYec!<SQQ{jD=Ts9tQ2C?i(9HQS(tMSu
zW^`s7$_W+K6!ka+p_|SlD@a*z!+;avCiH-mAH8ZsIE@OA;uER3o6aKLR)tS6dVC^>
zPjGRR1~F)L_2_a8YJVqpm|EH7%wku`(7`n_bZ|{2MeW4u*e_ch*T`1K0h#S{Rp;vJ
zkjJ2|k*yASFWL2-@2w6>P>zg{(v(vC7?|^;*4jI_IE@#>zBFNAqf>Lk;3Q#77^Vb+
zgsNNgJRrE-jgAhg3<ftv>j*9t(b@T>mo62r{QhLmS@d!{dEqGDdA=u{hGr>*PCic^
z71&Km<)-Rtv3O!)0lR{*hD<gwrWh1|m~j9E7{t0*Y~#jD<t?PM23)vn);6!lR;o?G
z7)Yy1*Hh&J8#0+txxGxC4MC(&#VsWe)Yj|*bo{(nH#he;e{-q&<*N_fb=PgT-FEX`
z_x%;N?Zu(jUVANK-tkw|E`c4csTl^z9+)6dzy(JY(GyF)HJ3wwuTAzsf1g4<7@231
zC?V!B5h>CSM&V#Kv>=10ZCmF}S6;Ch61MfSjT<*^Xnnwu4{%gR+lH-MP0-jSl`fmD
zxU{OKhO*n(<vmF|!LEp(j8WRi8ce04q(>SDH9&rGS;{NWPBczQ2ym&fN@fv#7*GQa
zwx5-v8>d#S#ZVb|6W*~K6ezFCfsfaYnn~7|PWy0!U?7nAZZ?~9>(X?Dxa`o|4ARY0
z$1wHi+Sn-7=CnD%e^pXaW+owkwIwPwR+~~=wU(+A*o(2)MU-3tY8bF5NI#r=obl%|
z_+WCtL;!0Ui3?t;;29b5VcE}x<|aq+%fCQWcGBmaqvp_ro~B`|kiNJ+w>7Vb;ZJ6o
z%|aE=YIOJu))_;}d`eN~bMeePOsCO_@xF5y`0;@S+{(cC)Fk-LS#DtgZE{5B{P{7r
zHL4)<$(DQfJcRI|K_!Kj>eOnqv014F3Wp;Er$!@DTzNQ|Wr#S-rNX$iEGZCDC<sS+
z;R!thOAZns!=N#gf&WWGFU<pnao8{PBg5+A;K=yI$OxD%e5}KvOkMOc5v^LVBw^MQ
zU8)NDMn)9I+FC31Bw!9pyA`PMMP+0j4xwD0_K-3x5s(fd1Yt5TMT1g+Qj>`JlX#&)
z&k{5eNVyq+9YC2Z`2wn|BtmtXSBt8QE-E1d1lf6US>hb%;to?Q+d-K<a!@95y5tfE
zpCybq2W1lHpiJWImFeTFWfJF_&Q*OZ=Q6C3>0>z~4%QLb;D=gSM9aScOdVP9iJ&e_
z8=THgkE1keVsc<$4h@$`9lQ<LhzW<?8lB!`HUs-WFGEaBO!ScrPGp;H_(&{v<W)E-
zUVj5x`s6r9aPsW4sO#!BR#jE4sjP(UgG~Vg)NORa4O~@4UDDUv#kz`$^_Q)~)(j%&
zaM;*TQE~k}4?XnI9XEn$;WIn&#r8e-QMX`cpcI>(of;k(7@eBVV8tQhC9;S&DY77!
zz;50rny<O$ufKZlz4zXC|MV1QZS9@cTyp?qU$ay~dJLex0}BC<3F>Ex8*aGa>pQ8Z
zsk!b>st5Z=AF-oHUw`)3zkcrZx1x|{*#A^N-h?63svbN13+Q?Hs9Rdd8g0UDF`3F5
z>+84gz542_cVDq@-@ZMY5CCu8yiYn=NEA$X^#6vO%mbr?Tb6hZNi32{Md0BP5%ww3
zFi`&PI?@*k0$IhUzz>+zo6>0o*updl(n5yBO%S;x-9o!jy@)nANk|89Wf5PZ+ZaU@
zkQi#fov8>^u!x<3@(G(+T64wdg`w9GhYU$)p-4+MS`Akzc7|m?4_bS8X~SXCT*__q
z2a&eEND=!q>c!$0i->QIW-rYdA}xvjR@lKz5`vJ7_%nX*<m9|>W+sphMpeWZ0mpJY
z?gn8Xo+J{8AVGO8%>uNKk9!;>Mtkf{^vXItiaR?tikJQ8&!SMZo5N8NXr<jOfHo$A
z+ZahpXM&FuC>G8Ru`Y#P=(ws_L?U+2L1r(IDqJ5SMe&B=v51FeL9*3N3?bYROljm@
zq3c#!MAjAFBdu`?ENQYM*3HcHUjXD88OC{PG?B5HnOA@RZ~yjhe|-6wXP$ZXUCh<K
zqt8%(!oJ8NusO;qDoPwhq}7&a(2)1QTNKRcieLwW(~Vg0EK6`L!>~%Qbm?_qOtYc{
z6Es|pQuJfXgN<QW>9Qf`&AM48C2p2Ui7(5f#Gw@_af?h!+#-__H^^{_oHy$xnUuI$
z=CyErh?LOyeAytB%FHZ$Rpm6Ati1EiJ4ep-_CT+X1@U}g5!1~-b>^LSFleGK9StB7
zgAPr8AQ%B7O}OVd<R@tGI?fxQrPREr>FG(196ye<VzO5fk$V!`FaPaVzx?GdUmL;G
z3xin4eMf%w<df9@g}p|-!vj-OzWzb7`~>80#IRSLRU>NfdcjZ%uwv1R>nxVyYRHGm
zauQ?+Y3ePOTW-1Krt1$JKy?1vL$};=<JDCVZzYY}Z@dw8>!L26iUkpmOr>pD(Sp?X
z1BpGfsKHC~GIWWH=7xrjYtTby-|i_gJ&JB@Xt)j?w#nl)us8oJ^)J*vOOM|{n2>j0
zrhds@g~@gKZM#5M_%ih}#L1I5ns3QF*w?ohiZnx-31Ido5Qi-&L=9foN$BRJPi$&w
zX>TSq=k;bR0AtPOmKIPAUVrHB&wll*U;W&@*Is+@j+@Z&?8fV_J$R5pN{=8q;^BaI
zc6K2cCJxMwj#eqcw64M|qT6SYvkX9|rlN$1mr5PH477V4>>QF)2DTEyQJ0OG%@D!W
z$o0W|)F$zq1k5#h3nVjDi8EL0Z4RW1IBZ6&ASAwNNzboTJR@rGnoSdDYc4CUtE|kL
z@a4)XmM{^ff|Zp!c64^Ot|R?D90@#ESRsartG9J_QkP@5MrZBX>S{+rO$h|HphANd
z>^2&ViyFMv#7H}qbc#UTToi&V81P{JEs@4ZgA?dwKQZBp;(0g<%VlX{d|&`Jps33x
zK^7BFg`=eJn1Dp8tQ%Gp?lE4bSi-@{DMgjvKQ;jofkgK5c`#O<Jazn?6a8m<dwVDR
zutB^&OzG+2ek5h}qQV~-A%~w3LrahX0y8<e0IzK_?ba&sI-H`3b0jHNXOW$NEuLJy
zs|Z0u6wUj<1MT;t73G}Q7k6{X7^;EbffK=yOGFS!RDpgJc;FpOheE-lA%F*MfRT%!
z5Z6T_ei8zj^J*YLbcwM@<ds)mef7;FM-U-+<M~%!dF}04;4uHhxz}E!&XA$vwI+)N
z?f#ZvItXYigzE?Qt*F7v2thuz7L};gAl9j)k?5zSSq*ZvOlBi~8clz{JV`KN+>$Th
zj!y0{wX(_C{JLaP>0y~vB7JWOcDX|)mF|#9rQ2mvNzPG!sB0Cw+$NJstsf$lno*mM
z9(N=hfcBeqBbuFJIA<4dFJ>o!{wAj3CYg@_e@Fd8h!}Lkg<!VSI7^6hsAd^A$K>@S
zmBek-=_TQf=LIe4IwCeF633R{Rns%sw8~UpOowOQ#nyW?kvRG~`iH*u7M!T3C&?5!
z|L@cw_Ki7Tv#)IvV#=L+(88HhWQzls83fyu;cqf*Q_|5<h4f9d!(lQs8)tO(#vRzU
zfe!TZ5AQ+&5gvyB{$)5MAG!g~+k<yMO#OFMR6rKa^d30^Y5VTUJQ`Gu1z~mA-h(@M
zj;SfZokt$I#zc&lG?!HB7rD~*yY@)j8xsEpbN?fce2NOv#q?U~p`#MCi#(`#h$-pd
zs21!cbR0A%bSoiSkNj*;;bA-;ArHp$?X1WRJU_$$oxKN!U}sUwV5oWf_Vx9+;Hv7{
z>e~8>y2j?so!GAE*uMS7J3sT8&)jzNop;`O!+u=wmDk+~-$}QQfFcqzo|&2R7DO%y
zdL9hwC1`}Fz%VP&s7AwV+}Px91|kHtUlI*zY0@Pyjr3S-3N*vX5KAaWsE1M{&W%Vu
z?6ht@1}Zk6ierF7i-?_a3T;x2ZxEzJ@>2*>qL-0U^WtKKntVKuu?bAfC20lRnO1En
zAP}*^83s}@69yuRW;IBB=+@)uVt<JAOPm<SN<-B`7@*ipfD;tUA_aBNECZ+Jp`nul
zK%kT8;5aeupB)?QgQPim_QcT8iDPfR`R1|X2tl6iLkytr%n<^WkruDfI)D~nUlu7C
zku9JbI&hQ`+{^eA$rCH^2K-fQ4uwdEG?1t!=LY%*hv!0m2*-(xDinJ64H*AtM!?KA
zIsyUMckT?bP`lA?-Dr!NTo@@EKNE3tI!lzr9U};f#@`@hFCnZl5($F?YuUmE)`N*m
zeh}OTGp#h7MA{Kr46+ocVi4GmPK{#ajZcn_hGs{I79e`YNV}D47Ff#-R}(;2hSgEc
zeSNc}!90rsB`SyP=Fm8%+u5GczP|tUvmgEFNB{hrpZ)A-zkeN0(YK%f8TBuiE7*~}
z2D}(8ElrK!crm#2Ak7M00$+GaErTzcl}4f@P8FO^(uv~)F_5S*SbpHw$}|4&5g~`f
z!_>ksFH5}pJGsLUV$ycM42Rt>lX#*`;(fDnS>oL%lX&vj_&qX-_n^#Llk-R4CzE&^
zK1AYeVA&9ZTVST6!DL>M4f#N(=EpQ+S>WjYS)UgcRJefWIkJSP^xXJ3$$U~PtOx{=
z4eKj5m(H%hvM`2_(?Bocb>b2%+hDi*wZI;AoNs(7%OxlKF<VDQX6Eg7%%fK(q=RJ4
zc&@iY1UUHdQ>S45i)yxRQVloJrcF4A?{qYYkt8T>3J1|yISHi&E}^sya3R^q3_>VF
zp~^94Cwju}-MjU&#zrL4eBr@+?}e!N%sqH|^Jd_Y%Q|oT!WXC;1yPe-JboNA`CKoo
zb8cZwu@<TAE1-?0k`icJ@i)aq#i2ttHo@muNVA5dqISa_yQv>6KNOFA@z9~`s3qwU
zq$a70)Bx2hJ^HAA>D>kD73J5E%k#zE)RXAWu|O>V!M%brNc8>P6W{yZ_kQ$qxNo?g
z=lMH6|M|~f0&<E%Py%wxZYlt|+M4ByTv;&E+97@`xR@lL6EO~G#(vjLd&!NftF5c7
zS+|oQyW8&i*27m*Kc@aC9#2x=f?)PY50UxSH@^vHQMX-XKs%7e#_d2?&E-Yqj*iy#
zTPkz{TAUXH>{XP&e@!*$nDy%$-5W4NNY`pGGn;uTr_dUZ#}1GSetDdpHlHE#GBS%Z
zS&(=<qvVe&3~4@GPLN0#l+c{Hnk5lGfk${75G@_|5a0)Svkd&qLql``iFjjaYnhJ9
za8{Q_EYG2g5eAqx;GKsg9DFC6&7J9knb$u8vL=|DqB=LX-UOvRGlL_PZBs=d%LoW0
zk?~j%hy@^!zXSp+c^<6d*b1?5B8|pGfiO-Esf;`!id=+G%WYycc&bL<ry>In_Hua8
zMHQ`!6J}_O#lxjS*&L(<!Gv*w2^k3!rY~W_4LDgnK$ih(KO8`2q9o8lS(IRmj1G;B
z&Y?ThOcY!`BL(6Xj4jTMj8HQK9;$N#XqH=2QtZI&*V+d|D<~1^77-`~2_>TIIz9oE
z$cMwxG!R=}Sc|X|^0ZPUx4|Dk<pFLW@_gWKgLe(jrvni2A^+Ui7(8{veQq%kRHDb-
z;<XgHd_lDg8d38plCer(LX8_nM<+wLjfmy3NT#RbL6mSFKYo5-bQE5h-#qh&X8~dU
z@OwOcu?NY67f!zRo8M3`;~+?<Yew2lZ8Z*JDbJ5U9j#zU_#-3?xpWCbIvv<I*;Gh<
zz*L4>z(0sur9+{BOCIwaKj0d`L;9g$f4Dp?iSm`u<yD>BVQOW&S|)4dzW9SOS-TIP
z-9>4st7WqGY8kq`S|)4dzWA$THt#-}tlikTTHCd;bJZ7L6PhxXaU|oE1DqxkJ)<cp
z(sLwS7iFc`HN^|eXuR0XFm&E+N3BmJx`1>vs-i-Vq;XR1WvmcuPW{2$%(2j@yqfed
zPtSW*O|@3#0!b5BR-?mV6|(76FE6yi&8=XvZo5Jmo%3FFf#Lm%D_lqpC#7HISBNz%
z@|S6FjwP}b3mvfLGRrwynP;S;FXaqOfoTe*UjP9bfq~2uZCT{%m7=PJI(l@DA~{8+
zg~_9$L*sC0m@E(#5}YCCZ~0Qgj~R7FxqT&DNVQk>wjc;^kpeIW$2kzP&4)!>vJ8B0
zAayK|`Y)0zbVcq}w^(BYk0oiCZLt+O0i4&iR5H$DTTwNs0&}Q=z15@^Or=z+5Q-6P
zc@8Zc^2in>$=oC(NM8ugiZ!SN%VkLk7=!d^G@L+Q7)YYBq|GZDabTr|z$~di1cwnR
z*fKn&dQ6+eg%M^-4He4bJY0dv6mg1W;>4RoAjym`isnz)Q<`Kfg&}Sf6`HvmGD!<c
zw>=NfFRQ~c1kg#-gs4=JNiT^IzY7;Yt_!l|1c}K<@_OUoSSU+sAT^l)ph%En1yzTs
z2R@Blo_E`Gc{t>X{P7$TqN7X^d>dRMG9}hb_9apAh!gZrFHBEPjP#$K2rR^cWTAUQ
zB;{H`#@!oHlO>7_bbE%5C6f^rOz}3Gx<DktlEQ8iS(KhBB1yN)H|n2)<GttjY&4V#
zj6(>`MNzS&<S-9aNuEz)@u@hsJrY~Mj*RHgSXqgt5kLc>oV5~uY$9+-=^$KbxKYui
zG`OpwG$EN21=7}31!>75m<B(&fWk5x1|x+!BpPl&l7YRPjg7%drGUEu>(JdCcWCTl
zs3wnIgT!c_%NGF>6p<pcIQ(uT>BFXo!}^63K%*HeMRIj~w6j@ck<kFJJL<;(;giXw
zU?8}(go)wiKspCx&x(o+O8Z2TR+OW%-$5-I=V6gYj<OiHA(~Ynt$P$+-?33JmAX0n
z!1-xJRAhuvb%<1<6qWoAlcWsG@$iG4++hd~X}eY?W%hTi#>20bNtxZ1i1<Ou$a@K0
zE0Z$U$fV4E8KT=Qvth69T8)Qqmr0o`WKyPXisPncp;nQ*Lc&~1aQ@>Jc}Ec?m0Yt+
zl!lrV6eWoH30MFMw74W#mWHoY(8U-N=9^I&hgw22p(9%Dkz)`IdXlV)b(3L<Awu3!
z%nUyF+;hjq@@DFYpxA_{pMW%Bk^zWX8SE_vKb>w~NwR**RDJ~i##iDj_?v`L09Wu7
z<ZF2Cm}`I#^n>L!3bSXr5gv}J4s&j<R2ec+A&F&Di;k%Jz|=WkYilu8cj(=B58Vd)
z=B@KHGti4O!{?9S)on1SQ)O3u^PAs1P@jGmRUc>xQ&S@#{2#!1rKDI5s%`{b>A>p<
z`khf;h5%rPXt$9w!r7ogNjfQVT8zS0eEl`+8mr5B%s`k2&1)O$*Q~qWwnS5?sLD5P
zy{x0uRZ&w@Qw%#<tioALjg9yvg7KkI@``LD7fJf<>4C8+^h0?Rm3}cP>x_3g-CBn9
zKVw-!%gBgz2qBt4egO%DxV}<ZfMCXEfV|7AP|{{IY3Lj}@G9o#L8b(Uj;I2Jz*Qk<
zSkUnb($+eeMg5mSg-}N>S3znvX^!OyYS$9Z&3qXSSFl)t@T%;JEVV{Z^!H=PaR}lf
z%BE7-8!9gaok1DK=r5&^0#Ira>lPG>g=u^@mx++(An4LXYG9;y;vo!M9E~YZ)P`UH
zxcA@*#8SbSVv#K^fd-x;&M}4}Vf&aURt+H~lS%tf0-Q&o1xeAwJE?FXh%i7rxsXCa
zfPzEZPf%^!R)y2Tt#&gBGM5ZZbqM(}Sw9Y$kj4ySMWzrz0^}FTm9!aBxM1S8SE$rc
zNR(V0)bdImo_#R>p^O)7lsOLk_o)cwC|X9$_%6PTdO+znL$gKI^N3-XwLqg9gJS|W
zpPB3HoAVV}(v%)XAfdx3q^N|^QCn*cj8I|)L?AFpT8jE=ksP_aky(WIS(w?6La)#y
zla)ht4@u)ja1X&j$V9P%n5!yfREu9svC2YTVq-YcxkRJoSbP~O#{)IR2g6~&Xp--Q
z8f7=7L@bbGUVm8K+}$$k@_v~tx)W0CgPGT#k;$SinJoH@Ocr%@uKLsNlp&th(u(cK
zXDe%I#=WxXb#!h`wbP`9$kADBm_!y;z*r6cOtrCqm7PI3FTa^8*4b?p6>eV77c`se
zc$8ug&|?PZiAI&nP-hwTh^;Qw4!}oxP5mOw%AwKG6M#GK13<rBhCRy=2&N<dr9!*2
zv0?jm^Z{}ia@H^HC*5r%Fl3g%kZKtMEyE$P6|}I>&k5KeKvkAj*BoHb`+!lyG8|fl
zM#ymK=G2-L@gD;$qqx#VO_2O~f{{!FBhkyqXc;Amji`=<O7s^yOW+%6cyQ}6priNU
zrCXN)(tC)B*^BIlZqDvlO3hxpC>YYQdEZv*WfE_eu#<^kCuSKjEu$x~)#-9!rI}$5
zkgBPsYE6+7O@o$k6y9lQZg8lvZq*J6Ng+$A8#642`iP{UDxleojtb`s9zZG+fmBk3
zTo`r~0aYa9&}5P7Mi#`@snNrT(#)PYOL74Ma|!Lh2&oE9CSw6VpuyBUADSf}2%&Bn
z=?!3hIF_G|`-8Kyf{I4<V&K?x8aInzCNnUTlFcq7rDfD4w$8=g2D(yS93c65PPJv*
z;AkkF1#rtGCH$1zk_lk{!Hk5UP`S+iJa;xQGI{>IU|{?y)zr^V0y-^YDYJy7Qp*Tx
z8BK|;(a9y4C!_GO0eqb~KXNV+4+kZ$ZfG8YZ))tFU=%kx8ua5lywtk_Ut2J#^m-VQ
zhJu<caJ5cADuS^Jq6xV{NwhdhNwslm)W(Ue_I<^0{MZ%fGzs@_MIgf}@+rvIRAM27
zu;TpOWLiOjq|qq^!51h$Mq(qKqfs4#{VNKljg%Qsi(oItZBEC~+6PJ1mvX8TQ=+Ai
z%Mr&MbOS(NCJdg9g5V;u27(E1#FnBG`npuypTz<4IT+_GD`>G>FzP^t-~tFHGZ9P%
zm)B}toY;zUB|bK+2%K(s*l(ji`LKe|U=U7RoXC^p=%Tz7)*$XsE|p{%q{|B`29-p9
z%Bf&HfNCZJ)uh5WCq7TW+Di7qy`9`)2q9^c`@`;$NvsEC66?N7irNkIbdStNyI&@;
z<h3IAeTc+*Kqj$v$k0=#3_Z1H;zr!og>ZNRQ+Z-~^kb3KD13+!ivbRQLnNF5p)E-Z
z`zTD+9`l1hB7I?c`pws0fBlW4uY4@NdIi4K+1k=_M{()wbj*gbCilldt@d%N3r4-A
zwq`Ao1?sjG8lg1-un3R71hJ+ikd@O{!68)*q(#*U#=Me)!7@LO+D&v=*XIQW)548>
zHwK2Hpd;w(+&LfPKp3-FY=5b73&hHr>#n^6P10_7B>%B+>{Eg<tJX&&W2aBY<4bcF
z`pdE(3(YDkNPZ2rOOWwDptK6(RX1FJ{q_3~+;r!ix8D9A0b91hYbQ0rO&d4Vms(tZ
z0lPg_Ns!t{Vz<uxSA>832=vAnls<Qp0oCvDF4?qI9}DE17*gG0G?GlE3`WwD0BMLH
ziRl=JX2{)Cs#4WrJnNm?J{I0J3r4zV)aOOW(pjR9*kKHQEYxeyrcj@s52FDuVnhB#
z-^ao}60Jz+)EZR5!i#`JOe7h9Bm(4Yby|ongV0bQ7?TNoEFhePbaBLENkp~<WiFXf
zI@}+F4coP8I0JK;7}yg~Ssh}cz=UeT7X(<ya)@+D(2xc;422R|82=G8d_ju}I11oh
zLh^jZ4O1Sa$+QPWM|nXfK}G{tKwd~BCAOC=fgd{_nVy~?tEz{cfHYsmivWyfa9b>c
z#yC)8-&|B-gU1}aRB5FGRgh>&f_$eaEuf%I!jb|(CXl#-P6Cv*=6nE#_=5OU6%ptk
zg({KP_KzQmE1#+&DDtClB{Eq4@uQF>={B*xlRHeUZ0luK?s}P=-YJvQ>+xB_Sk*3*
z)9o@j-6lhpZ8AA6XS`l7lhYr@$l!!iFadawfxmPJWt3=1H9tQ&GE7Yf-8Kd3=4XNL
z2x=G+X;dr09`QJV&e7YoBsO^Zr9Y*U!3$?0&E9_T&(xdv3OhcQGuDDTp}npSDw5`n
zuwgw;Wc~yZ^P(K<uDps;njF>W?Y;Bh0nj6K+cGW(6Q4rxbSx@0qE3d>NFG+tqg&-G
zue?%Nf6q?pr_?XHIaSU21E|_1zOdg=|JqI6CUmp$Ete^MukTupe`=pct2WHnz<8L-
zdYs7TF~F-=RJnH3<|0Q~WgXJMHf-sDHQQ~=>ojx*JRCDiX>?~K(*_g+9=Knegkh^2
zsdonGe^#$EniLA9ffQ|M^+qI$cI)yg4fq29NYGC+>sAm~$)n^8#hA$&hqJs23&TY+
zCLE=tg8{x^vNFj<GQp7q>{jH{*}|hx>r4haMP-P89^?j6qGbT7aY%+D_16WZ4hDcp
zrz2=ysd&tZ*g+{moT>24i7{p=7$$wZyd#68moW$jD8djxnAqLQG?mkvJY@eQ84X3|
z3w~gkG?Lq*i+~VO?4L=d3JQs|2nMrTiKT({=~S_-9@QsQVC2|QDjyBZ!jL@q_7N;O
zOoWACUgd!8?jnv(jH(W7h@Kx(df_KO1i=2uawes`6Nh|`x60=Djt|Un(rx52*&M%2
zHpk_iIOKD@Rc1Z4$>w-z*Q&o*#+gSsZECdz9Ra!Y(#)(@jifyZJkEe&s@tjzM=6yB
zwiR(C<I-3alX=wHYPGIGO{yh1bK<n!Y>ty$gbU|-fWf<Ms%dY*SPORy{ElQ*XpG8O
z!Q(WzTp%{ho61_Y?d15<woSWt@4of+o2dgrw>AO26!*e`F-@}FL5=X3y6W=F*W=@L
zyC2$#zRTZJ8qGVu@b$ebQLrQ6c|VMx)-Q2_izTk4@5E1k`qQ^kBz2Vp&*?{<S2Q=1
zc7mHWZd$*gxTIzKRV0(@;N8@haDvv-@~XNzq>|J$G_=FF+`6X1S%lGw3qNss!FCI4
z1GrwpM`BAU=*<*t2NVExTk~3!29f?qNU4?<MVewCwVj=w?nOj#KE+rKzQt*hA{ofK
z$-T4XtR^P0fQg+71W0?WRIH%JOwyvyJ<LBk5t{Sna|KXxB$JE2MI66dr${6*w_!{H
z7h~=z(7g!v4wdb8%+^d`cJN|6wh$oZ>HN?%;y2yM7$VJ|A#Xsd0yUDMc@ObFrrc)4
zW|o3DYGesUAufs}lBgB=9IfC1+0@7gA{+CVGYlP!(~Haxoj;XHdk1<EY<cm8m#BBJ
zdp?;^s4Ugh)##7~or}QJV>&I0%E>p0Cqt#p<|GP2LPMw^#FG#a+7%wc{axH)2x@6N
z(6w62bD(S0cX^;|wU*~VB}KU~;}3ML@@O9DTIJC^(6w62bD)boj2(|tofJO5>MuCZ
zwd%WUk<EBnuR5ba${HqDPd2525}Z7*$zj5p_-sL8)1w&}@+ii8PG9s1{K&`!WLA>Q
z12BaJBQqRNT2X<kfpHsH6*YOWXFQB#&2ZRc@=&#~eAT8Hz*C6^5v>|~E);-u`^qnW
z_`9=&1ohXye*SstY3!=9a%ASX)=-CK)UgRb9)vB0x1RmgVK|)<)6<oe9*Xw)gi6CS
z(z=GHr$doNzke2vEJXJf@@600lPxW+tyCL!wX{^aUccy_LAYyd&cM1=@UVi5fG;f-
z&}eyS3A;LTMyRZO133xLzVX)Z)P-~Bj!pn#Ob+yA>d%~c@WK1<fAB%-A?#{wY{y@f
z_8os4i9&yVw_N8o#Ajv)M@LONcF^>W9b;p-K$FSks?@{e1`mV92CgiF6+pyhF&9^x
zOn~gzsJ+-#Dy4UFi5SU!Lnmg&t;(k}SWc+;BVEf=DUSh}zEmM;sAQ8!ohNLi$W;rC
z{Am~mVOe<AH5h{wrDY4~Ij_?|yjQnxT4Q2ayWQoo+bJjyWi+bJ!!RcYLH!;4>)EWL
zW?g$Z$054FMWfi2RvVA|YzQGIm?Evh8`GdT!RhQgbl=sLTD0`tv}x^Huyk}A{C*3C
zZf}0XE=PuA8Mh&w;;y*%mQA2eLWZs1FP#<I`jDg=E|r)X41_Zw3Nk7*H|0;TYyeCq
zfdJ7^2CX)l2q;(;KB?CjIky4)SpL~bKUgTx3{$JcuIzTm)EeBld^~dU#W7zt3f5pU
zYPq=G4#yO(3^B28*k3`a4mSaxb`;f^+^Q6n<qJ7v>yjSpIvsX};sd6jfkXjs0xGeP
z9zserfs_?_wUiHp+YG&Cz&%|8aRCVlYB0^oS;10Q=937&AZ)>6S4BlEn=S>_Np)$7
z)nqFwa+#rpO;#J9EGi;dIlw4DJ~%7ig}Bj563$#Uba_@OG-|w=#*9_?d^jtUkzmf{
zjd*EQN@IC>acM=dMQbfBgElTJ>xP$-W^hzc@$K5ZyW@&In;V@?S8U(8YZqGjxD`qr
zeTjK*PbYVnTG{r<(BTf5=9KqCA(7U#K!>|!nsbj#bMBF$!yPhoxJ#xv<;;8SGC9)H
zwHj%y)M)HBCtUNDMS%T9HiMQ&xG0rC7-TjKrxtEIZkN*^Q*mYtV2Ml0JXb2v)e-HF
z;cTWR#7e7mZ9^L}NOr8VXw}UPrFIOIVkuy?o;Wczb>aldcBnT6XaBrWR|TcIalM+z
zZ55~Wo;^D=gG3eTO|jAlGC5Si1fy9b*Pw7#YsA#6-(@u3c;l_NB3t-=!ELLg$9s`Q
zIXphcV?gNGLIlM|0^QQ`n7y{P^9l~efHxIF>a4l8qy}D;n>)b=UR%2t^#-p<Js|NL
zI(JBLJNGd!{rnH8jd<~xnfRdRdZ()IzrRqp|Nh4+cJHo7zo~WW8tW?|A}gDkHz2QY
z%a+}{@44s8U%uxaNbA27;E8e?jYZBXOtdu(n>(O`o2$zqeJd)8ittxa51ONu$%9{d
zokGnNtx+c9925_$L1a5McX*ymc)=MAPE3(x{0UzonVR$ZgM{QN9mVpXBM~<;Rng|j
z2{g+=2M2<S67LIKn^**TFa+SQV&x1#%y|T%k6%P>LvR1cj4y<y-pCr~&=(P8$+H5r
zNpL!>v?@XlG!`Se963ySI|K<bf2mDkrP;jfbTzYza6rlGX|qlTN4ptyiGU<2QVzKw
zIKxS$l7uPLC=CM;2VG?{6hf8+x-l(~iGYk2;ILdcGTxiYGqD27CnhJXR+7_)H5|eq
z&id056@yu4Rl;qSra~9s?nIIBV}dQ4BVD&uD7zpOROAMtG)v&&5cVUN54j#7a!pVg
za28?%)2^EZ0}IraK;u6=bd{M*Xo&-^HtS3fAxx%_gSzqeW->>P96o&H2=$_XUfNDC
z<*F?O-f&tFOa;4$NgEp;rfH<>qRhx-B*_%A&0uV7K*m&KYh#7EsH|d5W2IXIS1?FT
zQy?2m3kE&Gi0^F%J?86e58S%5wsrgN8*ja)TZf?xF8a~J6RAAQI9lGJt6nAzs$|lj
zU52BpAPvfaD(Yp@pk5{os$|ljN+u2JWYVBYhNH`5(xAL^RT@}FlcR4>Uoh(DkVuFv
zp45=}N8_J|Pehg?_?PflUk<+V#5=z$ahw<#hk-TgTQnmUweqRJ4AOKaW&$27P3iQl
zoq_CL)Dn_^#a?Qy@C3i3V`E3hmhGJ$c*<R+525cIeKFZd{aCYk%NFu)^9kxMG`PY)
z53=@^-};+xeB<Gr)Z^4YkUg?o(|Ut#V^wuE`B$Yy5y2CDnG4;(U8Q9n(TKc+d>ZKt
z`8<o{9u(+2frgeP)z$STjmKK0s^~B};!)(3D3NxrK$MVMITHGdLk|`*xVX!Wo9`=c
z4lSBsoS_q@3VwNTBunSRNAiSDFdOk$=hMD{xly{{U07TQB7Pn!0GmF+qZSB`l5osp
z)#(-&dq<PWzG-xz@XmVY6Vyq3;LOPrM~=L8^0Ws%T(glymRUpqp8QMkMAR-HCJ-W-
zU;*620#L=!X@lZ8Spj4bSdnA@1b@1xzpt<7>}ii0$sL%jz_JXU!H@-gJ-TOTNkmQ%
zVbsDr1|6dYi-FU@xP5|mmeyh{ikzP1nON1y9meF6wyF=AiECvuaV<XizcUl-WiwIU
zE3UkA)uMafOk@<k`H4xDaulRb$OH+8K$wQpADKeNrGIk7V^y%d=MKMN;9i`a0^jS@
z#Hbns`A_gKg7<Kw|LqsaY%yD|*dNO5mUMM#d1ZpyiVv)BuC1!7Y`DyWtcd!Coz&k^
z|C1hxLsO`s!guc6v1{J~M7)4c{<r(C-@kv~p)Y%^#SLv$cU@Cw+aO8$EnBy32l1+s
zUAK<y5HuYf<t`A;Se<1ZXe<b2f~}AipaKzOP+>nh`$iO<n{^&*u3$Cm)!Cd8&<+5H
z1LY<7{6V&w^YAv4mPfl4yT_WzS5=fcGPx=Z$&Aq(Oj(SaA_Mkr55K0uZZZ|sG<do#
zbQtv+h3q8q*_M_<!B7^8`U&1YKjrgzXZ;?l8Wk4<L%H-tv^ZZ}^v?S-s1JIA@9TNz
z%$Z~7E_kdA=;#7|Ou<Bw7;rF?NJB$Dk>EXiI7-OE;+W~mls|Fih+c6L715x%oA>h6
zdGwkK28|wmV03zR);l$Xl}AFbh%duu$MYQ6%*l1@;c?KKboeVEn1(^Kc+}<^4PZjY
zUrS2OTCJ<PWI0FVo=)yCwX!`Vn}_l`heu@dunV6h-ZOcW<6fCWl*eVeWD@Zn**ugp
zVqGSah;q+D+gu={$R!p6;iVwh#~{f=!Nm(EJ-|;C4%0+Z(=#|UHa0#!J+pM;UtjM>
z;y835l^>s&!ZyvDtbm^oB_i*gna84@^$NUi4s+Ny2a@o|r)aV1^hknB2L^_xCP!u_
z$KjJ18yR?}qWBEt1{%;W25tZH$3MOL+UtkkJvRA+orQy_0{AWUEICRc_r_aDWIJ+H
zUr}FevsJA@Tf#HPd&bAdPMi_=o>P6Jqdlk33Y`T#eS{X<nyRfj2Z}vQEd~m~RcYHY
zpS{Y3{+>=(kt6r1*0xssYincoe)>=+wNnrf0p0>1M8~>n>Ybw}PMvz^ts^48bN7yp
zj=ei}3w&n>;9SSnPJzytJVjjx)|PD8v~}+lYs%^USEJzTs;l-tatfmT7pg7rVQk#e
zwm#iS{ZaMc=N@|K^Pm0P=QO*iA5nh-F8dBJ**^+qIGxlFe+%0^2dHlM-#_(~K>9vD
zEbgNI5l)kD)8G2mF687s2|6w44CS{#E%=R{XdLkm0u!&n<*ltNN6fgowx+za2$^-#
z)~2;>u0}ajRdr>heOuGICj48s&be{h73-<}xIBhI7M#mvGa@AplY3@*M&!#Y%3vLq
zRS3{4fHK9dGBiTriRZA5jxP#rI;3`I8J(H~{~brjZaH34oQPuPgE$oB>+zyuhs|cO
zV&PWrYH(6^!3vB)gK$}|H(OIw4rya_9$5`6&k9Ud#R@!f^U1|?0`v9ag4pIXQL(hL
z$fCCtJK>Ww8Vx3EOK<_^qlV}4tzc8@y861BS^$_Gf4jehY7i{s2<4@?l**cDA(>{`
zT*|}i%^=gwS#-!6w(42dXffc<4baUvL?{N@9Apom`a`N#MG<RcMxz2%I{YrkJK-m1
zQ8?xE2NvTaNBW7IMlcr$3mUdX^n)j&N~aO|U?2=!7YGXcQgA62gW3}4XBRwe{YRhu
z*I)ehNblHUXmNIKb{d&SGea3_5I#-cywB_P4ULbFj*X5D4}0G_ar!LG1Ho)40rv-3
z<ap(E*I&JF-@XIaihOS$3d{!jdIi3>cMxS~7y1PnHQ#N~cm|np5L@XiG$fH!2ww1v
zKM58yc)Zf|Jak3`Y9pLqn4cpiEm<$%G{qK8pen=&LJx~s<O7R=PzdfQfrrwC7!3sk
zQ14(mjn0O_Y3cX+z+VdQhqU!r6i5B|@FJ>mnZv__Lqmf@gM-=QhhI7k<xaY?!vWaS
zGct>GyR{7sEp06#fAaY0o}Oc;PY6)jh;j7woEB(B)MK+!DBnN^4R9lD85Xq?uw|`M
zI*z2s@of3QKZbfp)T>GpP-PUB^|oAI%A>+^dHGeDyu9x($jf{F3-VH4CGkFaiLyTL
z-1Nlk@aT}=zu@=#eDnTsUNu9;0`vpne9!O@8p)4Mj0H}={MHHT92pr#317F@JAF}M
z!*n;A3^tLU2Z!pyf+Q~&Ney(sConw`$jg@xA3Jm6o!5{3>80m-dir~N&YwTq^O{b7
z6c~VPlj(nc{<#<a{Nl^6zcTRS&cgqp@O+>87jh6K-*XPt3rBy?ts&-nMcEpWKX;<<
z!i9?`iMSj<LgV02kHGwD2E)Ip!K5ukM8V~-=xS?gYO1SiYj?)7yI?8T;zhOkI!X3*
zY~E!5^c{Eap!Q<;S#?`0tj;n6_0GE}WjuQn!m_2Mp|-ZMrCH!Rwlvq)!lf(FW|znM
z#cN&0O&ynC*;-#>*t?eik3D-jL7_4QdHEgHmHV!`YTw?ydo-QY)2c6g?(?7j!WTaO
z*|J^KFHj}+7X1kDiCaJlna1|Hhwi)YzRpUj+w+5;|NNiaorQ0S`~wdhy8imx@4rvr
zzxnWe*I$3%*S{e!bz5k$_0#(=@7THf$^%zlbIm@o_dW1m@2aw`->`v@bZp$X<>o_&
zKnrpkc;^4+i(fp1qdbPIQgX#k7`9dmWiKizFE6p%1V;z*`B0DQaG{*8vJzQ+#TAtu
z9TxMlluU+%HjB++x7Zz~veGK67HS`f{W=3;roi36Jsd|niySt)&1$w9%GTA?BE$eG
znN6$JaP3%;(hBlFFni@hz<1<is`OekJ3(`4v{{CfYyg#VTYW=QLv2HIRmaBdwZ%|i
zB_*Y<@=Ux)PmYF7(caYD*x0b9roMFR&3pGy8_5yUaWh;(MRlE-Bq_Yl&?%9(xvU7p
z6vGE+P$BB5;|&6Hr4C1!_4)&TDC_CjX^;jGuXrHfrD?E;V2eg0nNcVV2nJAl44vs4
zL>vW5j6rTJ%)J?C2m*REI*|{N+JXq|d7khE<KL1%PbNHVqylz$6i$obv9Za?DLiIo
z#xnU~pLgDmhj+0bbNl?+vu94v9(nnd)6`pJ|B5*>&FA9zty|l`ud;Oun&Mpq{uu2)
z3lVd+53b&`5HbFUr)@Eu&VV#Ej1C-WNJEf)pq7<k7GT&#q7d7eSt8D{EyhsI>xY*B
zt0V{89Un;LAta%)44}H<@m(m22)YG@h;t$m3JM?#!73S?P33}t1#dW(&J%EmWaIgB
zTE*!(FK)`bcRqKF@I8_(dHju6`%%m*m@}zC2!N4=B!pyrO-+4EtB7vUFeJxEkd4;c
z15fdAZ?8Zn7CeM#hDM-y#T;Mu*pu`I7K!l`8tovkMN{MfGHdck^FLe`llAcMAtw7_
z)w8$D?CjfRQu204$?ZUuA67kkm(0$-U4|-elcCDnWp?%+nRU}Fv$I>Gu|#stj}l2Z
z5EkGl%}%A1O69`B_=Vm%)Z@SnJ~%aX?AVc02)xcyuL*)Rmm$2Fqu~r%T^TaOYpF4~
z)k;+r;qoZbAQn;qZl`?S(*i!+XzyqsL<%MsiXsv1`4r~i_~gmg{yaL=-}mxMFTHg3
z{BM5qlV@Lj_0<{bC)jr;{^H9B#7@UaiA)UMt_`*l&_$Sbbt25W&SrMA+tDI1oAI;&
z3D07%<AZ2he+GSzj?a>1kz$hIK31s=E@aFixxe57)l4`6)F7HSkswx$fiT)wkX0Xz
z<lGicgW}7+zWE4YrU@6>OlFm*rOxE*jWWfKnP2_tSEm}!oOvS<!8G9-98KG|@7%ig
z&{w|lmFw#d9{j7@5pHOvYO(9Def=BX_{PD?BuJqfuux{EQf`ah@xpJPe){Q?Q<j}O
zcTTpgtF5<qTFQ#edTSASV<2NeTdvcoEmmk5M|nv_b#+ZOga~G0d3}9zBLsT|wH~{M
zL!r1Boitz-k=!nDRJbh)b}5L(0%!*5lGdnsmC|Fktt8z*y^vry+4MAHyM04>_5C+o
zbGt1bceK?mk)As?L<i6_&O_h6_EE*#|8#uRV^OJfh7!9@hdK^RNy1{$RjA!gtFf%6
z7Um>4oE;7;Nd`kCW{sK9aPtb*ZpEe)NDd}}CBAgnZAr%<s1Tw^gNP(K13JK5!PCO9
zdfVD^Eh)5Bl}+32ie{3pQetVmY`w)+>}<k5U5HTb-hg0-k-7o1K&f5>MOUL{&|5vk
z0LNU6&b!U=#lDLehw11dgx=W#mCQcca^k|N!NboTKThc3L5xW26NCpV74puE#p19v
z$z6g=aCQl2$pCxV^LZuGCNcbQv*3KPHhAcGl^ciRz~o^w@Tl3gp(qVPU$jgoa+=}(
znQ2#LWu+liU0qIbZc9EeJ3d&T<AD&QUy`1mkL2BG)^3L!NM~XsyD~@kT~RZG@B!_%
zqV816&R1uEE4*-27LbA10uZj#>I~*`xOc0Jc6*ggiUMhkW{W|OG60ehfGDrl2II&{
ztr0{MfrO!W7CA0#2KxpjktLr~6Y6V@gdLK~R63i%qKjlyMi#u+8l1ExY&I8hES4Yg
zgF=4Da_<C6;-|yY(-+5Z6GBL$5zQ9}8bm!CmNUX`CfLVrOD5?m#~ie3QUJ=DU?>_+
zVb}3w!fDG#bl5da6{E`nSWoI_&~i4K%94_3qqVlSxDvi-6V)UL=q$7t{jPEeB}vFK
zXIRBQs9rd7VYJ%P|H9<A)$zG7mHFfI;D&mVnnatVOrd|~yXx^bC^f_=r{(@ZlAO19
za)%)drR^@6J${!=a(-4OIq$|N2}|4EG7sh5GJJWrOmf~OlbmwqeYripStdER%Oq!2
zBDNHq!-@~)CnwJl<^{V(nU2ncD6Rzer_>Hdu!@Ad<1v6nk*~&#M%jVJtt>M+?HbXU
zOHUz7V<yUztQRsxFcslU)~Lmn!3#ZS-+=TvGyl_{{{64do;|D1A*<s^Um!-rK}k_x
z-z2(81%s2rCy%}jCkVf1FU*w78mw-1Yeie56^z)K=sWMCfMd>311Snf)X~sTg$fX>
zRcu+`)Ygc_+*}VC+geJNv02BY6)J-z3?ZK`i^Zn69Hb=Ys%hSaylGQ^FNE5_@EGRr
zkw7#GZ?`p<ZU8$;i!C#acs*flJ2Sk92vk9A`byX5Z@(8<@FtKJJhTI1xUt@)jNl?0
zCV%+DABH=<-q-ah<k0H39=sPqsGBMkG{5}$Pk!=~-#q*Li4!L}3lA#?z`>q(>r>%d
z?|$Hc2byDVfk1nBSK&+K!F>PO3vRgl#g<){Z{675)YR0z;mRww?Y{21>vnHyt|)R<
zw`|&gy!MS9C_`&1$MUFb-LQQhb&p`$Ogspi*0<o&%gd{ZEh@K@QIrzX+JZZy*O%hi
zn)RKaSUI>KwF*R@>LocU{ZQ!ei?LnSvCidc-bB6q8kKi#u5-Dr{OVts=vObgNoMbM
zxa;T#TOMUzeUxg+ptMYnVdc=%2-%vs+*}wH$Sy-RMyg=vrqIYMkFc*^tx%(eDkqp=
zkNRNb6|ll1QGYOjQAE0c8OxGQ$AINXVq7W)00a{gtrN^vXDuk7UFrh|ZrFjfx|CIz
zN;lMK6-%(e7si{K8V$t=&N`8>UqaOgrVIU;tTPLQaB6O0a3Ta=Zq86my0GYCi;!i+
z$O$j_A!Wd0)N<t5i4#ZPc;k%|=bm}y_s>BmzjpXyP%(Gr*x^&y&B)lPQ^(Htp)#rG
z%$tAuEh?gUhYLc_r03jKRt<iU@)Wud&0>}&SS>`W7OF+B*WlvJF0tkGv7;xCK<yvv
zednFuyo`jbKlR3|JJhkM{&P?!NB?bNB7eRgXszeub3gkzk|%g)6?_V2j&+wJzM6<5
zOv~i5fe_?vCZ@!$ZJ5j!j&sw+HDU`KWD+!v!HEz}0@<We**rrb8HRA=(s2b^8c`6U
zdC*%0kdLwk@DgSL^s!oPgJ_iooMvFRgGz!?gA|2Bl9frvi3shq^bTDh{EWln-o?cc
zA8d6DO%^gZ5>z1(MllQW%`^kGo}Ql`I)hA<b+xsqgs7^hzztfD3Ja+Lhk_+_YXf1{
z(b&{vMAWXS0&U<>Wg@D^ee=l_=1bvmb$oVgGG1*APDZ|sRLC@gmNszGuqb5#WAKxl
z$rVMpbKxmE77$f0o;eu|K@nshS1%lW;nn$Ts)k;j{5GfJBU}{W1zxR%RzqW|C)7Aj
z?N$KyeE!>{zk;`4l-RO6I=REt%GM#1v>h@@EAPp+xpJBBphG5UH+QXOm~8G^%`n*@
zleFz!3W_=mqYhh#45O-KlD0&v1(ozjp@8zn8QiByP{8}6IOEtNT*FGVPJ`12Txe-9
ziE1>(n7S#}P+Tk`8SaTE2rKLhFPwZAQPnq&f){oMpObiDl@684VG~U-E1)=SwsuVA
zu%@iNT`XbQj?IJ_cH6dwExUH@+SL3$Zdf$rLQTI3i9`_b!Qc=k8```N4T%b!?wfzR
zld!|mUhnenTOZlALJ|A5d!=_&pRUI$Sf+^0snxk5ME1aE7M>j%dIk&F6gu<FGosmq
z9H3?U0(J%L43OeFTiea;geVp~vE>%R6w50GkOe82Tr!D#J@h_BS+#zdD6S+LT?f`H
zv`e%Y$a;f!TOx{O!Lo|>>rs??W<(Rv5h}q@e}HwsqINzkJ1`DPOd1^6|EW4vU8$q7
zv9i3*A#usZ{Q^=qR54WNI-TnDEVX*R($@%+fr%TK%g+TCXJ&j0b0HAR#%TpF=up3c
zFgl9e(f19v352q`v9XJ%0p%uwV`G8fB}!Q^zFT<F1dZvBWO=>_!Z4Z67Zt4#=t`y+
z0vRa!G895VMUb${MnEbHPFbnfBcf&uGF|doswA83?K^i)r8;*`B9iSNId^U<jP;)K
z!z->t39LddngFq~ECg^FfKY}tgTD5sPg3;XQS_q{?l{oN9mWKew*L$}>;c(o_$2JG
z`(+lJJm0ESwi@K@uv|7fI0)(U0eV;>k^JwYhc$vg|6}N3lga0v0~c&Qj~~yzM-Te~
zUcH|l7PqMEgY>ZG575Jg!|m-LuUJ~b575IlLGk}Zdf2eV0vEuC)5A_oeDRBy=wbi*
zp}X#e8|aq1?*EVUuoDdph-`c^df4TKCCwn|htiRDv>;=nt@EavuH60}J?zHz2bf|l
zCs^7xY-##`oE{dU2mKT6N+o_E3lTXJdV|VH7-RJ-^spv7eDrLb=i|6R&P(*Lgq0&r
zN9FvmdOeatR`_9CikJCeE#-|!I(|PtY*4QczK<UkHzM`{epuiVvVlcw4m1{*_+dxz
z%J)8gSam9ebc;{M4}0M~e%Q0{qraaY){)IRKEMxa{Qy6#QV9obD5O*(cLe?_iPjM{
zO~jJVGLS-O$|Ui_!pcEAAaR8+4b4ARNn%;(^Hq{qGU!BfK)^}kkK$$R03nGT905t}
zFiaxC5vxf1KoaX?)B=@s8vtP5qlhIOu?(b(_@AJN&9NF#%BIq}Pf8K{|2G}1AskqL
zQ3n?leUuJH(@E?9jt-8YNbWD|V2$QKrGvfEsP_}=;G*Ua>fl`F!*y^Z@)0^1L=QB$
z3_hU__WcJPTtKP+$Le7IKj>hZ`{X)U7YgY<p$^W!Uk7&sWN3iTKA{dqZXf^uf)0kZ
zCbs{7Ne9ai>4)mzbo!I&U_|w}kI})A$S2dm`k_JH$LZie;FIa#kz988qjd1Vz$eqe
z|DH<z;bU}goxvb6F&Lq4TiUjE?!QS=xri8ml6^hGJsaCwo2dst8(+wSHCQZegYtzn
zR8I6SBk{8@6SUWq!zP!C^&!SrBssC9{!<j~S}n;k{CFL#u-KFzql2y1W<+%wC64xw
z(!t8=TK3~~a3(`k@W<<5Wh4rC|6kX^oZtUJj`k1gV3z%4I#@$7;2Qb}9gGPuI0%1_
z4(hi50#Ufg`y3@Y_o6Qjtt+WrB<8ZEaK?b}QQ|2@`Wdl?SxEzrEE7#x#s3d<Fp1Ta
zbaICwNTjVqW(T`uc5q|YYNdq}pClPTB{Jk+BJ((w$UKhDF7_}!E>&7MWys$tlR9!c
zSl;UsJUuX)M#d&=L6lG=1-J6pvA5rPM?gxXKAZhBwwGV8AO7>7;na02zx&<4d-U7L
zMD>95a@)4;m+#oEyJ6cl>UzPg_}jnz>erDv{J0u)T`Nn8@?MF=#>Yrb3snN1JCS;(
zdpAwu2u8Y11Y>G@`(^EyZ7jLGy`AhriQMUq9gicz1!qcB&=aH6Y%yu)Qx*%Vb=-is
zB`zzH2+>hQRaaMASLGT=*VTc%%&kOW+{Ok0Rd*nOB9q=buZ_&jp)As^93CFHFi0*3
zosbxkkD%ygM@J)PMvn?0SEbic;L=8lV<@ng^P=mv7hl2c7#VmRM>%)y?71^160e^-
zN4<&npMLsZe)0Xskq`eE(rlmlHj>+(lB_ysCr9qTw8_WTDI42bnK!u%pCn`Jl#Ok<
zY;2vfv2}I+<*_Z1jqQikMq+G-ki&8O=)%$AA(Y3smB)|2`LiE9j+^xS^UwY1`~Ps^
zJ1;y>{aA1_-~Ya6XJK1m-Q#*<YISUAZK?m_rcKmm@s+EuzPxSS<EpW-uYK(sUw!a_
z8#}2b=4)SrqXm_FyQrt}@X(+8j5J?}IBsoeYP$T+mKN&2p_ZwmqYk6w>gYh-lQgVZ
z0hv08P!}~csa^IWSSD^|Rn@v1?s!~JWZv4Q{ny*pH#EY{?`E#J;!``RA0oMdOhq`9
zQ1&%47#;$<aUZ^gK=A7?JuYZr3Lvt~fYy$>fVYQ+F7%xfsA3PM4}u%vXf!qss=f*Q
zX<;E0PdpBm<Np4>i^$OUb$>tgJG_7FSnuR4nO5JXlw?#@E2DZ#CwCYFC2fafEB02|
zsNN<U)tm9jN{s5QvQfQFHmZkYqk4;MR1e8ktei2uqiZ#HbWPW47IV{tFU>@Qvr`N3
z+4?4;QH0CMli5H-nek0rfM@@mS6_V_zXrhAEEH!`xY&t_V45(y!LgXv!g*U!S%r!p
zHIEoTI?K}Otf%S3P?Gme_MV!C4`clJ;^MJEcumGn_D=aV>5-GK{NWFO_#clx`oll|
z@sEe8=Y$fJt%YBH4Zhsbh#KJ}93X37gLrD^E*<LzwKvH5lNvgbg!4X)N`^uvo|=MJ
ze`J1oIygxxre^)2s1HnDEWF8tXAmdHgBnSwr<r<UbXs{5+rqnr0HGf4AIPCh6b<3f
z8Vgiibk5Vn#)oFn>yEkbyWjop*yzcVzFx$Bj}A=CEuLHAbPcfa*V}9r2M-=xN7V|A
z;7d{7bUPZ7HyNV{3Dniq<py4V`st_t`L`(sy{&Vxs6P}*CYUtNxVpT!q`I=A3Plh`
zy9<@8PB??@Xfj^rEU&I<M0c8|y1F$82&_dhuG>LdNW25pJjgl#mM$a-r|@DR@79n!
z50u}5%&FkfYHZ7PB7&(JO{KkJ*R31titLp|ZbfYVjY+Yo+^J=>meMjDu&BJoYOSt-
z$F01!yvWG#Mdh_P;|)7^b`Y;Gc<+Q_CFdaFQmv9OqQL*I05yIfu;9z&L2i^zD$&~j
z#Ad9gskz2bu#_~ct0L=eQ%T9jwb*aNM#MEJRap}*X8m;!J#;gEwNl%J5}M|;O>1y4
zyE={i;RtLDO-)7yFC;R87WA0B)u2HyAT)q&S_mbx;iUjtY31`#e=O!B)yt{C<jcQ#
z@#t(I06{#~-#?0ApC1(^m@@ec=*s>67`p3fNbOjGBUQp&6eQ{zC5OV|oPt7lS8PHS
zs()nC7b1Nn2-ki*k0(@S@TZ=CeQ}Bu>xbZ)8YO=~(S?AnU9&T&;tWz*gc{+81z#{i
z?@I4N!mUnGYPhq}J2&HLB7Ep50_TlD2*@GVs1YQ!n{^r_@+#r;g&z~chb%;>3Zvjc
z@U;NW6=ag+3FQfv1;v8=1rmgIYYByz<Xa`&FHKoSt3u24JPFNM(Bz8K;|LbAV}l}_
z4xwUg0o_NDG8-V8%#okKJ7Y`#H+Am;9oKoD>+Zd$_W>~Iy%7Wf5Fpq|Q3ffhS+ZoS
z$B}H6#FAyX$#IE}bBvh{Qc5JJIgaC##5b`Vx5OoKm1N5lMVTfgQS1eU=zRc8@8vxI
zfE2fV&6V7<*1c=pJ>qBv80^{Q|G)n$@AtlGJy(~Sg6u4()Y4e5^I3%yD$QX!9gA!k
z#4)QpWQF8@A(1MYsY~H}ftXxpG#8iGHM&ez8#sQ4`!5VSGq@j&rTr59ZDAd@+heA(
z=54zhV3J{^K<-%-U1la-LfXB*&v*dCRoLFIv2u57tlT3SEBAgrxdtnDm&VHdfyT<c
zUt{I8x)AqhtlS@H)~@Y+SFGGxt(6PLBz>N4UY!^r=#j<6#WFDWvlb@37z3lnkDo69
zF#=+C=dz+decGQgVKbN!wD58>s;j}!u;v?cX({hAry|^}v4yND6PX*+F_o--x7%-^
z!eS0kh<2M(!3AI_zxd~W{vH->k#(b;37k4Cs-EY=4(<{&J8iE67`%0h8ICx`XivxT
z*;;paE~j>MqK|4VX>KW}Vj|P2SL&t`VsJRiO7zb9wLO#oHd7=N{Z{A`c+2(XExiSN
zLWr3{4Qpv`m|E$H69X2Sd|~*4*DWzn_sI30L}lmgcWlOX8#X$f8`iK>XG3Fer>*IR
z_kVN`-W3ns=dQp0mg}UyC_MW6`=oy6g{9;(A4B`0Q6A^`nQ~{2{*ZF%SH23HttA$E
zV+f<2h_4KE?A*Afwq@OxZP)ho^=;qO*|}*a99`QtZ&<&sY2EhS@4;x^e(kk4B3=0&
z=~LczK@(S2!d139L>C*2Ne#ecV1$iZ=y2KI(=MPLwH_M`Qch}}ieeJQA+b3fRn<JI
z8n)e1;VP<f@7Jvi{osPHon93IVSp4Jv<;%<x&$v$IwhBl32TpaDPFUtPS_SzZ4qEQ
zr^}FKVp3Uy?OWvVLIpkYT-t0Q&zCeh23nzK%8)m(hj9?%P?ejbg%^f=jwT;wH07$B
zZ{C5(5>o*|bNCOy*g>J2;tpf>?Rg<}H8q{Yc;_;4xLM4zA$u7{uehwbp{CMPTuY$V
zfE-JKD!IO*I69xzmlb4<$)*e0E1}E9z|7|g0M9T2TQ(a@YECaiC@oNo@}-KN26L#S
z(qf@(Zf$O>uWN4Zq{_Xnhc&R57d>m8W5?oBWlJ4Lhrze;zgnr9CcpeNSgPqrM&>3k
z;IdXxt~3TQrnJN)IWNVO*;f<>yp)3hCCOlwXpDm{u8iI`Fh3c<a}<qfSr(UD(4Yc#
zk@CW6iXd2tDP%{cf;OfruacRwn9y{k34)6-JR8@=QN>=QaFkg}rIsPs6o~7km2_zO
z;yH%fS^6|s@K2yf4ZmbQeNMpQk~$|Amupf|3L=S(-cl@oxf@z!y~(Di9fHc2tg0gD
zR|+r18;jFZQU&6ivUXt;zl7n+>!TX{w>q6Yk^CE%Qy66Tl@%6wG(J|{zIIz}WnHyS
zw_j(eS_xiaow~cvcmP9I*si9A^Er*xyN^!_-HE$3R_`8-)w^3`_3qO6c6Vy5p4PWp
zqw(#unpy3UjI)CNRG~SNq_mVw&J3Rh2ys&A(#!#WWN?mN;EnV%ueUW586IO$&nBv>
z0LPgaP8O3OzKsPW7OT8TbpLu}wLPlTbsG}Ns0|08u;n5F%*^~0J6$?HmEvR4$^<)o
z&D)mG$LC&r^|jYtdpodkBd|Cpm%qqaf_LB_2j&&aI@_^dYh`t9YfD3UQ%y??{T1a!
zMLhN1_85elk3W3>{rB&=|4vkKZn^D__uqd%p~AC>4(FvU7>Df}yIy+@j7iv6vU1@B
zU$e#}bd9E_#|YhrE~rI!-FegI+jie^=Qff!ZEZX~dAIa^X-@WthqNRONpBY(U*`EG
z>BrKy3y<$hKa-A#pQ9|%jr)_&%AbWt_zR!>quu$Z@=sZYhF+QE@(g|FD|^KI{8Ns*
zUBpI12M@jYt#5tn``=a9q9U<z+tzFQuA{SK>sFrb{o^M;^O?_l?o*FH{`ftQfAm8T
zw><ozk39Z3XY)7SHd2yul>m7(c2-yS^pq7EW$P=Mf9;MOwDD`2>lx=|B`U+T)~?)e
z!!^EoU3y^x0lWegB)~C6ak$(K4Gl#?Cd*XraR`}&V#wfHylnz*=V4AbZD}FJNiR6)
zVV&qF%{yg`9_)DxgqTHbPpzDP(@*_f(6h|U@U%29<j|&<*?&ZdOdL9N=%OFab$SKc
zm`9~+>R1##wA#Ae_JUBSp0@bqe1(GJ<do1aANIS{_L=$R(9Gn_Oqeq3$_h_uYzSKn
z=M9vbjP2KFB8!V8pIMBu2|9VeeWl%QKyD($1_RChk}Qm@6(IGXf*feigeFGLL*SPM
z5|PR9WR_x>pSYll4)`;L;z~Z@_k*Z|K(;)&gu8V9SUr@Q2yT{`U1BsJ8^@|C7Iy{i
zoy)AYhk@=!VqugvL~936D>D}Xm%`Tu#~J8l*43Hm$*C!zxoWd;8v~&*3Oz>Aks=!%
zRI`htc>&t6m<2T3&bf~akIh`18W|CP>-Y0?{Kape7xAs{Qusgg!=L^f)XGag<28cK
z+$UK&dx~i0!f;Oy6omrW<7{eU0E}k^khQX`k~>`AN<Ca!O^ZNjD!v-d8aJ(#Jl=Wo
z&;Rx6U;!5OUubq|eX|FC$4WVV$2Zejsk<~*>K=`i()wmvE7fo{E0xSh`b-*d9%B(-
z6wSCufT1%jxaC6=GhxiL9Dy?t%sAIbXPBR5p$ZY=0W?ZMDuE}>5K1Q@3PR#p&vI*w
zs_l_@Ru_e3-cI|1Rfx@7a%rr>6e+&5OJ~P&O-)Uexdo#3A+cA3_2gSDGgG<7#`(F$
z2%Q+wm_#HR4FR8=_s2{O5&MGL4t0K2eRZ)#9N^?6Phm?f=+J7RMdhio2%ciIt)!|7
zbx?1GEU)V#rCc0)^UYZF>@0mZD?`XMy&3gdv3=7+BOJ=$kXq8aW&5V<uIa3rB>;Z?
zb)MuMPhJ9O6g_?)TJzW5w{<iA!8N;YyYD_s#$j>9itYoC06kl~@Z59rbI%{)hzGy-
z_2-^@ZdMXU{Q3`Gc>ek4|NZ;w+AW)UP_)`8T*L0BCZ76k`vBOt2krz!w)?jC+|K{r
z_ulv3b{qTsdvBYb$faP4Dk{W9Q`{J#$^tsS!lmaT7TblWmKm{0VT$%hJ|4gJQSMB|
zGI&9XkJ;+0&>O_0W|=K1L1J4dNyqiJk`jp8SrKw+P^C_%1vHw&>0xh#8&;;a*_0<7
zayts5;vTh~5^4m^Ye@)B>7W)5C!)eX5aK5#hLWNfz!)^5*ek|JI8}ujv)hnLRa7>M
z5ZYN@1gOSg&yf<SDK|1W^i66>8f-}dL2v`#r4vvq=Blq40vPaD$*e`JK1dNJ5gPZl
z%DSM?#fd|bkVq7mHZ$~~TCJJ1#3?1SV!-N?YX90?Ivb2+(n87*D&}Z(Wt>@jdcx2B
zT{ycWio+9Q+-yX6#85M?AOtyc@(rgm95%!`v6KPkVCTUhC=9}BgM|UC7}fSPu*@jF
zrHS{TR&gRNg6+c~;)J|nvhpWZ3)KeFtXx%iMTO&<2En2?6p12SK`G0P<P?FZy-4tD
zQ`2tu1L2#VTaK7mQ3_jjK}h?YyGRH*H@4u%sLjtpQYn2;T-985gmrBwWbW*=**j~w
zs+DWo!2?^Q9QUnuZ5!amwQWK{5Ic$`(m@T47wVXqUkt=jd3~0YOmggttETA9HwS!$
z3i8!B&TrR5i678dqTBJ8M27P=jlXoe#$UQkV~K9nSfblB{?hH5DABHo65A3W9Q9Hv
zE(q#VAwSDRJcGz$FqF&)Ta=B=Fw2*?b!ydwkZ}viHkJ;zF$wr*VF5SOW-}S!rq;=s
zfwrWswBBaS#%)X$Luj1LP~7OKY$RV`6zi4}9m5{`1+_zU{?Kbsi%%(Kq`4YwK_KL(
zPMd^3>$IAEib07Fw5_Q&ChbH-E^e%@as&9$9d)j3)E_if6p=zGu0b(;*G6f(*IT1A
zUb6$}Xi4HMT;*dif%2<#9TyHB3feve>cs))-8=1}s`l%zZ^W*ewmoqjo{)I-JNGmu
zXHSngx2$2AU3={Vmz2GfC#C=C^&-+C5MuomIAa~lUmqA4cxk?fBiYvY<rg^Qv1PCW
zWB$c~wzj6qlIpsamRfdF-q=awK~Hmyr^w-|Y^=kzscUX0!__6-z`@Fp#A7clnI+~y
zD6Qu&Y^DX6G2-xbz(JkKhy-t&;GS!PZZVonXC=WsVL)#IH<sR&w5J$o7&8s^dSMPE
z16MTX5dEJ}&=T50Yl~0dDzXZgI@ZAls=_$X7DYLozM_;6H%Q3_?j8P$f3Db-4G5<r
zmW6B9nTA}zTa(X`psTHQD-uH@l(t|+Y8xP)g)cabnyyZ<541r_O9oo6*tl(01r?W|
zVzIkRxHpAX0)wv5n1$KncKZc*H7=VN1~y%qj|M}EXzn6A<0H<<4z!uFOEW{$DU%0N
zUuqIjd?2kauCSS<w8SoDm_A_7l}ui5nb{o^K3ZHVaH+?IJ@JPujKYLu@=5vqZ874s
zEbbnS@Omj3VnraiM&iPdOL94K>4f0f2!T^1k(Q%RI}k`KHtqvfnKMkK3n*Cl<7paF
z2HGY-pT$G7a}kVRZfTHldul$av$*VO5$~l!3!?-8=TV{c*5uMBPh$Imrbf&}g*hpl
z$jF)+b`8mkPqCX!175&zUy|g%R;Bzm3Kfq#`iuvd;)U%FP1Z<j5AN02gFE=7um^W&
z?7<xxd+;8OJ$R4C9=um$5AM*|gI0|_(DrAxg%XM>n~DZgnB3U1Fa*IwTGB7CL=%E3
zIk6&y`xeOSv<lx%NcK*I714T7v}zs}^+LqeTyWA*Op(>Lg^1Cei7(G(7^$(zlem9#
z@tn1Ib}kst2~hQnh+;;-%NO?e`XSy;>&nTWG}=RAO*vzB5p%hqrjuo(F2Npait|y~
zQdX)kOk<8#n1#BFb%D8yQ>j9HYjIc6>d+!J2_s?J$Q<0@DHw_If|00lott9Sxnd-)
zZOhH+N_*Dp4;(l!UwfzMBIi;1Xq$2P=#LMEYf2chp62cM-FM%6rCY^Onp{sl@zIZd
zv~%V8ef##kyig2j?)Ii{zQ%p0NWf8!FZnsj?zPpW)eY-9sONNabO{vR)}GF_YZ{x@
zu5V>#wRG<!NZJLN347ETMVEbfaT!y^LpK5Dwz@ngP*tv~R*LdXWd=IJg@H(iy=`U$
z+2|*?S(xvvacrbA&8CK0w+W%^tjQ(*-c5?56$_FBC(R%?z}paKk4*L=Pr*dwWrfLQ
zGMMvfo5hfg>kVchU1#xBRAB^|sCuPqZ7J!YblU1^;UGL*QTCY2*4B&rZMNVjq-5~D
zSURUpSSDG=y~np<kBL+sou))Q&&5NiiAn@(j2`Ai@{erEcn~ub6`d|seqo2=k}wli
zeIXeY6wp+myon8iG`Vdhl+1@gbSK$6Q4k|=kvkZknp+8jnoZMt$^MsUP-HS@85AsN
zl0{fDInTE&FYASNgUe>3PkLWlIG#r@qF~h03DJ(Uv>b^;$(c(<g>C~#V$9GI)j4ld
z9^nNRqIg1N(30_}2!CRjIFdjyar{(g2HM6Kv&IZgke@IwGCu^f;HjzQWX`CI&WW5(
zXy!aX`jgU8aqTjRv**E0&j&?5oQ5d8^U>L2!tH!&c~VTQ5O}$M{we$jt2SWZ|7;>6
zXA>$Uf@?hQ{Z3&p<g<_l!-o3aKH~ulL}7dHRjkSF8f)@jc^B{1SQD*+%6lHXf)Uqx
z7sZ-5r;Uq(@K`LI=Vlp_q8A`(Fk9&rHArG~CX)%A!w3j`u5Sie$+<b2D_GGSM!^pk
zOV}(785()Hc5*&F&~|nruB^<BoSo*Dt&F@)Kt7JOmeW$mFK9_-Moutq-;fTlzijf2
zw`k#>&sizIRM`-_m|F^z6*EoTRCz?vD>_hGR$(?3!>?!M2bR)$q;FfwTsp5yFGDM3
zG}=q6o12?!=s5P)7!A#^2sN^5<0{fHN$6iyj%Wv)#MsQy^4QkZYqzy@Y}#DRfONI@
zAvkwSSFMh+T#k-0$Y<NP-E`AU+XbCOjl*`^t<3q-_!+RgBbjR4pzRx1gs&Wd!5{Yc
z$Us|t1B))QzE#5UtZQaPX|1m*D=jTAtrQlbN)UUtHc@B7wvltdrs{J-R4JK<1)1)(
zj7YbV8TARe<#&9FR+B8HiJ$1Lz~fMaiOvy9h9jhXvsikAK({M;m0O}Ks2bCH$K{S=
z`Ss-g6KG_l0ZsB5Nx`S6aT_ycyQj*-m9>}GVQuXA+>#;haB&5VCFOPGUYp_e^)>42
zYq@G}y~K10#DztJ`Yp^+K+zx;Y6CvS!b&Qi5ahJX#ia!X%q-1>bVSn=9p@$msmY!@
zH%8T(!(-)UV~Fw1tlSKMR2nugf;gSv;fF~VmoyP4f{G<Y;F3>=*=dCQiwLsPIo2?u
z7VcF{P*r<mDI|1=Q{?(eOKo|PPgx1<myBFKW?yARA;nCPR}eM1gv$^mB?X#({QOwl
z>!OlE^Hn~Z$FOl$DX)iiPHe4gkqNt!h0+tnE^k|4Ig<$oAaP{XONZu3v&;ly09tc0
zI$+qBknjyfo3$5VutMi}Qs=^Hv@0>(ZvPTKx42>mKA>wO&=?$-Vy=Ye3;~p!ZvQIt
z!_}(p+MLG|8e4EbR%5SZle9YJT1DV{HMT&T^SD!E3$*p9E{$i=*>|Pt-bEVDl+n+P
zMPbCZ*cnJ-oFXuZX`Y_8ShyOC^kLAQ8D1Jh2*GEVo{q<-r+svItF&UVuHqM~4x>&;
z>MREhLaE%Tc8MObxasX*Ei7EP;3}1K3f@^hr4xSf;lnQ13ojf!o#eGEKY8H=LK>gp
zD5d$MM|}>vQ;ZjJ6=kk3jC@8qs*enhTZCA7joRggg{gJjyRX0X)^1w;S7JhoHWmpA
z$FrkjW@g8Z=Hfg~=Dg%=+9AD%9d~!{+ST3dlY=n*Gxdx%o9YP4Lb<%!y*!1xxS(QB
z%;xt!a2>*t{~+?No)15M_~_7rA47%W?D4~g4}b83hY#<Typq>)+u9uI|F?2=x6r@V
z-zR;WZ2gBnyc;~w{^AdR80Tvg>f5|fZ>J-UCL717(uoMu&gKiRqR4by?b@|x%a&X3
zdgKrP_>bTBo~@fZp{FY<s$bW=nbW)Ho~>JZdU`i*A%NPpb<@Tk>3S~~8Dz=YwGb3K
zV|sCS9M$c_G+Q=qR2}*nNNYTmwbeqVsa}1yfnHa)kh`UNTL@8@_OVzfDvSBABvUb|
zFaI9zv+`VQKuji7npESQBxvL5dZ8?rF{)jpHxkK!&K`~8qo>JuF)yf%hycRnqH(j-
z<tpf+p%Yh1qSQzJ0>)Jb^!{m(ZJc{vXELddd{#I$2=1m>s*`Hh0t5{4S!-1wKq4do
zEd*A;Xw!?`*4O89>(<rRflbe5$*Qd5oSB&hGX60k86s!n;%bWStvvePsw0~gEubV^
zB8<6^+C}7}&nhbmN$BfQK8sLx%jO^n<bTuC;$JK!cAZVd1JlF?K61lJa>YK`M#N)M
zF!CIv>aZzM%wZ&|2&zOV1<`<-3Ixucotm1Mz##k6Y6YGXuFc2@P?E8jE-Y+UNDhoi
zKWC?mKsKLgCs+g7sx$bM$n31@*qMh%e=1S5c8&1g)M|80#MxY`=)h-(*%FOJ{LE05
z&PBqD{)KReyN5Y3nIa|xdhtr~WBrzJ7~h5wW>8c)m-U)3q8X%~B($Bg*@=<Yj~+TS
zH0UXI!sNwfwTmY0ix)i}=&i$|a91ovr%y>QaHvB=Z@)b>#AFj3h{CB6K2U<mmJd?R
z@<*LzgzZJ@bNniS3Lc^X&j=oVRn99uz&FpzCghs1cwAN$b%Fe!QxoOG*=1Fia_LRa
zC}s;{PzE1~yk}*%aX=zYWmu_-TYNS_6fabrwAjHajek_F$-Zb=?5eSe|6S~0wI<rC
z)kIrbd>QBNwG9tPvg7BMm#3#G6b@XnZu`9jEZI!r!1pg)_|0#m3;br)K<#%`R|zax
z_m+EZzxUo9JEeR1)vAfvZ`!#-z{x)R+3TfOq#x3?cL0mw!$utN4qUboI$<LQTun^^
zRMxS6*N$DgdN$C=KfolfsVOTHgh4JjCVO4+xafY#M@%FSZB`&e1I)B|+~L^of_xZM
znX*#cl1`VG(UUpAT!}`js`k4G1V9SLG7D27d}#6q1D6K-emRp7u(HboTAJclt3!6b
zD*=y1Fc=QbvdjlofF2IO9>QQ_v<<ix7X`L#=<F{K{^A#>PSU<QU>F=cetd9ne<5c6
zV4v{-H>R+CP;(a_(A-6zW@USVPYOJlw&(nhG%@r2nw9MV&0W;8b$n10GheG&+1fQL
z8+COGFv*eA3k&1p7nuFg&;q_ZLp>3iCxG_4c^V!Z92vcMf#S-A3j+Cf>HZHOlZ}P(
zn7x2e#Db<%L5+$w-Bb+HVi|6y4XM=m^JAfxzJ2P{!Gk}<;h7sh@#7!=7#q4gejG=#
z&?okj7yk3-FTeDkFTDV1ZNc!Y4x#~L%|^_9o7-!2HS?m{s5&Tgv*YMufM;1zH?%a{
z?c3h<!9RHL!Rz++3CmpBO8+Asnz3B`NhrkArfYUxyR&ci?mfHv`lN?A`qhCrV9bei
z&7bxf6VtqyN3sX~JA_ND1|Lzas=xiVs;WP`5d`Z==}<w!`O9#%J!`<@wQYXy9<k0z
zUMGvFW5cbN+si)rZjx^U(lb&&fA&S`uXucsSI;uMPhVLA3&Y!I%p7E`I~DaBmk;sc
zSdeBTMcDB2GSL{WGpdG%AHDnTPd;@WJdXX+K51XuXP*2V<%N6hx$Dk5??ec7V{Z@j
zid7u^&fPb^_pW;$`q0Ne_c=~dvmWx&*u=ue(&shSqu|`!SnG9d+t%IPD;CI}O+2q}
zQ7vYtgX|G5roqJ0$QFq8<=gt1QrIK6cS9;kvt`s=l1ka_z}-QZ3HTN-jAp2IR{`)S
zjghu4b$jSR6BYVPtKNVyyv+I*N_mY1?TI9PRa6ETWQeTrEalV<u_)z>K*<{F0Tt`;
zq)LiJA_NQVD6S^KCZ=+G$GVP|=EnBMwLk<}`ZTK_FOBnpuyvNp8OKabhjX}FM$wFn
z4hGNpthynW3x}iW`N?3=@1JJ0_+zM%37!SnDB|V<dU$$ve$l_gY+!HVo?S8w184%U
zHn{CxQWv~1lWWUn87*jB6Pc@Znal#j#H-8T5N_P`!sx||7x|KOW{EtL*G)G1;xu-H
zc{T~V8a4dOi{XH=%*LwM(BL(C+`MStpwcLwU@@2uF%qq+JsQiB@tmfR2JwThF_(xE
zM=(aRNfFlTP&%Q-9=bPbieL|^lY4#dm?qU=!o`3s!>EWCCfz;}U}XT>5vp&PoJ=H6
zz4?=uX>NYw7&kMsG)c;v%br>mrMCja{=AS!J9g~Nw-DHtp69Sv7sdf&9%_yjr_O6M
z!cpB)#QYROqnM5Y^)OfbS&_uKvaO~7F1-iYla-WwoZElW`$btVKP}~-A*+L*ku&N=
z{@~wCBsJ1HqqOXk{>l4Ay;&qL2E<c-AK{|~ZAmBT)66Q%=AJ&|0gPs0+oQ3t?|Sfx
zn!)cXu{L92_h_<`H)t&EZjFWAt+B9L7V_O13tOwPu(cWs+wYkg4w2C{7?9B#$4$(|
z7lmQ9@-#F$NsU4Zp=yiL>OOgTnrkVz$nA<s8BW+b<e-}JhkriFZGq@$EO0>F8~>@x
zw)4j?A3Av8fHdhveD3Jcee%(xUZcGUt5>dvoGTzSH}F0R)Du`Y;ZWg4G53TgrFgn;
zfA{+~Z7%g>*7^O`EkV5Ho}N3DYp&@Y&?6I&1WT<Kq|(x(qWJK<^dsp<HGlHy^<9a?
z{f|>jh?e(VwtJs>@)J)M;1NIa?#BKN6fB&|a_%(*U&pwe9xxF+^Zh3IcMoPYdRG+B
zosazCL+^XfuHD_Ya2S}i_3LlGW2b^oPna5$%E~0%_a<pu_x5JVY7x*fDp&YhW=xex
zg2ymdYx;E+zze)mg|{hea3zywQ#1xJ0sc+wsr?-@RqUd^Mj=useDZxVng_;=5J^ep
zRJ=%Gm}FUP@;mFI(IWTqa&2v<3HQ@v7aUNlmZ-I^p{WVSUY7uW<7M|=AR%68%rQMt
z_F}h-?3beB<}J;|V!@z}Bx8Dky`;h-tyHiz^9xfbY|)6oaV#(IlhKhh8U;R#tE3<&
z<b(NGExqhpXPD%Z>|pkyNL+iZ7?k0`^KfZNuX=UDN7)C_xYt;0$AonC3KJ6Z$@)^Y
zDKx)0GZPG;xT-`#3_v0Uk}krRAwwu~gzzq7=7b-kQq#O-DBz*v6hwr%uW9h$;g?@N
zcXoM2uOA&0X`A@`W#e#`G~nQ%^aHQ%`0=5kee%$d*QoahyO2|f!}2~kmskIaODaDN
z8E_i0Q!(3fsb^SfP#DM=_$4aOPwSGVD6!{1^UHJy*Vv2{TH106vDMXQJW!a}JoRYi
zc9+I`>d|;loA_Kid4Vp?-0soL?G2i_-K&|~8~U!~2sdcvcAI8yH)!T|#Z+SI_=<me
zdV+*VKF<>p9}`n^5R1dfq38<9W}9E!%)~PlhgS~&%gFg7M-Slv<#Igz=#{q){pPrY
zEfCa!J9hQ;^_87dmAScqu+0@~*Y|ez_L985?8$7~w0XmZP11U=5TpFf5lV-@nGUK5
z4eFn%xbH(Bf9Q!P9)9Sd%Tw}CKk+9Y`N$`wN4?TMuW8@@0aaCBA5|49=wiL9*tT=m
zj_ddA*w%a5gV?Zj*R{KEK$ptebj>wQ1r>;@VlQ1Bot?cR(B7h|9*cf)Y^5;Q3Qxgw
zaR&tcsvL^@B;5cuS?`mRi)uwt+Sy_-yIlepW)K}&WiYrnEm#w)J)5;dHXI0K%2lFU
z(=!!~>6$$@S6yu*r3Q;d6damM>uUu1z*?Hgl+H|1#Z9!U3LIjEBVS4_ja?jHii#yW
zFO+0wrza*xP7r=r8LV<;CDYu+;KRFM_0+32yEGdf9Eqe?$gO*=lY)$JV)V>Ga2c?l
zo9t~uP?)N?DHx>pTW55r6%jIckdCd0^jcwcT?x`R9wf74Em4$`)vAPXHPOvisugs6
zkDNMn;k<x|6xPf$7tZ1>GqJ2adVSA2QlXvYZq-P{Esk+O^`sF*(5#0TWxx|&A-6%%
zfG9*2hpy`5%PV2sGe$%}Eh#8h21wmX$pHv!RAC!dvu3yU84obv3)}6Q*>R_4c6?Mb
zJ4COF(EYtyJx*Jnzf&_i?$FGRJ2kW8YTacWad_Vr;zP&A$3;YeglQxa2!()JCmZU^
zt#t8>DBw*>^wAN~qa#*7{yit>klPVBF}s9;%9u+i&Z`~E%gxQFmw)<C2M>y<A-u?K
zADx_>^#?+IyViTmG=J!vWS7kgFG+N3iFJ^F`vJtuStDXG<y5UCF_7GAfYquURh4yh
z-P``)_IvKxz9Sf{-b5X)Z|~ms+<V`<<)V`M8VX+J0_0*T-9qdtLI&z|-TTeCaEzXS
z(9*ouIW0;#g#_H9c%>S)Z@ccgNB``4VukM$*}fuuLF(6yj_&-_&7{l3<BJ7(tbdnY
zl@3bZa4W4Hd*8)e-B^yZSlTUms$RJiAyB|$<=k)1OalFwoj7~U>wNu{?|=XM62^bw
z#IL^hz3-_AvGn!bc<cM`x$CZ5Z*{qPuSb0I)*ElU?Vdllf5-N%TSQpU(+hsGw|l+R
z&GDC&H8j9`Vq+qAH`SGvdWsz;uTwAbmlBX67Bk?uDn;^AE4lN&+^i2Q?#zre>8OD>
z1u%P_+DDSyS3DF5kB>|*Me+UP1;n<&L(`P-^!<K^<7tx!A@qXD)M?EUWlO9U)X+#x
zt2AJoIpayxY%MBUhlekbOM$2~!>#oH=C$MFOB_L1$m~U}YrszX2-e5Os;ZtQLC%_G
z(OJFDq9kc0alE#)AMc6gqLj@RO3jV>NkWoNOcD4&X(clLr5=|Fk@R_T^w8QQ=cQUM
zF6%4*7!>=MM$Q~AiCH2snl*?>Mzz6bLlX^opsBGjZ*2tKt%dWaPoFw_E`-=>l3do<
zNL0X(=(SwW@rflDWe)%hi5M*vlELfr&|YE^RMMbSC@rcTBJmnno|>JST3*uY;{lNi
z=U`{1=X1$qR4l^<G3QJ&C{3`-Fug<JFc(qKBcsIUbrz6`VwCBSnuZ*qV|H$8>fGBu
zeFcunW9a;xA?^C+ks}9w{<DMWm8Gd!?2kW&=Mh^zOQV*L9K?|$<RHwn?AR<;yQ{?O
zEUREbiCvnD%5gQ-?@~<oH`*G%OZNVIs}@D8%lnYVqCBCoC<7Xc@(C=8KuABLS#PzB
z^$%&*+lMt4<q?fVc|>DTtPfu43(@wgZdh6(208ZT+oz7das1So8E&4~jvZrsO$?sk
zS{%FZ>tA0OCnY^T_%`(Mv<3F#PmA`!*~MkbEac1m2ye;etXFpGd<KG8u7S^Fu?zV?
zhikxFN<-NXfAEu6fAJ#-%7!snen@5i<3D_5f$2d~+NZ{U{_}Csdk~*Kh7&Gin~Sz>
zJN`DmIx{5jU5fwwHi(ejDX&~(@EKecYngODQ&D*($@I#)f!gkFYG+$EtncpF+}l`V
zVfq7}PhER0z|q@3{Dr-AJ&K1<+VA+2Kl#*0AA0DaN1yn_r#|&548-5@U1!f0i2_we
zhay%FBk#dyxV^G}#b-#&iu>;~MOUVXJ;y`zW<I`0q#vYb-A{e&!;e4w*-zfGyPQ*^
zVJos*{8)M7i6`!o{!?0zYvlJ89*uIR@T|$+gry6G$BY!D{#MukSnuH&o_~JLb>O@|
z_(8qMAv@PR|2#DE&0hKRAmQ?nBOn=lrn$jafAW)`ygV^bbJtzKo_1Z^xA(f6Z`iS=
zoxxXHT35Sk7j65Gedc<ig}*C2_Dep;r#|)6=bw7&sn31xv#TfkEpPw&mX=}x4=gP!
z)W}T5EiG`auEUOP0A>MCFs`N~NcgzA-R&E;VZ@|Xs!p->z70lWLj#trxt@06=B9G7
zq}c6_2J-)?zuK@&4mk2n5X(}@5sK+#5&DY)fnt}y85#@Hnr5e<eNX1$?3I0nbUK1Z
z;4`I?qST*`4s7uIF}3SAbT+kjwsv$>^M@3J9bM}|1uP2E;Dx0zhhuJ#K|3^?BK*et
z?Jt^`XsV+&R_p{WNWGvMZ(a`b6#>O(h{xvf?tLc6>#;5n1$UN~66}XaT%;1IB>ID7
z@ln-SS;5UIp-H-^$VFqjyP~P7sjAqDhr|~Y7Ym~1m0+0rh`<r3XRmC?d8z983}B#$
zFno~ho4EpJ>%fMZ8Vn_H=U^hdv>b{P0YRl<nxAK4l$u4o!%>sV)zor<941lJkPy4J
zR#z{HYSLoFY4qu0q3UY(&YUVS`wV%5fT8+ebamlbm6r@`5QKJ|LL?LohLG=MlCbGe
zmI(xA$1ad?7(~Jk_O9{qF_AU7NZUw13K|(9bxD1>;3uWggOc+Qo*0cjgJPmWW%EH?
zCzdd)VPM1Avs~jdgF_ca&YYW>7mUL=PzHW<=FBg?^JTBs`<1`^mw)-%*HO;<_BX#y
z=clxvlW1s&EKnW4crlyz=`vw5FmiUqYlVr7GJ{6|^nCy~E4WwHcA=@lz+$hyAJQQB
zqyM|5d_-d@AJJIKPiidX!<Q`OgIBSXk7z9ABN|KjpvF=@q_LEp8cV6|CFvnyB*13&
zw30ouWGF2*qjzNhork4d_Ag^}qG5my5JBcdd1w(-YJUmWe<qN&ls1%}JTRFDM$2l3
zc$`U(?occc_u5A16{DMqd8yHqRC|)ia|TS2Z7~)3xATU^Y7^prhRD(wFv{a^zC}6b
z;)sEE$fA6B6yU=#bd>r_4jw%C##pSly|3dN{jX<pB_(c$(?_EuqKIk#*pk=w%1OPw
z0ei8|?hL9uO-(wXf{Wr+YpYI~SsE1mp!Sx{cinZ@-S4^yhSDwFwRNBznwkV5Vw2Rz
zSKw+p(t)#YUMO$6cH`1yWMp(E;xk8<f|Sdp9K{ThE%S4n^xXVPLM^}Lmb8$Vu$S9z
zzC|a$^48Y{kwo#{KfX!&x5DGQ(w|AsiJXQs;Cl3dO<Tw>@7leW{+2%J(+nZ(b4_IU
z>tFoN##{TOzc4*{?pM<<{QU5Y&pdNxR30Cb(#U!l7v_&qb~^ONv7r^Uhvr(*<Xcf)
z(b`&8X0|EZ1!q-D2g?L9A^^TR+QkVqH8r>3&^AkZIVb!RV=lQgw`_CQR3ySFB&^at
z6W!2KiYUTolhdG?nJUp(A|otdvqNcVsq#@2aYwlkVJOX;O45<2A*EJ{dVMaV6P`~_
z4z6IMA}P^o>mZ%ckEJasE3)WPi&HJ#P9s4FIdRp5e`7USi!5GSLzOHEYzmjss`kX=
zt#O>+h(nj&-JA}FohcDP6%<Sn{o#8ocJh`YCF0`#)B}d>FChcnUgy?DF1)?_?i!mb
znwO;{ko2siFR~Ta7I|&k*UR}87P6UqrbzA4=^_NJ4juTW>4d><)zhzQ0K>#UCg&-Z
z{}{5TMx&IC36ocl#l^>3j%JOHQrE;;KdYqCphtI8Ht2GhTr!&U+7^PM$p&_2y&<jk
zP&jm9u?z-fB~e`6P>-&U9sXLO7m`gZ;8ZF)WD#p?ttogVX5%nR^p_Az&aFg>OKeNI
zrL3F=1?*z380BmxB866BUfa+@ToOFICC+R_?E!|$eh?#qtsVg{omphslc7bX+{8Q=
zXc}oe!3|oFk_d%y#rjJCdSp0Emn|7v38LZ6e8gix6p}XK0UNQZiI!$IgHFX)SCYQ=
zOgu9)lb0%rn?##ra&8zG=+LQSR5yl4m(bW^O`5}K&r4_7J$5#xw>P%eFHIjm=Pb9@
zRCz2oLN2>R#H{#iIkUM)2-zd+WKumPGGD6zViZ1<4&__%T(UShJ-0ABKQ%EqJuyy0
z;_S@q*q2tvA6ETRC(DjL;{nWGVcVgxkvlXt@_LPp+|DP3vhog%johip-t5%a$ekJ+
zxkF<kw`*)<*;Q<0jX?nP+j>h&O`^h!L?mOhSdYHzR9L`v4T@aSUf<wzQL2!DiWW?t
zEgzUrt!9Dxzvbb!HoFCBSmQd7QH@4FS9_AB!9*5ZX}#mxKA+2|&*ooyZN^rQ%U6~g
zeNFAJPLnzrJyB?layTU2G!}6}t|s+UM|#9-Fy#Z{%DH4_==SZ6`gz_34Rza9w;W-a
z{^>uY=%HdP%BDkm@}Ch8<(Il^_7Gk2Q1*~D;p<(wVd#&2E+t{gf8h%^S>EK`Mf;vF
zs5OPwU6aIZtzdO1D~E$GX)bG`!>?KJ3K(=!l2M{MbFx%b<x--&Nh;1N^&crCeGO<2
z3&+GTU~B=ZN~J?gw0K4)Ffp)zcnz6+kU+=hqDNSw=8%ko6i7-Yr&^N~s)BF+iXj(c
z7m3syRwI};k{WU_V@)_IxtTXF4*Oi`oFdoMm?Hs(XGC(<@TcOtT;)1+lbJ!uq=8E>
zCj(5tB{+^bTUoYOdrCQ5lI4Igbyg;}DIZ-Ff68WB8;gnA6%M9k>~1bHiEUXT=;2#4
zMoVQ~t<RMUC*{dWh|Yy~Dy>Ya{dSQiw-kC}@qnO7!$Q(&g4Ib-+2UKFjle9aPW*6~
z2nq-`eLf!G4vXg5s#Zl29rrOQSB6Qi$S>la%yYb6Ls~+0rA2i@Wq#_^OjguT?3uY!
zRNxSsXLcDtjx)h{@ZU2`CfrnJ`D!o5)i^|N(afdyY39<c%q0<-y<0PvuErsHvt}-7
zIYe*O%%vjDTxy9Vu<&%%JIcyS+8dTaP#-fyv0hvlinL@yrzxNd$S0RtP6UEV##@q$
z_=EHfNR;Sg0fRE<1Ji2Dv~Wp+GnooXeDB?LZen)g0$|AT$t)uzKYRLx7hd>{bi_*`
z4<dc`6&Rh+C%h$@x%1<}L^glq$h1;RmeiFSJ3^1Rp6i|n$MBL}*7>$xTB`5~s$E%3
zU)t5g0^UT{(%V4$HMbTi>G^rW9kbcxH0q@8?s9`4gSnzF=~nA1j4XBjvAKlNRA2hW
zT~B=alOLuLetTVlsUE7k`BD*Bxk<VKcpq&jBBv3Yn|te+PM0q(Zm5T~`q4*wt*0n~
z44T^?Ra<(S1(0d&`W;O8+wSOl@7?#^ckjLT?k#|swruJZcyE-Rn}`Z(*K$I=UF$bA
zR9&-W=Z2m&@RyaAR@R9MZbNN(saWRA9RxalUyB9S2=cA^2;D+wrmYH%n7GGu-g8lr
zyJxl+NhMxkx$|n3wWLUIr9s0=w}m26{4f<jn6yec)Rqz<XIE5fSsEN1dg1L7LtgJB
zE_QpM!A<Dh6}Wp%AgP;h-^Fc^i<;^TP;;=*c}$2kR#!VSD6>wdBu};45)+iusaOs@
zb6aIeFdAcg2;@+X)jAgo^0_4v<)UDS3!|q?UCyFolOWOoAVnXSEJ`8zd~`{bqe)+V
zI;C?VHXAUVK01lrL5CqC8p5)qgU80^!KHW=1L;$JEF8)sOlHr~<0WMnXQ7;h)!ij0
z7-x`ni_k*{;4zUk2LVh9UT?6X!h=YQgjQ4#N7d&<vQ0;@WXc;Ug8*{O<31*HqEQtF
zijdk8XMMyoMKLWENK}lRf}{qMwHQ;dKKkekW_uQhND~lAB;8r7Z8lFy)@FlpQc#Kv
z4XtEc%zQ^SMCwqlcgO~ZxDxOVGhJ3=i|#(-0j6(Z>(;EB-I}?+Q#04Q`J_PpbZh2%
zw`Se!)~uUdnz`PiSvR{ibKR|(>)I?#MJ5BL_1yW3BXa@dA4W%cbMoZ5b7Z@HZi;c7
zZ9ZKi+;Z#8#Ke9+PNL*zzkK7(iOAf<iMNjMPHcq2KDXbW;>zb^+pgKYd$;G!*IwIS
zF*74V>X!EAmhNJw-B!b!`g%B}>iIb9HG9`due|chU;gquIL7@I2M<2*zylxHbIY!4
z@2zmz?7h6}<w@$L22R?5y_=-H@ce%?{}J(!zjb&wXo`N4fE9&OUVC$EQ}fzti0vDw
z?ltfvZQ`2>0VHODD%<$@as<>6n4=0ghG4W^tiQDll{Icdaamo1XggZFwzgKP<j?5)
z!KTOtXy8%AZE`yISGe7rLD%|*CP%_u-qz8^yRBO}A2O13d5bA3S^UBWly=nA?57Kr
zp}iD{CGti&pNI=KA%Rzr%K11cScavPEfyTVCc2{bd&@>gFQPhj;moP=(eben-ib|M
zP$>YWd{#x@)J!a~X3gZ}{tBa!@F^Ignz0n4{veVWL25At#Ht|S0H1Fu5!n_SoEco8
zGWI??idxyicsvbehd0YSiO&mGZLEJz+9VXV>VePgr*Fn00~9pm=)O#t_kBfb_5QDZ
z!GCwPk*uxXb!$fQhX2En+^reOU7C?>zS>AG)a-`NjttK%&(CrpS+d5*DQ7Nof~zB0
z$`mj&#h9!86@{wZPyYSIpT9AD@~u~1{uwpAS6}_{kE!6jGm_)i?jbB~nV|SkQGg$9
z?dV?HzDcO43Pe(G@7Ap%drU8?Nws9(e2ZqzIToG$6#^9Z+0Wkp$M@d%$!+beYXqc7
zP-arV^MUqs5#y!4_?OQ;_uNqlaNIt~sTfB+8+Y!w_J-}7dSG5#zrL@JQT2egzj)iW
zt}a1&xot~*1GBKMauqSh=rwsOR_k$fWtA?S%LCsO3v3Z}I?~rZHy#KkTQUTeg?S|n
zwx2mdL2li)b?a-*wXGXB_wcTfN}Xim<M4Lin#q=N(RS~rM{s||YC&#lj+RwI%lSgy
zm0FFksh37?KI<vtJMGw7MlaR4@p=CO%{Z~($|649%nSu>8ZPON3PGVI)d+-su~S_A
zRh&y0hLRP4^BKVcR2aPxKFvtv3ZX>FW}=AA6)M!>&W?{vjGy(R<T!)Zci{qEy(4^_
z!&WW2b`VBuOR&YOb31SFeg#^;|0NarQXc3t9$*+2Hf;`Ei`dgv)gIuJ!qa*{V|_oM
zvAz#ztglvI>jBM}eLyp2wHCK4A^Htyq`-e|-Q{vkPfv-I_t@zfqW4(J$U133`cWrQ
z6%m4vURxrbH5(}@TA+LL!dzz1%aY>Kr(+6Lu!WelxVfpayi!j9O5G#Fn%}cwGeH0Z
zfBP6RgM;V4%e{Exr^C2RscZ$mX^1ARE+Y+alS~e9K7r+w+h!odUAt?Sw|Ymn#U$tT
zb>^sFpQqi>U(#~@-rn^aOjBnLs$G=^9CtaIz%3h_ipAEf@igH6Ko^HQQB#`1s;orI
zTPwO*0y?Eejy^@>R&aTCYUuD=Z+WZ1Vuj)~t|TGAmNsv$vLt3Ee)G!V6Mm^`vs%2(
z%2-wAgy;FvtMl`B-PL*H^{dfPfeq=4P8Nh+-Ep`q2j_a<x8>12^c?X}9+Gb4n?j^P
zE}lQ~+7G;FvU-mH;>9uC*hnyCFOxp~=^dpjhkv=RFaI%v@2jWf?Vnb=8U+_zS&_)P
znk+>{ZEf`}T$|qBjVv8a4IbQdXHi32V+Y{8btp1>Z9;lGnTUp0X6EO;)v*w+FHJ64
zxQV2S3OhU+p_z#p8p!Mw!k?pkl~~2sCF>c_2=sA}r{0J}-0re=oGn+inH$C0%GJ!c
zbkSIt!!R&ny*4Y2?Kx=36c{_a)$>8Rx|Mt=XSAe+)SWpQn^{gJBZ|}ER=ZLpi_&K<
zoFUD1=qqz`Zg<tSO!|^m0dP+y1Xyj+m6@5FArzv)zzfo*$Zd*b^(78DK0fZPJ~w5O
zb^6?F#^#R8&_6lD{u38N!3AAqRlQoF1Cj$9cPU;_;|9U?kzVBMA}bkRk)hyA7VD^G
z8@OjFOb!Dnogy6~<jU!|_Ewj;Sl{vh!!t=a&&roH+RMt^F1Hd7`e`mB>E(6^O_jPv
zuc(})xa+4@g1#bswg^kdkhf++jHd+-+)K1&&Ze_^#Y*zVEA-ebD2Yd6UVD-z;ia6!
z#}$`@y!)iuwYstbjMC|><iDfQ6cVXRs2!43OQZ@Ru8!1^Xt@g$3wv$2&Lo)8K*0=p
zt7*~`lBX0-h*0Qg61^csC2prtP6XAiCDbQOd>syBWtrIwzIc{!@a?ycaj1(cI`Yd7
z^YY}<FpI$mPNUampm)jcEGet)TD#U;T~twJ7Y#H9RIR0R=N6MDPetdZt`@iCKd1f&
zr}~4!D*J&x;{l9NVY`~edQ7v*Uba{t_-|M&t*+J8ELKO~m8zXK7ftt!wE@4yRfUeb
zp6)t~)`daQOL*jku`&NLQ%a7`k^i4gCxrFtUpF}qbAy}<W{hy+QK+=&66u^liu+*|
znV-u#%UBc2t?}iH7iU!#w~8Bx16p@@m>scL1e0~(S1;oq{!?H6BgF)f3(Q7G_&h&3
zo{rC8zWUew`b0d5*!@Jp<`H5D?qXvgnzl&G=U;nGI{9|8rh|M<muG1hX-c&#op#7L
zfs>QtOgw|R2CLQ3iN;RH?p+{OLPQ@?dn>l9x6_)zeD&MP>KjN384M;}I_9f3N<yEw
zvZi(WMw<V-J<<#b@|n1~s&3mJwIUj=Rj{hR`qeL(6855ZVXba_=no+r+6{L28OwtY
zmQ1|(;)`=tcL=Fy9)^!URGz?e_1k*(-q=v$gto>QS@2akC7Z2j?bcoI`@$zbDgDn!
zJM)L1efHU3FBWaT?tk=2f2($tl+-Zt#D>v;asz|avTiNU8++T^t6YrFqUts-RM)yH
z50<OnW`*^PA+6}-T-sL+C81(6+Z;vs3sP07MT!s@M=}i3%DPLID;mXeC6l2sT<+9L
zp*ksYmex8tZ>p<XuR)Bgj0>p1Rw(#~3?*2u{&nTfR4xl&4!l<aF&B$xOmddQ0xScP
z$(Aj2xCIkNYh?*tH*iHAWFRdK;$vrw1_FHjy4DUB@tu!VRFqe7laj__=6Oj#U&*xS
zU)NrfL_Slg)JFpr_P!EG+F>jU=Pi(4xyrJ$GyKU^$l>X3rW?y@wN-Px?s5y!G$xLL
zQ9vpMrcWgjY4CkjHW`W{7?m(r1}@Q3fHa<zC*m>Xebok|LYN5IQW$Qe;0oLXBEf7*
zM&=g+Y8MxnMxu)K#R7|%1qUh1=+F~YPmPm$bmO9z8v+a^`u(AC^marDsun~3fJCV_
zjSY(PUosvDEu24hE;2nEiRi@|6pQ!~U{$-&b*9sZ43Y?s@-VUR>98mWEUiQ$S%V0h
zGNSYo43pT4ap<JdScvj@sH}8QF>tq_^r1<Z5=kJG%8Sw<{n&|kU`g%L>!W!N9VK-}
zPbM{w(V86@<N4U}(b1$0po2L+iRn5&lF(tj`fV$7Gm#|mLOQ26`>NA`Jm8vJm^^hJ
z&Vk{8v`Uze^v|7nQ}yDPa4Eb3lgul8IPtddB%n~BmM^_kf3Uhf^43?dc3S`JK}~e5
z_0P1{?gQAx-}TQPxQc(K?Wnl_D*oA8O-%7y*3M?LH*>Q~YK1ZxSyJ)~LJ*wG_0y4&
zApIv*rj(zzbGb|yMu&de<XoD37}m~U&H0d9(ZP44$Jl`ko}bM)1@%>#HMTtRUmLp@
zU;JHTcafag>&Ih>oRl7qTT7V9t|G%qBxTMoojZ6if8to8TCkFImiUKWdigE2E0b|5
zcmPvV6AVqGrB=B6T>`$g=i1IrYnbU0bF6{Na$^^+O&tgS|Gureo^SboX6ve}+XO72
zp%QVzlD17ZgH?F<b=MJ=-LT{CyL&g00NlETpcPf<?oR0w-i}aKXO<Mb)#<5iTq{T{
zn`_{CwOcJkR%@uCp}D!Sp`ih_wYsXNmP^JC`{V11$Acr7qo`j5!oXR1T~;D!5bC#;
zl{s9LqfoFUAhE)v2S~~;m%B(`<|T)cjvIW{OhJ>91LF=iGg&&C69gbP35y@9RoJ>|
zVe9;ZxKC-C46$|Xt?MAK+WBZlM|q_%6~+=_>w>xp`ZMgxx|%f3rc!B$g)F}6U@+y-
zXUS&S8XD03%FWM;;40!Q?P(D{U@C3J7UztpZ;7%QEAqvH0^P}1hlb|-d{?}{pD{@g
z2P?Wg?=P6TTr^7?wy#<*NTYK)SfKrWvfnf@3R7oHhUe#3guRdia$O0}6QRw`EpVvk
zP7d=td}wZNVuh1REe?|1eS7fLGXVekZA6RE6r>cR9y%138oQCQW+D}snvxcSMyUu-
z)FT@r0Yg;vcBC>`ApjhFL$(0gj)l;E4*LUC%LMa+k{0xMfnb(8rI#kkXp~+DnsqN3
zx*Ucs5yvjB<W|DT%Z4tQT*1&ON|^4Gin3A?B}Q0SNu<nP9OL=e>5CUrXp)wjViUs9
z4JGu_G#V)WsR?1|gp<i7Pmv~!1Q+Kgj-5W8IW@eJ7lzKmWM4e}hFV;tvvA13<3y4l
zE6rs<!jb0Z)u+|}<^N{Y%8B9CFS`F+4;l|(xC)zDW97`69H3d_)0z3C$N`!)KAl-(
z<;<EW)cW8Rc6qbL%9*c3p{tFTda?TJbQKlRa6f4{U3bsIjC8F}w~+5?m5%vz$Fm=~
zQ~Fz<&R*KNOPUvk+$6|=bj$NuMM8~j>}=L3jrnvgcQP({u<A`sPxs5UwfpJq2*o6q
zPgf)lPDpLk3&lBG`iuuSjlyQpoU=u9&KAu%Tll0nXN%^XEt+$-XwKQ(cjcTdnsc^X
zIcKN<V21>i|Fl80rvamT+8~-4r8ZuOERA#zFGT(Y-QuS?S%WxPY&|Us)%-?e70Et6
z&2FHppY=ZN)#0{I@B;z4CwKNVm_+gr{A4xHdu^Zb0H;vcc5BXeujYL3)|~I2hSl@E
zPIJC{H0QfZbH06=^WCdC-@Tgiwe?-`+qGE-su1K822Y=O0}_y5A36Ef$y0BiJbhx2
zm}`D|a-82uzw$mqj%I0AEE&^^;xi{p%BxtfDm?>@LNW1YKmN|Y{ymQ9vw!>iKYrs|
z|JOIZ{jWbd!S=@Mukt$yWmfMqWwJE*7T}1(M^Qw~=Yy?Xn{mE-+XkA1%mk)-Rnukb
z)(xGV+cq>-2{MM|jIEJh;iuBBXEXT9a@p=J;Cgp#WBvos-X0tV3pkw`Ktl04N#)^_
z2FjoM*e5^D_NPyM^x=m;|IwSa=ZQcrBrB=nh))n*{!eyCR1Op<_1I^x6CHOvyv{$P
z;X$wO_`>K9eLmmoAt8*d0Fh$`GocG5JJFb|^Au6Mfk3dkbKSb`&NA$N^@a`a_7)om
zXazZFl};yHs**Di+MZ;oNseW`O$I?8Qd-j>h}k;Y>RKBc8XKD0)=(C!si_hK@6ra2
z2`^JEm5oB$6;PDm1C>XX$bCWMGC)s0D3P_BcHIce*X=iLzi!vgT|3`((_W5cLr-@*
zzXQ@Q5?(pgB0D^IALV69@D}>lM<-Yj#>NIHT;a>lPK}L->oGje&&MYw$7V3zfffHE
zzoSC?7oLa^2wz$j9ZC7L-C2yqciRWN#?gu4i{ZqwT1r`K)0Xb;w#HT>@y1Llh>s(r
zJ(Sa@mwi@eLpH(p`J*Kk@IL+qLE>rG4>Sq=4G673*Rw%UBOv1BzL`!2rGV%tBm=nu
zzB1hL0<0~N6PfCCz#tf~%!;@KCr+F^K|+HR-`O)~P=q-RAp;d?5|r^7#+wk0P*`q#
zWr{M4j^l}wrv%MdE_ljbOMgYFVF2L$-w9l>?ES{S;@f{?b!P7EGaisGZP#mN=5?Bx
zsnsvNJTv!dX6E&pnYmXpGqpWsSDTqv)Arz&Q9mD~5r|cFY-|qL#qcPVSB5DZeyE5J
z(GB5qC*TmH{*;FXm2HaV8}mw}&|hZbsug-~=^s0EfbCZT!20u7PM(+&A!5pZQWR)t
zg0ETaAxmeEy#YDU(IYXzFEBD&XfZ3}_6ftdMPv>^ul8){>1tos-CpVzG}`{Owegyr
zTcjQ?y<V^QN_EoOCft|SR>+xX_u8HmUAOUlwS~m@r=R@9Cn4K?{E5dOdH?;7{^9zT
z&?&ZP`OTu8OjSNB)JSSpTgZ&^eYXO4zw><#=)U!xUnn$~`SVOm8o~r}mA#AqF*C&*
zk86G3yYIN;j{EMr|Gsx$BaU>#hV`E*rjKlUbG4_ah}oI9x70VcHF-7Dl0<7+iCeUM
z78k>R>7cQ-#LbQ&s>atTld8D9;3UOVl$;Dhx4Q_&Co{8?Uaw#xH_&vsPYjvMrl#gH
zEWo<8_02V6A2gD!S<^1AOwDSam`<sx$H}RyH;Ni<87d0guTb{#)SUMVmZ`-B=E=(3
zLNE}=ebD8S6q@J29~UM!CXkeDVJompL}2jb&`t7yw}BECu*mbwzR3lFFj`s;z?8<e
zNaGAkQ<z<dW-P1X$^`i0**Qg4P4U`dj8<pwK+|fc7^fxhNo)uwMpFgZc+pC>4CX4t
z)ex5g;~+%@t!6Ar=a)IPQfN6<@&iqUWc;~vsPV8}7#toQ9UconuEwTM%$_(QcwJYs
z_?*c2v^ZAAEBg$dD0Gt<^8^1%VU)?4^RBYcwf7khNSC&D&D?C)%uQ`iSUaB;UP8NO
zZnkUYX1iu?wrN()cFn5Uu30s;yiwX!)05A$GLDSR&H@k)EzAiTI$^_{m+DEEE29IR
z-%}SAeK5}7sfiAF=H^JuZ0-aMu%iaCu@>G*8~NbxR6_?mzo!-|-Eh@9=z!<<6hNhI
z?3j5a=FjEgr=Vi;&==z64@4rMf_z!ZY%eYM@D6L~bFP*>rORc{0nhI#deUs=!y^Ay
z!E?ZKNwR5aIhu|~SC$3ma$%3jLP9owxzst}Egt=yLgy$h_-c{U{7#W`fQEEpnT3U!
z*_jDHPCosW3;19@!=>`3@lttn!1H@*o1*OJ{GGZcTt&d`Wa^p_r7bV5#3K8@M7Z_$
z{i3dUwK2FxGX~o<o?FNN;TUYwjKMa|7`$3tlQGCN`|Y|WsfKsP;N_a8xct;Gf4iay
zy!)Loc)6N6;Q2kZ%y;UT#!Gd~eV*S_#C)fKX}Vm%+~>Jcyu5zfrQ)S1T)MYyTfbgY
zxU8?bH1bSd&*idZg;Vbaj48^NlAZ(oosy*()3{O;EW2tgwJp7cf~8>e6utm~^gG4M
z0j?2aZT7cHm88bR01$!vJ7r2n9!1Kr+4-5N3Fw9W^Oz?3tuK!}U3~-oZrz#z&pYMG
zaDWb^LU|HqkyWEcy01{0H130TOn51xEO~Az6e*M?Mg17+Czyd&OOnO%>UmR;{1Qph
z)v?ywXFS00DQufG_HL7AtZC68q6b#kyG<H<w?$*`HfikLW{thutQl*YG-Iv&!7EXM
zmUXi{rQk7y%bJ^4R?<N(P7uO)l8A8?G+{mp3$<5pdYe+qtTm&<vGhQBL`QmYy7Pt`
zMn+<jAgRc!r{%H9Wwjg(Rc^t2%{6%mZ{8UhhEMaA7inlxD`^={rB40k{Q1hts>Z#0
z_jbCB_M+x0tK<Mumr9Pled2`IjzbaFSBlE_R`>(#I>AN#&ja87_SUW2@$w6eHI|2)
z>{YF|Z7&CZ0g5ji`01Cv`c<z3fYzjCE206P|5N+{iVDK{mNR;NV`Eb*nWA;I71gzC
znyLxxyx5Z9{37z@tjQ_GhD%*p$=6{dD@7y-sTqe_m71HgTB%rCtqSyV88Qk&;L4EK
zd2H0^>^QwygOJyN(b70jY0Z&{=?b4d?eS!-0^A`R^9j4tMw5CutE!>dJvJsw_<AWz
zDX~H0nqsT0mcztOrp8%LPfs?E%M~T1D@S7~aUtoIKs_ff;inq}UH{_3JhTj|yp-{I
znzpiZSS(>`E_3r~7qA+Hk_ulWmo?Yc$uc*rR0(l2ldkpUvg$2oMmXF;!6YGo*AciI
z(s0&tMqER<q&W|-fE?@dNl}##2wkK~ikt>ROJ{xk($eA#&f`cV6Aw>O?2K|942G(<
zmKLvoLRzy+_<Co~(5z{uC$A7uDb(NqK=KdITsUTxuufjWMQ!Rc9$;`6wk?{Ou;nT<
zVGExWGhxeBX2KTDOxU2A30pKXVT)!aG-%>w?M$egU19Ms*pNzytxUuIIyCE#rIr@w
zMZM6V*9nZd*UpnkC%|vB3xcKZjUg_W*&`~MLx;cl&2Rqrjk62k^Jm_s4#uT58EP4P
zUI$N3Bbbt-$4(W7Cvf;=a^m99aCLRL$ltCj^;Fe&G?hvXUT(dl_n$a@I-lnd7L7&p
zMRj#CFjRYufdBmR$3OVt&TBS78~wC+SU#}6Yy0&N-YTe`%YpM)PW{8zzLv{<?Q35<
z=~x3L+aEogB6O_W*o-$>L^Jm-x9r$TXt{aIj=eX(_okiFBjT?RTSB>J>(=IGMh}FK
z@Ki#DrmoJ2khijwM5<K}U%XCdD^S#zz>a3J7oonx=%%Zb%%?1Ppz~=fL9X3`|E^ZH
zH}IY2d|8>rQr^H7=vh;1$-B#&=#yqVCQ||UP-HrWr?Uwt{Hw}K@ch-v0>!aHr*%9Y
zB85Iavjhn+I%Q-7#aNXo+ZWN|L**QfV0aya0Pa*d30FdKx7Q8qDb6gLg_<#eMjfa^
zRR_a<mDkRbEiQUxrl-@nfy%V#Vlta;R&Z4GiZ4e}sdy{|Z)2=5kMag5N?|ftWMeLa
z&n(ClIHjmy4K644MHOv?4Cuv`mHFwR$rbSaVwz{%txZib>9HnvI!qKtgS3vnVv>tZ
zRDcaU@q!1h$SHpb_UOW8wjz#M@JUR4#sdua!e-RW4x?sv7&ShL$QT->t7i;Nn%QC0
z%#N#M3?-vxb{P8{4eY*;2V_YQi8uwZfmE%+geK`#DXB^pcyvIXOYrF=8S}!5!ruX_
z0dbjEno+$>f5|L{Qljunq|0EK)wA}q4@CzKX#j4u3OeHpXK&~;9*{0=2F=+UG-q$n
zoV|h18aR7{#x@u<tE545_6E(_8#K1Tps@{#=IoW<I(vh6z$=c{%M!xV$HmiL@dTlo
zSDd+58WT@?@iZx(LgMMX7Y_FU&Q4@TZGFZA9B^T?Y0l23IXj!?>`EF|YhE_Z+1WH_
zXX`T^DD13HV&7LXqc+Xi*)(VOtO=SKU0E(yrao&jo;_>q%w#%wN$0od{`T|obZzZv
z@efcdSu)u9L?qp*j~nAgiQG0A27y>+M-V@g$O-T#`uckPL@qbMOC=Oiptf|X&-T;O
zLOPYP!Z%Uu75{h%D$gzc0nq1qXtU$42hHMK#`q^`v*T9H^|+iJcRVNy-nqi&dQcIs
z$HW`!gIBJH<-sf0<0@mF^Wi^(VxL|i!V?2kRwaYJ;>ZY4*wwd+wPy!rLXyiq0uv@2
z7Lrocc>@U%kpnCwjwM|t<e-BG23DA)=;5ulFjI7*e9Bwdyc7{BW67%{kXaz#oDBs)
zyGcrN@T7w9#eaL$Yv=s`ccXqqjNwu7w1X!ufp~d?cq$BgS-jGTr<iz}7Eb~3baHjr
z7w)pX&v<~FQ`qd9QE%6b`XbF;7JjN&@9mmVZ`X`^d*7A2Y}br>yJpneuZ((Ntqf#E
zp?hptH+E4elEOZNG4nIyfnO+1(ll+?(VdBRZBoXhDxbU}^3C}bdaFOByd-V+8H$TG
z6mPsv2}yPzcibi%#C|>42d4+}e*?|3=GJ^os}kV%1|>hIEG{TEDef~Eq*24v6kitc
zAvv(3TSBWqO7O+z6UJlbl?us!sk`d2KH~vSxUfB@xjLWIT%CW`T%AYxq+tJeOmlS}
z(_Ed$G*{;_&DD8Sb9ElQa&@GZ2d~5h+B$e|TEG%b;gA6j)Mjv%78kQh8mrx<LRmBz
zg<l=X)%g{Z+mg+TGGqqp2u5^y8ND8$42tlgmnOWmc|%#-u3arvOVhZkBNuUe5d6~#
zp+~cv52?Kc30lYGxQSeMiK%*RW8;Mj)7DM3YlEb-$7Vw-OBbh?-yXKtx{?`D=!^oT
zc85a4Lt9$dhr19YTzJh}o3nP@_S921ZoF^=GLe^m!J-WnyU|H5+a>2F)uNBxL*09K
z-(KKMmWHmaeS7xYBKT~1Jj1`|z#Oi=qmjMjGoN|#W1suj6WexPv*)^Nwr;{<dKYWp
zSA+z)tw>Z;em%4p$6vNOy|w=Nsgait{Q78Vqwv($fqo;(T$-cEvIs6#y-|u{o(eLL
z(%*s!`l|6mSk#+7^k;v_8-7f`ey6-n?&f)$yhH9Nyzi8oWV39Na#BpTvx6{fB>Qmp
zzDyAGwEpv-`S`~_-Y5NKf1iAlmt<_kn*QtZUs!!OzJGE_psVU-`Sh_@f3!RQX#UCa
z{y$&;ZhXN<J|N|kGiOenISP91#PPFd)ZUwR;h1gOxVZ!OsI{YK<7QfO@4V}-d+wz}
z_pUo`z4hHUz31ke$hdCayrFwNsrHT1|3Ki&AV|Dzw$hp=kOdu`-rCxl$}*$H<|t^g
zdP=0cM0udLT9iS+?x|SWR)^ft(I=_C-Wfr*G?Pv*b1xT{$1V&GE-ucTdgV6<M+tJ~
z=ci`5YV#&(Zg?t$=Lhwy^oEyQt;+$gJ~$Y7dUd*@YHzJc2~V9ryBv2GizTWIxehq|
zb%HuPZ!~+<-U}zFN}bJSrg6l^rjPyV(4ncRp%?$|oB#Oslwb%sJ9Ke&`eKoO@bKxy
z1wr+_1j{jvqt%uE3_h&hBBW&NH+WHin|t#oFN`czHBk<3Z?`*$d5R69jFq$6Th!j+
zNsfE^?AZwdxS5H0+B8p{IyV)ZUm7ARI(vS2Xz0xO!Q*G9=BGzTA>h0)EWPA)1E~xb
z+i?O7QjT*BFEUSbPAC)0-QgvM&cXseCF7`w08|e~N$q{{XPnQWBZr~s8an;Pk>4CT
z^v!R+@Y>OrzwuoWcKq@eufF!uOE3QV=xe_|cJk<N0L%RfV+|r)$v8!V8$NIXzv)qL
z?G$K6z)n&^xX-}|I=9g%?Z|wOAs36Pz2kHIoDG(VTs$JA1}Ig~n13GD!=a(k(Xok(
z;}ev6gzt@C9A1%5c)jbhX>tNCmsv0JgK3l~aC6PYZkID9h}ptXNtQ&`yWj}x^*Xip
zJHG%%_vW#q!x)5_;Zw)nc;m}o{>qoX{I`GoWwx(A|NJ+<^RM6j&M9h*M^Bs<BxT2>
zKWF5{L!kH8t*dnCh&IAOZ>`NyT;98W-I{>N(~gYtHDY861_)7XQ{67fQK%yjk?0f{
z>>N<eCV0H_-}%2Pj80`?;ro{?^8del(Cfr<TUd+>PldJmiVqqTzkSCC6*<qHeZ~VU
zA%(3^v)=5~tT$RUsGWSWll5k&X1%#uH}5r?^=7+fz1gW<Z~CsRH*5N?#25A9aBc0G
zGZ$(nrzS>di5VKoW`7zFg_A-tJad6T=99<AeI~OJooC1TTU1jd18-nr{K&rI>FFIi
zzWd!5cKrJAp%-8NIlLvQRA2rH+w$~mFcbwR^Mdqs{`%lSpV4hM1DJjQ@io;nm!QrS
zIQTdF>PdX)AtTY<(6@7ks9EpKX17JdC=cPqWp*HV;FARh%$NT0U;pJ_zWO(Rt(u<v
z^d}yB>_ZPfyiZqOZ#Lh`>hT;cNoMIEvFScSCCbsO4@ikVKRb!KHmv;dKB>RIPukDk
zKL2^&jd^FjA-_J~!J{T`&6`;%GO{AYrCA>1(x7x<Uwu<kUETKW9mPEbAr}&(F4sDn
zRivHRI)IV-fHnF|$4D2PKJnIDs%g_^DtQ>{eNKlYAU5dt@kH6nkqHG@r9+|RY5z(H
zaEAi@hgWAPHk-Wl7R&fJxS0vd|0eFe1LQi(G~ZL_RL-HRbIz?+4pz2Xk}XTJ1x{eY
z5M(fBO|Y5Sz094R0s7QYn{b!eVVS+m4zqjN8DJN<c)&IW6O3%jL9!LC*e$iB&N)=h
zXMbO{Y@Jyo?)-O8sjF4p)u&GQzV~~>^FEIQZV}O&WHxVc2T3ad)UlR>6N{L9zKD&S
zEk)z#S<QxS*UZecQqu>o`_ZFtJilF5Uengn4wTbo`%HO5t>4G&b9IYq1VE99t+lnS
zzP|G6Gn(z%>C==wog4ZZAZH8=4UGn8W=BU#k^_apaXez7H<incmMFz$W*|B-LGc}K
z>V{D>hqP*bVW_We*|L=@oz8}pNYEe~MYfCHnFk-d|IS^&cy}~tl2@hw#H-pq@sY<q
z`q2-6@IKA<_kaKYJp1gA{`PPBDyc>5;KGZj8kFqZoUYGtg~%GpvqIq8Bp6~)j;N`D
z(p9rv8N50)G(0lW*MNYhe)8mr?CVDb_=!!|Pazf}uCmE=qBKCyoQc>zc;7wu-h2PU
zk7&04@q_>Q%rifK?zz6NndIWv%_eaxV1QG<3O6X0P(cwHzEr^oW3}-fCI5A^f>N(w
zQYFq-Z3}Z&81}LYn$0h|`5hjA-%`BL++#h&v@C5~4%~>FRvfs&mAdhOxsf;Yh&Qcl
zl%yu+aI<j^8{($h4&3mlHyyYUH{EtXk#Js0``CEE(fIEF>kU3*<AL|)u-_*<ZDDT3
zH-??k>ot#9EGa5zmjqerwf<h~s7bQIkE&V(J*rM#q1tYL<BglsqP`%aF!{(4V5EOY
zii$jS>C+TI|DsUrG0og|g9dd?uhb6l&$|?;P{Nen%uxyCmN+=S^3I>X^N!#^z4GT@
z6!fQ`?X^B+k``e*g%F#2Wur8F{WD5ugs0`XbIV6=u$%7eMYqslq&1~Zz*_~asRKV`
ziPm)H2C1p9NCaWBGQXH(L0_P<*Ba2JJiMh42QUIn5~%s2N>#3zgZx9j(r(dQDmOOj
zH)AU0N-E0i?9Dk!Vg1G}jr<`!sRS3H>KYsz<^!)YlhWUCotadOLK#Mio3N5zzo6oD
z#m0HdezPNvLjyZ0I4MC)y4Y(=(6$6^v92njx~xjIRyYGLU%ojBX+H-!JRJE${!!`c
z;^MqZK&q=>{TBqJ{PsNt(!Qmsa}y5IJ9?~#r0bgzrPX6t_l!D4J-m0X<dS*}b7qGj
z&f3{?W6l`Yy&Z;iug9?NZ8EHT>y7Ik5}KB&xm3YJ83y8(g{e%oC}qgqCk0&t<^pb4
zzdxNrm!KH&S{$t)SsMh61!i<mYjDP5&a;>2vsHLs0c-5aS^BT_MXEB>iF7O`nFaZO
zL&E~L3ygA}qH}Q1E&y8L;#G<>hkm0q$XmC{;eg8q6>eH`_yR%2>hcP?`;M>$N8T)y
zIRrf)2pn@J;#I82j{?q`a@Mm>Zr(_aV+TuKBxqUQ684($feV3#mUfG?yzYtXty<QH
zRyg!Lg)rCZ)o;C30{_f779$R;`&(ZJk#(|s*L4J!>C1niHJEB@C|^`pRS<oKs~Xyx
z(0Z*E4OwkXwUt3?mUzU8gkpjNTP{RUrlwzHY%FQ<l9;cn)wCUShdpcmlbB#ZA3eEp
z2QE*<yLyM?^c+8k&aVHH9+4E@Aw{KcMTqD#k)8UV6|?$o=RdI4CnUj6^F)vItk#gF
zhsfu)n1tkBIww2*nCg5MHyJV=+~>Rs3^0`veAlGKBHmnTdLEw?0Z}|pe?V&hNRp(}
zLY`#hkEShUwJ!9`(nKnlAg3q{q38`65+=hWaI@ab!o@-Eda5AKq`p~0b2_KYkIcKM
zVwv;u?8SMn+oCLRh0~6-1;unY4p9g^Kgyl;){3@-_S;%(2-eF&W+IYHm!Th>IDIxX
z841K<L#G$Is^!cO5%^eY&flWdp%~@6bd|qy1cmZ(*Oo?62(54kp2Yqst+#%j9uR?Q
z<(Kqe09&JGBnU$i83{K<S1BgJUBkpg(hNGrLe3@P3|k>ZX>2jBH55;uCbXf6fH(?8
z0kL{!lLNqSN9Ijto49`S^P!N#5<&FO0>x*dxq|>Rke;CR{@f)^tC5wQoxSV%jBIsY
z7?@27&6#2`F>;x6*Gv|nf|a#Ll-PvZ#c0T;N#BfX<oliJkmkt7ZN7>hKYMZRQiS_9
z^~&>_W&&y`=VHN#GJLG2B4SI$So`(<BiDIYcl1~fG3iU&PJ?HBhrvSJZOFvz<egiw
z5IYPOVyD4E7#Ya7^xRlg?=V=1odyfB(O@Aq{R<0WnTFGT9;qi_>Z!S*%XEdL7KoyU
zreo<Wxo3-gX2xD9M#>x|S_iAQrIEnfollEu$2c~^dG_qN^8<sU3}t0{;FVuqyfivJ
z2r0)aXGZ2?KzHhV7cThFq0{xCS=?|>&D}llSyiMKs9C*r93vsGTGdE*AM6JS1s6Jy
zlbrr`qz7mKLboHJnkS3JNs0h=ow;C=FP!BrMx{#HnwNKLVdm5mySH^WC4f9x0}x}8
z#A*G&b@~nKN7mL?mP>7F-LZWBScxVuP!P_mZ2q7B9p;;>`fVsLf8yifC|0k2@SZK}
z8%g|hY}~rz&P^LPZM_ZT+WL)PCZ%<19b}OKC;8Q4plTUMw`pT@TWf1;Q&pvy7g&dy
z$DdeNfgwm1X2b8>TjtBpiiAPdQ@?40FblSiuHbV+4sXPJ?7#hXguY5M%bM9-y90ZW
zg)YMBc6+f9d7G!IAsld+v5n<rJ{peT4YKIeYh_cUEH3(S^z7o~454q@3`K{>>&74?
zY1A&StQ1X3d0*A4E$xjVmj|c5y*`NQXq8%5Xl;dkfg_j^eFl1b?41E}6;X%iFs!b`
zA`tbCPQ`~L4lETTIC8tv3Bk{`FrF(EK`Xe-u^5WnoWEqoIL7DFX3VIoD0(5`8`jL1
zuPzLjBZ2YBXfoH_BF$Z9wl5ABtPaiMOC)@uAmX()Ys5Q0I3-dzm9`0%nW94j9u|uw
zL|{)4uNP?M1)HBMwQ#3%1^Ru314AK4%t>m;9+St-S(6MPL6F246bk+QBXbD0vd9(r
z;XL)A*f0r_i!;!u0%5BQn$1Cw^(Y|80v@WHnwq$C9(j(q{@N7|JyVR0W+M)ol7i+z
zWMz{P^W5NM|2a*wwS@VDWS-S&;xr0e!XhQPYjzud7R?PGjzt{FytBjk{E@-osffA%
zg=0VczNS^(w}Q7$rJ_6^{ccozvlJ)EF$H|rEy9O-tcRH7rR~E8i}0|)B7DMN5kAa2
z_hS)0WUvSyHdurY8GHt#p4r0&i|}ECMYzXc5$-iugl_CR)WVbVV<VGOS&sORT8BUZ
zaVe@3S#IUfP&SB7zm=uvhHmlb$z!K4zxC#+Gtf>3|ESgI%GL_SvsCQW!}t=h*6bg#
zAl)o3wvoZN55xZY))5dif7F`z<zSRl*}x#uqBff=NMZQqmc<J3v;URnzuBYzW!1O7
z`M3Yq)BpI7|M>rHXu8ZDLqGb_kDhrx7-Y$+>Yz=6n}2ho(~VZko=qE8bgf*mY6X1m
zYyXG=dP41T1OO^iQ>Jo^sR%g!h%xHMs{PCD*0$*js`Qa>+COq@^VH3Bt8QxTXo1MI
zt(-~vM@*Gh4ahTsd&f)RA7?|Jz=6M&+3F@5S-x?5&(__0@3^Ct9sdy%R;hNG2SvrO
zvU=?rE|ujx7?4|<GlcBMhDTwb8yXrJTVNpl5z{uLR`?u(>9vrX7GT<(8+Z3sW)3~D
z!4Vo7#(;5NMffnkWc5OSX!Rh{lS3$xxMcd0IUJKabW0OhD^?Ag-3#NTo6J96=&j9R
zUJaOXRz`r!#lXUA$q@(L+%$G$zSE(~_7!dI<WERt{1G#mP`gZVPg7G<LtS1-*=FMS
zlD9OOfKu2prDwjg{ecCwmMo}bRi&nH+M8}|Mu89hZ`&VORcpzr0_T$UeY1MsA2F@H
zA`59mIoJ%A)n>4)#>%e^%PQ*pHiKog87!+2<zO@TS~i1awHYkyt&sV>@+*|_`+8*!
zRSv#=Kx$I^BvX&{+g@Z;`N2n}N7cRvz5@U6pc2KmeTa?n?cCB2e?#$~SEJxn`1VVX
zA${;3XniI<q4kx{{fQpyAx@{XeZ_F@|Hg3c-!QBy?^gVtFr51nhI4<yu&O*}IQPd6
z+{oS-D}Eaf+{nPX54@MXk=9+iHhuc#mtTJ6wQGaK38Sz@ymJhViq~IzP1yI-r(b&M
zohvwS{cpeY(kY5I(^t=<EZi&7{z2U8>FK$6K_>)?I8Zznxl_PwYQP7EXC{kN(!j3@
zRwy+!<u|`M{k@$_^(tTFYp?u{g54XFzxmBS{I#m8yZQN-N{>I+d6@q0?{^56MC(8N
zoJ0H3-;`e1|Nh7LrN8{Xr19}gnO1Xx0?eiHOo0V1;sC_YhH$d12I}EwybyEL*Kg-I
zvhLRH+qHG{V+!QIY`FwK{FzKJm#bYt8Eoxl`bn2BUkyQZrA(k>hxxn3i^Ge6Rt+CS
zS!QhT^s6tubok8GJRWF7F>#72(T^<>7^O9$!VbRZB6d|@7`b>+qwjHTJ21q$mS6od
zB^ulQ`uh6_PT!E`N{>s@6&~k6E{MlT^m$(7anSs6pp&25CH<)M^1IeA!cF<nKP3nE
zvf67QdV1p*-`%DEdkC?f)c?}*y%*DPUPjPH&lOaKrh6{<VVWz}2FDH`{xJ?*;qt3L
z{;{^Mwzg3)R@c@+Hi`wOL23ORci(;Yt~>AC2^Mq5#%<fybb(r0zIofW+g4JC?OK6a
zUoRdZTq@He*you=L6^oE<C{e=I*~ve?*PecDE9?4Qedbwvm!M*oY3<oXS8)NwsmnP
zTQ+tsr!HEp(?CV1IkFA)jclPRK^?>5TL~L_jiB}}s}cRkK9UegTd)BQ^(v20&x|;r
z&WDS^%nGdr(s=P+MNg+^$Sy0z<P0CQabv^&C!c)siBImn_x}6uUt`|5amzNS#qZj^
zdk-wXYc|7QzK+|vvFD+Owyei?uGm7}yw?YmZpPKHe%G#T%fh0IE8<YdwnFPf|GgSm
z<RVnrk>I{Wrp}U|MXg}n*x39a<K^6inJI?COmb|j|Ex#@A3uJAQr3lws0CidT^~Hp
zf5bc?PCd>CaT0Em=yZ*z3Od&&0+Ru@Tcn}6TY~*2mQ$S0GA?$}jFN$7pPIfjK_*~$
z_+VRlV0x<m%*m4{Uw-k$7x<JD=Z+k?3K#6`sS`(zoEgHqo|vOP+ABykB@k+)E#p{f
zK7-<2zL3dJN11}`YJOh#`Re(VWObs)(bUMYA=04NpRWH`e3LDd3rOcR`kbid+N?s&
z)@k#F@B_j=<Qt(M?DU#jTEeYv?!3bb-<Zb%Hah|a3_W4h7FW>Pb-1N<iNsu#RVNv*
zuH}{&M-qv*Uxc0i*`NRX`Jey%=P$g084)$#{=+Z5bmSbX@0APaF82Dk8D-V2tJkkz
z)m*KJlTmaMyl4&OB7rcocs}C@hl!>rjYA}&RaTH_Mt@9XBGDNoOUp$NqRDbaIN<hL
zt)5VL_2%^}w{_O9rAM!QRr?*VtpBI$gOyXT;_VA1^T&Ivhe}47r@z02U4GhNm!IT)
zf|1~J2D{v6u**gy#-|N-`7=E??DA&~Yf`hpF0X&>H_(Q>_U4fzZzB)!<{;&;H(q<~
zpZ@8GFaG{ztmQ9$_0K<mrk@`?|N2`5NXG_V`N2P-&+4d#&y)hjLM-vLY)NEQ+f<TU
z3g|E*LmUDPY7TcJV-ms<mV&k)J6mGa<5}PbdU+k;`(KJz=I5V#?zyKQE}7yD`UZWo
z{vrJ_{ge8=rN>_VgZf^56F(P^FO{C}*Z)-iKjpvu+rPb&J^TZVef+w&N8hbF*3|%*
zqMvYd>L7#>&Z)TSIWx_HxojfC6KHN$-TovB$WeI(X$NOUTW@nR!>t8Hx44vCJVgO`
z)MneW=l146C0U}in{U4hX>)$CqDmyY(t+mfdswPNX@}1r7Kv0R0^^{nZK3i?q`kZ)
zeItZ(RkugzI0W-auIO||D{F3VX=$nV*H<sw(&ovfhzd?LH}8~w&Ep61llOdbzw}>A
zkAIMUApKPOW$72cmYPf7`)nUs$4OM}`P>fa`_iv_A>UF%^Wo-}m8=eB6_dl_TKl@z
z007=1<{LEJoGlo8)m^(0JVs}F5?Pqji`u$nt=Q_0<?A-xzH8g6&IV%F;Id_V_wK!C
z--o{Ng)e;KLl51<3x2Tg-u?I8ci+By_wC)wilC~Yj`nhoRm9loInn8vbyTm~q<Toq
zZr;2c!cq7HEEX`!bR9t$+{PN!xlEuj+Px(h-};R`yLRo`h;H1<<!f)-+(IVhj*S}$
zsWwA&2i4uWt-E-^54NsaMKHd)cFpd)q>XB5av__~P=SQdT5KjgY0*`WPY}RRtmRCJ
z@KtxB$Wkavbn%ez)5@Owt1o@&OP_n{vrm2c@h89VZ+EjweeuaBcS?WF<3Gw@`b!#i
zdrJ?^^u@2-O+8io;;*GAOV7Qw&pidF&Y$l4yh!f?e38DP1}}`JvI&-ykWZj#0aDC6
zBc2-Ja3``EY7$V~sP35p0ghQ3B+mg>b^Y<9ETJcl9Xrabdi$8TL1&I1r(pcML%+i$
zJ@=az`TsBY0d197+t*GX{>3k(XH<vZZjwwG=u}3GUnP@QO;OQ=D+@mYDFfAQDPWXy
zCNHa^QqX!m8Akh}fEmn;XYyu-pV}aZ+j0wx)~UIni&tR>xpr-GD#_AU$mk2#=md0i
zuB|dHLCb0JHRmKdSyI#Re8j33qhkDM?l(_kCnt2Fb`iE{>&?PoD|V~HZgV(YLMz8@
zHp3kQ1+lmyIczUXGYE#5g~q2JR+2c40wI_ea`3UUMw9><reY?Wp`;}4oG61*zJeS9
zm{v3=mlUjJZ9Ul^wp;=YoLF9lH>@EPi@o&H>la2vtM;3RU;h0|FTKPMPF|T~)TM?m
zy!H|*5FrJ*`*|X;Y{ubYAyjg-bg8D<1S(l7X4*tDUv(#En2b@y#vJflHJ?|a9$F$Q
zr>zm@Rj=LRGkL;LFoMYrg=_x0<VD|-mHfbs8t5*AwO-%2WUY;?<Xa5Zdb7cc-fXbe
z8xP#D*2WrW$Y8CFT?93{*E>8sIT?dYV>09LRyLM}eD(mdMTd#Q6pgA7!bGD2zb-C!
z?#fkG=LOh+w3>Wt>lAtxy3W|imesD@+SXbZ5c$hI;Azvyh#KC$ePpDm$sw*>A^FlF
zsytV0O-+zfu=bUzn*4%I^tJ~QEhR8Rz0Z=Ehp{e^tPl94<G#yM7U0$FTvJP{d|5J2
zO-$_Hzq<rh5Yw*&Tk!2_a*y}tv$;YPn=&QsQc1?C;ctDbsp;8gr8wTmxeNP*AzEgB
z_E{h{?|nG2sQ74K+m^fT#Bgj{-Q3kl3;TYbO`5bV!0?|;qugj(5a8LG9nfKYRjpBC
z(BPTPIl+(!Hg<A&dUhct=)M)I`0%!=$fr1+kcdOWWwALc%Z1;W%Ve|~^R;VY2oDc4
z;9?`!E}XnHI6OCqgJ1@YiWIntvk(lT#9Aan<_>gsVd=|Q1GJiBAhG)2dTU^SIezN=
zh09kVOgszs>Xl;zf2I_j2B>4D==_l*PQ5TSEvg<&1g!>dW_lW8C%(>KnZA1BwL@<X
z&LFc6Y+)J=7&yu6>tiv$|H6F4=?tf4xwRt~{C;hzT3T|lN)8v!iQk$ji3QMzU^iRv
zadZBh<jpy$m)dN|$Ru>q>ZPi6>CeQIxVC=Z^o5J8hI2VzncV@;)4V?}b;N5WNN9ZC
zvC-jTtz@-0g#+Z^M}q3G7g)2n;HLKW>pceBdaQ?}>)UpNr*pd@0)61X4gA2CMlb|K
z-?tk)o$ZFXbGu>g{0l~Z!`!*u;OR8=+=xJ%dTvCZbt$ANE?*rU8{`ZpCN5l{wM0Pk
zqGJg2!RR5?s<zr%5l48@su4O+e3^41yV+MaH+SO1i@$&U?ce<DXFoe};%7fg!Cp@)
zZse_B|Kul-fB;3YZQ3NDoHdBh2#F`YEJ=~T)DMzQ*}i@4+BK^-_w@8^N1Ki4RiIFU
zb={kHNIO*LPtTwK>4{U+G|msICZXBHmvv~Cn^Mf9h|1+&x=V&>C`;)c>8r|9pMT=Z
zyGn$XUzNUTPrzrB=-6@K%VPBZjr7AFeQ)sF-~H})fA~D{-#<w&onr@(1d0j0bid!7
z)=cOyOY-Usw{0k=_qDvKW5wpZ0euDyp6sSJsclmpnG6Vcw5q(EHE2BICc~*Wm#S<M
z^$k;$KAA%1>!u9K#PM;h&f&0HgI<^2$MPT;O3{UOG7+twV0jrTZq5u-4|a#e#jF#a
zMWmGYvbsdJ6j|CjhMcdxu_`2(m%ZMuE(g-e%r$Rq+sbaKU3D({e2Z6xSY(p{)dcrs
z=_@Elgg#<jHakBbpPPYfjKB&Z=RzTy<wnjg%nS<>MJcG-f?koI_43g|0f{eCYD{)r
z)&i*%lDzZ>3I*tBbZiVaN06waPB=ZR(cW*X4zotqxcOV5Z6v;kUrn;LWGw&1wdLLg
zl*L>&zX)=HwU2J$bZRaTs4EYb`z1FIAGLWD@9L~pI<hFmT_p^>$`cD3ksGr0(a|f?
zG1a+m*|L3`1U1#F&XUO#X4BeM&p8A`qJoi#XR_ZkC-q#epdlv7Rn)DHubXsdgc2)n
zSeO`Hh=0>ORZJu@ydf+2?cL$8n+oMbKN-9VhK!LV@>aZQpEIm`H)DxBV3@lfH_Y9C
z4X>^Dz>T@P>I~s}(S+KR&CdYBW4GiJ(RBJuelC$tqk27$+m(r>)6sc?ltHqss)=qi
zIa{PdLbo^=35rP#kByx?PO#V99DtWF9w*+krqg5Es$UffIjd6$eYLJywUYSLC&lIq
zg<t7o=xHaD^2p)Chf}ku)XXppjIW@-sM^6ku*LEg_U{OoBlLZ%;kVxU-giI!Q4$?Z
z0g0AjQV{O>g}1a-_c>7<wU~wZ&gHVqlR{CzZSQOGK-3znZ{AD=u|3$*QoD+LLbueT
zMo8q@WgP_`NT`G~ZdMJiT-n$$2ru!u=_LJ{Wei8c)0J9}^ivS?#iC6>B4%J>VHU(w
zR;0c7O<+$IK)aUhyZ-{0`2DT>_HFsp^>#kfhw<x?yYlKn1yDB^;q68(9Hre{ObtK&
z`0j_F{}CmQ)00-BAYkYVWh)=oR&A-ShFn-6CJ4sGlnIqpR8?1RX{+J6uDNv;j(vMw
zTU&ECCZv-@W(3K0Tw0PjoC+tR7gX+_H@JX4`7F)6Okxo|nH?pWg35|gw6KaYt^)}k
z?4qDi<*LyE3x+wI6$Mb6k_9B_E0Eo=ilSo$$x+pWwvF9FNzg=np3f<8w>_SYj&qmr
zLE>3qve-@Ds(7?jh?H6KNdea+c{YH_Ny;u}du=pmC5$O72;s;yj)2udGNFy70Ex;H
z_|7Ft)=D-};3BdA>gv1i{>32{X!?!`K-f{*WvSMJ3z$dJ85jwi^Z;jQGpp4wsw;UG
zU$DWVtw9i<6*Angc}kM1o%9}CP6up4QekPZ&dpsNY^uisqnX07GG5Ht+?-~e@%lUh
zPNLwX79*jwB)V#6B!yZ*HYdfI2-h^LV2Dg%h*im=c@t?H4ldN0SP>FyYIu0~+HiXp
zp?S5_ObV0xXwxT#HS2heQC%!(tz?W?4<z6ix!iahYy}Q}LVy_KfK_1Fotc6DQ4Ah|
z$^h>}&;lHfrY0sqES5@$nA%0|lRL<i1w9edR=tuzWSns-ybcQ)FeiO76boJ%OW|b2
zr^nAyq#cQ&6n6=~@2d1RV~2ZMq;rbqFdG*|wy5DtmnN>&G&D6e`Rzrr4~!*CX5o_P
zA?qX&0~@klq!GAezdqh$JtSS<jP~ne2H(S|xb`UT6<L;#8+?yj*)JpS<Dc~0@Y_Fb
z@I4xg_G{ATEB7j5L}w_daLMvkSJ3B!iHG`<S58l2wq^kE#N#+5L##@wsbG#cxCs_g
zQcgF9JC{?#qoZ@PVIf3W=8`ZYj5<#?HL9&j-hTU@H5CdjMvfuI%AzzZhc`Q!u7e|M
zORX|Qa(ZGE=QjzR)+s6msy8DNBD~Q-#<Q%lEJ8cD8a{gT(#2(6(9d^<g*vIoqsHcr
zYO6jF3RSr?x|ph%TgCwldS#)|2Wl%^*nz6LWh_OV;qvl|)mXAl(w?eK76)(A6^(Hu
z7GjRRxw)=<PO$t%b3z`2`&Y16G-JUognN4KSymJpDpEQ<Pfb9oXxxE^Bwet-@6J^{
zJ$LMRKLV8^Zs@gq>h_+VU4Oo_MB4og)2A?F!X8^f;;f4{lS+zCw?s_oxEj9ao;y}w
zI6)c<;$4g}*Ekbgdyls2bNlz-yS2L+ueGkFr3M?)vUc;n{rf++rRVPb`}gkHwh0v2
zrj1*+Y~F?$+aUdws-j8D<+A%K2p#L&yVsHSShsr9CJGY4jxPEHx;xtmpBRqeV8|yD
zAMcv7{M6LY9Q3Btml^fg1am4nJ~frM#A!>JP86LaA#Fa8Swg@@^f{|08SsIqKhlbg
zh;RfQLp2--INggej3M|sY#FOz!Yl{0RfE6#-E+rg3t~2r4`F&2uAYI?crbmD&Wx8Y
z&RG~Ml51fhCGyN+Dn|6wByc9dKBpOnFo#D>E<zs?<&`62gTONvicDQ>*^J%Ns9BL7
zX|M5HBW;R<fr7tQR@Ktl>a&$Kwzf8hokiX#(Y$OIiw_*{?4C>-*26^P1-qZ!#+}FH
zV>n`7k+SfR!AD4nEtkcXEdV71j2?m4o8exsCnXl)g}jWrCy{9)P#UHEV|=1y%`iBq
z(+XgQ1tnA|m1kHbX2qnKp79FmV6P+ya9JDdW~72vfw{^{OS6GX&xR$z&d%ivxRnwM
zD{oG-E)@kWWLi*gNcn>(%#>>Mm>Wzyb~j5Wo!!pQaFK+|R?MWdRnH6$Uzybl{DSUo
zQGV4Eg3;ocp^>TK;nAUMC8^3uT!7Q0?FXb^GC+%Iu8VGhpNxZG1u<jI#>S==JbrF`
z$qb7Ojhvku)7&oFUp>UQfP-m-_t;EM`~(XE$3Bj)uVmdG>aiZeV3oEH7$Pg9miMCu
z@9aU|DXiN=2J7~a!8?1%;GNxP$Vz;`VBL&b-jxRH)>X|~>oKKeLXJX4T&}WeJrm>Z
z&6`4)5RWOz#VKTUaxuLMEZv2OjP_8ZDxWPVCE@2Zj`dj5>cuq!$jE)sx>j}IhZU#t
zjLGPXpc!sk1+6#!SAV`9^nV~Xj#HMHO@T^dpS}RXKV@bC$wBqdA~D-t^TR~l)2<r)
zv95r^&Ct4XEMJLG=ba=ucXSJq>2$8Gel<?l=Jjoa1mX6r*sqSVHe4_?pK@uFM&&J1
zl@hKPN0`RpTDcOH0=%%9k{8Ah77kbYeRoP<$7dFgKF7l=m<=-v`?frG-P!X0`Db_Y
zla_l$W)e3Hi((eumK<r&OS;Z8!vDg{n#ap}{PB(MX<V;&CT+N0T35->s&8M5O<L30
zz#IyO+M1VPm{u-F@iti3e%<Mk?m{97FN<S_Q>!X3ye_U}-YjTBTyp+BhfA2JP<hGI
z>Vi;}AzqxpphWXf6J+Nm(z<Z3<i!!vO7n><gEB)0YD^F?XR=@mk^t|jtSsIp;h0(N
z+<GMw$IV*I3c)7LcJUfkA*+l>>KCO2c0YVEQxe#9%${c+PsK%|H0#W;3K0M$5|&8A
zTv7N}IQ8gE@~198B}99C2G?pdDSG6zE{_Yhp^zl2H=jz<@?~~;vPq$H7tM?DX37Zx
zx@<BlyeWib3XulndKnA_B$OnqqmmU(Xc@(hKjkU;Q=01J_m<)ym9)!ot<omN2L+=;
zG&;ja#j|OK?>NeGBeYnj<%}lJWZjXf+(J5)<B0MpG2g9nQ5>n1pIeM+T@c3#sYam~
zI<+YB!X`bI5WdpfTomJx6rxshv2={=oG2nGI(MJ<2oM<#6d#H|ge5}u77J`qkhaKa
zT_sN`I&y++@~LYJyvb%6o4zbEWBn82I7hF$P0|^aB(d2BMFsqFRW{)_ao=qj5fIUc
z_nyn7IUQ1|L&R*ix*YgR>0DkaX479^@|tdCR~|BWO^+Mw$_KC8l?M%W<pZ~{D-Rg#
z%Kf*nD^&)&(vDkcGSMO-ZWIa)xg6Q0{5W{jIa7cfTgaK_h9x29kU4q0B#KYTLMBoL
z;f7hjj_}pF8M7w9nzbQXs*_2r%SvOX#b1VegzPC3t;6(r<xb-kUA44R0q?4e0YR7_
zg^5SS+Lu+@BMr0JMUKF1_B$+CGfQj|Ou$9C88@jdEJT>JuA)$JvQ})QmvwEIuq&Bj
zL!*#x+uDTykI&b!iVF4m`UWzbs%&MAA!|Ov5o9O<m*EE$@q?P1DWQk~n6u&>(S$UD
zA7o$kf9#ZA5D(`QA6$WdG?VVx^_SP3AN!X-xSBJod*GATeIw<m+k5bb{+qCfC}u=h
zHQr&aED}DJF${9Sbrh;eyp%j5FE&!^YN^78bZma`^Pm6xeRp)@5mmQr*}Mhovi0^m
z_wV1oqh~XAXUoPdaGrM5)pvHU!Sm^^FWnJexUP;NhG3C6MIko6Y*{B<JtgYv>jtK`
zQ;_pyVggDvHzyWM@R)hZs$nG|=qIOU^89VymWHyxT+|csJoQ79N2@HNe<EUjb1Ao2
zgivcXnkoqU(v=sxTo|KQwEyZLc_U{bzmW3d-zd{(IkWQvX)a2}wZPOxRdZ&VmBFU~
zh9~%prSlk=f*nEU#-{u=)|T;wJhM&nFnOo|P?T2`E9%$i;3$&NpGeUxi@+t+L$kB_
z43kpWL39@*4cVed0T9=-q6rI>7PH$V$P}Ta#x!cegSWH7aDU?q*+^xsFgKp%1}`LK
zu5&IUxZQDY2&BwQ-i%B>854t4Vv&myG)Eb{i+UyI(qHmyFfoi7IiH%rX3Z|9I3-C>
zBxX1?#Aw8*L$3=hl4L?GiZTXJ1EFja^>XO$a9y&zM=FZDKp2Qg(z;}D#_s&=X|CJ3
z!8v|mlb4*9Q&*<AQn4!o0wg~<F1>>DmDM$SAumLbttMH8pseJs0A|Z)OFoRqY-o1G
zAjmqKlyVzREZ$YoEZ8n|GQuLOw71842$NCT?lJf+dkyyGg9iI@H}4c24SNmt<sO55
z*=O)ujJlM24EE)2LsaHA*q63JE}+F`V+bMLEvScZ5(M3AKEZ98kP`&yhFp@OsInZa
zSAAjYlACEw3k{Kz$NSor5=c(&8W@y1zF{GvT<rK54$E7mG}5m~4PQ?iNinNMm6g`5
zDovK}=7}b7R=)S$zBY12Zl6UAAaX^tQAVj#w}o3;8ikB~cS{(U$9<&?5kkeR9HfXy
zj;KD9<3>)1Hpz}YvOj1LmDk$xSSa#BqZk0B!uEIX+qd)IT=z>XAKtU9zLY5HEhU3I
zw1<)aC?$ik&MMU>m)*$zJpTB{AMR@-15{mGLB>gBfKasY;t;hrw6(RAGCpnfwPb@z
zc^_G$txYV!GCddO8+jgKF#53LZGz#V4Ib2D3JRrkn)*--3(rl+<;m0(*|jHb#p`x0
z<#%8jwTK=OefEm#n@(d1xI%fWXo6|!=xZaXBOz+dHHV#eh8^KO=5-tty4V`)qR>cD
zuV_<MkCVWJ-fjE>Q*rPO)i)4j4-ECROE5R>xVx{71aY2)hnWVnT+l>w{e-k^Rx}mN
z6i}Tkj8TQTp0$x!lp?@6Ri9Vk(>Z=~R+xgTgMHR9y5i&U7>w_<USU}%88PSC7+y2+
zMdF|_V0)@5Y>(I%GYHL?1h<7PL=c?j0;?8*&Ka8T6Nwq*kI>}ga<U)1pg3}*$x<Q)
zVtJA@A|2yFrGv<(l#W47GU65JIGhBLe_>1XwUL9#B#SVli5!ez(87@&SwQG{K;&G;
zq6zXbrOZn~D|ryITu6zAq4zQ^Bv-HXnH9MXvsWw<-7n4RyL+sMn5d;~uVGg2G0bWs
zGx>hr`NwAUUc;=u%iuK_XZ2pgtZp*Q>XuwXLu1G-S{Jxh!eC<N<1u2t98+K+@2hEO
z$Z6zP7@;y|UN{b_??ygFP<PGE_O*~x>1nG#wKFTycGyp*@_RXytEJ3JQd2z{5${T7
z=TaU8<A55~QsQJBBXH?rU)$ZVe@QXwfiWaRg{=l8)(p#Ipqs2oL)eF+?A_8bkutGz
zup&V(S<yEZUI6LbCD)*;oC$rQvZrTfQ&BFt0VVeUmhw;S?CH7tFRpt8mXE#f&aP74
zgbDrM*(GA3CBq+)aR^jj!c$6v3@mv98&~(WkqX(jxw}a${LRh67ocvnX%kUUDfO}C
zj=M;UNMBUdCZTRh0)#bRxB;6sl~#Jzamu9FJ3m^2qV~5mtEc+=FHR;(QmG7BHj*4V
zV!N3n|1sw#QBIs<i6Ye@#u*7QvGS`vWF|yvBNaDWIUbk0uZ{G^Z!gXY2c85017E?r
zketXUFR<J@()~wCbx7A3`IelR)p!gfHD;z&-@93iX}g>GAFk|cDU_9k-4LA!N+h65
zCKHQ$nkBSY;BqDk4tl=}+|E)zjD#o8?re6|XT^pr<tv0nbv)K5auxzS2oYy0rImpL
z9l~^78)Zt*rqldxK}<yw6`YxADNjMq-qM0$FD>cQGkt9+>De4^ft|od69ga(vm!|f
zi!g;n#R7&QFWJdR6eA)!;PwFkg<fVU34y<ksmWyf+DJqU<D80xn+g#tG84L=C1q43
z9xe}!P#AtjtlhSfvqF|uV-;70zF$(L8zj;VV`H-meIB>Os;!t6vVpS6;;son)~Gmq
zsFsBqXa*)a5NPUu%{+gfVfEg_JikkFNqY>d_g=&5ZJg)34fA}jVfEf)nCIJjZq$Uf
z_uQ!GwiHs5b#5k_6$?$an4BJiRG~11n?zCG33aqt=!Kbwuf1`E6182AM}o3hv>`Ug
zrVMv*V#e#8pVwNlbCUbwxoc4?_c5BCK6`XzGL}9C`e9@?8${;LdXXMB*K4o*^|wfl
zgC{GFM}lTs&mHu+noS~bIB~wF=JI8&rCFC++B)llR_;^6=B;iC`(3u$9Xocc@F~-1
zxlOmRs#%6o#R-cDT8aq{NI7{-BrK$In9^6a&Cdfl4Bu1G_uv1aogHvJ&rJ9lw!Uv=
zOND>?^?q09C!1`iUU=cusr%_jbNy~M_m)$LS54(hNA;io<2SzXjZ^w+7X8N`92mIk
zF0G|TmufpYTk6F;4^-ASHdIvBR<_{aFRQC?+iY%khjg22S<LHk010wV&qe5znx15W
zBqb-IPdJcH6PjoZ>u&R>#1K0Eiv8ZM{`|<Rr+JZ^$aSn+S6;rZQ~<uMB?6o|6_LKv
zqwn-T{aZ%vtcl($bJcQ&c$#bNloo6bt4TBrICS(79TwRnsH!F4&Kcro8yJ5}d-Imt
zNoUA8*%t{G^K&dk3ufJfZFD(ODZ5>3Nd=^_K*(zrYkxqdH-#jlQb(L`VI_{!C?1f?
zRo9(cAAc&(nr})fHIZN;C*T{`tU8<#b>*Rj1yC_9#jIrRzYv3aQc=omGgoIT>_s~r
zk<%$hj*hZ;yk9iF&43{qo#ir{%gQ3by7i6KI9^qbJntL5CR#-_J1d4VHY0~j5o>L6
z=t63Ht?G8L2rbY%i!fGxOmpF!<cH8mFeRO}k>IksmvvyKT5{7^kxTvM<=L#(k`%su
zBApc^!%8uiNu;s`UG&$*5TO?3^n_^bwJVZUtok}yF<hX6OQ2{mT3n`B(t;Yd)-q<2
zMux9VMujV2&&8&$O)h3~QzR5F$BO~{-hfc*w3OR~%nZ?&?1%(&>E<?~xqviJpVp;e
zk7r_ns`1Fs0-2StFDs?zkDi*ddN{JIo){k)SzH{U>ot{&5W)c7&SV3g2$c&{#F9&;
z(^T*^^Q*tR>`q6*O>up;|LgzdqNk3b5Ys1)y!z_ZtFQ9Mb8$Xf3PqG?tfLmS4x1dY
z#EBU>gC*PZsUGVg%t>i`+~8w;(%@r!)?j-+#XCQW?fI0!_B?K|J&zfDi~|PS^GSp4
zdE8)o?l#z-y$0K}CMQRy3Dg$ic^PKUm}rx8a9czZ5%oms`HoS(^f;?x|I|XkAq}Zz
z^2{VOMcjXrX<|$`9Ax>G2;+^En2DJM@2|s87;CYL^x~YhCZP<Ud*h8OgJUUqb`mK%
z?y}EA4vuvrmzBM|dV{aR=sPsqp1z#+Nw2Am<_o8Fi^#0WGOch&jtt1Kj51VmKGF0F
zrd@Sk4m6O)aJUD>ueCL1sSORU%1kPWb{(uYtR&-;3&|2BFNX5*`1o>iZj!ed2ca!w
znxr^t$yvkB+Lnk*FSd6wX4(MrXIZaI7Dj*o-Faq*pj#f5s|7k=>vTvDe)Q2tH!RFf
zjzMdfndF0y9J@RPy*AP!7mxAkQ4}Wh`g?aus(4r)?2?a3x2ugw@5+kX-^YRL`G-FA
zv5$T1{-*Kqm>Bp9{HZ2HmsEG%`Iq2le$BiE%<C3yjV!(Yfqnbdhny&$`ut@rbij6Z
zHq`}Lbt$?FVa9#9V#_+)aV9!DyO)F9u@sfYnw52tcB{2o2z0eAx02+8xVCNurwo2|
z)25mlh&WoR>uULRrKYX0TB|yWubvFs!rd$oR;#VjD+FwdvPqEIh|QD|v~`)J*;=xU
zbNPsLCk$ndPp{>`7e@isaJ?M<h>Y;xL7GbP8LM#H%-j!f0zRJ|WmY=*0f&eYMFc>i
zhz$pv1H;WVL9tJY*Qpe+bY*%lMBRuBQ!Kaz)v|*IE>b~qS|rCoP;f^IY2r#bD<sEU
z+8TSoRYv`%u{HpRxxPlk_qt@YS;&jH+@;3&Mn1?Ks^WrGViToKwNY<smgc8<V?I|=
z%{UFD!PIaz=BR)ZSUn!qU6mF23ndZa*I{i<UP|&hnksr7lbEIq$6d%x#L=uN$SEoV
zg~BLbka+P&Q4kWW*A`?I^{eBNfGHb=2W%lh;#VxY4k||U0fGFDL;Xd*MHiG~QLVy8
zA)Bmi9P)(I7p7)~U}RC5m@jA{lv#N($R{LB0xL3CSj5e)QRSKeXba?ARQN%<Y5n>-
zPQssIO-_uBsqRp#z)RO<GI$bcZH+F)5I#&>6e2{bZOmCJdb9$t(GMVsOi}JjF)J#h
zaX<^8DZwNpGKpBkrC766cjGZMIaph{J3JK%G&fuA;wBa0(1>NVH3jL?c}l_JR#SRH
zY?I9|YCjAto7>N;OO)%2v0)Lg&FB5(%^H>5*xbk<7sle69wWLOoS|69c@!zRaEIVs
zai@J1xXu-YDRPRlTAw2)r}CznGK-$o6g`=7pvh%}A=sqj9_i-XLEJ?2xU6QtCuW2u
z)1>9Hbn{9IyeARB$T@Je>?UEJNtw2-^b}*7Qk+`Ade?gO!qalm%)1KCB>Rb8jJRBm
zIk841@_6p>;ivg)OP_FUEjj>Q@J7P7H1gJOFxdAE2K#=G!M?A>zWd1xtuom6RR;UM
z)?nXP8|?d9gMD9Xu<soP`(A6X@0IDZZ_mFPJ$LaE*G|`Yx^(gU9H`?Xs#5LmT&tRW
zPVS8+M5%IV!8RP8|IyzKYC}Kz8Cm6Dmej3Y_}Nb`eziyci(cv5s<N)(zQ<H^eVFWm
zCiI(=P{L-kaC-Od^u79aV1e7VC6n8>ZQr*2_Tt_isJx^dsxm)yZA>-KjDrEyFbx)W
zP(VAR`F&iu@9J~X52$q>ETR7n3T!QUR(nbqTk-0k^t7IpzGtc?DEy|X^q=_6>#F&k
zBNrAHH2h_EO{XfkwaR=roZl2)vu+&`U?9K~TX^Gr(q2_bFV4nQbBeyAf<|snw%AFz
zYgS?fFMt>eC_q+|zDifPzO2(%RR;D*G})6ODz6N-*Gp}xGM&77jy)78YCH|RRQ!2m
zsB2U6{+hL2EtubuI92=d)h+wBlOtCKW?z3!HP2;=snpXZvlX&qtui}2m>5V5(T+Yo
zz9a@RIy`y)G&1dq-&x(Hnw>UbGsSHv<iu?dm|ok-3@HmlHB~$F;&T7M<k1&2$PL_X
zm9G8k?=Pe?r2|qH7vxC^WD?U?mU&{6rUo$D3PhAP6{0~R^!GkNr)YHgwCy$1DM&6)
zof6_wVw2za2ima|Z@4zBnkh6`ESed6k&3EPUen6N)E7pqwDBJ%2FcMrbG}GMM>At{
zt>&jS$;KIc4f+wO(AQ@sYmEbDMp4CMe|pIqYVWZgVgi)56^7YjR1`6)+O+e|AhV^#
zFk9LUv!&fITUrgXrQI-F+6}WMY?v(}!)&p?9nYQqy(l`VHlF5Q`jwa`O)JX5M>0tS
z2^7pp%6BFb-=~${aS8dTlD^c%9r|DBPnPD#&JQmyQ}OUMfdK_S7TlgnZrf2HDk_Oc
z6?T6Sj$nlb17&HK5Lro9P$XY7%}(xMu>VI#mYAocFp}LN{k_TBD}99#IA*e{CLq#a
zLRHD51)KA^rU%xMzATB1ta;#GX}78ra$>JUUgp}`O`94tYVPo(;z3y_S<)AiGfxK_
zeD<o90Tx^VV+{vav`g)(a_t<gMx306ga34JYn5;H!vd>X(#>i4;5}m3M}Bb;==S2G
z#;J*G5WJku4-LlN9nI6{PKcpgUhlQ3CdQ1w`|vK-0lWQ7{MyhE;o{J>(YFq3iq{+G
z!^G9hFmSm*tSPB^nIvXOfk~dbf`*GC7A6%ZRO9eV@49BQ51%%ZASh)C%*Veky`w4~
zK_bn5C>t^>b2#Fb;#Z+5V4+p}K&Wd#^q$sCp8Qv3t76yssCQ|mQ0V$7H1<Z^VHky5
z3^see!Deq^6fR>F-l{iZi(wRQGK|74hEcf1FbZ#p@3#6*AL*|j866(HBIHVo#b2gl
zl($LU7W$#7RKmF_vwAa%N58xN`~T_rZEqfV{Wrh+b;*49=uf&9#wTOQDrYj!OFvVU
zuH+fJdUJ-yx>S1gs<pY>H?3Q{PHc(9>e=ZzmUfo@wNeLn#hr_*HzRnoOwWJz(@!RQ
zq_3BM=?hQ&sn{kaK6Cce#o^%*T%sotlT@75iBa`m!{=BR2=3dvYuTRNyOy?&j-4&d
zEp+g*?Lv(b4-!z~&FCCGZV@nG)Wx8e&F*9zv^0EH!e@hE&Oqi^SBN()s~C1Vy(klk
zaNDxg6QYPBdO3w?iZUfv!YxQ;=zr&OtjkVr+rRu+xT3bbwS!q=w|};xu`b{T(CA(+
zZD55mFXJy;|B%YD&g>kzG+s70KRz}#PQ(CDB1K_}*xc7~Qt67P5LL)}{vng2w*Y?N
z%G}$hPW2C59vmE0opT`?OiLly6-@ymMdJM?ERJ=G5{oX%f`YcRDM}PKPZ9ZGv(V^N
ziUkv&coQ1OI=i)h;DT}jHS5x5xA*%3qDhzS0x_UcNGW#pW-N}ZkngfMezosr6pl|D
zC>;B4&E9xhkM$4}uCy8TPgWne(YdtIFgw>YN|Io2yp{gR2E*($DgmuG%+3vl+1YAX
zBU%k>gy%v^zj{r0%Bg9wP&j#lv~lR#HM(M`rbee#Ye{|3O^TlM0Yi~)vFd-GEB^lG
z^o=j`SN@T+HzRMP$xDo60nH$8;(y+)sl?_R^o_07_*4pH%e(xI#AQ`8<6r&^VAO=5
zY+PDLzW8T?w-J#_W$eT>M0q7C!7~RDp%L@MW)i(*OCLiZz_gKN@8kL0r*1Gfe!^Rw
z%r{6z3P=7@L=Cs1aICI!(W}Ky6|0EuN{bCtjzj<id8qLDD^zPq);L>)+*6P`Qa;kE
zSC`pZnmL3&<aEUNSo3wAH)C|H9?j}gH|KMNg<iI#7P%o#96HXFf>t(Sg5$|E63x#I
z^HJB?9Gxsrm-;XC4-W$~R05U7)J@nNtEXgTN(4y=0=~Oml_(sev{Lm_04b=}k`|yv
z*C;rMi`rNHhRyNj&50ZV=g0vYErliRKQD-X;$z_Q(3;Mv(j2kOyKIhq5=$k`ZN==@
zs0smdFXBC4fU=lB$;)3=GPXpzk7bj8H{o==tH*jsy1wl(taEo8*0~QEW|F8{3ohf`
z25)P(!P~mqFq4e+t=)#1WUN{n^WJL>GpRO_zjXHJmoxdfA+gAfj{&JTM`rKBz@<y0
z$p~HnxF98%oO7yXn-7d+pWorK`Fv$kyn#G}$yF&>GN#hM{85koiHct@rY;>85zFzn
zam#-4o$vgYe}3VYzdSk<QD!g0S+2CqTnedXPu=DX8~Xggaxb04()f1LuBP(U&|S0?
z^XoQjp0@|fszd}+dpm2-?OV6*diddO+sYvE%Q(uBG*ME;IH~xFfzgSHgMlJ>06^zM
zSI#rK<i*MJ=QT$@{byhN(gk08_l6xJgrVHEO%Uk+r_$qVB^2<trI)1Ni(lHiD{#_7
zt59cGX7i)O7)PIZ?X9;C26Bs8k}iecz3@YNk(DdQfA~YKMK1!C^H$Y2G>HhOc@2s0
zwNSck-@ax|gFpdSH;ULJPgPwtC+6dc#KC|LR+}LeU7Qsdj|`etOm)x?I9JSGCa0L{
z$+_e#>2E6#YMjKGUda<NyTQK72V2~hQ1$Jd7TsMD3XzGXZ7EpU+S=szux5(VvehY8
z%0*Xs4l&`WnVEwDK7@wYSw~ppn2Q;r5v`@n(Z2T2b~~ktWg=2)43U3YwQJY*rs}q~
z4v{JHglU#mMnmmsAb_d<OP3BhOtCr2)mOZ2mm}t4{EDbaWC|0*Z%^i|sTr|wrV?cG
z#)gJQM0$S?Xuc^qD<-Zh6SsnVl6-*x2V>DWLB*6RV}Ui<{g6huNN#5@Db_NNPE-}j
z3dOLu-hA`Q)cBPvlR~N>y@-bzi+NSEBMapBU?8tA=0$0#P)|PFZgBxSYB7;2oj2oJ
zP%4+@^c>}lIXZU7#^>g;d5)!!LDhx?sccrwRu|k{eSWHo6z+&uDQfE$iWORmtPEX!
z$D4~T%!=@9`V=Go<U8-Y{kz|uI<=4@W0IK{zMf6Cc~o<#4yCq(0YN&!ek-dRS<ZEL
z0On<_L6=H$wOnvG=P()hrLN^tcS8{@fZ8YfY|7ICz%z7?<sC>baEJokpdADrkm@rz
zToE(y`(#YiZlS=}`s5a$_36N@o}*1E6_x~cI47FcuV=GY^jHsJBud+AgGE_kuqej(
zO{nyBNiJ!H!J@1-Sd=vei(<@ntT9-WHHNj>nC+-HSd_|?l#k6r^(Vv=O6rjPSH_1%
zCa|YYe_F4oYoJi!ni0!D`fHW5dTR9Yg(F7~KmYvmC56c6UOIO8&6DU9IvW;>E4Gl$
z=qW!hrtpFgbgC>A+S=Bx1ye%Oxg-?1Y5j&ZYt}=y>YPl)Mvp)O^yVm<PIS<Gtum9j
z|NhT??h}tb`tB<H7hm{ypZ)BgN}pDp$EJs0d-|ZJX|G+;WRJ%I&xTeBpJM2)om)1o
zeJ`flxc&AWyUCt7y=6gnt)TC&4yuk#o0czM3#w-0ZG__v^Ym3i7vo|s*j-A}MyXsW
z2W3i!5mRPbt8|*OBmw-s0RHTf#AL|n_c|nt>P)+>(U{0j<|{OscWqy*49Y2+%U565
zM8>ovGYM{|p*94z!?_rCj*pE{drEg{sQkD~N1o9OsljWriFty-CAG=Xp`pvCC^vzI
z(Y+Mj!eJka8{;!Vj+HrRyL__$ay&Or`B$}r5gA4@@$4&_)04cG?r0-r+1a7lkV(Vs
zv4W-(I9oIr=A#^CNq%yEQ7CDHmUY6HZ1Is&^gFEL16VzABPtbTWCYH{3$(*7g^On|
zo};Kw_0#DxnY|PVmM^dH(^^=fZ8aU#$|&??-pgw+hZIFj97OrZ6dn|PnBu@SGcv$2
z<!ffR1RPoIAe|vn=3psq#-muuY&_CqJ;Y!yZ67ksj7JPJ!?@Ny!aE;fW_-XfGafO_
zj1L=T#v?tJL%jW})FZ*2c%yIU5yQ;5&)~J*XP6n?dGqLHXFdbRE|-b^2D~oFs0Pnm
z8lH<SkRYCojgcH2Pvy)6^1&K87cz}QX*2{PKIrrK9QKH>n6Ij36b5XldL*-E@}MTI
zJ7qiaBJJWZ@RAJFODvwrv2(xq(XU<~7`@7bxH$UOi!Z)-Y&K~}&?C6PoM=~$Q#N~b
z(dBQgudWOFBB6YG9n?zOn!M1TPsi*DVZ^lV$?@eY)BdV}xxg^V`2`x>R8iB`Y`3{8
z+QD&lREiu$mBo=D6CQK~eYVWnRX{(R{qpSKxhu2t5vmKXzePD_D5?h=mNl2#Bh2FN
zx8Hp9Q}Znw+a1~8|Ni&MmIA4BW!?7s?+N&;)<5*+FMs*r+wT68KlzhQuCfVfn;I<Z
zX!b2W`DvJw?rkxj{l!1MaCRUPB60DJzxkWL`Q5c*=UpGWceSWF6t(WMvUTg5R;^jx
z*$R5AWqB*6rhWB>+c!6NEL(jW@VAYt*E4U|bavEHstI}mez&=?h6(AnnNo`YBGVCH
zDt2jzg)N$u?B0;yX(rRGX&tNn{GP2_?htkLt;>1d(e&WI|G0D6+U}L2Z>bg0nGJXD
zugZyu-y{89;FFtiP+d-6xj6|Ajhpg4O4y#Sy++wOPpZUO>$5u|(g(C|m*OpF<urR7
z#B_40J={XEzqP5x2b~di$rj*5f_9}SF7R;HG$XskTq`6~^dz#BM4&WCib;t?rpHmt
zC*`kphs?Fhq68HcqQBCd5@NItZ}qC4ZEI@19*XcmZxaTT)g_NN6+D(uF3A<OAQ=kt
zi<9wuB16&MY?~Qp;4Nk)h^+JTBBDRoU65xdESCZ4>*N>%wrcjCHd!+Bm31!J!iQL_
z8C<#9n7c-rRJ#JEy!-0ZRX{Qmu*TaQ@Z8|8I5u^7IU}#tlAa%(jfpDLtkzZDpeKvJ
zeye{J;-y4kO!!4ZvolxvTN_RDi<r8J$t#$Vqi0hAtt*_Fcb>V{e}!!9P(muJ3;0<7
z<?!z1)zl}#R*Pxz^3WisZ<^4$fw#x#kmiV4%cZQS-WOAeg($sIX(6Q;OAFX_s*pG1
z*$49(<YWai_F^(m%deYO(MZT_3DZmDbC_YoP9!s;3c&y_3tzcxo|%M0TL6<53f%7O
z<nV>TTq-s>D1bAQLpahC*`yPkUoeFVy6Frop%+KuMPGGOwa*jrIoumo(uPv$lA;q=
zM&~o49-_77D(Q$7cNjneM~j<cwa-S$5wMw^bU3)2UhJ$U`;)myO^yp*lnQy_O;~+x
zqAm$31C1x>rAA0;YHjh`T9++vBtIV1QG_z(ojz~y+%<^Y+3aD3TT$K^0+1m$Po*L?
z@kN+nq+F`N74<gV-^Isa+wJ*e+LVlt^87>lYUG+V+Sd;oVj00Tdq4K|U&A%~@V~;o
zzW-MC6_(kn`uzA*$r)891y4tDVR8gmRcv7f8*_Phg26OJ36W)}HC!x&^|2{ZV;KdK
z<f<SiOVQccBE+EJ5z{l#0=Q$W%IU$k4;2QFpBWIt%6ck+C!fD^`i<ZB^LZCQ+`RbO
ziI-n~8G`D(^n%*8ESK#ny#0;<@LIi9Yu2_39(B;QcWuCDsSA0EizC?*_$RNyD_U1K
zXQ4(5N5EuG5rlO9aCK|52R4jm%H2(s&GcOauuf2n1a(ij!_vKic%;&ipBTA%Wg2@`
z&<7Bv>K{v({4`dF+@%%ajW>FBTyW)`71MaMajT8Jx31iB-#vBh9qso%@x&8*Zo8Kb
zrZ&GaD>bTJ#o9F?_kqVAe)!?r%F;()dGUo)^Bi%u@XU{X@{^yuJ}$ScT)%c%4Fg}+
zx|^G~ZmnplZ(Y6|Cu!C4c07gkx9{4s=Z>D+w{7JF*KFv4?rLLqix4pGs%~tnr`KGR
zAiaKy$>FAzEE}6PGw?e*+gf3aX|99xnN<rLTlv8aE4PVsURP&3PwUG!JhCa*va-CJ
z7iD#wJh$w0m29l{ueR23bDb{IC%TkzMZ9nS*MSL9_s&u5aXIh=?$)~ND*WYEe^r^6
ziEJrW2>4+E)qt>9K@<$*T2tYp0*{`6S!z<-X7s|Ojw~3BgE_jG=7A^i2l?d00$|y6
zCY_gTbejn%eD~VUhAvm#indxrtL%j?C&!-;)iy7yvHQws>aJebUB^9Y2zzY^@^lU8
zxeHQFhzlhr6Y;Cp=8}RPJ~MZQbk((JJerZcnWR7;nzio5#Qd~vGFFtamkw7>V3T!6
zVLnx5OF0Cv&n%c}lBR;oK@U)nmBllYj1oV^7IL~P<Z#i>Z40|Xczb>uE$XunR*TQl
zx?r_5JI_yLB&fmdN$4(3rl>hPHs5AXScLjAh%F*0L;{?!PNdU;$;>oIcV#qdb(K4O
z8FpKy5b8IS+vUXU*zkyG0Zp)exiI?xG$jF>L-hf>QOIRe=_T54lGcC>fly0|MRe|U
z<THh0oUk~N(Q)6LG<dTc867NEKN~Ha$VlWwvhHAaP0hlBw?N1T(5cc~$Z^z(*!<`e
z&E`oVlQuj#DvnpTI7y)f^~7vCH+Y#9YbIx@z(WeyBSFO^{PlX2))4(&h>F$cpjL01
zbJ#M3aB^M(BbFHfd9zrYol4EH<3e&VqR3enhSNK+xWIVI<?_@5WpgUx3pM*(j5(_e
zNWvoLC}mG!U*!uS|AI$EiY8PP7GD`Ub@*!T?5XK9#KgIYE1ZiZTH$7Y&s@I5;>ZP|
zN@sP<M0{QMG*xlYJXTu<w*NSu+{x?qb@c)3AxvgzTYcb$X3j2y|N78@8=N<*8<()q
zx5~O2HFJzvSEK5*k=?)gzzvL~kuS<et(MzG9<&5lV2L0Dna|hMNbzCkxN~^S$^bzI
zs$L~5fM|c|{U!mB=6bVvp(#qIH*C-+UMo9Z_S#V^deV1NtX8E_Rccm!pZUzkKJ@<g
zzyH4by&e+zn;zI(A{PA?{4+3+@%%0EniBM&+UrIa@U6FxzW(Z~ub(_IBDAG6)77g7
z%R=H1moh7*@1@V(Egg}lyGZ|7dVJr~B8=+icT4}b=`rb~>2rKNW_rl-t#5tn8{ho;
zP8du7z5W&XKmYB^s<c_fVWzuY5uhrz(%xk69ozW(rlvKUAG_;QcRlt+>*U19=+qSF
z>=shGq#0^Vk9}CJfi!Ir+cCc&Ci=B#W}c!ZY8RJ~tC;5u_|5D>l)6rAVIdVMRqWE~
zgEhyG_YbgEjg7Ie0Om|hPai%!G<5jz^fX9~UN?KXG&DRmK0bEs+5&9@Zc*es2>nuN
zBQf#rQTorHJxei}<?Wrf4-Fh1IP|g|Ygb+tMte}Db&^=J=ERAYpZoETfBci59uvUP
z*Is_+nKNged+yAcXP%LsQ+uu4N*|qmKxOiTjr7!-Na@s^Jv$)OKZb|$g4lWT@~?jN
zv!8wY+duo+uYM){H3vun2Q)Vo{D8*`jg6>iIvfXm5ZC>lkmHqC1Vzu{**A9RU)H~D
zdJfsgztaDz^qtqe(n0os?OfKiY$fVo?d{OXh<YKgCeTS7%hDZ?ofFej@!^XvJ^#|h
zpMIls!AT`8c_;sWYvSFCubEn`dXO@zcnXN8cJZ`bJgpN?dGVALPqX6bt@nNw6aOoz
z+YS&7_X?!T0|%^!r0d)L1`F|l12^h2A2C>n4>U?r1s>QV2Tbp&5kGQ3eou|~!2`CX
z{q;!F!v}6exDOw=5#fH|zztQc%?1lmb|b>2?Yv|n#89+(rS38>X4_?RL8VK0kXBp{
zpINslqHnOF+?K#xC+%gts4o}7!=~JXK&#VeHbnAbXilo~N(~KeNyrCLt=17sbFOS;
zeXa`CZ`r*&QkQX8hZ~%F$lbb|ZGG7sFzfm7>e7qS4ihJ7$d8oS?1zsYK74pUT2mu!
z-(D#RIiYb9`P((An`CAxrKBb=4-aF!f@vw0FzbcPJkj`g+}c9+smUJ2z3QJ~kE)zR
zNLTX08bDo1?_N(N7%oKIZ@xKY3gOq(ByxjqYEpeJ$lBzNzVq87N1&ctov_SJx}{=j
zh&gs@Cj7v4@U`Q8Rg;3l@lt8eQ^@j4^%2jwn8AAC<NubN)yizdeemE3dD&OK@|A7l
z$zL4gfWy@y0~`{(Ka^q{%PPQOmxs&zxa#g;bq5*g_L>0ek<|;=w<?21AP^9AGaPVP
zCDETlkGN@-mmD}M?p$#ZEO9bvyY`)LpMQ1K1|70=Z;$j}Ob1r*Su^uQ3Gp04PeS8U
zF2*zQ932Tsyvgwym=;_vDKXEf!a?KVvlQ;0$yBMDfbCZ13ozQ!fn^$xN_1pP0xC$(
z+quYoFI?rKPekYXj~^FFuhhiiWWuzN8Y55e_PHsYQm{VJPut+>ek`gg<2%51&<&_T
ziBx8@O_liPm8P>3(#S|c65v3mMGlOx-=IikI~`s)WAXURg^}6xh2s|sqItI_>=ga$
zd57RWsSVTb`&CmOlCUyIq|EO2SUHJ8ncpszmDwfH37%rWm9ZWJMs9aVa!sg=5`0t{
zvY6g@=eVWlFDq|CP-qa5;9?Q8T2?IejYA3*F^!!9dt#1M7ENxEHi^}2Y=uq0l*x$~
zgY`A_9H}CjT1;j;>l|0MKsJjWN1Cs>q)v-TG>W7p#K^ql2kqCdEF;-dk|qN~C~}2a
zQ^f7}6V>wnj3PVy>{dqS$d<SG(2!vO&nrL!$)PENB7`E>FtNZ$%1$?EjYl%GTf2nU
z0nM62r`2wd_2TS;9C0sS9*`EPUQQ$CvYed)zQY$SdCVM;JG>Cn>l@4P<~?GS7OtDi
zEnd(8;#2<v=sv|EXVZTNuS>^;Yx$nLI_g3pO)0a)=C1oU5B6A>tc@hWCUL{RF?NW5
z#t=U~#QXlW%oF$b+^}8`^xUvs4;k`v9R}-V)RFEi6yp7tXK<L)T-`!pVBo@ZaXxo#
zfJWgn{n1=}LX<m(MoO!9t)P!{$O1k+HxvoW!KMvcnyV>5BN=Umz&PMmq^Q=JPLDtP
zt8;jgvx8B{z@K~WnKPMz*zccv?%8L5_}p-O?D&bJgpRLM&F^(@Y-4H%%`CL>fx~LK
zuC(lU;@|CB|H>;2^t8>_+}vDg)kidek#1R0LE^$u-q^8h*;7w_?z5l%{1={l>ZwN_
zX>4m**4@(B$lPv~9%i3}CdDG`G#JI5yVdg6rV7s_#gw&cr8dH^M!Xn-UDmvhKKkf`
zpW49Lh1c%=@S~63BjFxPNz|NYB|;M^S9*OyI^n+O;Rhc5<O6&5Y~8x`0g|9^tGzZs
zN|ft--{<c{R8%~^Eqzxlzi-dl+T(+1%acz^_uqft{ddzD|ImZ?-(NcVj_xKh9K?p4
z%D#Pj_uRej9)7)JM_WhxvSl4@ZJcQbXq8?!w}RFre+6m0`bM=J@Pm~UjH#kR;sT4b
z3^gViFQB8S@s#K&I+0YaDHmqI>deQJNbA^>!wVxt=pI}xHGokOJj1*MM6K98I!{Cu
zjSF0c?o`VYiHU(zN3V=hAE)7bQQ&!}q6tOojK$>j-POWZFDpRz>Gy{dXJ^k@IfLpQ
z>m0O$)HadKZl-Ii*M0IT-p$0!1SUiYtK|#x=MVk#dvBa-Y@|moIY~zR9T5C>trNOP
zBwx8V>A2v|8yy{4L|kzaZ*BD2STdKKpPMCfHbYvf*G)SL8^i_qd~AksA-TfM?d5@)
z8CbmvvH<+S^p>J|PQbL_geasXtO*UGS5F=O9dyEH&w?v8F)5?m-+Ae*+AAz60T7jm
z=>fI;%GAVQVz!8opTx&c=P-~yP~}>u=pKn>xtMf|B@?XI!^5K^IDSJkzQG?<Y8a;-
zloVGlX=q!n)J{6bA(AM|+srbCUt%BPeW?UH&^k$P4_%tYWMt;Xu3o<U!yo?7AOFAq
z;|Krahd+Gbg|Q*%3Wj0tnw}np@21yXa`mDk7XkFYeMBuE9-B`xsfrgbO2YdT9<ulj
zsVgT=ozEtq5d6<3`y5XE4i-qalf0_KPKiYS#?lyJ*hPBXK>YkY)<c+;(&jhVAip8T
z3L9*YpLdFWQ@^1`;5XC={5>~3D8Io5`3*M6f5QgZr~sEXNCTaOim_hH5a5m>$%=nY
z{&1|<^6GYJ`>T>Qm&t9vWBcY_%i818@wJkiTuAOhUj0At^_5=BQv^j%@kgPuwd>aI
z?zL1*N|O~-7LbyrIa>HOjGTP0#ZSoLm#i!mKCiFPYiS^$Y5<~dwGoA+dM(pXXih_o
zWs-olU+uLF*Gu)ol9j-XrD&no67@=6`1pYYo;-f?onFhu4yohfk}ulTV?D&hDQ#Vb
zE7@hZlD8SIWEbxgSF+1+CA$n)vdeHKy9`&d%Wx&TZd^$zY_R6WXtm7db@W4-!U-Nb
zCZe!d;tEL8URFNyVgjuhO$2pj`@u4Iwg2Z+LjWEwedjwoktO^sDC=GjwC15HmVJR(
zRvi9==J=ubP7AG~R_nd@0^A3_yi2-+Hx@x~hZwKojZ!9lP#WH;e?cFXzGb1Cj?DfJ
z7}<Y7D+`0s)+2qJ2=;$5_uc_=o%Ox<ncjQZ-ur4-U0M~(TFJI7Y}pua!HviiJJf&y
zUy=~e>{+e@gzIn#A*A7iyde-sFc5499ONn+%j#WQv~_lNc6WMj_w&rk)`7r%`R{$t
zNM~nvXV1(z=Xrk5uY7;s?^pOM=t0{08wKE)2HV)&sMncwZifDxga@)7VyoE<cKQ%;
zgBFr(ifVjdsgxh(_ImL!0^X9YfB>Ax@;3|SPKVWOm%8|aQa}p^Sipu!td)zS-hv_9
z>uPAj)84t0T~n>M8K44UF9EIB0x7t_7n2en^``Tg^I<`AI?otnTL8R#oEJim!jy(i
zMqD$EZqysmL=TUTi<R-&XD?m4JT^J;lJxBAXU&SvjOsNr8b`Hiw|co8u#vzHg{bw>
zsJl!h7<&O5Zb8()fm<_kN4@4v=A#tuF>)`z%#ODHqe7HIymgX{ZCRX*q%)5i7?onP
z>Cv~x>9A7(6*0G$PCTpzbK5$sKg=MjZdS#JbSt7Gzalzvx2}#zk0LtqD54{)VnkXM
zBhsoEk?w2JkxmQDfJPIuMa*l>v@|Vgy*@FgH7`mpN}@lOO<Tw@t<@XJl3x9ZDjnUs
zI<M7#ApOCcKh=6Y%xtybsN^I~Vp><<fSiPw+{Hs0r{v_IyeB^*X~y){U`iydK`*AZ
zCM+?rH7o~Lu6`D^N=#`@99_{jKZ{1ktX5x?E?$kH?;h44macB^R$Rfm6?6JGaroS=
znA1u%xw{ot@Lh^4c(>vT-mRF^gTvP{P)ZN2kM$`O%W5r~2b%oNbtcj5X|#(`fcvR$
z=;?0r+Vd<52~tEog;>0-XW|&WjV(^bQ!El9c|z`FDMlYZME`8rmH9COBN|`4U3=dt
z6j;C5^uc>S@b<nwQmD<Fx9+|{u!DEL>(Ng<eB%}aT)KI=Cp|q|wAdXcXV1_sl(sX|
z6DMDI;e{7pIeK9Va>Q{#ifxEoKKiuW_j|whdk-Fb-@_ldasU2(JGZW@C*SC5X=rb2
zA`I)GjkdF;t+S(}qgA?(Ppg7c$Xj2d70qINT2oC6PQ`{T>l~^=4FOHFh+AswYUBe5
z@rcK1=>lcwATHY9O5c|LNqSQH(}q9!$n`jn{cjt-<Mx}V=Dy?p2i|qp+itrHUASBE
z)&48clh#-}2M2d-G(q-P;IsQS-Spn~zV{=KJ<_I0Z`ySI?!ELO@7^-BN$%UbckiCP
zH}2cNb!gkr#`Oaogb>ZhrgwJ==d7=<r>Co%JWWp*>N`DUR$pK>5Myv9`S@CkU8I_7
zeNbqLxWO)>1Kbqhs5P!SYJI%2m<&&xd*&C%&Yn0ITIAX!7M4OGmj7_%;v2`$OfM9K
zH;f2CkKS&BVlSG?gy*JXM0PfT7=}B<=CtdZnoML>lS#?qX_5_uFehGk>g!+FgXYHv
zS^|Imr6*rG&Z0N|;)~Dx1SHzi$G`ojU;c~#cs_&=m}a#1Sn6v^%i-WkbnL|I^SC87
zo<?y)8tNMBEnBy`V}cn+?eEws_u)}DwDxS;e%rnso45AXd2ujYO>I4ExJd)G{X^R}
zcQ#u&2P1jR9;&ky`ry^{*m%tt!*oh$;f9wZi4<G`$?E*iCn5{7koH*#MKT$iO-e?V
zBl!`3C6g}d5sP<)V;Z{alY)nJg>>B^OQ*pC;x}V3`djRxryp_5d?Z)t#2reTJbXSo
zf*o=nRy#O9H#;r(abxi$U@J{Y@S_Nl54<=Wx77`(Ru5$;j5@p_z$67yvYZo?h6rL8
zBy}za>`1(nvy%IO=lt|1PyO5XUOV#gkrVi^+=cjjXm(aOx-*kNZ|7(64rk_(#p%&-
zXQR<@q*QG@#+P1R!0)?sZY)_5s^5zXc(#jtI;s*{t&Vl7x~qQS`!~1MAFh7S68NvH
zV+VI;<af{W=@ov54tpka*>nmUrBnDFI)#nWDQuKZVWV^k8}-}se6u29_nO#U$8K2q
zpW^AwVz(%E7P0e*T~zE|e(Tvu@ysE1t%1=h*U|oA{b4?KbyK27m0U;fQ=Fq<OR(Zw
zDY=f6Yza!#=zhgHDp^sKYzY>H9quZZBXiuxvCG0!8e0}>rxAhrOF#^?7-#v(C&q|l
zM~$nJY9#<9E(~r}QO!YAR8>@Kk-HE%d>yu^XMXzAXP<fInTwa1mgC~j=U;pJ>C-a|
z*W}#O(n}mi)Oym{Tp12^3~W^zt(gN>rO|fDU8z*x9xU6<H{J9$c*gc^AR_JX@aMIg
zckWyZUA)QFuoL%8HVHtcme>I7u?v$`Lm(CkF~d|s`|P5?mfiPuY75U)AAcu(lgB?u
z->W|UTKcE}iAu8m_CAK*)=%!Ke)EB0>|4)Hpx*d$U*;_g@QfJ|S#k0f$i-}Qi|%*=
zYn2c+`<~q8a`kS;AVau5M4oW#0G)B&&EQVj)^6Carh~cL+`d8DAAqvE48;Zuy=GMO
zz@b`3_=Kscs+Lt{%iM3umUYoBN*&YUgg%A5Oht=Hgs7)n)}st*(lgstIuH3X*(7X{
z7Roc6EjUV6Rmrj#yQ(VLk_;f!CQv4=?d{E?NNM47JA^}Mt?TOY*qHumYZscovZ*Z8
zTWBN&Y2)HWsE%R3c-yM#*qGde4se7^OFSd~Blv}}6NSyp^1?z45nM8TAY?|3tD<7n
z0fJquYKkG0zN#tal>;4-Fh{v``t&hu-<%*hqnTW-4lPVhE*D8TRWy^p{5h{x;jnTz
zF1xTjRoyTL!F*LWtXb}2B=N=z*zhn0CmbgTsG>A;u}CBirvM&r1YcB!1q=P~GNSXN
zF3ex93|)`7eiSu%H*tNg90jNJ+An{3gf#MNm#C`D#<|eT=TDv-3vqqo;gfjDP@9nf
z#mAKjqhjDkaz?HV@q;A9zgpxcCDj*5k3At(fFO%3{_j$$`2WU&O$j6PqS)QY4n&i9
z`YEw%5<9!tHHuxenxPZV=EUx2Viy*><5w-%J;VCL7^Ui_^d#S@@FbPG#3I)xqQiG9
zth5q~chB&(I9r+Pd$+<$D|3BHr80xFl-B{bDUY;7(?^ez)DNYT_<0OHtECCz`P;7d
z_AxJPk~v^etLvM+j5>&eLIF=wXLkzcaiUV0Nb$sGFP{!*-<UI7)N;RS{BlAaIh$Za
zU7q>M6F>OD4~|Tn$HQQp6tlH-{Xce}c7PF>mV(G$Yd2rl!*uj`R40+AGBvgc=ke#|
z^3NA}QrB4c=YaN`zx4RDU@29(KnKVJK3^oh@m7irO<F<Rha>1rPJ=Ib@tC~@3!sw&
zP?yV$_UTN(*d;~lful9%1IAbnPwJvMeLyqu%jNi}b@%n{YX{smK`=ER6@;@t2Nuu6
zbx${S#_*$$KKekn4${=aXFfVC{iTi$vU{Wl1L#zlbOJ{(fA+tY0>*b##&$gR*kijA
zbj04xlWk*BpxQtA)3aA9a(_ohQ%g&Ioshn9dNzWK-_YAE;2!|a`kHHS15LJpEqv39
zWe%v+Dp^y=#ESu=OUhZXLAFxBm~->Qnk#7nnrILiE39F^2z&Y$3aV73RLu){t?dom
zIjhb_euC@15S<1f_Ol}sFEZg5SZBeM%uOvZNpnSG9Wqjd^a2sGzf+~^mUt3QQ%}(D
zT2rL=r9bYjSEno;7G`}<(=EHewY2)XS+F>VXk`(X@}Hia|4&@<42_P^&7Jt=INv0*
zwzY^xWmhgTxBGUh)i(&GsfiWCZ2|3v-<C}x8xorjMl<n6V%Kske)b&0W?^NK56dl#
ztz<?_K3k-~^Dz8VAdg&L!9oE{EgJCT)Fz>}7+!>nM{xWbP37r;b^`rMm3#;`2(<}g
zHBx7kW|lFL8OpLQ7p6F^a<sO!dRwII2>s3hb^VT-5zq=oYrx~y<frfqGt!s8EI~{#
z4+O~-&{&N?Yx{j3RuK4c8I>kuKE|S3F}fJPBI8-x0_>)@(+AB<eGRgg0^l1E6d)Qj
zF<>LCXmebt3{Q1Qp5zE$=%aS(w2Xz&B5ojRNW?>C-SOv`4pVUriy6&qlW{>%>33Xu
zoo}Y3Nyb8{EJGJnYXFTbS;O4TMP0yXo#M%oRaXdT8rC?hqg6<OL8STACXtoV*c<#l
zT9wQOTT@3f`Q%l_E%mVeFovYMsTJ|7PGNO)3cpFuEB|l4p;}>eeiz?Rt?--F!`E1*
zM%e;%U$I-yj*esTlqHeIS+UCmsxMd(&r@O-6h9cH>MQaZzl##FL2*{%eT6MGC~T=g
z;qe-Vuh~+A!W%RwY^g!v@jk9`M<Q<daZSg>L<e8SJ37Ys^5ffY|FMYd)Ec$lKcJ2}
zMg9?HmZiYsnykT)<s~t@J;oPHDrMmdL)FC>b2@G2OT+AJ!zzD6<FNj)baiV~+_gr<
zU29aFUjwfdb)iPZ`86ueuTgP+jf(SYP@G?b;{2Qke`D6cX1$uLWi?<sWSPxRT$squ
zO8WflW$U8Eqf)kz%1TSt(kt<2fADPlm6AFB%G1^}5|47xS1gyqk~Pzr@9yi)cV<#~
zVnvU{qrx9U0>*g1BYxNYcg61r2jh3_wf0Lq$_VY2%UzPy)$Qr&>+y8ET%PXjT9d>h
zAgXpoiHq*lA>zI=V%4~fHH|e!6#b0uCaXvZA;<->q)I1Q4IPfPTh}@|3`IxBCM%g;
zsTo8Q)5pRG4(I2m=kwu`DjyD7MNTLV`wH_rCs`{YA5VNC@xN@%Nj$6^7!^Rts)4W}
z$$tPR>8v&{@d!u;>dcbWIIEkUoYu`6O}g0-Ev`I3JdCIksC~hHpoX)~V&&og!s_R*
ztJ^qIjdngZtUt^xt!|Gh?*GRW_y1#x`~NXsDWV;vs_CPO`~Rro{(o3;{~uA@|Bor|
zzmnN?D3=vn6L@c-g_U?r5TT^9IXV=|1t8ooETzh@6P7b87;sAAdYeT9iFX+6h8jCO
zVo|{)BLpy#IRpnZG|U-BxEbmZPZE7VpAWVc;SiK*&~zEf@=!dwl9$qCw@w|uJTq0u
zCCZDD*h(}`At=iwONW5>S<v<c%zq(VvDEuuARjx6&e#^H;J8UDduwY2Q@RkZb?_~X
zb$0PncvdQv1$8|YLsua}`f90YB!6Qs%0s1MnbJOI;&MR$1qUpCY#F%~lx{@aRVG{j
z7^`)4c6Pe7xw(mn#Z<)xi*P_)Q)3&klnrDbIT4owE*1^s?I}_c;`|JfV9ZWQ7OKn^
zHJGPJPAv}=@}*=j!vfRO=`2%PEym-C67|qDR5>^vWs^~L<VeEW`_6a1v&Wh^^7Jz&
zL#h@$nSdHXoe@jH84lZk!*;br=t-PEaUuvgj9NS5aY#Wx9}7|)!C##&ic1&O$wPcD
z52~g$HO)<RKEL?RLxZ_UNkJ{*a`|d&{ARPKwwYkCxz+=DqSfVZY=V_Y4R;1SRGMN@
zh-DcKQ1@%#(t?#tP$+sJZzeuK-jA?={!?-z0ED#~sl#eqm69GZ7!jorat>~<)8U|?
zud$io?=osA7H}W+W|3y0?9ZogP&_VjnYDHo*#I?sY_b{YWkFkO&}2~O5rT3uP>>Oi
zxguzM^J*cTOiE3B29-QybGYb*6G3EWb3+6DY&yT&js}??<T_!n82}{j=%}T5+Thfx
zvqh*P>szF*z!p?AxbYH{AZ0R<HeE!ZIU#%#(Yyrzze?pUuh2=9)|v%YfWAUOW6fQJ
zLRKOLm5D_X=@cOPN)GNY()gt+byFz|pR1;lOA2H?2v4Z_q*5|Q6Veue_@w0pMyLu?
zDqAoLk`)~!L*l0@;ag@^h!EMKKH^OITjADL<Uk#$TM@kGh_9W9gjoG1Ezk+L)yn`Z
ziV}Qe5X_QG$`mWs+B&zfl%)6>P=~|m5y&xZHu(Nmvc?9eOEqTN4um>~Ctel~lU^kT
zXTB)-wsl2Whcik6al~IJ!Ku$w#k(L3$G(Z=fmV$VX)-a#nHykgz^)p!Xp<rkmM_ZC
zgTassIYa?wCJhW(8u31E81(UWG=fx=?hHY>r5+t3xEIn?<uW{P)tnnYuD*|y7q4bW
zfI-m}1tvFM)Olgo1CWC045*ivu`6mg_=JW*B5BY7v~amh*cE(1PeBr#=q5?{@tLwv
z$I($TSsk04P8saQ|BXFc$+LT>!p7c#jTJt`t%@~P$)0_y!p15yN_!7p!(QB?u(8dG
zHMUkoI%$3(%H0RiJGBtys$9Cn4i~bFra+OVe3f)Q5YWd3!(BK_=eZ!Wi<e}P&lyqc
zEkcg2B6n5DA-#5NoR}RU=)=dxv1Ly^#SR6Wd@@x^QFW?F|IUGC5z~F`9KwLHah}ZP
zW#sb2P_+6y>?tyJrO3~$Z*=j;q{0WATzs0nd)bwshR&xDdI7#n&4woP1`Lu<7tkBU
zlNtk4wITyTD9{;Rl1+1;{p@ES+1bIZdXp;qeY-n2s!&t>s*@+#;8HkBo^}dpUz(5U
zK;H%F+*%7g@8ZcOhis$Z#izoyvM=W4PA6})Y2#*sI%ERwyz8F(?z`^~|M0&1?!Eh#
zeY=M?Z|rHSW6=>#rDxkV1_PU@B-ZfN&y#@7WD;yqc+TuiUH}8qD%-9G`)G4o8SL0d
zclC)!WYRPmH9BM(qevbhR2V>OkqFMA59oC!o{&$ot+wwm!Wm;!D7y^U)W+6YMzR3-
zx7OnO_x8dXsYm(O4iBA3AmRH4^tJ7nmIlt&?B=UoE!*;W(RRZ8XHPA)tBeI&iioJ1
zd%hS+5OmGWu@g4~n<Hq}%P@9O<*su37Xtc1Qdokr3<0O8L}<xWiA_G#Du54h!6i>J
zX>KvfT)ljm`HC%DiDjA8pt&z|q!qCQ&&@JCqI|u0LT1u}lrZ_kI7`cf8t_0=|6v@2
zl@J>;84;-TfoxSOOQNlhhng!EKV$${B9-I$$`|mBRRIQbmzhQQayUt-3H{pmqR49<
zJt_hjNKf=;lf}xqL(B1qF3gmO!DWzN<VmC`W3fes-na^xS0lo~=b$KT1Mwg@TN&Uy
zREH>rN~+OnyztxVpjL%HWmU{|;r)uaZdJ^6tHPi9UFx9LYjd4etm>WA*$g(r;)2>0
zZyC|m+3M_PPN>^vca7+#^V5aiCiS@E*oY26=H$J5)IVzb>WI$hF?xEptD}aHux+Sr
zQ1UDyA!l)_bLPm1j<Q7B*Q8Fkr+BT_sEbF{=8ShlXOIj4Sk%r$^9aGINtMc~%?102
zu9nACNZpw1S;c+~4C@bbs?}{k;b#sguFDq1bs6B5BF-34T$cgGbs13Dz%>d#vs+;U
z2d-TgiTP-Au<+U~iG%_DxgrZXjc0*FLaD-GGt0(!oLqv>Qi;pH-rkx<rhUC<X2#mv
zYs@e%v&74XbZu>IP4!;cI6Di9zTaP-l@XgVh>UE;yla;&ld0(?_0*27I;3O$UQWO(
z>-Cb&n2AaJ+0v3DPX>RfW)Db`$F)sMOB?UqTct)gq`sB%^C6v(h?zk}a&Yj;C!ah#
zDGkby_SgAXS=<d9H#WN6t-a*Tx&)9w$EuhS;tnPgK5rt2emTCq#azW?`KUt)p7~_F
zP)IE=r_iq}<|*qR(vjH0nUFCSRgXbslzpfsEKE#HEH6@RxI$kwQ#Q-ucSy&~#+J%P
zr;}g9`skE>aFGh;LnFu02tR-i0cMTYGKbJil#Q8;NOv2+MzP>V%OiHHZhV{`*<zN3
zCrXd)A>mOW0WTY4F>nzixngK%vG|L5&EVB&E$XsZw@WMPTr|eYuGf;Wvg#xs%P@W8
zHbdsbiL}A6G6k}0o{77956vps7>(j-`++ZCU3rxZAn#C&x|<ZE?){2UcN3#d%*LA(
zqwXffsJlrq>TXetx|@ctt-LoWMqR67<?X1hxZM89@u~1BAty~5>B^PopI4u{aCv-u
zHW+$AdM+?xn4O0uSjs}Bge<pKYlxkf4Y%)x#B}fe1Eap`YWp8Q{pru1`Nipfc;;t6
z|M_#zp{%~A^7+c=&8mO=xBqzh>6ecl4@j`Iai~|1x~x`Jq#Q65bFhuurv6PHmi|Wb
zCm(tE;l1QGo{+vV+L2B(Vt4LjJYS!^m4yN!c5+ZR+;GY(BurY`+a7^kdc?4<ucN)a
zZ_D<8VaIjr+uL{Fd8=&r`LoZ1u72scQEe~?TKZ;2azOe*HM{vZh?8#{oi>}h2BjJI
z9`K1@Gyc_@O}y6)`}Yk?(}$!#<fy;@z-<Q(Jn-1(1AD|@sy}o9{@5?maPl2_Z{<Uk
z_f<Zn{_>aqY)|EnD<2u{aJd-y>(`Ur+~^*vtF5hXAU#&Ud9&0)5v85Bwi~6JIHb=*
zs?k%6#BW1`-|1}XZkG*HS7yji&P|E5W`{6s9aUl;uh-*r+iL3CT3bXBrm1OQzzWlB
zLxaa*Z=*qA#Ne<mBLkC*1q?Bv#vROfWy8y7xrcAO_UdSd$wZ9T+tc0N*)*_e*UlZ=
zwhoamzVlAsE!S@a65i6ZS9*YhG&M}k%`IgX0tO20q0sqMk8JqMr?_q3{@ZVkc2rkd
zT1yt7?41lQh)NEHm@{W8S7up@p;A5zcyPq962T=GEbxX3on0DjYECvl!r0!vX6=U2
zKpT0^nfbZN3#aC0Vf~t)o#%XCd1dU(#o4)FD4AW7UI~ossl2=LQQa4R_``pELJsH-
zJ^qhB`q7hnD*vPMe%bK;`>q=r8h-EZk9Mfl%y|5F`ef9LEZ*1+w&i78UKFO&sq{3N
zg%LvnoM$>2iw3~5!TY+h5S9@|7n%YtuedPG%+seyKAtcffjuK98q#tU=b|fk$_w+s
zA6Cz4Y!bsddG2(;aO&ixxw&J%cv&`V8QMVdbKRCvvq=NO5OxRx>S_X1xQwi|+(O6+
zRI8{X)3E+9Q?|O96!Y7pnBTU8+E!jLEM8>dznI@9#r!rY=C?^Pzm1CdZBoo{lVW}o
zN}+mrA@DfRj;EiNe#DbhYUfUA9ceh>kw^=ocKQ1wEHWE5Kxy$fpT3%<<7T?uw3k1w
z6C9d2XOHUyJ0`iu#{-(lNfw*ObwV)&gu8gj$&<KBkFQp+?j6=2<}|9?1B!FLS8>iy
zC~Vrjyi%OAvbuA(;+*eQob$bkb5<&(-m5t0tqPl_#QqKb{3k2ZQ^KT8j=w6ADZphc
zmlx~}7iMPWf`a(1@Zz!KjEU2y&rV547(`A%Jm>T{0|qGPDXKc0vSDE^6pd0r3>cQ?
zf&d7Eq0v2+PgfpZbMg6KJcq6O`7>WB(*O?zO)ht=Zu1XbdimAYfBE_w#}cF8{9BgH
zZ~s5vIV?TFv0J*^z23H-mVlu}TJif^nqY-I{>#%>u3S8RJYYEg`mu?L$z!KR2Os=k
zE3SQYd#AdKq1V^jzh-yY{O*nG*I{ecuXlammRsHiQhNW*jnbVQ_?072E4=dJ%K^j7
z&pdzZ*sCuwX!qQ(d)u~MH{1{~?Ad$$wr#s_+&j8Q`lU2$yn*V@qmO?4<BtwYPZ=w>
z-E+^~ci(yM{etu|>joQS{P6F8;NeFedH4hE`=!g$lhU`OzvsVr{4MPuI~cPs;*}m6
z`O*_l1O(IO=K_1_;CcwN_|>lhxA|k5xu^{6CA#@b>CaSu@+W(xKb8IheQ5EMuSs95
z{^ZO2?rWoi!#9CJTHSW|yNMHedwTmedh2%$tm%jEWX+nU8-|9q(o4K`OMCS^!6Al1
zbF*^+!`$Qyy(e=RoaUCM`g&Lk0)}QG8PwF$EG+6E97KV^zO^RNfaZ3&eeG1vsc2*~
zX?<dvy9!v$O4~|XQzIt3wyw4YtOX<_0K`>gRluO~HITueELEj9#EsYSGb5e&WxaNE
z@E!Mh+uBKpb#(RZRcDq%i9|Y?a4sEdZ{fo<)YsN%_v{$jg399h^@CtPM)Z|zUZ*SN
zWL?`JAZpd9!RDf{2=h?Dpm(7uA=xaWgC~#17ppb%Q1BuW*R;-J<st^>4D#)4E0O%U
zarkE^uS`!ZGWA9bW-D5T78~5OW+_i?#blNZk(GFg2H8l!5RXLhtD>>d!KYuGzI6H0
zg^TCUUp!7j(-l&cb90yBqn*Ts8lM~=n>c>vj4+O;PK?pGK4N(L9dFyWZ{MxA2Mo8r
z^PYYC-u8~$Wy6`XU?j#aoC)yk(#4AxE}k77oV}95%|u#;IZ+}cj>q{=qrjY?go#FD
z(L4+qi!2?B;SA+qW|tF)g4^W^m|Q-$-3|pEW5uwtj2J^?X_;pr5~IsYE2D$Y{QClF
z%<4wl153%&^wi`DP3}2J7g_5rk0pO}<jAW>`2Wi=<>nC-F8h0X*REe1Fs$9ap{Hlf
zy0x<5=r50*K7Hc#*8_$sozt;j9v$_AMH8VKJIE|Rv5IGeT|T~wh)wK7NJoIj!$KGZ
zckUOfBg*Kwii-UBu>LRxthy=l(;rt@yH6{u-J`rx<fk81Sa@ZA`V$Ik_Xi4V_X&lC
z|AfNY?NC@d>p@Z7VO9=PxmqE;S}+9G<>_W1ZBi6DI&Cgb6;a5fhl|C<3>q2mjxSyw
z(-$>q^dZMD!BZSC=E-@KYrDHGGJz-12QJFY^Ut3PlX%M|lV)?8;B#!ep~09;x*Mja
z69D(8<)KT7ST;$8HNH%*LYcnlY<NizHIT~LHh%H^>2&(!62o9>dim5(erif-LPfRr
z>8AuaZCyf)?ezx^h{6JSu3#|6JH8wUeE)2qE*lF5z1}5=<DPzY%N9p4*s<ls7w5g+
z_>1yTQ<K$@4KIcwSpq@MBws4#vWxS<nTbn{4Y*$oJ~vU7w@y<xwEf(rn5{5=X8X=|
z@~XxvF?<@$yb&EqRC22$T4bbaEP*;LNwRo+5WlH^;N;0P-<%vA1V7>&ls66UX>deN
z9)IIfB%99CfSAZ<qbtXcy!wlu{Ok2Qw{E}gy0txP*R2~IGHm;!&;8@SPBx`~{P&*+
z4WvE*5mjADXs?ByeRhnK3{6kdM9WF8J#b)CU7*ecdD-;z`yOC>=$qeMY;K<V=KJ5@
zHa*?>etGD9@4NTzTR~v%+&tJ>SL<}vHFU4rhBtiu@ScMY+;i7^-}}zH?tAb(?>V@c
zzQfHMHgDasaT7is&g&Mk3`o)oL=TA_A6jn%WU;oaft_aCwvF8#9X?+Z=FsEq=;-R`
z=<dMTBqih(>A_x<2t}e?9x|6SDr3b!PR(J1LD8TBz+48qNuJbbf$_iOB-?;3G&p=7
zy+Z|;uiEXi)A(0s5Zssm6Y~5X3NyjUP^tL0Z0T?X>NJR}lGq{It?_f)jD)r>7e7II
zddOEXY8{l5yxyid3y~N|U0=Dbw$7?bx@+nhN~KmanOC>d(bV5#Y0%j9c1`!1M#`sk
zR*_7-eDr9F7)_f>IUGWDuK(b{-EDz7Jp#~>$PhCRt_cP+4#z?ev3FEr+elzTTdN`8
z57j_LOTAmKlT;?Gg2Co4<a1fAHY1`wi0ZN{5wpfvA-;?t5S$6Pgi>S0Syv}AN))s+
zD3xfJkUooXy8+S~3^@TjSa7*OWm{aNV2KaI@}aF1^z9fs+6}l!Q2dk_yfNZnr#YCO
z3gz=lATmL?#lsU*c3nP_F4?B1qA*PY=oryN2L^m2Iv}*9=0~)uix*$vindL`G;5)R
zKOYP;F{4p`1G!O)1uuMvia|+3SBFl+X^<logm-E<M&Vk>f&oRSm(#>Bpzac}TD3*B
z#YVb-CL?1txuhl;N|T{hOOlOy$xD&mt|Rvd_Z-VhDw(v~)zn5{kLD+Zq&&0`Oy~3<
z(Cl1H4FixyM!lZFRol=U3NHiajm9G@E0Lwr(wWokt(KIwspHhCIjUqXwaBf*?JGbJ
zwCaewsW!H_7|&vQh~&-YF=6~CJ39@0(>Xq#GMf|Qazi~YubOMD^r|5T!!ArVz2Wt=
zn^qrJzr6VkU!8w_b*vNRcdb^NKR2vDEM46K3g7j!3Tr;1u;wGY_Cu0I8c|sD5ryx1
zNMX$nDXjVD6xRIn3Tytz@U?35Bg5CMd0>|bEm5PzRFw_4pvs7L2Md*pA`<tN&MviN
zwP>aCazyf`mkC>_+jza5(RjsH(@xWhN=wSpRc}KvBbU#nO~8d3>Z@tP_>3s@lmOW9
zGqA^Qug_Ezna(1K8=+d4kpsJ2^~_4Y+hiqx^0|9^8y)n!^tCz3PU<xVXxXG%AA-e~
zCZyi*B|u1%F?Db6{wuTPy1^SjhV3$lDblu?VM9?T2JwztcygO9!g|cSyvRNm?_9TS
z+qUM($&Q|WS9X$2d<K^w$k!Elx7kcxl0sy$Drk{_*fFlP!4zV)S(&uVk-W9mqCqOY
ztHZpc@?*W5-I}GPlWi@ARPYo<1C<tCh~#2&#HK=m#A;9D?F1t=7SyC#oTGL4Fc&Tq
zYisklyvp6!-QDeE!rREE8RXr5e_}paP9-x%!HYM0@$~6wV`H7&P}A6uE1Rr|%khRS
zwfb<S_no)<Ppdb)=RNP)+oL~y`kS}h=nTI0*UY0`CSfS%j?c5#I4pGyEsG$hU%j-k
zj`Qxg5%>{l-0ywwU;gD^GF!HQvsU+9f7e}ib!c<BCj5G*y!)dcec+B;hOgVcwpUo}
zrq0cqv16SrjU9s<H|-j};g$pUeDKi^zyGc~-*x-#AKg4KfU~@IJv5|u-gevD?|9d{
zkOkk>D0)6MFowbV?yBwRM3_cwJ6I96Z`-;}EDY<L1(SDgR~K0ozh9I@y|pzpRTVyY
zm(8Z7Y(m!kt!-JIu&yhdox^Ar3$ZEx?xyKnW)eCr7KOJqTZ!AIg>pZUeL~M7KY8pQ
zUPbalP5b%34p$yCeCGr&HD$A3(qoD->t%U2;H-41Oh8U<7kU6{!WgK0A-t5rok7x1
zrz+&*DHd>(p&YM{NBSJ&@sL4RNk^9`Meh<CoT>y0BDBn7*>(Cnp5$^EYBV5g9?{pK
z*5{zth$c)XJfRG|q*O>K$B71A?l&;5l|m^MP2>Q(XA{}^`4tf?T%K4;=K#!?OqyIe
zxD24vWiQUVYe>sDb;!7%vsucK*~{b_cV&xM*w9#%y`;6E$R~tf$1cK5Q>nPSL<6hN
z5({F<7ToUHsfk#{NoH3<#?i@$v&!Jc^iD8=5Q4L!q1IxzJLprnn9-&qh)+t^PIJ-F
z)7{#b&ZeOWN|Fvq6`=pG%M_rJtS5_FTODx*6ua1{ixhIAEMKE{qn}k=j*Z|Q`5X)-
zdR>_dx)K@K<r0<GxJanVyJNAm3Sl3oJ}<BU6?AX(SEi2qD42~*B`euTxlOZ_9O!TK
z&4m_X<`tnX7E19V_rhFJWAp%BQW^3i9%F-`xGF;3Q_2twwbW=`v?yfGhXReNw%+DO
zqOB+%q`y{Mh_i5ADY;w;QQ(x(!BJ@f+gW{p53!+!BiPHx^%RPtgrn9$g<2@9D|wc5
zox~myvx-h<P1E_Rw~1m0td_JT%Ke1+2mz5VG-z{zL#SBAX-F!<J&3(>Io_gzIb@-s
zpH399EAnm#m8j3MSV~+GlPEx&i>Y+JkV>Wy#$`BbQ{hy>00qTN)-FW|!WLpByS;rb
zm@~LK#MLi~IKotw!>SaDgqa2sfgbB}1``xY%Ju5j=9ZRbYPZzV%CSXGI!UoOLprS>
z?*{U`DsU_S7?dc%Zu5Dq(Pi9_5^jd8w6yfbg-j`3D)LHRAYO*ti@0dH6vI#DHH=7=
z{{=l<JTZdf0$jmi6PAv~=PxlN$xi9y-3trQDixTMZ*5kUrlD^9+>%;{BAm0caQe&>
z|FWE4%x46L)|=ZxwxBY`f)Guq23*y*DduLTN7O_XBbwHxO?4ycu+jJ>Tru9pd^O8`
zU|4^cg|fOGP^_v46szh1#j1KcuN1YF1BzAkfMQiu)|YQktf~hTtLp8FRaM!s&{0BR
zPgDr(W}~$LFBP?V<YNpv7_7O3eC{P06+3bgwPsCOhydV8Xj$#d)@-#8W+h1pUq=Uz
zhF2MTdL7tH60$WYaS0TIlup~sF29|H1oEp3w8?bP?@YO(h~g0_iYm>RrzR4?F`T`;
z01(pb&FA%Uhe=vooC7TxOJ$S19W_#|geQd7V78WkYjU|<TPvHjMZL~oQX?g-4)_H|
z0=#-o;%uDW+8j`%nea+c?(j$_PQ1jxoD8na(Q1W#GfJB_)hFg=SGNA!5B}|^=Zjmn
z${oh6&Fu8*@)`J;5&ENmnp}y(O3~aoxHTGGS~+~`d{*wduD7M7+EwrN^{(5wlZJ&I
zFtrW#uUWUbx23hMqoujGSGqmWVK3r*xqKbn{lpof7p%Lh!zHe>%h%r8+S=aJ)zKvi
zKn<$}phNALb}kkQX88=6RII;-k(@5(vHUh<Z?#_7T|0Dm$mN2Xk4KIb1CYnBt~PR;
ztn^YzB|t)DxkHtM;Z~%Dlj*2lL>ELGrBWo9if0Nw2UXM#x>P$XYP6m+@Lvc7R0+p7
z6^oL1;1kxEjerXZb{p?l(pYV@Z5WMuEdxRr&l1@e99bb0jq5B?e3s2{AAsJdzzJU&
z@oD(29<5cDiww%3II)P7)A)NPnl6;(MirPZ5eKjxKfZA3_|Xf;aibi%vE#>?N4h0)
zk?|OF>5Goi8&rZP7MHkT&YDVgmU_2JZ!mFf;L8%QEwK?ulDvc$8WU#L6I)^MtQFDZ
zQ4+;q#)Rw^mQ!@i!Z=OAN^LagsGa9QxYPhcvYPaW+lw<RQ=rb!>T6uVJ~udZ2otFT
z=CX!)k*%=OR3H`*tZ;-6APO@uK{7D)P>5>ezmh6n`EyA{<HG16(YJ8-LH%K-ZFRfn
zpn|{S;5GK4dk$X9bl=k|Nlkdp_Z+;&K6KAP^;_&icOSflL%r*u?l1?wBJvt{9lTb_
zy8GZY_Mx2zuX)Z**F5J{1qC1Hu(}zgKJp%bW#FX)*_KU^?*||@mP(yEJrid9EG~sF
zJFKeA;y3|GpsQTXfN0F(DwJ5EOw31qMAmFEVuT<xD?Dj9F#Ap|#S&v<ATsiW#Im4t
zc<QMi{WKW-$A5b1^yT@`$+KsE+~Aj%PCiYtu7}{Mn&!}Z#F~`PLFR~HkJq~ZlJE3{
z)4)&`{&5|L^%<Zh6}h`qnt&8vW9!x}o12=pZ(rM9<8*);+&nv%GuCZ{J!*t@OEIn-
zfWU=Fpb5=RlgW>p*H#x!Gp|b+1mx-Z);X7gV`Efw7D8HQ)9~={XFl`kPYn-${&NrC
zy1ApRY3=$?z4%hpHS{s5OMF!5uPI-(wFy^1!*ua9wYPgb8{YlyckdrM6{_srn<qJw
z=djnUYpAuu<62Wg>*I}hup()F-+e>dhxgv_wga~vxM9oAon%6{NFSm(v~2ME>+74^
zI(zXw*R-{^wvc-D(;)z$71T|6V4$B=cfV|p6`0AnNb=%;CL5h4RREB?@ClrCw`>@Z
z`kb7z-><<{!bA)B326(zM$_Env|5aMoL4`*?*^xj4!TzCcp`yxdM+-?H5!I~3UE~-
zp(o6+nqfZ-(D{qP9;edcaJzbY^$^^ctacCfeeK%8ev@g(w${2Dr@gbeX&{x;I9mE?
zfa)Qn4u=s(O@*rPHPqOb(fJLBtx%fRdFe7!t7BaFFozwm*=t=84{^X+zZb*9+|)r6
zl-G8w-+y4BwOP~E*#uDuZ8YRAJk^YXT3;EdE0@e>G*8JN@TphICM`6-c|8ssoR+RZ
ztD~{AlY7+O-s*L`oKDq<7fTeE+P6LQ;Z0rbl?@v@e3qP~4IDD5Xc{KdX?6NX>VT;D
z90XvEjoP`{*`n7}LX}(~G+DO$1nh<qH~tr3L(vqBzl;|gjUwjG5YOeJ20a+IC<xy`
z=c=VCh*S@-GyF7>&?^G6g7QPJhL8lF6XU4Vx02NxsgAShOSvTG@XVRBXM;iLPiDi>
zSaN0QEC{3Q(s?R)W{!lx5qV_wNL_`j1LC0&M@EpWnqP*Qd0|0C{s=18J{Vwxz5JDp
ztKdRQ!sTshG+A7H$Hr9!1@jjM;V)$pi;*we*Hano?A_QkFnqno-?=+r0-DISJbQfX
zYCoy6mZfC1y+`4>DAi#fz)T5+jt3N;%L59}<^JJoR_#88=b~f{zfa-0G%4}{ZP%=t
z)KAf}V7J;KTA{ePBrufFZUHMbLZDDsT*#qipl@k%8}rLySw#Y;OY}`!sdhsG>M)a!
z%A~nj!lK2hwrtgoW##^4Hj`?oX^abS#@GePOx#cj)q5OHQZDH;C*o;B-s`t_IFgsn
z$^Dor5bhK|YU?}K_Vu+ic?D=A%#npro35I(RZ|v`?Qg$%BgC$?^_0eInd5SusiC%^
zt8X0)-0!~c=FNTUH|Y(H{ny=jx3oE+sxgl^0T3^Sf>BzXDAkBaKz6E&3kzB-+TbQl
zj!Bi!$a|o0{CnHS?l`b#i!d%*`udP+(R+4oz3yH2|Nc!B>&4?m>4@}qhELu9;g8!L
z*FUfq48XI}FAhnc4D@fT;SA;=S9#;Lad`4WD@)iC!ECM4WnO>Xgq3^$#|=>|+>AjU
z_~b|KJ#fRO^@F_~9UZN0ezCO-Y}k0?9S=Z5e*5k3y7SJ5K5*x|-gU>@Z@W$UT%g}A
zgjK0JdmR>=9pV`$Y#VKD{lefidOVmIS8Yq1V6g3KlkJ2pY;K_n#|8)3p!(=|IvxDw
zOz>1XOhc)3*C_Zg&4&8|Ft(tIjm|E`aJAJgiFVMkb}6y~FfIXtI+0GplRZ7Zl)`n1
z2m0e8gHN&^rLsg=phRhZf(b_$L2WuM3NI#&KF5vA=;eV0h`BFJjN{Ac^)>a9fYFvr
z6SLEkf?BnrCWk+L<;d%25eY3r=-nR@461f+R4N&~47cTC0x561z)k8H3U$~(uhEv^
zRz+>{fUaO@$9omc<+)@+5*?M5tO?UC<XYp=WPMX-m)C947L#$hs{C_74pYKkF%sw7
zZ1AMu?BsJJPGJtyeBQ|7su9e~j@UxEAzLVF6GYWlrc|ntI<38sOpz!Ghc924cGmRt
zTCL^i+?h*Ys#NE$1l%eeLz@l_d~H2P<;cbnr?817tl{+3swK?J_E0#MPF3*%WIlmd
z*P&aQO;OrfUWN-Q2F9RN$|OKWW3^N$ns$i+qz4Ghg<194#0{0;^_MV+iD(5aKj5XZ
z;}<WVpPdOVEeT!7B*Mreb$Ob*rY0`Ic=zlxubi7ae=eH~jvs&SXTV+kVKHCPoOilC
z7Ti-vdKg?~)rhmAal6Y{#j$f`9Tw4CmUW3GRlP;^S6Y=p6PkG(_fRz!gh~8wRFUy7
z>1Ix=x7Vt^f#G);-gy3Tq0{%&tLP<s19Y<L;*Y;n_2&Nn+l6{bbU^(??Dnu5mi}Bk
zy<6<6ZKu^v`8M%wl_4`Ho@K>uO6*Ev$Iq&$=l?aVKa9DqZciwp(l04&``;>}(m&^w
zqH_0y!nQx5u<c(NzGmCMtg!808NTMR{+YtI`xUl*x8G|5Kb{wq#*}*rHbm;dpt&md
z4KFfs-*a=Yn4_v|Dpy6ngVD0dM88FiOH+*NSWTle+WT~7k6)CQO366mYAF;>6{{NH
z6{AQ>2n}#D0+m30xl~mGSLt&cmzlJfC=>kZXx3hoclUR@v`$wng+rB37hoV1Zl#rC
zwU~c-O;s2C$dRKbFD*tKj>6nY)WKgL&p8}Rrrv>8O?q0#5FUrbpv~m%TGPb)=7@DK
zUp{~8{9<NREW8YdEIr^DF?GIB4%8QOt~Oj=wKYb<_wqQnxq?XBlouvW%T}GqRnt_{
zO3P_QZ3}G8M#+@CDIlIsL_&O5rA67k>-tcrVs8V))rpLFsKsfJbXsR4>EI4l|AyHs
z7tc*hPoof^Cn3|`*OCvx+lI$e=KwKJr6N!}wwNo%E}dAO1qTvzY$E@<rI+cdRgKc2
zA@^E6J)3rK+*ilc(>7I9kug5)Yi~?cb;d)pm#RAB4?Xme$37<jlwZ=m@kY7%maB^6
z?zf{j{>F`+&WhF4xr;3EZOD(eJ^$?YzWq}Ga`P2CpZdW4`{GAYVWM$mTf1N_7W(7%
zr;f+7li&aP`RBj+&2PTi{)xRXyYR3*cCQ<{K@k;7Dx+K84R`x3Z@X?=A3;L*Mu-o#
zb3KQ)4E8mV)@<otD~RSHbHC@F`yYDWwryKCZxlea%|i&*Y`gyYU7I#-)bWGOIOn^^
zpog2}b}huRRa2%b7g(;qPu8`I65`g4$lPQwflFg&8e3Tk8{4~DTjA}aUe8LM&1zDy
zNR^ggjm@^&0<$|5PGlm{5=75gwS?PIO<NIRRui0XX7WADhQ*-H1MbwAL^qVfg372W
z9a@AyUoV<#^c4BpG?i?cZU?$^1SneY$UsyotaCnD<Vpx3@)nyBp;4Q&lqH!0H6Sn6
z=sg}Q3h!u>S)Cqv_r=ShIID}mn(8!KQj7d)S)%e+Jtjz}N`*8?t;?8AP(pP#Fo0TW
z_^~#2>C#jYife|CL+S~%=}Ykycv@^Wzvw9P6McAbkwsQxNu-<UH3_u%9Xhqa*O(VI
z6>}tm2{+k0JN;T*_`Js7)G6<_S#*+Cn=i7w6PHuV;R)b++G>D(P~YGi7GET8vN^IL
zY0>VmoZ!`2mDOgh6rqx(w}x<43yQ>U8u5_Zz!8YY61fsB5qu8hUq;kr)KSP1F!w7Z
zooH}TX$vf330ibBkoBn5m24^|*RCurQbP|%Ip#tLR3X|}CbLtoDvtD#y|DtmTnvY2
zFP}SohUuw_k^GGoiu{nCv~ptp3NwEmbvUib>GxWZkRg#yE@>g{svQ_;U_=`=DAMD#
z23o9MbpeuvPEm01Rg$ED^Pagmx?1pM)rAOf9`Zd@+S8?x9TgxjYH(((dpZH52Vh8E
zTtsh)7=vwvz^IrZ|3e;^s7aJ6%EgQbn#qT@;p>Qx%~TOfcRHC>ldBQA{cM$2o_HY8
zVu3&mh9bS-S2Y&lwq1;pT@~Y!ja-3j$Yo+n!KL{OA0{QCMUP+Saa#?mtb%sx=w9%{
z7tfwL_6AorHGk^VsafQ0+(DE?a>c|VF3>FKxdwl2Q>*ZRO;Uk3nVSsiJh7OdbzF?+
zNX~PQTAEy1wWX!k?!&S6CC<^ycIFD@azTv7TrcNo;wH;O^5uuJfErf*CsB>0dU6$g
z_u#PpFbh?6dr+~eJ*ZgK9#gDp_qVR1?;cdFY7Z(_wFece+Wm@E?E%HA_Ml=_TX*nU
z9_Cljcerx7lo*%EXj;$Rpmh=zywj)8ja`|<X`7mxJ`Gs+{QS)M)2A6ghdf&GDidX3
zv)AV^3c;FeI^fY)(_m0)R1#O4?f`TSLT*af%)yJ93Ou)7tHx5_+Ir!_bi5$sQS|f!
zaD~&x%It*;I0}b62BJc6_4K&(_QPk+gpDo*JQkFvFb2g!X>K7^F>#yPdPfIok#qX%
zncuawE(>d<)8|4wV)yQyo7S!oh=PGlJ4m9e+qh-d?%i->9P*gxX4O$%x0o`(ZJcC?
znp)_#7tM!$50H!Q&Uz04F0t~cue*ETx_!5jRo!>%wl>an{l4qhb$8!|65)SIPfOnc
zaQ8RTcdL&lrN5GXAiV+*PdvU0yVt);KNGJzG%U^Wu0A(L(&h8l`NC11uM@!Z@Qncv
zp%QwbsAa6V>+L(%)G%`@#nGll5}BlP_ze6P=qCP&@5D}{X>4xk>;kde)>PZt+1k8o
z*L7RBZXepRWA_c)x9z(BPy=1U5HS@?LW#mI8A+1>CU6TVi0E_yZ|7_c3>L9mlu#&7
z8#F?}u%H%Pr9Q+)t@Iqh#%b{2u6lF^M6W3kAM!va3S^fgdU9nsnnuP5OBnD_+9BVN
zFOdXRm-1O|ab$UP@bcv=3o9|ELn@b^#Wsc`AyzCZcZ;)=<lZh`I$z}iJwHK%kaUWJ
zrv=f=GHy<IYGO8$5-Wi=;8{UMPndyXUazCF%n+HG7#-wvROKu!htOP!nh<@AaOyyv
zW3&iL91k)qSWl<ZikLQS*M~f0aoB|4Pn<^wAX(!aG!RwGE9Pt_OBx8{WwwnDE-#0s
zE?uJI;?&v6D}3_VbCb|s9Y22ZA|Fg_=dqw~oSi&>g6#0Kfq+}jprAuqQoCI&k3?~i
z#ehAIkzQO$q!O{2`DlXfGL3O`P&6WlgtTx7M3RH`l`;ZfaVOberW92L16G_KDcUDI
zOd@8bV5i~u7|cv2n+e#f;TcKzVuAEc0haBGYIHCjkA{PShBY|9oaE{us1u3DpL_1V
zUVinpmtK152m&!UfiJ!M;(tB&98GnHkmBN1R8TWHgRYztq5R@Pz=NhD6-LN)V^g!?
z*s9_g`V5Re;SLHY9sw|8P^(vy{?c(_wUvTi&!DdH)-=28zd{?+Dx!1gD*o=FgZjhL
z)$Nmtyz`?9d-tfq-U<Aj9WVYdg}r-BVedYE@R}F@n8MyYs<3w-SJ=A&g}qba?^>G0
z`B1hX2xN9ur<>wCwYr(yb7=h1<gs(Jp{3BmuYRYWe)&*Sv53*i<s~bnT8$T4Z<Jl^
z-d4)=HQc~1fg7k!Trq*g<P|{1H~(Gzfm+=ei-nm~;ZSCBav~IohA#iNAJm>W(OE&G
zYi8`snb}xEs%`G<)c1&9BQQVKx`y82eFqM#Wvp*cCK(ab4KoSuW2uzSq%sBIKm-oI
z{Wmi+)Q4h$O?n?rBKZ%owX`^xEZklS8wi9MFvF~$Y*<G)=5i1NGZ-_u$F~QADK+-L
z)@uWywPj0pt<&a)(bVnt|MuS;Ir4kIhr7SYzV_yuZx+z#TW;BZ(@pKH?B;4*WwA${
zWL>H(eFObHJrHC@mx6+1a5?(;_Ngg4UBcldIw8n~#BqlNY8AtQ_RVkmO)N%wF(23j
zSIJwO=-Ad&Z;2QJCDF$#)-yI5dWB<Gs8(M~j{`!guh*&n{_p={xZ;yHS>Q?ZxIO;H
zw$7H8{{Fu1&gMFLthhM8{Wl0ByHGe6z1Wn4s(qMvtD+<X(3u&REQI;|lsB?WN;<J)
z!nvEd0(N#b%%@Y!+g&a@kOQ^WYzKi%P*el*1JEDBMZf(w$)wi{QhEq82_0C~Hj-4*
zac+sl*@=mXaQ4zAd?FMKS-Y2}r-S&4=Z+qE{`u#RT@ocNxwAtgy|_B!Gw_V9I#;fJ
zFMiPh{qqV&SgRuDNW_*xv%mg*cB<H+7G(m_O(tn^_lOpV5A-V0ROIs2u+TV|GTRe;
zu(>N!^T80t3oT<r3YJ3)bF*X;f9r4N=U;u5?v$adNR-ac30GwXejb($y4!?PlFh|&
z$b*6fei|(Gk{G`%DZ=^*M^)ZV&l1@`hu!7nvJxn;c0hRqB!NEK-}W0Typix~xgptp
zb0f48ZLZ}&voP`8UEW;WZ?*!CG#kTBT+GKQZ&RCM6@oa4>O(A3DC6{4g`WLy{0%Ab
zQmM9fdRpF8hzbzl>L!TVsD4&46vcwBz={Zhmks+Z8sH3~Zx<{5I08Fh(6p@oaEM=h
zqSbk<-ujmA+8U4dtta-aUt1mRLSt?R=m1eURQAB#r0`hpS6J|e6c+p@EV#(S{4PCk
zN)_zi)&r;PK37`sw)22E@cQu7&YwSy7k=_Q00DfQ(v>Th&!4}11*Q#JmT9kt!#&`g
z4W)}3XH8k9)#Zwy2Bac*HM#Am*V{;PqS@;`dh|u84PQN~)uJ$F)y~gfKv8>Mn&BYp
z`&`n}saFHuBd5YyUF%>$Z7|2OrGiSzmS9MS8rryRTQ>%*XWO=$rLXY#JDfxD_?Gk)
z{l<-3w{6?9ai8>c9$&5g`m55{@d{t!(32s(w{_RPfcK{BT3xF73Ae{?Yz7%!)6}Lh
z*g15{_~3&#5bfUh;Da|yDJezs@TTg+C8hND-uvK#58ik0K4Q@_bT0gwefiL^>K%cA
z_USilgE#M?rQ>gCkNc+d1^2!#^(+5@KkdF@=epjF!}|@6X1Q&DUtcF4aA#lN{{6R6
z6})|augH1#_TB=?|Ngh#B7K5S8B1Y08(Rb3)&{##O2&+2h3!@|9+QLOv%n;~!6XxP
zZ<gE436X6LE++t<3#~RQFjm~cG~NX9JJN3jalm*gFX@c|uMs0q%En8?djK5xQozQ@
zZN<x%0rH(bFPuhE+s#2|fd@GQ7zc^3=nN4^KtCH?$!KiufY)u;Rf^GIkyif-3tlQg
z2&t9ZCg@aPI`DsDLNrTGO$38WkemhykS8YK@H)vsoHm_=a6rJm90P)6u@h=jU$2w{
z8jy2Ex$W@e<Tw>*`YjJ1e*VQ5Uwr=XE3cfHoILZ&`SY(IKK%N5>02DcB*43sV!#XT
zLrow|M|{fRv8XK`M=F+++g_NTj|i`9e*T3Q{`33a|NgTth&HzQh46FF9e&}3!_P_I
z6$det3z^7Lz`KNwokSi!Uo2;`6!Wrayg#|^yC9i}nPF7??sxy;YhU}?x4sM3mKKvK
z82P{Z-GBLK>5Cks-h+ua@mj$9+R254<g1Uz(z%6jBpz9uFBj4>dLPwQ4@3v32(9%@
zI6iyk_$$XlvnS3x`)610BZl&&RlMyV59<#zovYht6?6X&6?6aVin;%1yiy>8KCAHF
zKCAHF{!kIE{-MHq`yUGL?K2ARP1!x6Q`FaXogOC#dHTw%sCvw;VC<Jy=HbBO8mA)j
z+^(vI^~DS4d3qLa{`Bd&i@5FQuPpIW<{kbJxh+I>GN~{wyIo*wJw|9D+&r;q<l3uX
z>a;*9BF3UoB_k{>5io1Je)!T$Km6ejUp;<;CG_MB$D5iu1zwc5UYR;ZC8}Iz_mdwz
z_4I%K=Trarqo;oO!&5)|*0;X((^s#ExBlM&UoZ$*NrV9_p>xcW#`Prrx}5>Nqk|_6
zdbt+j5#BWwUSTilJnG;CEQ8}_y}WD9;2`MHPM^^IO9)Dl<#LJmnXd1}vJDo8aF|_N
zV_l8a<*4^N)~v~jDm2t3yi{@qbnDhR9PREAtKKL2(|t*@s9`u5vU5BM<zyE5!U*h%
zx)H0HoN^OB4qJ~y#_}*NHB|$XlFm!t>k#OHJ3m31^!5)Oq(zPEY~8T`P08**_~fVm
z_~W1blUt>KCPMz_>R)|`qTb(DA77LXY5#~n1TAtT;QQbQ+u9EFay4x0uK(Z%Ke%?D
zB<jf&tPU^n<QVxbh?KYtHGY9P_t&+x4PU=s$j#l|ChvoI{Vzr5TJ;g=dGvuh?zrQ@
z4}J8bAARq^dw41ms2kV4DGR=C`|g`>d&j#z@ZnGG5wExW{v!`R{O}_m`WP?glRO#l
ztwF!AN$CC>JPlmr0Z~P4Zw=^M+QgHVK>fCDYu9cNP~3H!*>CJ^XlV3%@hAN)4KhL7
z25Yr*eix_#Rsx*?C&K0wl&mJ59m|MgX|}wjBVJcm@2~YYxcs6u-!GDxPT`nI9Ra#*
za=Dn`^MMM7>$1E=nlzb*C_`u!=8#jzHRI=`QrXi|lgnt0EQ5w<PTmEOhNpUS9d@@)
zgR$UFv$`=v?Cxf)y2-?DU~p|uPv<~mN2kx{Y2UhaYj-XE7%7DF`152k2qZ~uv!EWX
znjFJ(3UN0wD?CZ?-nbLItIjSyS%Ge&n90G2bIc{>U10*3aG0(##(7d;4dA6Fs^m#A
z6Qi$;z8YNi;KJh4(jwt;IGkFUnVDItRzE5KK!kvE#9;w^f+^0J=umK5bx^E`T&PJc
z<CM#^Vj!<2d{R{=#T-a#)N%`{aJHp91J_)M<8DPmlgv#fWIDEtEep^DH8nXqyRtY-
z$1wT_L=6aW=d!#MxQ`AY&EiyQ#F~%C_&^>T`OfA>76unj`Zma9wo2e)mmnunneiHv
z0xUK^Rg@b$y6DX5Xl?6(SGTv1fi}?D&Yfn;)VnPsDzkZ{R%^03YinR3r=h1`q~SZd
zdwC%pN4mJ6R^V(vIpMkGGz<j23W^#5e$=bK;1?b@$pQ8v79r2dMM)<L@~-bZ`Q&%L
z^PL|)Kg9)@I!BN&b8+Irg$w){VL#N1Rx7(p7tWu#aOMoL|98G~>BOtAzIy!RDPAi5
zN5FUKQX(-Udbo;Ffvs9L@`0V20AV~&T-q-{Qm)SCiX+x6$)4b15N~sKGC>;$z+PZ(
zBK=JUpt|QE1c^{E)$iZ7abVldt!sN*8fqPSM`K%0Pv3^?wrw8TdD~zAoNUG~s=nlX
z!}`N45!LNIiuL3^#d`7wiuL3muN3Radlc)*dlc)5GW+>}Vm*0Kv7RWipPh<qfO0*t
zG0?d>3ou=zQqX+X<`Y3Kji5HVbOFMJv9XnDazfy!Wz>`2T0OF<5UYn?Xq7QQ-9jiF
z{}Vo~Ys<yj!)MMMK79DX<Q2x;H25ZCe(BU(tHjS<dg1Wl>DT}L-~auU3sHV2{i9-i
zh=xwFK3LmX7Cc(ny-M{}Dk&F)0n}2dCpDO()$oy*hc#M8*}{TAY&CezO-)e=JESS5
z`JMch{nynA``=u|>`x&=B#4=;H9n=q-zS}vXd`DY9{=I{>_+mj>u;k7w)y_s-n8?d
zz7cQs%a~JMW7+r6XFl_p4?J);FTtRG`>JUNp;oaB3DdqegGK-OlI#Zk$z|HOR%y%E
zKK${IV~_8@Wh=Fup&M_$`Q}}_HoR%NH|*Z`_J<$dy9Xr7o*Vb`JL!*<=GrIB^}01o
z#ir(fciXmgRr@@IIsX;=+`ej`*AfF`DAdTeBYz;e{v@@7%r9^Xka2DYE#)TR1$Zpg
z-?b<VvOz0&`r<+i6X_&3sXD%;wNYV#*V^-WCSpbB;i|ie-19=E?oGqHrnQ!KCu_s{
z_3K+)C4L9b%Qcg0H39ung$PmS${ZcGI*v}=OkrdFs1C4_L!^Ll%asZ4RK)~VHQ-|x
z3P)(}&BaBfIW2w%&(bxcTFAz*A5~il1r#=|jO8IJy=F)K7(ce8+Kj!`=UD_$ZV=|v
zhxxpGas1-UOg>Kvn9zye5f{B>ICF8)7|<j*p$0dC?ALH?l|yMN*V52}k!)@fB4@3g
z+~cl#*jPwVQzf#vYq6x=E&K|=A;06YT(gcK<>K+QfKZDm#wFn*;S?(j;@Tho;0I8M
zJ$Gt_o4G=-d1z^3?oB&*4!7^eKb{}w`>}~hekZ-4uz;l{VFBk=7`|G)ED|y!Rumr;
zRu82r@GlxNyu7d4fT?rbJk+#qli%d8sqfm-w|3KkCw_o^`(YKc@Yt~aFea<IJ*Kd4
zpH$elKUUbc&+tlN-#)FdZ=Y7!w@)ej<xeT>+hYp*_GyK`Y#hE;-KnqjTXm$SQIU4g
zW+O5IY~>7Mwqt=Nc9&6rz^R=gRh%toYFnCW&6+CrBSh_WI*YeP)If^aDo$Z>8JvQ!
zb5^xn|E8UT*NSpQ32cH$G3sbNS(JCI?e`nqW;N_74e&f!!Fg6~-sxYpc|=a9#+DPB
zwL7=1b!(%n-%;s#I&FPDgI;li>D0M=`NEk?;Y`*3)oA7VH|?L(N@}v41A-tR{HAhb
z{ItBojDBQWLl?<0t;uaQm4t)5R4@a_-5QIr+ajtgY+HBi+IvG|om1y<dO9$Hol<9@
zR^SdM8R@IIgSNh=#AHr*#7m=9%V^U`^RYq+*a2svQ;ksi6<C9s=8d~<x$YgEd<IW%
zgD*EvKyo@&v->UM_~^$!@u3fW_`{#MK{`Yb{=cQK+jej3G`DrExeaT0hjd4v_E*sb
z`|lr~eLD6sR`Sef{i>1FtBy>hbASt&l4en_fY`t-@4y7!eDjW>KJG{NhD|%RL+-O_
z(}wkL`MMi+48QH2Y<J%I?%#W8^UmGZ?b@=TiYJgh7^n+T&j@2Az@%|hx7TgZR9)PT
z_CVvC#&d0l5pYW`L|v0A1@~4{hRY5ocW_k+X2*Oml3Y%tL<wI=j)3B2gG3YWvr3Ia
z8427P$Thu`PNb*Cr)T4^LDE4cI)TAuX9UX1WU`Y9M3B<yz*XZ&V53%zYJkG2ozNb(
zaHtqb>%c)E?>KXAc6k~Q9UmT1c6tY}LzL9(-?Fb=&8_WhRP>W8@i$(6<76mR;T<Zl
zgu=U>h^R#N*DcDsYz_4};nk)}GNV-3TBi7jUGHz{>G2!rm@R7Etv&J%JB`&k$~(*-
zL6=<3eX2p$vYraYl^{X9P%2nljwZ7C3WN!ETAnajdHSrhYQ2@_br+d<G9U?rT}r=V
zfxWoW6zj-<kOUOX3-nASV{$#0JFoLQYOshlBLtSBKJlhCZhFfa&&&jQ->}tYx7*A*
zE#9mR;s&kB)7<12?<p$#@p!6e`xVRVRXK#uX3#;qmScKS%+EyU<Q+x&tWp_-4Z#QJ
zK{-@wX0(QJU$k0wutacH)R`i1@MI7c1Cp2G`xI26byTj5w1JU@DdIpSq6w8jElTy!
zf!2$1m#93_{Ys$@>D0VP%i>g%e%q0ZFD;OGj`88MktCx+Ac3{n(3|G_{Dq4bu+W#z
zoILj0tHIz(mUPa{#fulGg^hB!{dFD&nL3vu_d9uEO6%2nG39nR9fc|PmMb=0A+N1%
zPbP(`Jsl;vOj7<!sq#;cOO+p2E%xoh`okFE>UO)rV&AT?*taVzw&2$M_1>pD6c+n7
zg~h&6VX^N}SnNA~i^cAA7{Ff(1zr$bRD5X8WaE<Na3(A!qsK{CQ(Qje#1drlWgy^c
zb&(EVk3K*vhz-SFt}=xis}{_N+}UJvK$n6YZfI&M0VD~scvC?PB}ljX-OjGoTuwJD
zcUI^`izJJA0o%xUT$U~?Eh<uFYAPjI=q;8SLvVUZ?xZfr%@+e98l}=|U*dMN#g+)Q
zu1wFyVzsr-r0imB5r>I(onl3oPsjTm0Vf$0vl#+-3IHoh1&zThcb+?Y`O1}X{&Zq|
zOyjO=KFu_>m@SiM$)r5{UoTEfZrRc~CwHpB{M6LAjI8!0OFT6Fo;H?$2{vPg7H+q>
zi>H$YM~&Rw28hQY;zcmKn}>$3+q8G@-d$VPba!JJdb_*2yXd&>mhK943J{SM4&IK=
zzJVQ^H}>!7X{>b`!RbL(h7s)PUjuuYuyZwzYB1lKDN|t<4T$M<3RYXSi;Ki&w_+b4
z`eb$$vo86Ni(0r&BOwG+DQmbj(`kGxn)L%l0T9ZUEjFv%9VsFEE9%?;VpL#?nyVL(
zj2&(Z(=HeW|J%fk^r%WIwHe4!iKFRxi#H-FRlu(DW0oYOB`c|tuf{KT(sv|^RaHYu
z&Y+ONP*Nz!3iL45WUB?c2~i*SvXU1W?-4@@k^!rhx3E`e&7@O<drs$2Iwh-<3&}sN
zKXL3BsiYGpW*3$&oF$AeY9R^a`wP;EfUFS{2vyF2u$8!B0UMGU6b~e%UDd(hl-$kG
zqsoAlXGev*C=wKGdVvu^Mv=sOuAl=naLCC36F?3uo`l)e#tYQ}Oge+(;%o_|LPhR&
zxL6;AUNJif5-<-Z$Qe3>dtOhD%gUg((Gk@tdWBeo$nDcrr88PCCjj8kIhxN?WY?MP
z4%Ddg@;7LQ`kGYvS~U_?>KWgynD<IO<GU5}{@u)bQPohY<^48|lRFjjUa4_%k7C}h
zRd{O3szxu64cl+B0}QxS{#WdP4;UR1g1>GHMll2hr6K68uWzXP-Hbsm=?CNQW)ON^
zsSGTUzu71(|B6xYCA8|5|85v$`>&gY-tOS?+TYDI^v;@e7k)SM(BEL$bVFmk+iV7o
zh<&xL+qiLP?XF$Bwr%KX6B*8qw$}DGj76LD_CRmCvTNgSG82yfW+up%Yik@D(j#MX
z>q?ru0hJ8+=GoF|l|iq$YAhU9F>E1u0+^9?G5-B3I!&eDY%(-TlhHpFS(=KL^D!tH
zL?I)hwpsNpOfyLN8)!?-LtGGqDk#~^QF|dbCs%~&(EqCG!2JH2>F5_nFo@i;K-Ysh
z0b7zwaXgSbshluNaN8QGS|&wZ66lfUnh~je(}?h+R0`bRH6zkLj!c-oiuo6|*zKOa
zaz#Xt)9HM9F^Cbc`)iCwzF!0ht)YU7xZwYrQRycT&FXX*s#RE_P-`lJv=B|$w3J~0
zO-8i_q7(|Mfm&@v(u>vWSB(q)M}UMSIrnSEr9WcOE(2*LE6YKENKwg6xx{)~DA<H>
zN^OnTWD1947V1@gbE)j88X0W6!pMx+f8ECP(*aw3u&Z894!7#>;Pg~~!WZ!#d3f@_
ze{}?rLmHE--pG4~^@lMu)$P3stMrh<8&UQ%y_Z)CZ{#6G{P<plH}W2ZH}a6eDm|p|
zMjldFCA-2ZtxFVjxKZaXFC?6naw>G`LWxAKa8t9%2<ax!t}Iv;JZg(^aVbW&L7P~{
z;s*T5nF)sv8%-u$ga!Fz7IK(;=?g&Q)5I_S`T03{-E11TRQ~%vIX>I$%P*Yx(Z6NW
zOIN~Rxt8b02&85O3~9E2^Ww3cIyWi35zx+EghM}2zwpY>oBGL#HHtJO3F}}qPa;^r
zc`E_aYp*S-ot<lrzW$oL&O;YSJicvXtAA>tWNzMmeJWKkYQTQgHMS5X)L0!JpCt_f
zB9z+D=SQp6on$^BA6CC%$J9mQzXgWTNDVP`29%msfU%0Xb?f}P<<}2)^{<m1eL)&g
zra$|!o7eyBXujqK$fUm191N9RhFm%}bp4G7V2^5mU$ZU@^y-b^NABA|=ag~YZm|Q~
z*#41WDbVus?|tJN-*}y6kz-qG>{O>Dqd?YWVvjts(R}{P!<A2}-}&Gp^160UozLZ5
zx3<5pTGiOJ(dFsfu$f@?owvOM?K--i*7R+JVrnZn*e#o+M*@Q>gx{QCA{$#e{|{~7
z85qZTT{|<|dta1Y0E<q7Xaq?S6bry2QWDh*Rc%qd%d+K?ytr_7KuNJJS@w$)*)PtE
z9mjDJSuT++S(R#**n0s$qL&4*z4v|R4nSh4;(u=-Ex^TMcW3AOZaw!LRL1HXnwr|t
zwdh{GepP!*o!I9nfz-I7x)M6nb_c~g4LULA=}@bRunZMtCS@ikQ=1%4rAljnP96h@
zJ<<i00v!7gxueJwJBP9H)n*H{Yzqa2*@82tJWk|5mm?(rwi8*Ejs@+m9I;8>WHJaH
zCVdG4=*wHHjPbO}QnjoNL!6KS08<T0LFMHpoklLRYY-LXvR11N;+$<&9*9lka@y*;
zIFaW7^-V+*YO_vbvuTk*;gF-=fE*@OUF8xwl4M^Cq&}`u7E+<f30PjNLPQBkvZN3w
zL@BF4B@r108?hDTDIgJxygD72g*Y?%4ZC%Dz%qc669Id?CJ@N53cV2$??T7Re+kRn
zwWVBOe0_I)xv^A4t<_o6-g(2N=)9GcIb8CQ)0I@V?QGe1ijq%xg|T&sl~-#l){;2E
ziBT7CSp>TQ`$F6#t`$>LfIOOP73`GIkrTtHNHmo}dmOoD2uw*(-s4zsRp0=04~R<{
zK71udee?`(k`tg1Cm9Waj$E%-@qp9gAZ-VXiPIHek&+gbW*ZV`p(BP^Tc<tQ4~iWN
zm+~Du49pWoN@cQH-!xLGKmub^DJtPuR0E?yWU^LhXb};|+`!TD8n{dwK5=hZ9+PSc
zh-%O_m&peQgL&h!730H$!gnE?$FM(S*zf&2!+v)jNAg&&au3XvcswDoZI4Q9+f$N=
z>q$KFHb%!hF0pM-NNn3<65IB$#I`*mv2Bk_Y}=I*+jeEI!Got4nfO+v64-HZqOH!C
zv;ZM!R9q=CGlvDP(4r2YEJdmM$i$|QcTTHqRW<%V4xc$+mI3t`i=i!q=WHQo!|bjb
z^S=t#>r_|TkX}b*THK}Jf|C;yDUBvFA*>3_!U_0>{E&4m+Vk0j#V9L`9XpAOs<Fw_
zX?<b5gioEBIslV#$keoE{po=uW&~HD?5w7K@X+f+xXmV-+Cj#|4i0MRGMiU4miF!)
zQ`oWOwDPliKmIrb-}|w!Yb9aq(PfGQPrwzFnqVYRGI}WQ$VTGn3>1*a{3W$+)a*Uc
ziGv5KT;xVEf}|*VEjqF1noHrd`}^|<@?~CUXfnlgbd)OsFpmMHt)s3E%tgjJVOKMi
zl#)r`R3Hg<RimSS$XBS@wi#<NIy4mu7jqReIHkF=4GZHonyn-6|KPce>!6ZJXP4Dd
z1*xL566-ZN_n-d>0nYS_6>^&N9QZI$didd0+LI`Zoi;3cc>8vDKJVEstV9vrVySIg
z*}LWP9Xs#+^4A}J;I1#;e#?%pfBowZ+<L>dEthq#1nvftG@xN!-gVoZcigdK$1S+z
z&+;n()U0lXHC)-g5@+7kT3v@GW^+S>OBCRNL=YK953FWQHFZT`l&mIU1#P|gBg5sK
z>s*uB^k^;xdOS6oE)s-VdZc7pbtWAXo+03ym-%gP={uU=9K%9W#X)`SW!UFYJS~BS
zQ6{WX8xe#-rU9C|5NBd#AaVoA8%a9=Vgyx7P6u%tsM`Ql=``mP(TEOIVrm}rRH_`w
z2pB|jE?2=Xqs<Q}bkXZ91VgOBpa%C-B*GRjS!`8+<jyLrGM6I|EB82&k#Rxj-e9an
z?x-ZqhkT0D>QZut5}BXeT8lz_b!KjAybR1?CVmBa!YPpAmC9F?!_=tsp&1}*5LjY1
z1q*UyoO8L%Sz@|pvSqHiI!z>EuM<{f;0ucB1a2WqBujA~Pq{4<#Ykp>!E{Oi)j>c2
z)l3S=n5nQ%<FH4PfI9PNaOY%MP~yzRyp84McFOGwm;faotSr};AgjWva330N7|#r8
zG>M?VqD|XbN^&-BN^4dpWUH6gx)o`Wg9n80;AhLCZcxUgNt`)sw$*qNF(txg=m$Xn
zh8x^J<<)tbz<T5+ArTE!ohv#ju!*5xj~xjWXKdm*izPK7?5e_*K_irIU|Wj?M5mCW
zAjv?)h8)LRMM@(mIOB38f#Ncz(nWzU16eH&fShm=GKl5iI$&TA1SM8E68l&zBPzfs
zi@8`TRp3#2!v?1OUICsXB?_=;s6+4%N`O9?Cb=FI5)7MC<IRC(6XPt?T6^;n-z=f>
z0oLa7oVPiR=fr@N##4hPA&9w=CS$eO6)+sZya{I9l#2|4Z;@w{)50?jMD)3A+@FSs
zP%c#}A~eszv?Dd|gE?1&Rtu-dLgVgPv*=vx&N3SLODYsjPF&CkyiuJg2~StR8|7oM
z$zy?!_Rb{y#T>##%qgPKS^Az@9i9th^PslopK-9ncvf82wXzc5X0_Vo6xnmngBOd`
zc}fci#Gmd|?t!%ykDu*a<SzN~&PDE$|JW(_-~qk#p#SS(m^yflpY2@aF8SHcMedTH
z?p(x>|8(afcgc@;E>42JxO0)a<ocb9U6q<e&tWmsAm{l5>rSg?dcYKwje+ngG!uk5
zP-*hXXkd=;(h=w?`on1u17yJ@hQKrheuh-Ypk?y}E%N1**xg2@ZfYhro02P!og9H>
zRLM&+NQc+xz11?npi5YsWfl=0lpGgZ_@rzGJ@9<q>z1h|5$&N9U5xvnw^Pzo*35!+
zc`}YE)JcKq@#SQR>6w|p(6K@EMvT^!f1>|XaCR;*3PjnNk#HO^JrK>KlNTsuBf+5x
z8<!&B(UF86{Z*G<xBuwW@t|7&%l~`_9;ruFRG3=Vuc!HZr3%C)Ftu%Uq8ioQhaZmP
zQ-KT`ono4%2$Y6>ErfHj<b8+t?j0{$SFYEbIE2~EX^SPe7jG_n{LBOxv$92b5q;5<
z$EPy#LT+d(r^$iUA_YqNbNxp{m_&sg0URz7d+WnNUjf@$;XCp6+i&kZiP5mAJUVc?
zx!DQ_rYc(O21uHPp?M}RFV6!Vas1#6RLH<TqVvksMmE4B2j5-UGeN?@bA>WAjcxha
z!+!x6acwOq@>I0~({b*ffBoJpjCf9yhX?%m&prxkGVxdblC&p=W@iI4V~76mU;i{f
zCBS?n9Gdk_Y%D!i`nLMz{h6+=F75vRyQ%azeHotlSC3&#GxE}}ZrRa{YucV~YO9|4
z@Izvn&1qJxN`YALpI<mMgOAJ&5-5DLdbm@#sPw^MNA)t_uXy(*IKQLW72kaL;g<A~
zf7o@)&WEqOvMQ4?Uy0AIr?dOg4ZXeVx>`MmQ`+0Xt?Vk(nCm;2ufdGbRX5#y>+N?u
z^2ifUJ@wSRx7={$w#%*p?I2_muDbl%8-Vw`<u>h&*I(BPW?U3YMfcc~1IaGn{6L=+
z^=@=#ad;}4I^i%^LCXl=)~s3ExxB5mlF(ADyta`tj2g&c6Ne}wU=4;X;Wf*^fFqdG
zsq#|JeCm%QPHi5GAsyUBn5e_Q>MebZ`EM_i?qhn)Mvc*o`mfbVbcO)@7z}n$&FEDY
zv(4tTp}_$hDd}Y!b&!wJ+X2hgSy99;)6+Z{?s7OS4ueWr=W)R;_8?7-2WDo7RiT)}
zSRn%bM8QB@d)Q*c?uTK24eGThQo<Z(v~kQRMnJ)e+Pj*A_L)YD);(rRk(=Ptb(NW%
zM7UVfT#KrJN^WyH8)*2#Q0=a(Yp%uYLq%Pq3v9+NJLaJ6^%||o=4oqdTjHP$hSlhr
zo2#0fI(5(5E{sw2<g&5A@afZ}A(T(UDP!yV(`7{VpkKNa{UAj7Ml&?X5QK7EE@Ai4
z7S3TF6tTE0>zmLxD!@`<j>Ys?p*`^|Q9j2LkwAzLTwG~xdU&{`$%EtubC(fFA7U&L
zwgzpQ9Okzoa&)f1*gWk|)7Yq-(ari}fn<>x8lD1St`me=a--c&bz6>u5rc;{J6+}I
zc>4V*?-G)XV-U`e1LNdDBY9=&`obHRloq=<Jd{Fg8NfUH&v$3SC=O{EpsaE^ol!M6
za^$emlo^g9Rf(}$$C8$-SK0LlMfIj^|Iwk<U6ndHw*Hi%96*7FdfkUdQAD%q2L^m-
z8LF(R#-+<zTFSlpB7~63UGA!CPfIP!%c4h)40)G?Mq;H<I91f(idM86vKsP=tkF6(
z1&R%|&dETF4D38f*uf@+5z2pXkf;zN>_V=@!7ppo9MUiH=oo9%8Bl=s))2NyCWpoV
z*pxGwl1h)$HR<vt*kr99aWzzZQH@7qP!2*T6yRx+QE#T_W&zkDXAj0N6_2M8%7OMo
z&xC+o8Nds&tjY-0@_9dBL{YuT*ywR$7654;h$4-(b&zM5DclZON~Tk(Ay8;>RW};I
z5nBr?GYs^tY;#*Vd|Cx-Ejqs~wTXhZpslJI9gB&)bCF<FoT#QS04#=JGpt_<IV>4i
zg3{h4*#u*ud<}09Rr-TvRR{zuvfwdjSII2R?IS}J5@7L7!~KGE0u_Iz^o%CYxI7lC
zY&L~x7G#W65JX&1dWNuw3-ZELbH`)7fW_bkFP{Fpz)f)Iw%EPkv0&KWnoCTIS$BEU
z62)P^$j)5aMHqtStFLYIGU|Dzvaj|k_b>~`S0#DkmnC`Pw<UQZVJO;B1N*#*F)4=P
zsoq6z|5Wdyw|`2KCtlXO=<VBfF6N1AhJDy-$#lq%BsmcY1}4Ub&Yd}Pju0j%M@P?&
zk57&5PvpX*M?X9}8IK)2czk3wmN<mw$r+w6|Frv#;`2cX#arQke`k>X!*@e0Eyi)g
z>O1eXSAUMLo`aX3Nkxaqoxk0AsVjBt4*}(}W$(RvYQaMbt3S^zCq#$5lsxx=18Ml=
z^xnObG8qy1&O75>-2_`Yd~h@YmY{PJX?bD>|DKzgz@XC13@i!Y^@jiY@4aUux-)xz
z`75(MS@Iu0g03rbmWPD*C;hD+>mV;wATtPKu95P_*^Um)%#8kmqpjB#1_lOx@h=}o
zwAsWTKT0{0!=igd(Iy}8W#b^D$*<U0x~KGj;+OkV9q+%ev2=6k4&9}jxbsf+43E?O
zY+uTWUer(SHlIHQFM9alhwTRsR$lO*-HTq+4X@d7-fQlJzr6eA>o)fGuJ5|)#+z=u
z?&|H=TyxzG*IajPYg<PLMkL@Xd4Bb0xk!QsFBP35O6zRV<)T!w+Tp-Vs_lYfGy&~-
z{@{QmQyUjO<){4Q(`!6nCbN`51=UerX?NNz)wPXHEz6qQvHjcYJWbWru9|jFg}bS9
zRqIlS`n0qGhgk+rM<7jCf0iF4k3(%bmJO1t1U?x~5ROlaY~zCWTeIl%>f!V3=Y3uU
z%xeYAl+$Ue=}ZOkwq<LptcCotmd2(sow^sEPQybq^V1HFh=(v)1*0%RKCr#rgryFg
ztzE4q@}+sVwgzL1sg%X0PlP7MS%Z8IX{ubN5$Ch*HWPKYi`kClu#ri#ds%BPr%cIA
zma&N-(?Df@@?03~U+`Q|Vo!SQdC_Nq6M(q;3iu`Z;VE7%ijay9Yt5(Jl(tlivs$_6
zpcLqpYMDUO5~q&y8{Es90<%D+&pRgt&x<~(YSAb8jvN^ls^^^%d=`^Ppg8Gbr=}Db
z620Jw)_^$|yz4f-5{^fQDke4C^#+LA;4tclxIihZt1Gwa<#rIrajZ_Rwb(N05-Qb5
zCO_qHXlQ`p1P7Rm&=usA@FS{N3_!rb1wT_(ph^~bmmKP)4vxGFR-Q)VtyZcS<Yyck
zT)nc!DhoTB*R7fLl?uA58VD&sFaT19pW#btz+8btLG&G%OQgc!;9%BfOI>gw#EHKW
zec=*URco;+f_c24MyrSBt(ne|O0dwFG@$KHVII0M#O2C?+tR{6ecpNe#%x;LE35?`
zS8Xa5;)OMr)i-hnW)OrHix>RJg38eYy~;gs4C3*S#EX1U;zgu$$B*EVZg`Q0B-O@;
zB-O_ICDq2eBwpk`i5Iy?;zb-1FJkFk^denqh+rx}w1W4Xji7&~<g)0k3=B+*trR)&
zDCFeIEHdVV+yvTBD=0E}&QfFZRw6#3Yh0?VgsU)?$W0_!5prDMb<}PVg$7xZTj(-o
zV;L12KtCoM9hpw#HEaYu7SI5REfob|{_(g%6GfxNr*MPapccX+ouyLU`X=m9R2J|$
zrQ!-;DOS6S<Qn`OiG`L>t-y?mJb-(`T=i<f5Qk>4T%$)P5WN)@?*UmaSB;vQTbDv*
z(HBai$We%@>gwv`v7rw>_+SX+7@^Uiz{qzSj=>ik4als3;i1XmH5C;_=IGI=#v$Gj
zJSx~HCn5!n!&N|Ov1l=|402}0#)Sf+eS_Fn**_RU-kcdVBcaiZ|8Z04oAkxKf+7;m
zXW-3#oDV~+Z75Cr6z2aYr<BbPQgfvY_vN+u(ocReVs97k>Hmqa{Pyd%Zr!$iRUNiq
z!-|zFS9K9=4oBxo(l)x{)`!0Jt#3VY`>klX?700-46)n^FYr9yiJ}Gd%8F3E5Yr>r
zdkh9tk&0_YbsO$lQf(~OW1OS{_f%Hb)(aXn`l>iodV@N7{gbzEtp+E}E?H`3DkgO0
zm7r3~$-!cwQ0g^u7OMoaz7B^)E5qs_%m(pB%TZj_ln85<X0&`KT4A#kQ{;g-p&W;(
zSD=$hBoJVR!d>)wkqD+BaSvNeMue^m;_`G(ht9ZGUvAULa;(8#jk;f*4Kj==rOE&U
z1qxsEWNd5_6}l*9h&nlLwtot50H75-Da(o(N|-TH$ekxdG!Q`C<YXvA{R4SEI4N|=
z3jhd0IUK12SSO*KkqMwF1C|`I2ZO2;4u%Cf2D%n%%$kFIg%~z<cFNZ9Y+itgMR<><
zL?%1K76c<oS>V@XGx&Fo)mjBrGB^fCJutjA=hI1uu@?f_AWD6H4EyGC`EUrIMmS14
zEf6OUkj2nDj92Z7vS&@%G|ADp3@mM_7+dn1FayK7TpAAS@_?CgF2M}Ga%w%J7Y;-s
z`dchtQz9^Sx<GR$DkX8`F>)%JAw9tI(I5ooIk{Rcpm~mT!UJFj;{PIz>1Ke0!+~O&
z5%qtli{KuGQRvj@lx!}QATA1qdi&_P6=zV|gE9%;p3O*=Sx%S5dn#xvfsS_xfavNS
zG#bSeN__^{U)1yp(Lt*3rM)H;0Re5+r9-$QkT*66-v?wJ?4N0-^v`&E&&fEYocqQ1
z73h)W(!rm9Uk>U~t^61B{TeC%+7Bfb^l6C&{Z~mG{tvLA)v%yHl336mNi66OBo_1;
zi3OGNuYFHqLCYl;)GD!{Jy{uvAwwMfQ#N#J!G;36SW42O%0X$CDW;uPt!PmrqD57f
znS-$+%&L;jvPuUmtNU{;D~hpc9{5bb!6~N7D#-3~=~>9Rvc{^~Io~A6_~qc?|EsoE
zu2Sb_06>JrHL8o*U`xGCw7est<yE#;4NPQUew)}hr(62@2AFzHx#U!scNN8Ew@kCY
zy$eRkB@Z7bbL?8X>C}<Ef+;;XFqx7X<*rW}<=OGEGf5c{mlTLFqVVzI3DHCwMH7AG
zY`M80D02oC6ZmXPtyby^b412o^g8mH^<z{+i)!4fsW%=x@E-NXouS{p^Z}SDKViH#
zEg0{*dE>or@bI3uem$!MJ(n{xITJ}_gnxKnH07QPrd;`tzgtz0p=Q1_QDtIJFB)`w
z9G^1ihKkHl=oG=MgViOBUXSr@s+^73d;S;M{4>u%)q=Yb4fURFYc}+5`IM<AYk%I<
z-?8)Fd!KshZ$yKC%k|e@vt!4tqT#<mH2jLY?!NPm+ePb-1&L7YuiO7M-D^5JTkGKk
zP=jaYD`s_`T2#y`t6g#;Cv!j@+BokLoM0w8?-R~Dg}xp&p!^Eh|BKy%5r1i2a0@U^
z20e8kz&~GPWg5&6i%vo(ItgVes{@u;%kSy|Q%~ft`wE6L81Vs%2edrEEI^)vQIh9K
zMP(7K-XQdtP>$1l%7Ii#90;+ISD<?VH<Cex&71&50=W~1=uVWOl+&VuPw8P5`P5|p
z^k4HTEI0}9cIfQDRAh&tCLhCr-d~;%%g4tYWiFv7%b<di2UFUoTupGn)c{KkV@D7i
z#Jj~p1}Zh8<B5xoM`=*UaGE)OmkyTR@cI773(#yT$Ghek$QUjt!cT!w0G$Vji0n=j
z!vxKbUp{q~XkOuz)_kT@Dp(y*dnOcpI63yg+k5NWoamyCi7v`y`2FkWP|#7L`qi@h
zGaXfJ;9Lv^F=%Sxv#Ds;CdpA~IGvH)R#B$17pDX(0tF~$T<pA-U*x<%$*%|f8o4m>
z12%)8f?QcabY(^@^=nG7mk2GO-YuZ|gO}qgKIPKj*8nSHfHlQjQ&2+{FSNmcLeCWC
zCM!V?dNehjGJH;-@Nzzhm$R0YdsJY!hp*Fs<zL>4@+tYegy{3+jqXrFCg^2oDjGi5
z_0{ImavMCgDD@#z91@FMy0q^&IYPtIt}%cVp1<G>U&hJ(Ky-$`23+BJ&|i~3WJ<sP
z0Y>Dt@>fJ`R$H%f4_ushv`hS9yTl)^m-xdDJd$)%J0$+FL*ftHB>r%z#2<D@GKvm~
zKU7Hkp>q=DTQ2R#rvfXE{@~=~I6ALE5CG&2sEivqo-?Us0;e!o1?OIbBl6Jc{rmSL
zwnA*OZ{J6I_foY+nW{vqqDscgszDWv$?wW~!MPqegVx=#apOkRU$9SldN!<IkKtfm
z86AV6AC2>}X@3@kh3UW;_$i)NV6wrv;o(h?gT|Kvmo1q{Y!PR&ze`%qyTG-~D@Wgc
z@x>S4nB+AdpNt_$WP_*Q7M$1N)t7gngs}qi%C7qQO`EQ`?mFf^JX{=xz*W)Y6po74
z)^fX&rqdZGi7z|B6$4-kNu<#dMRi#RygVwcnBOM`!2-u?Fw}<uX=GDr!3m<Kd{IT5
zVAyBiN-ryOS5=`FkCA&Cp-;<sO%#YHaMG~Ju;2_J>SnVv^#rqpNCH0u0vK}O6`*7_
zn^8v9DrESuWE!2I38P_ANX3C^^lJ2KHHe79VZe!a$dO<p>a<>1EP;{jc8(!Kii;I;
z*e?XUkdq!8!w?+?eno8!yk`*TfHgUlVU&XNHMHoahE5zhbO=TrJMq2u-hAyfXlL?D
zu?%fc@*0yof>ADiOlB2c{2q`t^HJL^y~;gUc;a!3WR*%8(eIb6(!20TLJ&%E&9_Ka
z=?=*%-62_}w@6m06xVFuxmZ2b?p(}!myHCG#rbAO&Ya0+XGX!*FgP%992wyUCk7^?
z$#``7jE_RLbo2~p7*Pt(2Ia&H-{(TF99KlGcSKQsobiWoRnb|^Db#4k2+Q6$gJr${
z$eS;{6b>JJ3$T&j|Ms`P5ODnRcOQ=U#)tR4v>z-{(YfK5AQ=r!w)k09t;gf(a}~kD
z0QKPVrD6;4%rIC<@tG&I=9Mc~3d`hB@xf8->IwwZRY>NVT3XsE5xlf(b<gIjHrI4<
z;2IqWvRz<_RUbOE?*mqk^rcV6!GiJ*Ws*4;q*O>Tbm|b62$P^ebfH|I!-=0hUHr;d
z&YZDt0!P7)ojV_T0ta*`*)RXyX6AY3pP2t*{!zR2E2<Gp1rI8|f)JyR=YI5~XM0QE
z#GEy<>OPq~!zy`)afbb$GuR4p-7Ek0BV^d6=~HjL^_JkiYX^;o^=!QQ>bABkZ^u;a
zU3c7ZH!|D@pZv<#zfA$y)66d2<5yp{^|H$@+q&&)=5Kg4h9gIfmDq$lCGRU*8mryz
zDzgc>RUi<K4iBEfC(zKe1XKb7Fb}m_?!Nn0c$ZaK0V}9-)qvGnYbO!|Se_a@rqxxZ
z%i|K6Dx8$_=nWNU%VEgMQJ42)8|((TF&uCzHHQXnS((j<87^!!Fk)e=3Ck{RKv27S
z#k#I8r*moh+O=y}u2`|2h;dhUx=E{`wyVvBIK0x`#prlsi*;)<L#USYx!8ObGxFik
z*=BSym)2IwbT)KkwD}yeKw()DDnb}K!aS2&El!(ZRS*Hecqo>E3>lY;U`Zj4<01%1
zU`8<qi@(P5;|S@YP#aQc;D=)gU_H<cLU#s6Raj=NLb0Nw+8vErtyMIAh#`zPeq#Xx
zgR{(PwMEO(L2ayVih_v?%<#j06*T(#TtI>36-t9_dJuLS66?tH@X07jI&o3Mw&2jp
z;&Dm@@p3eQLM59hSfc~8fpi=?TGXwKgH;wIQ&tC)!ydt#MRf>6BjACh5&=`vf@YU|
zIuQ#ByILS-fkQDkXtCt|Xaj;RYZwda+=+ox2lu|WZ)T7+VsDt)L2xpvTUt6+mEx!|
zV6Ong1dNudRAa>{vPE}&3*IdY4q2yDP^%av2GpD?4E6w4h_CWz<`;?GekpVs49p8m
zRj+an42^hHNvu+p#CJAItWpggNxrj6;ybG(R>>`~N^Xf&a!agImBe>iB~}R`IJRK_
zL||?V-@!xfMXQ(9s2l23{yzK?6G*Qe86Db(@8F{MLadXsnl9gBJl$tZB;XY{Uwhjv
zSK>Q!D}Jfb7!B&9=K_&F#qcmDKfkpZXZv%of<7(7zp!`z4<6)jc-+>1`oqcLKKLo5
z?aS9~*#a(+cIGyImzG#XR<B=I-&AcQ>O>=XIN-ss4$u{54fqbsfEOjXTs%4BE0y;d
zH5%YCnhg0OC`*>X*?2Kulb#EoI#Fot<MlKWh?WUtIcMQNy+HA^N_n|c5ykJu$H&G)
z*(~WKf)3BCM$1^E^fWK=;CBcmCWrb5M)4gDD=)MW;5GFSwCuwW4#x3L?0^4*BlymI
zh+k$hu|%f6!es1IDTx>cVYw2Mf7l*D7#Cs<+t{nzgNrC08zonKgXD_$NUr#1JhBp3
ze52%wZ<Ji|jgl+gE4ku5k}JMJa>bWOuDGpt(GPhzZWxCzI5r7s;#uEZFdmJ@fzQdx
zN~8k=c#{_c&eXjHuQ+a*5=6A>>zA~H!K2>b@AHT&<bU4&=r@0O^R-w0=XbBX`r&);
ze{}Hp@w1_sqqJu5`CwL=W>Za|#l<cx_H5d^b?fzaZpUrq={`?5Oc76KSABCkv>=y4
zhs#q_?eWyMwl+557fdbh1-H7|3t1?cU|>J`7}eH8#}Tsa9f|aL#AWukPyOv}_dWIG
z6JL7tf&1>d?Zz8!xp~LqkAL9{wB&BbUn3>-ayFC7Yh*dT@0n+w`QgvJxP5)N&m%6t
z&hDNyy<4|lNl1`uuexH}){VWJdqJ0rC3!!;3sb=D?W<6<gpwGJ?(V7@SOrfV-lNB5
z>r<=H3!uZG0=~%-@u%&)EE`A{d3?4AvQVT%r3&P8TGU?9PzRPP9Zo<6!Ak3~5~wve
zMtBF@GHe9kfxt9TtOoMseI9XXFRQQY?rd1v*1o*GwYIUb&Q(^X&9Y^**zwU+0yPJx
z2Nnd}GAz)>gM&xj2T|Byy0y=f&%@7x0kD7I+`ySr2lgKs8XP<~IyvDB1%3DpvmZ||
z-<y|XRt&+Jf=I#3T-A_8D$`((RAY}onggU^k&u6Q=o~aELXmh90H0~vHOKJxX#L}|
zqM(dhrJ)wC67vKe+#;;-5Y;9C83eZg_#z9HOiTbGj)p=d$<qOx1g3AyrlMR}!sTHg
zZ%>^Ny45KAJmOY6dHUqo5GG&yA>%zXIyOE!HhSjtxnbITWB7CU10rZC2!>J{FcB?H
z9=feC_8AT6B;lmQDuPVQ;h$)xs8ozhrBKOqz~~`{2H5dAMJNHT-s1NVGe0kb;41e6
zanDNGS?-kV*;^%h_N$UTOKLhz*t2&^_UvtvJ$t8Q&q~#Fc1ZT@ZIV6PCE2r;l0C~N
z;@;*cI$7ACL!%R*4u)<>kSM!-fUXUPBGgn$jNr!^K-GCgJ~4rhn)l3aW2RJ7hplUb
zS`l%6F(Qo@MqR<^CA7wZxQH_<w;TEA(X*4|bAdc&n*;clk5W><UykdV{P_L%-yeX*
z1TZE&^AQ{;k4;RAfGMosj9u*tERcGMG+jz%0E}HiYlj(ug9!wkG>U)CwO3zt#pRc6
z-hAbaH{Q5o2kzNcOU(ae4Tv9_n5}r*tiyw!dD{DZ<@@$wzemB+LWErm%DT-6BWpm&
zC8)pBjMHu2+}XK<`B?ng$9%x-1M~C;V4Hq}d4+iyJk+l<d&RGl%t?sr(AR(KZnz2z
z2<vV|xOoRW(`$4(vW{&JKm0IH7Nf8H*}sR880iryxtdEN$yROcW#HQqTD$A9KN`9&
zxr7j7cRldHBab}%z`b|hiGSU77jCXtj?t4#I@^JJYA0zOh+^8@*s$j<Nq4tsLh6?g
z$rg%WCR3RQ`4RE6fRc{t*K}arV)`aI0_eCkIy*d&OgaQbW-bYqd~a)kP)V9>EQanM
z8l%u}0U9t5I(eu7;wG=auVOMg%#5B8fM6(65L*cEnKw8LOVq{?=`79DYk?&zjEw{)
z2Zx|es1YUUG0E)JvYAkHZgyy5YJASi&dz!bVU~s&3+Tkvm_Sp7xJs#Oz?<bg^M;7w
z#z84H7=o{e$9-9@x!E{{)hE-MnuT4<Xhs{VuV#upL7JS4l~|=-MgO1y8m6eizL!z1
znT8|B85Yt3<g~m8HVSW^Rg?h-XH{dS5K(9eg&q)Iq4NUnD}hb2-ey%ottR?`9Fy`5
zM&m_U0g<qHKxhcjYytpg;4Z*(s7NF!rQtm=O?dZ8Q$r1|sN3Pk9Cy6LOixGSh#*yI
z|Fpm+3f|^o4nkXjKrkGpxqp1L#8d0{;|2i)KCOHP5n!6Ur5tp_u^34g6#L3ChK&;f
z-y?BbAzBAv)jU;;(0U3}JH;pjbzXh-)jz%V$5&td^XqTD{mvWU1^M0YaM!!w0`vQ4
zLB2gO%DhDvuoNZ^CZ6nFUwO+?*f=fPH?i1Q1g-S(A-w1m$f*RI6$0kusp%l9Wx(iV
zyDTz=#tvdxTWu|d4$)PXl|8Lsm2l^!-QU+Zfgm%sx7C!n|ABGvKTygHU~kOl|7kvU
zd8${r2c}ItqzI%ZC3f&95<B>HJd#w!z9O-MUzXTGDFW#$lGx=-5<B>1i5*-ov4af~
zJJ_90U{S;{SPm03<&S`97uqVw9ze<vi6v7x1wdQ4l2P2i)gW}wU;=Yw4hlOLjAH92
zVjD7z^RbO7@)-uQ`x6Fo|B-=H$BrI8cFH$_01Au)237VmjipawEL%Sj4w1>64~MEp
zKf`c#f5LEXylndw+qP}#S-)|^rEAx3*l@*_TQ2_$Bie{e{30WYC<*~o4NH;JLI4%7
z{i_D`o{J3Xe=&cANqv`jhuH&j`g<7FSMdM8Gylf?S|m0k34oXJn0?~c=NsDJeZtVr
zhh`p@^X|S7noVBu8CG}oC#>$y2OoR<%TGP^wXc2St6zHJv4<Xf<iUGB+X6$5jKAcQ
zHu!urSG^d`H7xxMdu%adSPVO5{!juZt2YDUl}>97&U6%IS<J7vb|c~|uurpDrB|Uw
z)e45zkxQy%1q9B(k$?_5mrle36TYC=8jE4orZ`drD}kWFq6K_>(LT3c91ueB`+Ptc
z2V_^ILi`+C?S!p1D04+34B#TkECfLO!-r3geumw~3tq6>trrK7V~7wJ0?0W8wx6=$
z-38Kp$zos;1_umNkdKMSK(ZA?PLAoo0;80Z=fNl}89j`3=t|^ilH@Bc*mHoCD5JO#
zb5hVbA9HGfb^1)(zGA_)k0oL$&~_walau2~eD)AU!4zQNGwnP`anIZN)=xyKG}m%I
zO8p$0zhcqmgGiThB1r$Halw;Gw14QNK573mltoJHKLk<`)p{<9YB`Vye##kif5I8O
z|MqKte*N{g-g)<}Js*7V-h1!9_S#!-ex_sC^9jc=9|+f!S{DOh_2g$biOLE%2{ASn
zJ0<gLTLz>8n0t4Xqr3x*EqYoiy+x}r=mAHPsZr%Mf0yFr?|sinTHNB{Pco4(0Sf4d
z`~xD5A0vR4le!DlIqG|rd*BSjqkiY&q)N@s#YvThor{wyZFnTrIT|FMqe0?18YB_)
z5{c(%ka&&;iRUPjcn*ulQ-eSWpi8+tkp!%{#^VK1*)FwM1OlMm^qherF9oFw_#aw@
z&a!A!K6EY;b2<+lmMvMbr21K%mW6NSfK0}X)?T@EnX%4ox8Jl%HZn3g^0Z!u<R8D8
ze~{*?tF}M%NW+dDS6#J{nP7e;dmYC!j>|6Fyk^z%&i3}Is+LwTLT=f5|NYDp{4NVp
z-}?H-re@G)18LK>s=J#?AZQNyc?W7U!AKmVG{CDC!y*6aQ%Jv{qoPK40SD%cpK}Zi
zokb{ufGLsC5wXy@b4UrH_@RcXAP)cJ<Z}*W_kKK4GFd8x0^y)P7DdtLC?10X8Xa2g
zb7(hUlOa9iwIjpfcp@%CrZ~p$Qa08g`l@aa<kZ#3J`HLsO6L)c0lSq0{|m~=aU`|7
zPzJ)G#w^}*4rGawV1y9YAg04d$H#y38|HmH25nC|ipA&DDw2O76pzY4jbo$D$&*eq
zt)QEGm3y!##N$Ru4tAwv1wABLL3exR>-RTHR?tn76?C&?1>GuHLD%e*G4N}>^g=gF
zR?r&B3TiDS5ku&Swg6ICn4`#Mb9%kcHxt9SEQBia3_c!ERw3NT5K%<2Xl=Q$xSqAo
z#9{YQjYLl-TU1enx0Hc`X>JZxLo75p<h0tNwA>CIolH%_5@QMorED%2J#gSaNWevH
zxC!f!j_T@X?MHoxAxmJ^r&lLt7=X({LU|drBZ1k+GR0D)4;N7~F_o5CV3s+XvtTI2
z+LoA?Ei21~^R;cYO-jsD>al<Yz^f>YFcoKJlqLqkJ9s8>t&6w#2N?|<;?wmqKhj-=
zx6-_2E7R4rWXU!$GWZ3!-D3Fq1M@xEqqpAr*k(ipdk`r^m8q1v5<6hG$)QGcNoQus
zA3SKN6JO`Twxidef6&_&B}h2yJ=-^ISliXIwAoqL(7JBJ7rwajo{dZ&)2IB>&in4Z
z=L>iDGCy(W^Df#y*gn`itGcO51ql*0RE(e|j{<DXJXM=L$lzLq@%-2-AR`7Y2^d(g
zT4o|Ng$C=4fp1i{@qh?3!DH$)aQwm+dlsq|_yq$)iNddpu!fK!lnbrXG9(rgxDVGO
zpSRf|q%k=Om}h#9BnT1#!g-?^hQ!Pd?jSu<_upUGlg}C&(V9igP)P-MMb;}T$Tey~
zSIA(EK>CXgzB&$<npG<C)>D|F!yC;*>st#RAA}L;?$K(~yXUts_VBazun6?VYQrKe
z;f+DAK9?1ADew<4=eKwD!uB2?9}UK-9~F;N0txgYcI_-C5_xsbfAOa0*)u-C&lnj}
zBxG>dzy?)*TBs;T`G)|rXb#Yln_qRffGk(;uC6f2K#O9iFuSU2YduY9r#PV5(F{Cm
zmaGJ5L-3hGfdB#%Dhzfqx{v7!piLh2p|(&RB5}8H`1RM{{BYl^zxvg$-a2p^Mfy|w
z-@#hi!~6%YhZtQ{G$v$Dp0$hW5_mfZUVweUp44)=xZtoa><XEJ_64mke97#~m(<jl
z^;!@<wp_Xyic#Im+grBrm>Pvr8HbYG{1nFjPlZuVVuuvHi*`sMu|v{sHz&z~c&OU;
z@u<V$rUy6BUZ5YZpc_BkDCkB<Hxa(C58s0H^C7xn=?>A#w(L~yVHS=~iIr`USlLcV
zhPT8s@2A@(R<>PYWjlKpCraBSXV<)Q@$A}nE>4u{dKbH-M9ELve;(Sx>5B|5_E<<U
ziZ=A<E{&GaK)*zhXY{;NB%}EApa1;9IcO_r-+K=?YL<DIM`=K7=hc=8Bsw82>IcBe
z=u0BmKLs#k4Y4%!p?G(<GZ<WfX^y#uUC<LRcGx%@(2Trua0L4qP^Vj#YcT5g<dgmV
zXO12NMJ1lOkmc3+F0>Dq$(Jrgr8iqB32^(g))nG2%XAfHb7$wul{c<j*>SI~sB?Cg
zIm+6=5yD{ai7k7rifF;GG9lsSWi1v=l*t*CjS0~P7(V%889;43D9a(?>(ptmG0--v
zchGpd$AcT0nrY^-)lwmdM*#HWQX~a5Y?GWoGX<p*HnTrYk-FcH8w?xG(R-Jvc(sBc
zqd8fjzyqcQVP7^6Mn;U?r4mF^K0b~U0bqVyd^2Ob@)Ut8PVN`*2OLW$3Y$!pnVf=7
zPD8jLy+c_wu?ru4HkyOr2FTe!Lq;~79!NHv!U|xkA?I?&Xfcl)U_lu+G#Dv?IGAN#
z#8MQ97Xy2ZeE#a4%00}&(Ibf(FO{su%OyU)$20Hq*Y8}MZ@yfz8ZX_sxEe2)tj3j+
z)p+UWtVRol56O9o2QjO#oOw2o5A2N`{P<ubG6ntDLvQagX^l}Pnu{74{iMPeon&lQ
z$)C-C3@m3kdOCUfg^?GZdvRoBXy3@l3orb%xAZM*$?lq9CXy2_rd+=_sC7;3WvmwI
zpNp$XZc!QJh8vVu-gqTo7&5mKbf&w^1)mMCW%CgPw<G0CeBy;^RU#IZnXA-QTbMsF
z2B`48#{3e^QkD9F^@dHj>rc$<)>3x=QfBFrrTZBy<_912@Au((#J^oQar{gU%CfY!
zwybvJmV3W+@0KmSt2b@gxUm;HDp=vR=I-XUW*gRc(P6dO@a~y%tw^8qiBE!d9?Mzn
zCYh<mSna6>xtrC9TB4`L$|f^v245K_kuwxCS&f0IYpTcZ)asg=_3JAu*RJjDUAq<?
zz^eMr27Ci$*#_nsN@Y_RA~c(M7XQo4n401Bv=zXBlZ(X?7MFm}bDkB4&PQC7xEiPr
z#?PgO2ZvM1a0>AJkpW9donlgj6yAh902E^?z|<(r2xUS4rJ0@8YN0X_^ZT`0o!L;7
z!P=my$OAZw>^(PTv!wxz#s6U6ve|f$oN=hjodm`RTSzdQXc>wB;{$*Zl7qaVFjMl+
z_%S^gPnTwVN>-U=;Ny8z<)Tq!DpreVs^-_9xCn3w5NxOR<Ue}nBY+v_@_Y8|c?bNL
z)(8`cSjoQ)YOI<VL?GDjV^jTzVV@Is)Lp&GJ<P&!pTxf3)4Q05NvA({dggc39g-b&
zpJYefC$aBR9<47*cGSHR@1>PQ(RwI#<Z?0p1kCzGN$`MqdBPV)+(ea5A5mfS_u~ez
zP@t`t9K^&i%V9T?ez@9bchj_`DN0kofiz0L1e=dR2mz^x7nNvr-|~~=s633H{0nNR
ze}Po4C_nO-gXa)EVcuiU!6BqBzxy3-AOx3;#S3xB|CzeGm$)G$m@~VZyJ0+wylH~8
zk^93kS>zmkn9O28K@9_1(mBi}VR<DqeA3#=7N9X&NM0(6YJY2m0ht%>S>`g~sd{^H
zQ^aU~3My1!@YWqYI_6Ko>Zkm}M+rjBn>Zq!2m1u8cHxIIm4M!$93&sfT%T&S4GEiL
z_3eaD!I$y&K`8DFgUjWvRh5AKEZnX5!kTKF?M9H!e@~AeGSgFIv%}{GnJ0PEPk!>&
z@c`DY|M+V^5xtg4z5!mVO(&CC*WrgQlb|UU$)U{5#!EtV6}C9m+r00kO}gkQX~DYJ
zc5T1;W{=pf?*vBe#v5<C_116Pdh3oW*I&}r321Ru&5BFgnu_*rhX~&-_mn%F<=tqg
zV;BUZ)vyTqM$sZ5slbvZ_aJuXU>(IMf8m8Ww?U-^I1Ln94ztAo)qAsE;lRY3S_NQV
zr8R=V8%Te!jD>>TA|#7hUWM_2LORPb%Uw>?+Z`^j7dF*`%TA*K^2Jk!9;p`P@}^qi
zdO_J7VS+{tgsRrcbn>S0@wspsJ~9~&jFWxfP36>#sQ_Q7mN?uEoS?}9@rlkwG|maj
z!^8}jfCL}r#<9Fa)?<G#hBb?|I2$Cn$;nCFV1uGgQp|w~4vL5d4FEmh9??@52H4RQ
zb$VkEo5{uTL#imi$WSL3SpXuH5bY6&6d?(pO%}Z#d=EuQP7RA-auzLzEau9xfbXP2
zm}$vFwgX5Rn*pW}IkdGB>kDxHU=nX=VgdmIX*r)c0{EjshAOZ_--oMB2U%m$Ad3GW
z69c~v`zWuXfs8^7I?ZzAxv>n+J{XMW*Z>PdDvvsGHrNdct$~5&7uG)rHjB}yI0uaj
zy*xlHK$*ZOO5vl#X{|@~Vknr#^}szNeo&++4j;x1Y^Y8H)GQDdpkIMd20lcUsj`9I
zn%6jo{5L{C8~P!X7ck9E85fE;tT4Zv&=Oie)ZEvr+`}v!pJ(B|A&Fog#A6BPcb_DJ
zm0GyFB{9Q2l9=HRiG{oCb1a-LNDNwuAh-vHr}=sqIFvum4G#?r4GbWfq~AqnaZ0$_
z>F5l8OEwPj*wFw|PYA%syoPy|FVOtbg<*M<kw)C?YRsY$*{f03x4hp6Yvb$R|Hd0{
z>=$j^AOG<C*WOr=SR(u88zuM!mSJ%82x^Bga}Wa#PxM3k<jh1=;WYpmisw$uQL4*g
z)w@>!XVwgW)PnL--|}(-l&Z^@00Y+?jpDZ}*R9{Mws+&EO&fcAd-2rDibfbbJV;eW
zYE5M3K!RsSSD~ZYuE~3`yl_JTO0XcjsYo*QH0Zt{u+(Q+VTLg?uejwq-}%nXB9i0F
z+Zh3w{j(Ug{~p9N2t!Mf8u%h0fo|1x3zkodzcVbqiVz-8^14*Y-gY@`+U7P}%4<M8
zfHRtxNRlaeQ~o{7JRHY0SrAd`>)gB+<+Zh&VbE^gK92xd2dM2$JMMnqOL)dxZ@u;A
z9XFw+0_fw4F4XDTQ5SlacVqjCJR4>mCiAG3+XXntC8D}UdjoH(qux=yr>sn*kFTo%
z`0>2STdpI_Kk(nMPR4mcc!$GkG22ac8wM7z6SOKlN=0xFpxwYdOeIFgi=Z|@ms<zy
zxz_*(hxNj#h_{0rR4fSeZWL^Jq7G8JgsVk@%GPp1XI6=ZZ&}MSaJeq^ED?K!TCL4Y
z(i_;B2CEA{!1j@eGug1BoF;X_3-JkJFHjhX#)ur$3}r#n34jCU^^W?W5(`_s5I~Uy
zCm%6?h$T;1bt<0<_yQn;pPHQZO@ep_s|3)3sVP8IaHoQWP06u5==*p!lLL!0vmk6#
zl3UdrqYDuAIgqVLNM`tYU{|0r95^pj1e2HbUo2)smJb#pjwhcE#xuYn1Jp?JL<uZ8
zEw8j`VZp1;%NH$K4lQYV-*7-kV8nwe7WBjX3Ao9X1cRVK41!6^AMgjDt(*vf(k_XD
z1c1=VXu80YCIgEQ1vKsebSjX}fXRYc9?apx%>_lXCn8tQ96NgC_@P4w4jwuz+Pgwv
z90rgc6e2|qm_6+KOn3@5U?!ZA^)WEdBsGL#Q?IC}PEq564$;DLB9pi4lZdj-l9+Cb
zB&NGgV)3?m=5zKf5{tJ*64Py##B`e_7Eg*O+bpqoQYB%ja(W#{nJUzF5TREZP*3D!
zm|DofBBhJ^GW?DMBA7?hR_RqMw0dF*bXD}Jtr!BsYD+41*F|A(x|b6L4>Z{vAiz<Y
zw8{`R{7l?Xhu=j}%7BwbN>6!yc{?o6s;-itZfq1Y{(yFO-6rtiqV9!|25@mu!mH%k
zn)dF?ajb5#!;Nl&sRFGZ_)MJ`j2u34<jA3eVC6+T#1)-*SsS;zmwCYsq-g{xE%v7(
zYqNq>$-ensppt(!|E2iG^-Ix=#{+l42=Q(z1yH1Q^3@;z_{Tqbeg+hpdAod}R<PUY
zz!JmOp@SA2{)d1R$2qod-`Yuhdk}@MEOU24&0_oZNB(w~9l4awSzF)GP*=NZ^`)1t
zMiHT#DhPEfm*(sISTiGl{?HKzoek))BOwtK3u##V&JVCAZ=Odt<dRt$evKzFI;sYB
z4b>Oq+1+)a!-o$YI}KnMj?iof_$<gG&I4;F2C!m7Ai?3yluA*G6{n!vH-`{HeRfE!
zIjEAm>jE%rB-M>Y4Qh21KatktMSA8K6fJ@MAqbL*Dh*VAP$Lq8-NVH)=*2=rR<^rt
z1Z8nKo2B>&&4hF!k<F#!GjN{6pw_^jjX>OhH&H%Cd6u07$tubqQ=!m`#fek<ch~vx
zFe<In0o`_xA?FieFgeW31jVQDqsNL8140N<ZP;W4>`R4?1x*X*o@Vw#nGBsFT(3Os
zzg#grHE`@NI8Ka)z1)8IXWmWMjY_|!3asJgr5eQTY$}f`27;8*Zs_9RdUEI!)4N1S
zt2BXRLHrMRHz3}?riyFFK7;Crcnwk0okv%2y~;hz!of-Qu|l$s6_S0dz+)ARj!{VV
zu|l$s6_S0dl<Z@!cd_>Nd6h+}1{i9CeLR>BaZ^h-_tMRMbd#l<6y5v>ZhA|9J6~8V
z&^@zsbA<1kKeu~&m3#1Z#p7Pdx$Tsk+ar>5yBCk7sO(<Jx!o%{w|jaQD>?T`&TXgU
z+;&QA)M`mxQ96CmX@`=4V#Wl8pArZS)efV&kc@`aO$9hR9gW6VZF0HJQUMUZ(}KcX
z3#>&`c|BI4qYg(yGkTo3%(@ZY!c7N&Mo)tZDg(XeSTci<v?z4i=jIB`!Ky|BlSv_Q
zT~cXG_|Bb?ubCQ3##w_AeQ^^AoeVByDh@*_$*jdIT-CXiH)WRs6}S2FtBo|JuX4V_
zJLCrk00j!iGfWhtwv+xSO|R#L&bsWxv}sK+uE5N6rU(?0*6ix&bf+&{Q{k$vZiBJw
ztgLib*8(l)sdiUF@PXGidiG&2A2@R2#EFxq`nYVW1we&suG+qRdskyQaCLNY4Orlf
z^+Kom)#ra&e4>AEDh@JJ(77j!<;$+Vs{GH_Uthoquf*TfVY{Kzgz;i{L*`MQx8Jz!
z@8$Bq_ka8^|MD+C{{_}Ncy{ORM2%z%^Acbp|4v_~FI~Tqx%N8z`E}P`Pf$RibG656
zZCYV>mDx>todJx!Hix?zisx6YZfRY<s^^+(uIX*X4{J7T*wDSIvz2*-=UXeQP_HzV
z5&LdKLw7eqv94A$PAzSn01X3+%~YVtV0Kni)z;R!1;k?Y22=@FdOQ6(2xw?hXpn&L
zrH~6iW(Dl;$%zc+ACuuZe8MvY{6P5Fxp1n$?89jt83`aT%2Ll}W(s=AIMOyWjpRjK
zdy<DK0L%ccSfV{m3!TBbWfg2$Xf6%zHg!Hd5{N2|W=H0n%B0mXi4cmj0rYMXWaBWr
zrv>(qx4-le5&}&e2}1vgBcPGMC5|-VCA1}&ZU}UvJ%aoR?1*H^h0X}HUPGgWTmn#B
zhzUcODmXVe9xjfJ&rHuEaseU~<3+(J-cUF=>mz|+uEJc#Yl;SldOOQ2C>4~cW}&zi
z0zN*I!%5_btUr^ZG_)jijuzzFvnSKD{pY5p#z#lSCWprQKL)b+^}Qpf&yJr3iQrIw
zKk%n`sp;|20p{1dlVuORQ(Y{U>VfjK7_|X<^@0Xsmh7=H3IK@JAc^)Hh%}Le<28nY
zsdR8go`$Y3vSm2!bP_$E*$|{`C&ordqxQ_i#OMei3eQ1R1$bp%A4@`ZPG%B?Fmz~;
zb8+6mk*TMFX$GBbXp<mU0P0xiOjj(aFPzqyz}2l(LXV`Bj0Z=@;*Q}FjDO~%K!bq<
z6nc{Q04QIlPf0&C0lcPqX(P5mt*4JuC`Ygb-=pL7Sb!O$0Tslh_|tKrGX`W2T1=QY
z#B8U@WHCbp8r<L62r~0ToKy%QGe_*vVeo3lQ_K+muT1HM`Ni1WteTJHw)ZOc!0?I3
zO%f|9)!ey7VkNJ^BMBvOjl@byamH6mtmHKkD|wB?N?s$elF}J9X(U&FAi<@Sc6aU4
zmL&}}wKX+Ow&{16%I4O#28*Gx3M@<IWg&q#4el95V4h9^q21qqYVr-<^y1+e+*4#d
z)$r98{htKuKh4Sly5`jzZ@B5&%QtM=uwi@Sq2AKBO{JAr-*Vd(wUsL_?cKg^c{}J(
zjDOno9?WPc@LQDY{_xU1OsK=fbQpei99J~Q_N+yzt+u?k^qA1dzNu}wq_f#=#k{<u
z(pgqMz28`xOByRZp4z3$z>f#GJRBH`B0m{~N_L)CA?sPXw5@Y5Z_4ba%p{jPdIWLK
z$+tfg7_PVUNPXECzwz)bJxko3%RAOAU$JWMcWVkqXRFt2-FC$tJMY+e=iOIc4`+z2
z-dn0N{`MSpONqIIj(Z<{hBt)2`ytkNJpST8LXG<88$ovYZK1JMzx0wzSGG0RR@c`z
zG&e76FOOR4n>u=~xa#U_uD{{B>#n+D^D5>RzMf^zp`}X@e!CrGspXzncelpeh_hX_
z3JbBew#F0@5IHom6}5b0r#o8=K!p%y{LHxlG(+P}momYjV~0*o&z<W(b>z&@sFKO^
zAShmcMI9nDjmC{D;i@uR$D8i&sYW|V&XBNQET`HbG~UsbDUR%W=gr^${tvIc`{ujv
z{&DWI$GM^RfBPT*b8_&#H~#d}>+kP1!s{ae#bDkp{d(j)X3HuXRK29Km-!*wQ7`kl
z;mMWAKUM5GU>K)U8jSh~jeB4xrb3Byv6RoHU|e#c<FAdy!Go9!_+hkisW`?PClTEF
zPWe&r%4Pr+nVOmi9_LMO3`Z$wV(d0JW3BqI(D?6vdGDp)zrP<qh<*DH9X<B(2Pen(
ze3YI%@Wxwjzy0pJZ~pnM1N&b=^AG1-EmDRUEO7#9O%0-8Ji3h-bu)1&WK~qOwH1X%
zmAe?8gLqm3MPSU4VYJMNsI8ca0o)5^5gbri%n@d7smM&ms}dMvz|5+f2bZUoN@XCF
zrg1)dwa{p~EOUDQ;gdsC5M-YinZWpcw@juj`bUR`hfbY1dE(TGvy%uxEydzP4JPCy
z(32WLiaRv0g*SORE8sg6iiSoc0d<#LjtMd(r*arm4pSqjJ8RVDXT&RStzU>4rEE?Q
zN-V~MlDJBcSd52ZF(|IOM`AIgag~(K=>dtwcu-<79+X&&7D+u{8dr4<%JZcYqf;~R
z7}Ha+Lx+8n02sme#gp)8eu(Ez_YY2hr7uR59qE{VhK7St(O0Fz!FW8JPV%1O=q&aX
zYMY216mg{<8VhI)Wyz#N8~}Irb-k`)ivPX$ME~*Qhfbf0|M!2KJw1)fi1K$nR@981
z9z1#S&u<^b^g~jK@(Gvp4P&Z}2O>um8aX>XJsg_jYxD1&0H^@b8m^<(rz<x(o&K0P
z4*c*mK;?K9R_NN6&g8bQTm`Mf&aUNU_uRMTvW;uEe({T6+`i$GrX|ZeG1%GC+JSs@
z-8yul)~$oi>lg7da$e;wM+pbAb9}9K+eQ?~>K!ULZ5GPt80?uE_t6F?l?nJ^htSLX
zGZ&nT_cH&c{?b>z^7!NTKk`u9cIF6kiuob)zcHKozi|73`1Lb}FZ<HfH$3<N-oveT
z-uE|u^Nqjz77AzI`nzxZ4GL5r;I-Afs^=1<ugf-V<QeA{%-#JE<urV`uIVrXw$Fv$
zeDlcZ(;w~G-?j{v5X^m;fanmGUt(>rttKq-hV?zYo9{<$|CZbCfsFZmx8HdA*500V
zYuBz`z2>^>Zocgc_uO;O7jC=hI<X+ew^u<Rv8B1GskyxaBMpeyfS)x3<^u?)Qey<P
zRjoB+3|wt6+si?kL{V5H!Elt`E=y4fIFb$n4rbsC%bW@|kRKF&WJ`sVN)PHiR|Tbw
zMFP8|Q3^xGu^Vb67*l3AuSbV2TRJZ$_&FmO;<H(csl=cUt%RB)g)>4|HGqCCm1dpA
zQf@M{o_bE1i}+Dtot{lZeJYc|W^G;KR4DS{F?60L!vzK4K7A_A;?(QytitPYYOvpP
zqVQj;T#+s$5>*uimNb(ztQchoU2~kgG!;n#ZwEO&nSVM9_Ak=?Q>r+HIt$OAKw|)6
zDGK^4NSNU#TqP`bENA>So8jFhKS^|Bx&TW~mX@i3fyv|*`80hLc}iKk&VtE(V8%Bw
zHyfM_WKIr5e6wL6&SMVD8XTq@XXmD}*l@Ff2+kWOZwlvu<{z)}2NSci;n^UsE}j_2
z^QE#SuOl3G*s<=6ZT3t8I{?8eqRJwj3d3Spp8^$VU7-3lGc!liL{oDRTu12(Ll05R
zJmA&P^qiaX2bf{J3ig!96qrk;`PzaXC9_}xq}2$8<*2$SmEi5oiaI|uwVTNbU3-;k
z#Yg>^H|;-*n*N_&*|+cTvArlye|Y57*vQ}@%;nhV*^?(v091eY@R4IDPcnbP%V2<I
z1_+>V#OLE{(;x50@5Vzpe5NIJMY#ov@#Qwi<A`F6u=pX&Kp^0Qn?^EDa-GP^Wvl{1
z%iv$Z2pEPR6!ZhW|7d<i!o{GEKvlIhy~;f>mg2ESVp%VhSk|o)%i4=al4V^kv8*d3
z8S5HJEVf2sS=UG`>l%q=t(I6;X)NYC4UVl-le2-@S)bpZJ$2$(3aepmZg9lM49u@7
z(S#!06t9Zf2o0xrRxP+*##qg~u{?7642<Q!1<s!AKY8-iJ%^b;%wIv#Dvkw$JR$~_
z*==z;r{iY9)e}kOu7s0czP!Do)BeS~cUsXyYiU{1(#GsS4TC*z=<Mzq9yB_t>FIgv
z28;H6Zb)L$9(d@HwoRf%JE3X5^9y9XzHlEb$U8iY?|GBex?u}U7O(nvFBzzJ_6vr)
z*I&Q!{)ZoZ3}25w@#H3$L7w@M=7~oidF0`T?!W&5Ji)*7yy1cgYU_jv;z5N?b_be@
z@R+WROa$x+E+;U(b{+I|R9a*KMw1l)XN5{#Zqouqv>QD+)aKdUs!|4;3O1-^x>__c
zZb`XOYc|^fN2;l91j__iKwBG}jQhNeu*kVSa7pG8iMsNF;F{s&GGA0Q1<4fSo0>!_
z19h4}D2|%Q;+{`tQ1^iWP-r0Sn#wB#*N8%`olYhq5bR53m1EN*D(sY0x{yx-bGx{Y
zL7*>QSgRFo!&7A!ToJ6{0K8%%4t!!^dTN@GztF-4Cjh<T`K<|=8gT=u2y%-3D7a1_
zH9IhL?i_{(M@Euw{Q31XwFxJuC&v*!NjBT;G>=gkmEA@=tine4DeNjtLO}5d!3kt)
zO&Hgt8<V;0`}BFUbt@Jklm~m2d$2Xc<9^9LdPuU5`Xu|P505lpAKfk4M-NE$(LIuV
zB#lrWlI)|0B>U)+&#C-$onf=Z<HHkEz&uV*hV~wq81;cdV0IQ0L+O}rd}?Ci)W8@@
z0Ko(<LoDc<yeLA6WK(>tG(utJ8gZxPq!9`$bV_#JVE;uSN<p3m!2mYkI~Rp0f_TN|
zw_+@Kae%_9EaI+Ad?G;U310|MR&-qypsZcuS<<}hLV$w!<a~f4-MBS17e^=sz)R7V
z{&a-$iT(W8qkknr`P&;d-hAU7;vWB0gd*MVTWG(3Iz-7Dk?V^V;Gz%(*5JCHdmnrl
zyZ@2L9{&<$9pCxR73dNQ%x?4u|3&<Ifq91EbzghpVYC7ty!XEQzxmC}VKa6!e-9oJ
z`ucnP%(LHw<#>hoAupJYb}}83=!MZ3NUj+p+mh(TJ|Deof=P*hzp%@}sbpnVgVt!Y
z==54wImil0+Xg*_LP4&#pc+tBVTL>y2WF2{fm7=!fSI>7ML`<BFu8mx55r@S#xEJ6
z3r0w`q(U@8s2bJOK}RTz^kRI<H#?Wn+hOL~8Uex2g+`HfPlWPvl&O)5dFMkIOA%3$
zB!nrYG9k<;)|JhNFzWLmjIX4X&w+*v$#AixO9VMqWkA#{?rI%qE(!(6G|T0H-cSSw
z9xMzLNX%I-dvOSZp2mV@TL@vE?fRsFD<)Ef1l6>%YNH7qmQ*^fMDz~5QWz+<kd0jw
zzmVO#IDQc=pr!Q_@k>N4lLrt2Abo?fmpD8bB>2RP9|gXIh~SO`rBCBjbOb}Nt~86k
z5WqkU;Nk#=1+Ed{B-oiR4q#5;k{=j4I|!BEp`rL2e?ENp#OZ@*!tXnAdeT2NJvlKx
zJ%ORk{?n(Z#Cp1a04zm#oeL2R0L>RgFtQxxYmCOSiz1ky&}B9oOh(EtjmR=l5;Yif
zSZ2UW=<ze|6z|uQUNy3AVoHV!eq}zILE&m4nz_DLxd(<-Jg%2m;p-(<_yLI(ejJaa
zXyz)36~0<xg|C-b;cF$)%=Hp0e7(d9H+@bt(>x>->jA*1o*ADF$BHrlrJ`vCtJjT1
zl9^;Op3Nx7Mkumz&POsi^;jIsL(Wa0{5Ba6o=+Jgh@nw#Z+=6O2t)&c!>6Zz_m|_t
zQ#plyW^y8|Wy_uKkNP8XbG}$q|Nc7^@i@f@$Cog_KaCGhE&FKizJ2?q&z{c?$Kw&i
zK|=GRZe)JQ{Z@5f+SA=uYtfl4j&f(Ul~vq?JZas!HS5;ZJp3pkA>MgD@CiW|F<;_Z
zDYaVez7QVOcn}^TDDta&zWOyFxSsslH#ZWz!SHwYUD;UC(A0j(^36+R`t6uie}?%k
zzINm5+W<lIF_$quCb)|tCEj^HFdCqV=%V5tuo&I(*oO1rQ`=?0tUHD6n7Vi#XbF0n
zXYtjCr+S*6%J9vvK5_p&_doE^qmO^>sW0EX9rr(r$9;d{|L0*tU%=n~951$q=j+8N
z3ieOzsWGgBGFDgl#RiiitmcjEo$L*KvjWq$7z5KP3*|Z$rXX?%HB?+2QftamCYjAZ
z4k`*FJdliG(1M~YL#f_~Pb-hncN|5nAf|Qzq&?ki49By8SUHTvwsMnJQ%vg&W}{**
zJvV1&lhI5%AC1o7oz>vE#PF-OtgyZU*<hwnU4?_OEm%Nvq4ab!!mtF=u(@DtY$gzi
zWecd_#8RcaTs9p^P^%Ns()1LD6M3g-xYBvWT#CBJ3~U70$KvOcwN#!&nFYDejHH5h
z7L29HbOgn6#DCd*HeR&YLIe$0VbZ}k8=?qIBN{4mt6c%rX>P`c%GS`_`Lt|4oD-Ud
zQ4SAcr~?|<a{<(^Q3InEC>U|4XuJ?#elR&ujSNF0*Z>+(gj4H@hi+OTkw9jAAp=9;
zUl5vqJ$d}t(PPI>9Y1np-;pz;Ar!L$GqdA?T>ABc`}Q3?aQMK1@&Ei4^D0hQ4D4Wd
ztZ+2wehv+zBGo^;XsM<U{s{m;vkIItwXSgsmS(vbuPpv|{(IpCS_<rRniq4Zb-l_x
zFeKu!PGWVWIn)&rtFso5Y-e=LI*HX;C$TzfC06HBiPe$jP-`Vtr$Z9^b@VQB-MEML
zpP50y596D$1hV#`{9GW60b6|jMYNbr>>wrKU~tCN$#f_R>EW4?@i}B!)2!fr{eS=F
z$T;+(Mu*3zM`rz5<*TQM&h?+}9~{geYBq6yBJ@1V9X^bn#n6P3S0CH+my<}e4sn9J
z=dx{=G}jmvMoXF7rq`CzTdF*@o*GYmqXIYtPRS{}YEIq;_M2t3Zm)X##+99&-Ir}w
z3Y)M!Uu1q}_{J@l)#yEqT^p9U%8J2W5Tf;NgL2WfYi`gnUjo`*L4%8O^?mp3+`040
z4c?7tv;9E!)FY3;(7cGB4TAgTtFP`|)!9_r*xcIL(Y0c!b=4)^L}#;h{iV$P=xu7%
zUOUS<9RMLY%30uH>s%ETRSip;1h+dab1kz+hl<*Ul?`PyID6q>to$zaz=T((ciX`2
z7b^Y0ZLYPU;7%InDjBjZS<$3ZDIqGX0;<`H{%Jk2)f9`O+fpkFptb`qKRE2<1;Jgr
zaVe5?qs8GgYwboz6xBj9$?mjUOme0cIIbQdRVYH|3PoI#KF6!U?g<7$wJtBX<H}4r
zUXWvIDjLivF|`^67=xm*B2|t!w$<Q;brB1@jEdvc5p1_eED~mgvamCgh?mUeg?z*h
z_@T)WCCV@`T5~1@|GU_$)Lu;?KTg`sX)O%y#PldyYtz$x?qI+lPNX0v4>3?+jakl*
zS!Bw>5+zi7F&hTC`I5L%(`m076&jQ%{4+(tefYrMlcT<5A(aTtLe`X3?uRxRR^8-S
zp6Tbg99Q&eO4yO;GWq68y!wNKrw0a3?EN4oxD`hFDAPIU5SA25j>=66==9=Cf$GvO
zcBupGSUM3>t1A4!t*<c|*itCIyu(`1>4_u#!hx}%UF;ogUbUf8MeR#dcAocUL$7iV
zwxoD$knCS6SJei|{@s8_Qq-_PvVS*7_V0Sh{#_;6zZ)b`gOsbPQ4%#stIJi{Bn0?4
z20)?$I*Gs*7BEZ6fZn%|1ah8t&47U+LXALtlD-*qV#VQn8nllmg(@gJWie(G4ucnu
z_A0dJKu#%_Wix>o_$*yVPvQcDg#S2p@R6hbIn<kG{C>io&iI9@&W?J!DwT4%L0ON&
z6F_<uZWl=5?TsCsOf&D&0{<Fipy>@ysn-tn1Lt*WaBvbH#y2QbJ@U{sZRS8=-G=Ut
zcG^9tmu^@W2pHS0f9Mf(e_UmGTxq7PtQID~UH0;S{q(0l{pHIqzmHI7-^)T(>$0Yr
z3ahoQ9!7)yx(36IbyjOd4N^R?Jh(7O3hEXt1C;WViV((`<^rKm9CgJ+h_V(Vir`7V
zSD7Z7J<JMfa(Ogl08fWc1L!VaNEg!d`C+Ts?Pd1!<!KbL9jIiZ9^|w+gsKGOZ9ymu
z)m_NF;(*p3#(<b?K9NtLPT*>6M&P-$u@L|QAPDMdmbn=^XlQEG)MIir3xog*(m~Mb
zvR(tgbHs5E7T#<QWhYk{x^`fd3P-U+!(gJpyQ9~jqJBo$RYBQPo|zgCF%`9LcWpTn
z8lPhFDF%T5T}*Me9EHx=I4>vSY#nMQUWV(dipG+;BH(o-ZcL#@Hj5tt2g@PU1W}7?
zp=DnHV=Bt8Ix5j3jz;t%SL%eSfx(GzR;8Mo^@qaLQpU*j?3_xK3y%*DAY5>zfnd{P
zDN-hrOjlLoq&-zt4n*j-DzQ?6I*Cj}E)$g!qBNC@yry!Q+AC*q;w8fK;lilZR<Agt
zv8`9Rhgmo-m+ZRDl2~0@d0g+A?*ea=>^kYx)8&#~C!Kog-MNSZ+9dIsddaS<i)V^l
zG8#*eUa}0(80-v|#SI$YV<<gOQ1#b_VO1GoyG%yw5Vcs1=wDK<llMa2L}ykD)+w+;
z&5n&jY7s|zb__jq-hi9;-h1agf>)h^>jVXxR*5cAG-_LFuc!5&MidRxO%RBJ+*xB1
z>P(=of#3Ll)V+6L9QB<yJTtpH+q<OIs`qMHvgIOIWFup+>82V?L<l7z<RFcEA1*|*
zW8)B#a7iwgkh@DRkmQm}E-@vPP;3LH*x=q&tlryJY5UCc`OeB{AR%|}`_KD4Gxlhu
zZ8P)x{l5MC`J@P02PvK`Os)BO9Kb12T!JkZ957CdZ<MNOvmJUJ$PP#1oQT>^78L^e
zgjiNwt^=oYd~OOx&OqE*hw_v0aU8a9xnwhdKese9s{|*(`qUzS(pcdzjU764D5w=+
zY@sPtggkYGmAEpA4wS&+?;N!Ovl>@Hp~nNwX}1@l0ueL6qGB})Ytt#{Kn)j3vlPT*
zHJQ>qwDOl3I5v&2fraciXl)}-8D)U9d2%Q-WJUF_JAr~Col-wDK~pRkK_w{E7^}hb
zk>+M`MNYtrxbs2MM3W0uv}nZE>8LZjc1ayo@OYUeLJ6u<WF=WS-bsyoqmuxTrZd;!
zt2L>a!FjO^b&m{+?xIw@2$sb;NDo=Y0i`Ze)7U}))hxmE<!DhRd8?jatc}X6;Xl)x
zSiMOry6hHMrr-o8h7Bv1A~FcUiUW#3$T3P$LfTD92&lk`iP1h2wdNYoJ0+MBXd1-%
z=muw^VwRg8;~cSPP8F7?Mw>)|h)nI+n#9~3H%G+Z31Z#WP<jDMo?3NDo-k!|5oFOZ
z@<h&V)+9o>YJ-8UeSBg9l{e$FxE?2zrk-StKavD0KT5DA5ypkQhfV54tp@5a2Q(Ej
z+7cCu_Lg@30JE^&p<0`_v@iBg-LBGz*Oz40<{hfFd520P-qNnmd|oR9v^X6-?nhLL
zQTx$qB)CuWqYLusK4EU+4&i>0uu(cQ6<eJn+X&!bAlLKg4GzB_m@q&n2~CC*K|h->
zX$=PCm)&j<$wwK&#gHX{UO^5zn1&GuZV!RefbGv!1Q@eoS2hY5(BDFprT`1jr)H>l
zCK;U?0UJ_%DrGRkk3%fX;i#$v-ZuFrR5FEPOh^UP+6<3{B@@JReu-F+kKv)ArSqoK
zri${+hKKo0TBp@yLF@(5dTmofSyfd{Rc#&40V}h^%*v?nmNY0k<IvU02^t-*;RVQ2
znQ8bu&)W(sicoj#&UIt;nXI6Q;rY*h{?6;RU3J}c*WI+^mYtua1m>=LKF@qn5GphT
z0>E%Ov|J?-sKc4)AhyB!i0RI-G?mfs;sbA?nCFF^q0Gn3&BmES6XGOr#@>1$XoK?7
zg9urkr@pQViTs)xWJ>BcqbU~41Gkn16Cfr!3P@39fO#sDIA~xUB|?K18ZV?27r;$M
zhHD)922)cD3|t726p+P|gnx@HAge{?Gh_uhiP+}jaip+G@#}bl;0Dt%J|3sX*g(;U
zRf4)Bv4L<&MwEpdo}V5@q3_`I<WPS<$hJ|g2%$SY5hTj#RA?@(L3vWWRvS|)fFprO
zq^}>C6%=!Fz}5n~2N{(to9ni4^9Z3$j9?^{yFm+7xfygjl!3%c!4eY%jy1R!=i;Hr
zJh+&qV2A-XXJT}Ee54OJ)>QNWuscK^<G4Rmz$+t*iVP0ZaE44_(D0r=-!nKyRn9{_
z{i9=JXAn^91+(B#FDhToz`YviIeUg+z}?8`VWW=(T8#!%IvI~a4dM2I3kszMsA?k`
z8IxIT2w^_rc|3)UF#eVQWWFIx2zxC;Wt`XmYZQWA2$;w{xGoW?SUqqG=qzO)kFrq-
zqlhPWH*`x<az0EXZSiPaDI$&&)kJsqh2ha*oGcJ4`!68fGSJu4O(CrXx&S?l6R<iX
zn~ez~67w?}z7d6`ID-#&kz8*S6r&6j{<og|Z@Au|YCyJF*_A__T<-=#h{;H*pS1D^
zn1$_4m8AN*%8K~9N>V*g!Y~%t?*FWkRIjKcmDsu{seY)ERBE=!d)pT~`8TM1Z%g~4
z@2v^C-NDUFH}<Fa_A9dHd-nZ&i~LP_7xrrG_wYY|+3%>`@wqLCR{aY5fB(wOnODO8
zBT7GxyFCjU``ly#Yo-6?m($l=bIrOMFH}JD?Kj&G95`@tWDd)^`}yZ%+qP|6Ri1@l
z%F>%fO<#F=UmN=Z_D0~BJ;_y0{^<&w(>l<Sy^Q@z?1$y`@&jB?;k8$wefkha<8ti(
zvv;&Dz5^x%+7VirmrT`<KmPb1P7y5jfi3diVNYc87yQ?*T@F=r&lct-z@-%8?qKJC
z`98shytqZa8+(BHC))Y@FRQ_o-QLRlm$;^eWoxWfyC=(`1cl9Lm(6v$^NUO1suvY~
z`ZG)okrHx%gMr-2FGQ(xQJ%+x?rpaXF=o_dxIg_Fam{^Z^L>SdRp@`JL#GCiE^oT&
ziq&f_zvjBj+qP`o`svRwUlvwFVCm|cP};T*tz?@wuWfFwLCCZupLi5u0e<Q;VtE-f
z2i5^3u_9-1$Vg%J?`8G51%;)hV0o>st}I0>Xhp>*f4{U0%|W<<R$M8h0ziilqWHw`
z@C+GkUcLrutq4xk)D*W_F2#PA{;7SVx}t5jJ<_JMfgELyGXKc$++-O2@RvW_B7a4`
z9{Yd$!p)f%cAzo|oSEtL&qmQ~R%S!%(QNLfP15gw|N8@{hhg@;|FdVN5T>bibC5`d
zmtCfL_St6-b;7ruKl+TQG4%Br+N6iEPs>+=%IB<k&E*Ip|BC5lz1SbZu3?_mJnTIC
z+biUD`BK>=9mD=VdPCdd8#(|51NoFnwaPbIPa%K5AwLbd*6_8jr8k4)8$18~=a0eZ
z{y9;R-eK)Q`fW>v4z}Z}M<3-k%U`3N|LJSz;ZpymRlWmA6#%B#gfrc1x@}dJCeVBE
z#b12qJDcSD<oirNc<J3~*45B*)m?Y}^;cL_ufXjSo7Y>QCq{xP%&Mv5$0gjzsyqjl
zciH+DBb3D83>A5efB0b%d<EqmEA&`Vi>MiiMn^WwW!P`mfA2qgV_B^?e6@}F5%$-x
zKgM6bk{dnp@88}c-!E^&{@=cEbLNE|P@-b<vwk=c1=b{nGiT#Q7UJjhFmYU;fA;wx
z&Z5Yk#;wS0ZPmaPIy*WK!PND<=m4k`JXHym*wEuZW77y8nFYiTDkGusKmLqG^$hA`
z#O5U2Ty$Ac^a-{Bnd;Deq~f3oKkXT@v_x4@aAy|QlhXhFv0qENQ*+^I6!8rXA|yRL
z46@&k|9Tz};K&+Jj87@~H&i_kinaPz#*xD5!^J>#7tRZ8Op@S%62?U#`$uI`>Srvf
zXW*y5y08v0y^e{Br@Xn9Kfo+(YEN0+`KI=i+wfYdmsWSaU8d4;YEQXMrQ<GbUG$XO
zRGxBy%2Q^8F|h!hNkoA+7am6?Sy%rIRo@>vgu{%VIYj0M$Lq~#MzGt__+-=@$-9a}
z<wN_+qN$_+@;BFJMY2W6MrSZgg$t3qIwYTBF&vgxqeum}7_9_gMlLQY!Z*pX)9REk
zw}VMMhLfH`N*Nu5H1M#8;cHqfpkps9^V(AI)-4wD*@s0S=EPDF+(=ZXz?|i@iMSgd
z$%e?w#q`=;Hb4xSiIg2dRYq4-dL`n??N_yA!PIYS!=b+$O`}3i)E^y18}Yk`fESF^
za41;c*4D-i3c%QiMpL`X>@KJ=1jxL(o*bCQ;0mGU`#eZe(D9L*0AE|kLA`&H%q_s}
zl1K*@7yL>#q4;6DVbzqe4qjm0CQ++R;SLMg-~>kC*PCN;;C?M%j)NzMSs{Q13z-+h
z`mn(y1DHB!$f3V@9#n%edc}>CiXR&ZMu6;trVj$8G$(*4e*Szsjzjkd&~eNd3^aF=
zs~yyc4u3Qf#}`;(vE$=q9VeF66(c&9We13=Vr5gX&6rcWvbD8!#R?qOFJrbK7mkud
zEitK}y@AdJMP}5$p}-fT<rRGu#(aRd!#hV~qmaWpl#qK?ehwiGn5bFRn}bZQV2Vu}
z(HRdG77(i&*@0Pz|4D?81@y3JcN>V8ScgUf*_VT^H?)}%*`gW#wBl5|94LDi3@{l{
z@&pf%rXWJvN+p7<6=|vOE<<GkHZ}=U6@XxokzQ=WGjZIw@o^k1R%#&3(dacsy6kKK
z{XtIw>jw^sjOr?lhTCm1!+YnzBBQhfo8ii#a>C}e*~~dlC@Xb&D}MlsPuZ5MtkEWw
z-@K_^TY?v~(u<l(GLhuvDr<DPYNak$S)<ETD|Ko6;!0hvTB!z=HR`><vSVX`aVV|}
z(`NI9v9WnD=jxex=Bxl%ZEWeN&xBTJtdw|~0h5RKMM*k*xcdXh=s%ryxn4YccpL#<
zQ)(RLBccxeLMT4#17Sry)<P)G)Yprc*|?<{QHq<d;cTmdZ6Kbx>WU3aTOMDyLD1&p
zIBZ5i*IiIxP6F+oUZ2@0ri5P}?z;k<H{XXv_&a5PhWQpeqaSl?ZLPrC5p*cnEicLv
zbpN$sgMOYNpd}>$fOpeyT9(>xz3<US?^%26&AWEpf<n9wOG|BSj+v>lTHT&PLgBDy
zaCy90#J4OF<eD8YQ!s})T0=>W@#5leN}R0snf(4K3_e!X)RgG0H6o>{wc`(EmSC_J
zlPv)|BxPi3@eXKJ9b@sC`ulq@yEUxb(<6FE(*W5HQhC)#K&u@^Cn@}PHa(B^ChAB<
zr4v3xfoxEdN#bG_QIwH`F`+tMce=825EXkabjW3y7+w&y__lOX#3FH0G$&~X<4op`
zQ}83>oN~6Hc4~TJYF3(xN$4h>7C6W=L2E+wsqFKfwOHPJ@9;a&$A^we(%JXko1~)I
zz!(70L>;0*pz)wN0H)v>w0^+{dmIotkjwv)@vg3D<qt3m+cwpFzFg&9-Kg@es8ffK
zu(zq^^ETCdzCtyhuTahB%T=1^3e|jGs?t2Ut&84Og*Myn?CWFMzCM(VI31X!{uxGR
za=D>ymedtG*-(IJe7L0B4et3U<v-GCr!$DTKIunIPt1t4f;A>qOxVqi7cuW&e9;DP
zI*E~c@9ojaP?{N^o?71E(TpEG44Vthyz`Znq8CYPd{QD_S~`d|aH<!qX?_>lvAuq=
z!eTLMnwyE-Lyyu)YMb1AX=A=4+ta+n15h$&<%U+&dkS1+a#G|R4uj9lrN+m#h+j4|
zdrXWb-q+U`)`-rgC8gO9KTO~d1+{C}U4H-l_iqB^^nYl-al^Xp*P{2DfAs2Ef6@B8
zH!)8!Kks0!r;{5wc1-k^mlKASE_&pM5r__-dvLi&)(22(Jfs)PuiLtMCD_)1X0vMT
zwj1w6sr&UiZoc)_yT9=F5AC|;mYZ+basBm>NTL8dM?F}e@>^P}s+PhIuP<=B?TCxz
z7P|~mDS0iGr6Lv~3*fnno59+HWJa<J5UK?mT%b?`o2q8nPJmD|H~K2(M`vbSE@1Gu
zW@eE?L?kpVp@nZ`Xml)auCsqU40h5{(#M8KMD!v`N%|c#A00PNqb7t@A%Z@$QC_St
zPX=adu_kM4{YWd$Lp(d(635O3<1tNV&sd1H+R?xQnPS5o2J0lc=D=1sJL^TrJj*aK
z&soE`#R02WVVF+9Oh~7Phg0!zh-&1A26})sVHmqGod&)H8VgZ@fcu)ZSVXL+xX&%2
zfsYbv{>hOsIl)sTHzDdAlgTt-V+#fcQ5NB!LAzv6=V`4uzi^}{WU)wr(bHYPE9^iq
zc2*XBklyFkAo86?`RU-m*?uNrCM}o{ZR9J19~PJ&h{mDX&IMTu<|#Ij1eP4}280w4
z0W|fAUKlQT34<^_gMx%`AeKVl7ET?o?JE3efIN#ufA(wy00P5M_J`g&**`HfaQOI;
zRui7+e(xP5b8xpo11NI9i}bl=42?7}IM{P`YMzyJFgQ#S0f-^63W(Z^gA9IaXCV@?
zyv+d8_`qZ`q_-HXk8AuFdd5VyKK*@tkd5zu{>-7sUJSxNYdW8Q_Pr-MsKWfgR{j9Q
zg0g*CB|{!i$q;pf=Bs$+ml!kikV=MpStUarRLPKsR5Ij2l?-`MB|~mk>BL<s8L}E7
zS%bw&Z5tdq`pq!lK*b)55g~h2BPBFW3rvon9~{C~n^wowRC*m8#sTGkIi4aLCRZG7
z1JJIMS_To=f&yOS^NyY$#T`qfoK8$G5;Zy|YJjM5M8(w-n>1&6?B236Es6z@IH{C_
z6El8`7NiJlY)1Av@R>d51B~94m1dJ$H`nH-`+FI^uu_(nuFr?b6PkIG(nzQDGJL+(
zEf&H?Ir7I3@Qu+}X=wr?>2$BdB+uF*l8R@=)&0|$AUbe_$807hL0~lfVWgTSW~0gI
ztUo+G8pMZY<!C~qvjLkn@b=rCqcOXS&?dNW*No3DOEvXCgRwEhg>w3g47pX}^0`w$
zTO_%)wAo{3G!ZN+SddGf|FCa(*yu_|{KZ-6z<#s@zC4HyzoRHY89Q~Z=ji^k&^J|e
zOy}#zPGvKvHpyR>zrz3ff$_XDbfMxBhkthtmm{Ta0lmmQCG26Ogn#ynG_8j6t<`ji
zQbw@d^WgGanIC~*>*d8&*Ij+tmdzViEv+c2t4G;B?hDFFs>;1ZHH|AaZfd*whPxJI
z-7S!H4`yWDb=N`G`Gl2{1j`m;gwc4Y4kW9Ppkzvmn^!^b0a6#onnJhR`H}dm%!ohj
zHMf58t6$lK3bH-AT@|%=-1T)BDuoYx72Dl6tleNSUUJ)`|BHUhZ1-P%&lhjpjB2w#
zGJ6dRf1}oM&WT7U-~8FO0*FhW36AUV{%20%7Nj310lGXRK%ZC*_Xezpa{#nRplKML
z?{Pg*O)?sz#fqGd7Ik3ggg3*4!ShM&)J!<e0yQ*Ee!|QQ0V)|xZa2I!SBi&G9SkJW
zK5uq$Hoi#*Im>0_Y>YLeAl@PdakbNEN=7F9lf%Pvp=eq{T;1-@cGx71BiCcF=bED^
zkJaYp0a7s$m1JA*pg*S1@jyPU<hb4oA)LF-U0H$XT4|h!DuxCX#*ykZRrp2|<go_w
z*lm~yb2d_W(>8H+dU|*;bb6q7V*13<zQHk^#~ce-xA{nbAMWk%9vC0R3(uZ87eV`J
z@0sD~{Om;kxw9n5Fky0XeK~;lAS%xwCu10aL=}K(7#Z>V+_*C)q7{VL9+eY>KniKQ
z+Bnxg7<upL;ZvP|_~n5UL>83P4IMu`7YkcwM}|5FsNWf&HhpPbwx{oGkmKe?dk!B*
z$y7%nt6NizD|F}EWY}bLNe?<zH7PL905qsO>~m`&-e)1+2L{ew_(;63rV=&|avSak
zgts2<n30?+FfT#Mq85mfy;2MYm=4t*NvaUiq2vGw6oErg5qP2i?TfKXGfJ+}s(^E#
zIss#gWUpTSNDUyx1=K!qb%6_DaETZ|h$AsZ=Yd6;XNF>Q*^N4r!)|kVz%a*$gR(8x
zVT;O+Wy?x)4ABTICd?T_L5BGm(fgjBc{vM-{_--YByMgpg6m^luJlLR!USz$mc-R%
zxlV&N&Ba43R*cgD8#}kEpsvwkaDq*cx{#=9N3Z9sCjVqCtVit*iu=GDi0hkU(mp<S
zDJr4y9kdE!@g6d=wBOOpUg#NpV)b?F8nP`(KHSgUa_Q3ADv0S-H(m0X`|_N%m)C$=
zZ(+*;(!+3Pe408DX+wfsu#7P@{a4)$H=8~jks^O^-zhvcen)fe`Dfn+XDZ>Z-qgw;
zfYMR6ohl8b=1kqGvT}*{it2xMsx;J2m4>=SrJ>ZA>uSzab+$8GW#!hI*;t&_Ow8dd
zG3kc`5?oVQrE&Cjp?Sza7HX7tLwRJ20_P~O_*flapA;;i5uL#I%;1d@azF(IcA2UI
z=2?4zSf8Hm9SkPk9l{cP<&{?soC&~Ue)G+P-GLD(ut;nWE?;-VjA8^kb3p(`Vo6Ib
zt=24oS0ILtn1rmCyYR_r^s%m9T_jBaByyT7Tn(mFYgV???j(O5TBpP%!<AURyw;^q
zS=u=dfXA{lvk2YHq8v`(LZd++$QA*)Pq0H4PGAe{P&5D-J8{CVapG^_kUt^Tn~Rq=
zRhL(H;R*mtysef+&HsZB-d@k<tzW;sT)*<6haOsL?0)*`r@NR6I^q6zdU3*TCzv~z
zAsU;f6|y#B)}rtrB|r647hjD(E;n^PCDz@t<BF|qYZ^U}i100!HZ6zF*s<gK8*jSj
zkw+f6@8%nCxZwtv#wa$v6<Xp6p%!qCs6db;dtM80jj`EtL07Pvv;&x|pfC#Quim24
zauMEUQ3iFrJ`Be)5qA*<7{17DCKe;4<G3V<QRgAYutYR*BI*gCN&rBAk!hN$@d$tt
z39ZPJ5V9a*D4YXa_TW4*uUpX@8U%|cAUSn%eHlIhv!G6~L`q63b8T*V3GYCF%VU%<
z3P~ncFml{fPY5$7JhgzETstphEzhG*MmTO{WR@YKVnfP5BG!jz(Y+ZPC!QwAwz26s
ztj3|C!EryjEk|dA(`4%ez@s2X0hf$>Zg!#Ck1&>b1=`535!msFXhVqv#H<{{DL@ms
zkVTxE2qdQ&qpyTYQR36Mq@kg%i9{3*aXb}*p%jsLoP`#aBW^`WODSHFyokj-b3tHV
zIp?zj`i;%c*XxK1JcVSdSdW@6&@iO*WTv6LA_X&!C!ly>W1?3!gLTA!*V&>&u@@w%
zUgLuo=+hAh5^|4O38nlMX-z<y$*8gpB_y3qtWQP)v%zrKjwN#H)Tz-BL7tsIKM<6o
za9+ac8DKjG(w35v5(_*-oUh4EXxOp1z$@TLafH2Q=6!Y!+~XA$)^rF3b+ajJg~;oe
zQiP~<6l}m66-Wax841+Z${&DGQMN5A38b!t+NP2~ttA-=v_&O>wx}dfn@R$0P}#^E
z+ZW?T>IiR+N&=P6V8S|;%2P>`(pvD_On@e_L-tSLTE<ac3dsW^Y_O)0ClW*5i)Caa
zA;-X@SD=$4BVs90j_1T9Q3O|+KpOtA^Zj#49G#IfM*ws2K49zwz#wN~{v_f_d`O_T
zSFpVQenbjbAx6y7`1@jM8^vamX(})Uz7_q_R%XYXOgTy#FTM2AMrIREgnSsPh4BFh
z)GAnjpr#9t!_uAAdK$(2yN(<=a`b%v1qAUxJ^dkmyK9*Y^t0od+UqEvik-Wjni_1Q
zqeN3ADQRbWVWD8T_ui$Z;loco^;D;!`Ce4%K-Frn8nKp?*U*7;x3sLvcb3$wY`K|?
z#+H@KmNnns;nHiR8XzSuZ$ZsuNqITi<0%jYqGPH`EJamibWWoumB^q(3%}`2X-I{6
z#$tu}Vnu#eu%S>NcLi${Cxx{y0DD2unt^&86j<IWmKNeRMC~q`q}psV<^2oul?aom
zs2I`b5(<dI4~Ff6RRJ?eHs|IFSn8~tMVxRFW6l>#N3ha?;EZZOu&5*mPHbd0j-wQv
znIiXvs`{z0nQjcA<2X3Ef(1;Sa*`}5Eta^b4<Nqn%Fnj@a<m4E6TbxPCMD)=i6ed<
zM?vvk&S27m^%4l|m?o#rEvd#@cN<e9RQi;0FcCXc0$Oy?xO-3>5<`gux+&&Rl@Xa4
zAMfgboy3Y}s5T~)(DF7Z!IWOWNdSPx3Zn<C%J{_v(rub#QfLS>V34{TfCNG!6cIg~
zK6-^M-Q9t-$ql0hxyNpx9HY#GqQ<<&fELIEY{mHKw-mos&49qG)}$Jzj90Bm9airr
zamskrnpESI=~QcySNW~H%5UXcEhG<Gu`_(@V(d#`o)mTiBBlsO=JWJ0Lx})XG68u@
z9Cj#w{4qWJfDZKnr5A>j;~#KD)EY+u;QvdmhySy#^q=TT<Z8Nzd*~rX6c2BugF^Oj
zjq=AI(C@F%!LPc~XO%0}DpzV+xYCDP`2)<t_ONP9Z&$@4{vXwt?!s%YK`i27m7M*$
zYD{;v>NB6$`tiE9U9F39c9&{QuT_odwW=}QEN=#S&I8#84$Pp#8H%&}mH&GBN5A^R
zZ=Zh^q1)@}IqbLMRV{J@sz+AHYvoJiHhB~NLVGLr%^j`sQUUf<f%4z#Ery$6b5sL_
zr@A0puqKt-FBWYMUau`puMsyRWwTY@n*H2!3DBxQzRte=+<*Mjv#<T<%P&GmUr*0r
zUnv*L$WcmjvRTfObLAr0g7?u*S%0RZ73QXZ77FFRb=d|gdMm!_a%2Ho>ICaN!d?lP
zTe%!*;QTnfMr^pRtgNk#YP~4@fRfH!i_258967bJva+>XZ~WXBcin#5t)IP5*~nF9
z&z{Zvck6usT|99dt9#faSO*njH+2mCKPS)i(o4iv<~Y7$6B@m~129NRwa%3lHZ)Wi
z^D0|DyP5vXd`HvL((;9?A^V?U4l<|F1@<hn4{&V<(XvlF@%bI^XhoVtV4ry=^S|B!
zZ72WaM^FcEdIakmXCYTpu^;~UU;gD^e*FTyL~OXexq0Qv98{F!`U|sj+!lk);i*DG
z6R<(+Ten_!(=}IZzv61(zrol<QHTKJK&T`nw`HhVLDdS{pkgsSC{vR%>=><f7Iopk
zz-wu#s1O^D9z9ALLfN<}zdqIL@9&$&uXy5vca8<(r@KzRd-O1VJ9?BkBRp=seFb!J
zmcdD2x8>IZdp6|LM8-n%uz=!wH#0w{T7>K+OHh1kMFC9F#;w=xx^C;0n^ywl<$8J!
z`;VC4g30Iw5GeeS`A;w&K8^k7%Ki)H7YIGKGW&29q>%96I@AXP%0DxNM)RSm2?5k%
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

literal 0
HcmV?d00001

diff --git a/packages/charts/chart-web-components/public/favicon.ico b/packages/charts/chart-web-components/public/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..bfe873eb228f98720fe0ed18c638daa13906958f
GIT binary patch
literal 17174
zcmeHOJ#Q015PgP|sUltJ%A8D-(o!TUkc{NQ1+uPjPZg!4M<`cP($XUeDk>yUiu?k8
z10_|E2qK~~GdH`@9=;55lyHgjMj7wN?OyiY%<Q|hcYz-IsHz+)d)vUSq_dfozik0u
zq;5P8*ZaW7hd@z;>vw?RV_+}{<sQ(V0C{fZZ7Cl;0pu2_MCG5!U#2;$v|QtJxm@D=
zTdDfA1U~O$RQ_mO_X;Cd3gGUJD{l7@`x8IceRk+S9s-OX#t-AiL%@rk5&4Jw&G#2C
ze8|7<1Va8L|GMGB__^ir14^d|EL<spZ0d^JeZl_3&vl<E{l`Oq@x%CG{CEg>(X$}`
zkiRp}d#2<cH-N}L<R8Y5hkzSC<e!b_pRjnp_qDl-XPJ1U2+$u=G=OW1hwKHqQVB3z
z+vn%_Y6NJX;0W{w-yd|J;Y{?kXxwL5$sWcwk%{H<_89^zKdi0%l*Bd-jEGNy0DXhL
z5fDhc!m?NB8*TGqmvt-acVK0?&o&7H#HZmO2{M)?KEx*=@IQS+=g>#VM9RE@(KQaI
zUna<K&Xd<scRgl~K@l*Cw$OFnSoE1_T<6I#wpO{MbzYHfy-wcISZ`q5Y8+Y}&#6qf
zsLT?EX1#$y91I7U-70gVo0S^3Mvm1dxLM<m<5iw1L?@z=XDT`K+$Ig4Ie3BlPk+~E
zmrveFYdOb!Ea`Cm3lHW$ajfT?4_->Ws7T<G!^kn4R(@mhJU(Cj(9XwulQKIp*){pF
z^~z+^%5`{Xh+IJ9d+bH}#y;xj15tgaI`wlotKTLKKVS2FetN&!$BX()uW?uTbUZcZ
zl=Zwj=_;?-A{XG#sq3~^JLjT>XteX8<lE$LI}hh4ZOz;|v8!5G?YmYQZz^_Bi>N);
ON)^VQz<8Ga>-ryC<7BY_

literal 0
HcmV?d00001

diff --git a/packages/charts/chart-web-components/public/favicon.png b/packages/charts/chart-web-components/public/favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfe873eb228f98720fe0ed18c638daa13906958f
GIT binary patch
literal 17174
zcmeHOJ#Q015PgP|sUltJ%A8D-(o!TUkc{NQ1+uPjPZg!4M<`cP($XUeDk>yUiu?k8
z10_|E2qK~~GdH`@9=;55lyHgjMj7wN?OyiY%<Q|hcYz-IsHz+)d)vUSq_dfozik0u
zq;5P8*ZaW7hd@z;>vw?RV_+}{<sQ(V0C{fZZ7Cl;0pu2_MCG5!U#2;$v|QtJxm@D=
zTdDfA1U~O$RQ_mO_X;Cd3gGUJD{l7@`x8IceRk+S9s-OX#t-AiL%@rk5&4Jw&G#2C
ze8|7<1Va8L|GMGB__^ir14^d|EL<spZ0d^JeZl_3&vl<E{l`Oq@x%CG{CEg>(X$}`
zkiRp}d#2<cH-N}L<R8Y5hkzSC<e!b_pRjnp_qDl-XPJ1U2+$u=G=OW1hwKHqQVB3z
z+vn%_Y6NJX;0W{w-yd|J;Y{?kXxwL5$sWcwk%{H<_89^zKdi0%l*Bd-jEGNy0DXhL
z5fDhc!m?NB8*TGqmvt-acVK0?&o&7H#HZmO2{M)?KEx*=@IQS+=g>#VM9RE@(KQaI
zUna<K&Xd<scRgl~K@l*Cw$OFnSoE1_T<6I#wpO{MbzYHfy-wcISZ`q5Y8+Y}&#6qf
zsLT?EX1#$y91I7U-70gVo0S^3Mvm1dxLM<m<5iw1L?@z=XDT`K+$Ig4Ie3BlPk+~E
zmrveFYdOb!Ea`Cm3lHW$ajfT?4_->Ws7T<G!^kn4R(@mhJU(Cj(9XwulQKIp*){pF
z^~z+^%5`{Xh+IJ9d+bH}#y;xj15tgaI`wlotKTLKKVS2FetN&!$BX()uW?uTbUZcZ
zl=Zwj=_;?-A{XG#sq3~^JLjT>XteX8<lE$LI}hh4ZOz;|v8!5G?YmYQZz^_Bi>N);
ON)^VQz<8Ga>-ryC<7BY_

literal 0
HcmV?d00001

diff --git a/packages/charts/chart-web-components/public/shell.css b/packages/charts/chart-web-components/public/shell.css
new file mode 100644
index 00000000000000..21dc2f875e5906
--- /dev/null
+++ b/packages/charts/chart-web-components/public/shell.css
@@ -0,0 +1,82 @@
+/* This file should stay synchronized with the React v9 storybook styles. */
+
+/* sidebar logo (Web Components uses text) */
+.sidebar-header > div:first-of-type {
+  font-size: 20px;
+  white-space: break-spaces;
+  margin-right: 0;
+}
+
+/* remove sidebar shortcuts menu */
+.sidebar-header > div:last-child {
+  display: none;
+}
+
+/* Add left side background color splash */
+/* colors become distracting in mobile layout so scoped to where sidebar is visible */
+@media (min-width: 600px) {
+  #storybook-root > div:before {
+    content: '';
+    position: absolute;
+    top: -200px;
+    left: -200px;
+    width: 400px;
+    height: 400px;
+    background: #c989e8;
+    opacity: 0.5;
+    filter: blur(150px);
+  }
+
+  /* Add right side background color splash */
+  #storybook-root > div:after {
+    content: '';
+    position: absolute;
+    top: -200px;
+    right: -200px;
+    width: 400px;
+    height: 400px;
+    background: #b3d4ff;
+    opacity: 0.5;
+    filter: blur(150px);
+  }
+}
+
+/* Give sidebar a transparent white background to match design */
+.sidebar-container {
+  background: rgba(255, 255, 255, 0.6);
+}
+
+/* remove background preventing color splash from showing */
+#storybook-preview-wrapper {
+  background: transparent;
+}
+
+/*
+ * Set position fixed to create a layer and prevent iframe from jumping when content is
+ * larger than the viewport and the iframe itself
+ */
+[role='main'] {
+  position: fixed;
+  top: 0 !important;
+}
+
+/* remove box shadow style from storybooks wrapper div */
+[role='main'] > div {
+  box-shadow: none;
+}
+
+/* permanently hide toolbar so animation never appears on page load */
+[role='main'] .os-host {
+  display: none;
+}
+
+/* stop offset from changing page dimensions when 't' is pressed and toolbar opened */
+[role='main'] > div > div > div {
+  top: 0 !important;
+  height: 100% !important;
+}
+
+/* Remove 'Published on Chromatic' banner */
+#back-to-chromatic {
+  display: none !important;
+}
diff --git a/packages/charts/chart-web-components/rollup.bench.js b/packages/charts/chart-web-components/rollup.bench.js
new file mode 100644
index 00000000000000..3b8e9d8bb711ff
--- /dev/null
+++ b/packages/charts/chart-web-components/rollup.bench.js
@@ -0,0 +1,21 @@
+import { nodeResolve } from '@rollup/plugin-node-resolve';
+import esbuild from 'rollup-plugin-esbuild';
+import commonJS from 'rollup-plugin-commonjs';
+
+const plugins = [nodeResolve({ browser: true }), commonJS(), esbuild({ tsconfig: './tsconfig.json' })];
+
+export default [
+  {
+    input: {
+      tokens: './src/utils/benchmark-dependencies/tokens.ts',
+    },
+    output: [
+      {
+        dir: './.tensile/benchmark-dependencies',
+        format: 'esm',
+        sourcemap: true,
+      },
+    ],
+    plugins,
+  },
+];
diff --git a/packages/charts/chart-web-components/rollup.config.js b/packages/charts/chart-web-components/rollup.config.js
new file mode 100644
index 00000000000000..83e86ddda735ee
--- /dev/null
+++ b/packages/charts/chart-web-components/rollup.config.js
@@ -0,0 +1,48 @@
+/**
+ * This config should be shared for all web-component packages.
+ * Tracking issue - https://github.com/microsoft/fluentui/issues/33576
+ */
+
+import { nodeResolve } from '@rollup/plugin-node-resolve';
+import commonJS from 'rollup-plugin-commonjs';
+import esbuild, { minify } from 'rollup-plugin-esbuild';
+import transformTaggedTemplate from 'rollup-plugin-transform-tagged-template';
+import { transformCSSFragment, transformHTMLFragment } from './scripts/transform-fragments';
+
+const parserOptions = {
+  sourceType: 'module',
+};
+
+export default [
+  {
+    input: 'src/index-rollup.ts',
+    output: [
+      {
+        file: 'dist/chart-web-components.js',
+        format: 'esm',
+      },
+      {
+        file: 'dist/chart-web-components.min.js',
+        format: 'esm',
+        plugins: [minify()],
+      },
+    ],
+    plugins: [
+      nodeResolve({ browser: true }),
+      commonJS(),
+      esbuild({
+        tsconfig: './tsconfig.lib.json',
+      }),
+      transformTaggedTemplate({
+        tagsToProcess: ['css'],
+        transformer: transformCSSFragment,
+        parserOptions,
+      }),
+      transformTaggedTemplate({
+        tagsToProcess: ['html'],
+        transformer: transformHTMLFragment,
+        parserOptions,
+      }),
+    ],
+  },
+];
diff --git a/packages/charts/chart-web-components/scripts/clean.js b/packages/charts/chart-web-components/scripts/clean.js
new file mode 100644
index 00000000000000..421e7e53437525
--- /dev/null
+++ b/packages/charts/chart-web-components/scripts/clean.js
@@ -0,0 +1,53 @@
+/* eslint-disable no-undef */
+/**
+ * Utility for cleaning directories.
+ * Usage: node build/clean.js %path%
+ *
+ * This script should be shared for all web-component packages.
+ * Tracking issue - https://github.com/microsoft/fluentui/issues/33576
+ */
+import * as path from 'path';
+import * as fsPromises from 'node:fs/promises';
+import yargs from 'yargs';
+
+main();
+
+/**
+ * Function to remove a given path
+ */
+function cleanPath(cleanPath) {
+  const removePath = path.resolve(process.cwd(), cleanPath);
+
+  const result = fsPromises.rm(removePath, { recursive: true }).then(() => {
+    console.log(removePath, 'cleaned');
+  });
+
+  return result;
+}
+
+function main() {
+  const argv = yargs.argv;
+
+  /**
+   * All paths passed to the clean script
+   */
+  const paths = argv._;
+
+  /**
+   * Clean all paths
+   */
+  if (!Array.isArray(paths)) {
+    throw new Error('"paths" must be an array');
+  }
+
+  const result = paths.map(cleanPath);
+
+  Promise.all(result)
+    .then(() => {
+      console.log('All paths cleaned');
+    })
+    .catch(error => {
+      console.error(error);
+      process.exit(1);
+    });
+}
diff --git a/packages/charts/chart-web-components/scripts/compile.js b/packages/charts/chart-web-components/scripts/compile.js
new file mode 100644
index 00000000000000..7eb7a2aa7fc563
--- /dev/null
+++ b/packages/charts/chart-web-components/scripts/compile.js
@@ -0,0 +1,28 @@
+/* eslint-disable no-undef */
+/**
+ * This script should be shared for all web-component packages.
+ * Tracking issue - https://github.com/microsoft/fluentui/issues/33576
+ */
+
+import { execSync } from 'child_process';
+import chalk from 'chalk';
+
+main();
+
+function compile() {
+  try {
+    console.log(chalk.bold(`🎬 compile:start`));
+
+    console.log(chalk.blueBright(`compile: running tsc`));
+    execSync(`tsc -p tsconfig.lib.json --rootDir ./src --baseUrl .`, { stdio: 'inherit' });
+
+    console.log(chalk.bold(`🏁 compile:end`));
+  } catch (err) {
+    console.error(err);
+    process.exit(1);
+  }
+}
+
+function main() {
+  compile();
+}
diff --git a/packages/charts/chart-web-components/scripts/run-benchmarks.js b/packages/charts/chart-web-components/scripts/run-benchmarks.js
new file mode 100644
index 00000000000000..30735810d1d942
--- /dev/null
+++ b/packages/charts/chart-web-components/scripts/run-benchmarks.js
@@ -0,0 +1,47 @@
+/**
+ * This script should be shared for all web-component packages.
+ * Tracking issue - https://github.com/microsoft/fluentui/issues/33576
+ */
+
+import fs from 'fs/promises';
+import path from 'path';
+import { execSync } from 'child_process';
+
+const rootDir = path.join(import.meta.dirname, '..');
+const tensileConfig = 'tensile.config.js';
+
+try {
+  const esmOutput = path.join(rootDir, 'dist', 'esm');
+  const items = await fs.readdir(esmOutput);
+
+  // Collect all component folders
+  const folders = [];
+  for (const item of items) {
+    const itemPath = path.join(esmOutput, item);
+    const stats = await fs.lstat(itemPath);
+    if (stats.isDirectory()) {
+      folders.push(item);
+    }
+  }
+
+  // Collect all .bench.js files
+  const benchFiles = [];
+  for (const folder of folders) {
+    const folderPath = path.join(esmOutput, folder);
+    const files = await fs.readdir(folderPath);
+    const filteredFiles = files.filter(file => file.endsWith('.bench.js'));
+    benchFiles.push(...filteredFiles.map(file => path.relative(rootDir, path.join(folderPath, file))));
+  }
+
+  // Execute tensile for each .bench.js file
+  for (const file of benchFiles) {
+    try {
+      // eslint-disable-next-line no-undef
+      execSync(`tensile --file ./${file} --config ${tensileConfig} ${process.argv[2]}`, { stdio: 'inherit' });
+    } catch (error) {
+      console.error(`Error executing command for file ${file}: ${error.message}`);
+    }
+  }
+} catch (error) {
+  console.error(`Error reading directory: ${error.message}`);
+}
diff --git a/packages/charts/chart-web-components/scripts/setup-browser.cjs b/packages/charts/chart-web-components/scripts/setup-browser.cjs
new file mode 100644
index 00000000000000..5f47d1b5211379
--- /dev/null
+++ b/packages/charts/chart-web-components/scripts/setup-browser.cjs
@@ -0,0 +1,14 @@
+/* eslint-disable no-undef */
+/**
+ *
+ * @param r {__WebpackModuleApi.RequireContext}
+ *
+ * This script should be shared for all web-component packages.
+ * Tracking issue - https://github.com/microsoft/fluentui/issues/33576
+ */
+function importAll(r) {
+  r.keys().forEach(r);
+}
+
+// Explicitly add to browser test
+importAll(require.context('../dist/esm', true, /\.spec\.js$/));
diff --git a/packages/charts/chart-web-components/scripts/transform-fragments.js b/packages/charts/chart-web-components/scripts/transform-fragments.js
new file mode 100644
index 00000000000000..5387a94fa653d3
--- /dev/null
+++ b/packages/charts/chart-web-components/scripts/transform-fragments.js
@@ -0,0 +1,34 @@
+/* eslint-disable @typescript-eslint/explicit-function-return-type, @typescript-eslint/typedef */
+
+/**
+ * This script should be shared for all web-component packages.
+ * Tracking issue - https://github.com/microsoft/fluentui/issues/33576
+ */
+
+/**
+ * Reduces extra spaces in HTML tagged templates.
+ *
+ * @param {string} data - the fragment value
+ * @returns string
+ */
+export function transformHTMLFragment(data) {
+  data = data.replace(/\s*([<>])\s*/g, '$1'); // remove spaces before and after angle brackets
+  return data.replace(/\s{2,}/g, ' '); // Collapse all sequences to 1 space
+}
+
+/**
+ * Reduces extra spaces in CSS tagged templates.
+ *
+ * Breakdown of this regex:
+ *   (?:\s*\/\*(?:.|\s)+?\*\/\s*)  Remove comments (non-capturing)
+ *   (?:;)\s+(?=\})  Remove semicolons and spaces followed by property list end (non-capturing)
+ *   \s+(?=\{)  Remove spaces before property list start (non-capturing)
+ *   (?<=:)\s+  Remove spaces after property declarations (non-capturing)
+ *   \s*([{};,])\s*  Remove extra spaces before and after braces, semicolons, and commas (captures)
+ *
+ * @param {string} data - the fragment value
+ * @returns string
+ */
+export function transformCSSFragment(data) {
+  return data.replace(/(?:\s*\/\*(?:.|\s)+?\*\/\s*)|(?:;)\s+(?=\})|\s+(?=\{)|(?<=:)\s+|\s*([{};,])\s*/g, '$1');
+}
diff --git a/packages/charts/chart-web-components/scripts/type-check.js b/packages/charts/chart-web-components/scripts/type-check.js
new file mode 100644
index 00000000000000..9d8a4b6c2f4198
--- /dev/null
+++ b/packages/charts/chart-web-components/scripts/type-check.js
@@ -0,0 +1,63 @@
+// @ts-check
+
+/**
+ * This script should be shared for all web-component packages.
+ * Tracking issue - https://github.com/microsoft/fluentui/issues/33576
+ */
+
+import fs from 'node:fs';
+import path from 'node:path';
+import { promisify } from 'node:util';
+import { exec } from 'node:child_process';
+import { exit } from 'node:process';
+
+const asyncExec = promisify(exec);
+
+main().catch(err => {
+  console.error(err);
+  exit(1);
+});
+
+/**
+ * Copied from ${@link 'file://./../../../../scripts/tasks/src/type-check.ts'}
+ */
+async function main() {
+  const rootConfig = JSON.parse(fs.readFileSync(path.join(import.meta.dirname, '../tsconfig.json'), 'utf-8'));
+
+  const tsConfigsRefs = getTsConfigs(rootConfig, { spec: false, e2e: false });
+
+  const asyncQueue = [];
+
+  for (const ref of tsConfigsRefs) {
+    const program = `tsc -p ${ref} --pretty --noEmit --baseUrl .`;
+    asyncQueue.push(asyncExec(program));
+  }
+
+  return Promise.all(asyncQueue).catch(err => {
+    console.error(err.stdout);
+    exit(1);
+  });
+}
+
+/**
+ * @param {{references?: Array<{ path: string }>;}} solutionConfig
+ * @param {{ spec: boolean, e2e: boolean }} exclude
+ */
+function getTsConfigs(solutionConfig, exclude) {
+  const refs = solutionConfig.references ?? [];
+  /** @type {string[]} */
+  const refsPaths = [];
+
+  for (const ref of refs) {
+    if (exclude.spec && ref.path.includes('spec')) {
+      continue;
+    }
+    if (exclude.e2e && ref.path.includes('cy')) {
+      continue;
+    }
+
+    refsPaths.push(ref.path);
+  }
+
+  return refsPaths;
+}
diff --git a/packages/charts/chart-web-components/scripts/verify-packaging.js b/packages/charts/chart-web-components/scripts/verify-packaging.js
new file mode 100644
index 00000000000000..6cbfc5d9a437b1
--- /dev/null
+++ b/packages/charts/chart-web-components/scripts/verify-packaging.js
@@ -0,0 +1,79 @@
+// @ts-check
+/**
+ * Copied from ${@link 'file://./../../../../scripts/tasks/src/verify-packaging.ts'}
+ */
+
+/**
+ * This script should be shared for all web-component packages.
+ * Tracking issue - https://github.com/microsoft/fluentui/issues/33576
+ */
+
+import assert from 'node:assert/strict';
+import { spawnSync } from 'node:child_process';
+import { readFileSync } from 'node:fs';
+import path from 'node:path';
+
+import micromatch from 'micromatch';
+
+main();
+
+function main() {
+  /**
+   * @see https://docs.npmjs.com/cli/v10/commands/npm-publish#files-included-in-package
+   */
+  const alwaysPublishedFiles = ['LICENSE', 'package.json', 'README.md'];
+  const rootConfigFiles = [
+    'just.config.[jt]s',
+    'jest.config.[jt]s',
+    '.eslintrc.(js|json)',
+    'project.json',
+    '.babelrc.json',
+    '.swcrc',
+    'tsconfig(.*)?.json',
+  ];
+  const nonProdAssets = ['assets/', 'docs/*', 'temp/*', 'bundle-size/*', '.storybook/*', 'stories/*'];
+
+  verifyPackaging({ alwaysPublishedFiles, nonProdAssets, rootConfigFiles });
+}
+
+/**
+ *
+ * @param {{alwaysPublishedFiles:string[];rootConfigFiles:string[];nonProdAssets:string[]}} options
+ * @returns
+ */
+
+function verifyPackaging(options) {
+  const { alwaysPublishedFiles, nonProdAssets, rootConfigFiles } = options;
+  const root = path.join(import.meta.dirname, '../');
+
+  /** @type {{ private?: boolean }} */
+  const packageJSON = JSON.parse(readFileSync(path.join(root, 'package.json'), 'utf-8'));
+
+  // no need to check if package is not being published yet
+  if (packageJSON.private) {
+    return;
+  }
+
+  const npmPackResult = spawnSync('npm', ['pack', '--dry-run']);
+
+  const processedResult = npmPackResult.output
+    .toString()
+    .replace(/\bnpm notice\b\s+[\d.]+[kB]+\s+/gi, '')
+    .replace(/[ ]+/g, '');
+  const processedResultArr = processedResult.split('\n');
+
+  assert.ok(micromatch(processedResultArr, alwaysPublishedFiles).length, `npm always shipped files`);
+  assert.equal(
+    micromatch(processedResultArr, nonProdAssets).length,
+    0,
+    `wont ship non production code related folders/files`,
+  );
+  assert.equal(micromatch(processedResultArr, 'dist/storybook/**').length, 0, `wont ship storybook assets`);
+  assert.equal(micromatch(processedResultArr, rootConfigFiles).length, 0, `wont ship configuration files`);
+  assert.ok(micromatch(processedResultArr, 'dist/*.d.ts').length, 'ships rolluped dts');
+  assert.ok(micromatch(processedResultArr, 'dist/*.(min.js|js)').length, 'ships rolluped js');
+  assert.equal(micromatch(processedResultArr, 'src/*').length, 0, `wont ship source code from "/src"`);
+
+  assert.ok(micromatch(processedResultArr, 'dist/esm/**/*.(js|map)').length, 'ships esm');
+  assert.ok(micromatch(processedResultArr, 'dist/dts/**/*.d.ts').length, 'ships types');
+}
diff --git a/packages/charts/chart-web-components/src/donut-chart/define.ts b/packages/charts/chart-web-components/src/donut-chart/define.ts
new file mode 100644
index 00000000000000..1b8e20ac99e32d
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/define.ts
@@ -0,0 +1,4 @@
+import { FluentDesignSystem } from '@fluentui/web-components';
+import { definition } from './donut-chart.definition.js';
+
+definition.define(FluentDesignSystem.registry);
diff --git a/packages/charts/chart-web-components/src/donut-chart/donut-chart.bench.ts b/packages/charts/chart-web-components/src/donut-chart/donut-chart.bench.ts
new file mode 100644
index 00000000000000..5936ecc050474c
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/donut-chart.bench.ts
@@ -0,0 +1,12 @@
+import { FluentDesignSystem } from '@fluentui/web-components';
+import { definition } from './donut-chart.definition.js';
+
+definition.define(FluentDesignSystem.registry);
+
+const itemRenderer = () => {
+  const donutChart = document.createElement('fluent-donut-chart');
+  return donutChart;
+};
+
+export default itemRenderer;
+export { tests } from '../utils/benchmark-wrapper.js';
diff --git a/packages/charts/chart-web-components/src/donut-chart/donut-chart.definition.ts b/packages/charts/chart-web-components/src/donut-chart/donut-chart.definition.ts
new file mode 100644
index 00000000000000..3cf608dc046483
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/donut-chart.definition.ts
@@ -0,0 +1,18 @@
+import { FluentDesignSystem } from '@fluentui/web-components';
+import { DonutChart } from './donut-chart.js';
+import { styles } from './donut-chart.styles.js';
+import { template } from './donut-chart.template.js';
+
+/**
+ * @public
+ * @remarks
+ * HTML Element: `<fluent-donut-chart>`
+ */
+export const definition = DonutChart.compose({
+  name: `${FluentDesignSystem.prefix}-donut-chart`,
+  template,
+  styles,
+  shadowOptions: {
+    delegatesFocus: true,
+  },
+});
diff --git a/packages/charts/chart-web-components/src/donut-chart/donut-chart.options.ts b/packages/charts/chart-web-components/src/donut-chart/donut-chart.options.ts
new file mode 100644
index 00000000000000..75f288ca6bd9ea
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/donut-chart.options.ts
@@ -0,0 +1,45 @@
+export interface ChartDataPoint {
+  /**
+   * Legend text for the datapoint in the chart
+   */
+  legend: string;
+
+  /**
+   * data the datapoint in the chart
+   */
+  data: number;
+
+  /**
+   * Color for the legend in the chart. If not provided, it will fallback on the default color palette.
+   */
+  color?: string;
+
+  /**
+   * Callout data for x axis
+   * This is an optional prop, If haven;t given legend will take
+   */
+  xAxisCalloutData?: string;
+
+  /**
+   * Callout data for y axis
+   * This is an optional prop, If haven't given data will take
+   */
+  yAxisCalloutData?: string;
+}
+
+export interface ChartProps {
+  /**
+   * chart title for the chart
+   */
+  chartTitle?: string;
+
+  /**
+   * data for the points in the chart
+   */
+  chartData: ChartDataPoint[];
+}
+
+export type Legend = {
+  title: string;
+  color: string;
+};
diff --git a/packages/charts/chart-web-components/src/donut-chart/donut-chart.spec.ts b/packages/charts/chart-web-components/src/donut-chart/donut-chart.spec.ts
new file mode 100644
index 00000000000000..1c48d4677d4cca
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/donut-chart.spec.ts
@@ -0,0 +1,139 @@
+import { test } from '@playwright/test';
+import { expect, fixtureURL } from '../helpers.tests.js';
+import type { ChartDataPoint, ChartProps } from './donut-chart.options.js';
+
+const points: ChartDataPoint[] = [
+  {
+    legend: 'first',
+    data: 20000,
+  },
+  {
+    legend: 'second',
+    data: 39000,
+  },
+];
+
+const data: ChartProps = {
+  chartTitle: 'Donut chart basic example',
+  chartData: points,
+};
+
+test.describe('Donut-chart - Basic', () => {
+  test.beforeEach(async ({ page }) => {
+    await page.goto(fixtureURL('components-donutchart--basic'));
+    await page.setContent(/* html */ `
+      <div>
+        <fluent-donut-chart value-inside-donut="39,000" inner-radius="55" data='${JSON.stringify(data)}'>
+        </fluent-donut-chart>
+      </div>
+    `);
+    await page.waitForFunction(() => customElements.whenDefined('fluent-donut-chart'));
+  });
+
+  test('Should render chart properly', async ({ page }) => {
+    const element = page.locator('fluent-donut-chart');
+    const legends = element.locator('.legend-text');
+    await expect(legends.nth(0).getByText('first')).toBeVisible();
+    await expect(legends.nth(1).getByText('second')).toBeVisible();
+    await expect(element.getByText('39,000')).toBeVisible();
+  });
+
+  test('Should render path with proper attributes and css', async ({ page }) => {
+    const element = page.locator('fluent-donut-chart');
+    const arcList = element.locator('.arc');
+    await expect(arcList).toHaveCount(2);
+    await expect(arcList.nth(0)).toHaveAttribute('fill', '#637cef');
+    await expect(arcList.nth(0)).toHaveAttribute('aria-label', 'first, 20000.');
+    await expect(arcList.nth(0)).toHaveAttribute(
+      'd',
+      'M-76.547,47.334A90,90,0,0,1,-1.055,-89.994L-1.055,-54.99A55,55,0,0,0,-46.993,28.577Z',
+    );
+    await expect(arcList.nth(0)).toHaveCSS('fill', 'rgb(99, 124, 239)');
+    await expect(arcList.nth(0)).toHaveCSS('--borderRadiusMedium', '4px');
+
+    await expect(arcList.nth(1)).toHaveAttribute('fill', '#e3008c');
+    await expect(arcList.nth(1)).toHaveAttribute('aria-label', 'second, 39000.');
+    await expect(arcList.nth(1)).toHaveAttribute(
+      'd',
+      'M1.055,-89.994A90,90,0,1,1,-75.417,49.115L-45.863,30.358A55,55,0,1,0,1.055,-54.99Z',
+    );
+    await expect(arcList.nth(1)).toHaveCSS('fill', 'rgb(227, 0, 140)');
+    await expect(arcList.nth(1)).toHaveCSS('--borderRadiusMedium', '4px');
+  });
+
+  test('Should render legends data properly', async ({ page }) => {
+    const element = page.locator('fluent-donut-chart');
+    const legends = element.getByRole('option');
+    await expect(legends).toHaveCount(2);
+    const firstLegend = element.getByRole('option', { name: 'First' });
+    const secondLegend = element.getByRole('option', { name: 'Second' });
+    await expect(firstLegend).toBeVisible();
+    await expect(firstLegend).toHaveText('first');
+    await expect(firstLegend).toHaveCSS('--borderRadiusMedium', '4px');
+    await expect(secondLegend).toBeVisible();
+    await expect(secondLegend).toHaveText('second');
+    await expect(secondLegend).toHaveCSS('--borderRadiusMedium', '4px');
+  });
+
+  test('Should update path css values with mouse click event on legend', async ({ page }) => {
+    const element = page.locator('fluent-donut-chart');
+    const firstPath = element.getByLabel('first,');
+    const secondPath = element.getByLabel('second,');
+    const firstLegend = element.getByRole('option', { name: 'First' });
+    //mouse events
+    await firstLegend.click();
+    await expect(firstPath).toHaveCSS('opacity', '1');
+    await expect(secondPath).toHaveCSS('opacity', '0.1');
+    await firstLegend.click();
+    await expect(firstPath).toHaveCSS('opacity', '1');
+    await expect(secondPath).toHaveCSS('opacity', '1');
+  });
+
+  test('Should update path css values with mouse hover event on legend', async ({ page }) => {
+    const element = page.locator('fluent-donut-chart');
+    const firstPath = element.getByLabel('first,');
+    const secondPath = element.getByLabel('second,');
+    const firstLegend = element.getByRole('option', { name: 'First' });
+    //mouse events
+    await firstLegend.dispatchEvent('mouseover');
+    await expect(firstPath).toHaveCSS('opacity', '1');
+    await expect(secondPath).toHaveCSS('opacity', '0.1');
+    await firstLegend.dispatchEvent('mouseout');
+    await expect(firstPath).toHaveCSS('opacity', '1');
+    await expect(secondPath).toHaveCSS('opacity', '1');
+  });
+
+  test('Should show callout with mouse hover event on path', async ({ page }) => {
+    const element = page.locator('fluent-donut-chart');
+    const firstPath = element.getByLabel('first,');
+    const calloutRoot = element.locator('.tooltip');
+    await expect(calloutRoot).toHaveCount(0);
+    await firstPath.dispatchEvent('mouseover');
+    await expect(calloutRoot).toHaveCount(1);
+    await expect(calloutRoot).toHaveCSS('opacity', '1');
+    const calloutLegendText = element.locator('.tooltip-legend-text');
+    await expect(calloutLegendText).toHaveText('first');
+    const calloutContentY = element.locator('.tooltip-content-y');
+    await expect(calloutContentY).toHaveText('20000');
+    await firstPath.dispatchEvent('mouseout');
+    await expect(calloutRoot).not.toHaveCSS('opacity', '0');
+  });
+
+  test('Should update callout data when mouse moved from one path to another path', async ({ page }) => {
+    const element = page.locator('fluent-donut-chart');
+    const firstPath = element.getByLabel('first,');
+    const calloutRoot = element.locator('.tooltip');
+    await expect(calloutRoot).toHaveCount(0);
+    await firstPath.dispatchEvent('mouseover');
+    await expect(calloutRoot).toHaveCSS('opacity', '1');
+    const calloutLegendText = element.locator('.tooltip-legend-text');
+    await expect(calloutLegendText).toHaveText('first');
+    const calloutContentY = element.locator('.tooltip-content-y');
+    await expect(calloutContentY).toHaveText('20000');
+    const secondPath = element.getByLabel('second,');
+    await secondPath.dispatchEvent('mouseover');
+    await expect(calloutRoot).toHaveCSS('opacity', '1');
+    await expect(calloutLegendText).toHaveText('second');
+    await expect(calloutContentY).toHaveText('39000');
+  });
+});
diff --git a/packages/charts/chart-web-components/src/donut-chart/donut-chart.stories.ts b/packages/charts/chart-web-components/src/donut-chart/donut-chart.stories.ts
new file mode 100644
index 00000000000000..14177a11c60220
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/donut-chart.stories.ts
@@ -0,0 +1,39 @@
+import { html } from '@microsoft/fast-element';
+import type { Meta, Story, StoryArgs } from '../helpers.stories.js';
+import { renderComponent } from '../helpers.stories.js';
+import { DonutChart as FluentDonutChart } from './donut-chart.js';
+import type { ChartDataPoint, ChartProps } from './donut-chart.options.js';
+
+const points: ChartDataPoint[] = [
+  {
+    legend: 'first',
+    data: 20000,
+  },
+  {
+    legend: 'second',
+    data: 39000,
+  },
+];
+
+const data: ChartProps = {
+  chartTitle: 'Donut chart basic example',
+  chartData: points,
+};
+
+const storyTemplate = html<StoryArgs<FluentDonutChart>>`
+  <fluent-donut-chart data="${JSON.stringify(data)}" value-inside-donut="39,000" inner-radius="55">
+  </fluent-donut-chart>
+`;
+
+export default {
+  title: 'Components/DonutChart',
+} as Meta<FluentDonutChart>;
+
+export const RTL: Story<FluentDonutChart> = renderComponent(html<StoryArgs<FluentDonutChart>>`
+  <div dir="rtl">
+    <fluent-donut-chart data="${JSON.stringify(data)}" value-inside-donut="39,000" inner-radius="55">
+    </fluent-donut-chart>
+  </div>
+`);
+
+export const Basic: Story<FluentDonutChart> = renderComponent(storyTemplate).bind({});
diff --git a/packages/charts/chart-web-components/src/donut-chart/donut-chart.styles.ts b/packages/charts/chart-web-components/src/donut-chart/donut-chart.styles.ts
new file mode 100644
index 00000000000000..5833ddfa60df27
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/donut-chart.styles.ts
@@ -0,0 +1,159 @@
+import { css } from '@microsoft/fast-element';
+import {
+  borderRadiusMedium,
+  colorNeutralBackground1,
+  colorNeutralForeground1,
+  colorNeutralShadowAmbient,
+  colorNeutralShadowKey,
+  colorStrokeFocus1,
+  colorStrokeFocus2,
+  colorTransparentStroke,
+  display,
+  forcedColorsStylesheetBehavior,
+  spacingHorizontalL,
+  spacingHorizontalNone,
+  spacingHorizontalS,
+  spacingVerticalL,
+  spacingVerticalMNudge,
+  spacingVerticalNone,
+  spacingVerticalS,
+  strokeWidthThickest,
+  strokeWidthThin,
+  typographyBody1Styles,
+  typographyCaption1Styles,
+  typographyTitle2Styles,
+  typographyTitle3Styles,
+} from '@fluentui/web-components';
+
+/**
+ * Styles for the DonutChart component.
+ *
+ * @public
+ */
+export const styles = css`
+  ${display('inline-block')}
+
+  :host {
+    ${typographyBody1Styles}
+    align-items: center;
+    flex-direction: column;
+    width: 100%;
+    height: 100%;
+    position: relative;
+  }
+
+  .chart {
+    box-sizing: content-box;
+    overflow: visible;
+    display: block;
+  }
+
+  .arc.inactive {
+    opacity: 0.1;
+  }
+
+  .arc:focus {
+    outline: none;
+    stroke-width: ${strokeWidthThin};
+    stroke: ${colorStrokeFocus1};
+  }
+
+  .arc-outline {
+    fill: none;
+  }
+
+  .arc-outline:has(+ .arc:focus) {
+    stroke-width: ${strokeWidthThickest};
+    stroke: ${colorStrokeFocus2};
+  }
+
+  .text-inside-donut {
+    ${typographyTitle3Styles}
+    fill: ${colorNeutralForeground1};
+  }
+
+  .legend-container {
+    padding-top: ${spacingVerticalL};
+    white-space: nowrap;
+    width: 100%;
+    align-items: center;
+    margin: -${spacingVerticalS} ${spacingHorizontalNone} ${spacingVerticalNone} -${spacingHorizontalS};
+    flex-wrap: wrap;
+    display: flex;
+  }
+
+  .legend {
+    display: flex;
+    align-items: center;
+    cursor: pointer;
+    border: none;
+    padding: ${spacingHorizontalS};
+    background: none;
+    text-transform: capitalize;
+  }
+
+  .legend-rect {
+    width: 12px;
+    height: 12px;
+    margin-inline-end: ${spacingHorizontalS};
+    border: ${strokeWidthThin} solid;
+  }
+
+  .legend-text {
+    ${typographyCaption1Styles}
+    color: ${colorNeutralForeground1};
+  }
+
+  .legend.inactive .legend-rect {
+    background-color: transparent !important;
+  }
+
+  .legend.inactive .legend-text {
+    opacity: 0.67;
+  }
+
+  .tooltip {
+    display: grid;
+    overflow: hidden;
+    padding: ${spacingVerticalMNudge} ${spacingHorizontalL};
+    background-color: ${colorNeutralBackground1};
+    background-blend-mode: normal, luminosity;
+    border-radius: ${borderRadiusMedium};
+    border: 1px solid ${colorTransparentStroke};
+    filter: drop-shadow(0 0 2px ${colorNeutralShadowAmbient}) drop-shadow(0 8px 16px ${colorNeutralShadowKey});
+    position: absolute;
+    z-index: 1;
+    pointer-events: none;
+  }
+
+  .tooltip-body {
+    padding-inline-start: ${spacingHorizontalS};
+    color: ${colorNeutralForeground1};
+    border-inline-start: 4px solid;
+  }
+
+  .tooltip-legend-text {
+    ${typographyCaption1Styles}
+  }
+
+  .tooltip-content-y {
+    ${typographyTitle2Styles}
+  }
+`.withBehaviors(
+  forcedColorsStylesheetBehavior(css`
+    .text-inside-donut {
+      fill: CanvasText;
+    }
+
+    .legend-rect,
+    .tooltip-body {
+      forced-color-adjust: none;
+    }
+
+    .tooltip-legend-text,
+    .tooltip-content-y {
+      forced-color-adjust: auto;
+      color: CanvasText;
+    }
+  `),
+);
diff --git a/packages/charts/chart-web-components/src/donut-chart/donut-chart.template.ts b/packages/charts/chart-web-components/src/donut-chart/donut-chart.template.ts
new file mode 100644
index 00000000000000..f435e709755c9e
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/donut-chart.template.ts
@@ -0,0 +1,70 @@
+import { ElementViewTemplate, html, ref, repeat, when } from '@microsoft/fast-element';
+import type { DonutChart } from './donut-chart.js';
+import type { Legend } from './donut-chart.options.js';
+
+/**
+ * Generates a template for the DonutChart component.
+ *
+ * @public
+ */
+export function donutChartTemplate<T extends DonutChart>(): ElementViewTemplate<T> {
+  return html<T>`
+    <template>
+      <div ${ref('chartWrapper')}>
+        <svg class="chart" width="${x => x.width}" height="${x => x.height}">
+          <g ${ref('group')} transform="translate(${x => x.width / 2}, ${x => x.height / 2})"></g>
+        </svg>
+      </div>
+      ${when(
+        x => !x.hideLegends,
+        html<T>`
+          <div class="legend-container" role="listbox" aria-label="${x => x.legendListLabel}">
+            ${repeat(
+              x => x.legends,
+              html<Legend, T>` <button
+                class="legend${(x, c) =>
+                  c.parent.activeLegend === '' || c.parent.activeLegend === x.title ? '' : ' inactive'}"
+                role="option"
+                aria-setsize="${(x, c) => c.length}"
+                aria-posinset="${(x, c) => c.index + 1}"
+                aria-selected="${(x, c) => x.title === c.parent.activeLegend}"
+                @mouseover="${(x, c) => c.parent.handleLegendMouseoverAndFocus(x.title)}"
+                @mouseout="${(x, c) => c.parent.handleLegendMouseoutAndBlur()}"
+                @focus="${(x, c) => c.parent.handleLegendMouseoverAndFocus(x.title)}"
+                @blur="${(x, c) => c.parent.handleLegendMouseoutAndBlur()}"
+                @click="${(x, c) => c.parent.handleLegendClick(x.title)}"
+              >
+                <div
+                  class="legend-rect"
+                  style="background-color: ${x => x.color}; border-color: ${x => x.color};"
+                ></div>
+                <div class="legend-text">${x => x.title}</div>
+              </button>`,
+            )}
+          </div>
+        `,
+      )}
+      ${when(
+        x => !x.hideTooltip && x.tooltipProps.isVisible,
+        html<T>`
+          <div
+            class="tooltip"
+            style="inset-inline-start: ${x => x.tooltipProps.xPos}px; top: ${x => x.tooltipProps.yPos}px"
+          >
+            <div class="tooltip-body" style="border-color: ${x => x.tooltipProps.color};">
+              <div class="tooltip-legend-text">${x => x.tooltipProps.legend}</div>
+              <div class="tooltip-content-y" style="color: ${x => x.tooltipProps.color};">
+                ${x => x.tooltipProps.yValue}
+              </div>
+            </div>
+          </div>
+        `,
+      )}
+    </template>
+  `;
+}
+
+/**
+ * @internal
+ */
+export const template: ElementViewTemplate<DonutChart> = donutChartTemplate();
diff --git a/packages/charts/chart-web-components/src/donut-chart/donut-chart.ts b/packages/charts/chart-web-components/src/donut-chart/donut-chart.ts
new file mode 100644
index 00000000000000..20d17d6572927b
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/donut-chart.ts
@@ -0,0 +1,257 @@
+import { attr, FASTElement, nullableNumberConverter, observable } from '@microsoft/fast-element';
+import { arc as d3Arc, pie as d3Pie, PieArcDatum } from 'd3-shape';
+import {
+  getColorFromToken,
+  getNextColor,
+  getRTL,
+  jsonConverter,
+  SVG_NAMESPACE_URI,
+  validateChartProps,
+  wrapText,
+} from '../utils/chart-helpers.js';
+import type { ChartDataPoint, ChartProps, Legend } from './donut-chart.options.js';
+
+export class DonutChart extends FASTElement {
+  @attr({ converter: nullableNumberConverter })
+  public height: number = 200;
+
+  @attr({ converter: nullableNumberConverter })
+  public width: number = 200;
+
+  @attr({ attribute: 'hide-legends', mode: 'boolean' })
+  public hideLegends: boolean = false;
+
+  @attr({ attribute: 'hide-tooltip', mode: 'boolean' })
+  public hideTooltip: boolean = false;
+
+  @attr({ converter: jsonConverter })
+  public data!: ChartProps;
+
+  @attr({ attribute: 'inner-radius', converter: nullableNumberConverter })
+  public innerRadius: number = 1;
+
+  @attr({ attribute: 'value-inside-donut' })
+  public valueInsideDonut?: string;
+
+  @attr({ attribute: 'legend-list-label' })
+  public legendListLabel?: string;
+
+  @observable
+  public legends: Legend[] = [];
+
+  @observable
+  public activeLegend: string = '';
+  protected activeLegendChanged(oldValue: string, newValue: string) {
+    if (newValue === '') {
+      this._arcs?.forEach(arc => arc.classList.remove('inactive'));
+    } else {
+      this._arcs?.forEach(arc => {
+        if (arc.getAttribute('data-id') === newValue) {
+          arc.classList.remove('inactive');
+        } else {
+          arc.classList.add('inactive');
+        }
+      });
+    }
+
+    this._updateTextInsideDonut();
+  }
+
+  @observable
+  public isLegendSelected: boolean = false;
+
+  @observable
+  public tooltipProps = {
+    isVisible: false,
+    legend: '',
+    yValue: '',
+    color: '',
+    xPos: 0,
+    yPos: 0,
+  };
+  protected tooltipPropsChanged(oldValue: any, newValue: any) {
+    this._updateTextInsideDonut();
+  }
+
+  public chartWrapper!: HTMLDivElement;
+  public group!: SVGGElement;
+  public elementInternals: ElementInternals = this.attachInternals();
+
+  private _arcs: SVGPathElement[] = [];
+  private _isRTL: boolean = false;
+  private _textInsideDonut?: SVGTextElement;
+
+  constructor() {
+    super();
+
+    this.elementInternals.role = 'region';
+  }
+
+  public handleLegendMouseoverAndFocus(legendTitle: string) {
+    if (this.isLegendSelected) {
+      return;
+    }
+
+    this.activeLegend = legendTitle;
+  }
+
+  public handleLegendMouseoutAndBlur() {
+    if (this.isLegendSelected) {
+      return;
+    }
+
+    this.activeLegend = '';
+  }
+
+  public handleLegendClick(legendTitle: string) {
+    if (this.isLegendSelected && this.activeLegend === legendTitle) {
+      this.activeLegend = '';
+      this.isLegendSelected = false;
+    } else {
+      this.activeLegend = legendTitle;
+      this.isLegendSelected = true;
+    }
+  }
+
+  connectedCallback() {
+    super.connectedCallback();
+
+    validateChartProps(this.data, 'data');
+
+    this.data.chartData.forEach((dataPoint, index) => {
+      if (dataPoint.color) {
+        dataPoint.color = getColorFromToken(dataPoint.color);
+      } else {
+        dataPoint.color = getNextColor(index);
+      }
+    });
+
+    this.legends = this._getLegends();
+    this._isRTL = getRTL(this);
+    this.elementInternals.ariaLabel =
+      this.data.chartTitle || `Donut chart with ${this.data.chartData.length} segments.`;
+
+    this._render();
+  }
+
+  private _render() {
+    const pie = d3Pie<ChartDataPoint>()
+      .value(d => d.data)
+      .padAngle(0.02);
+    const arc = d3Arc<PieArcDatum<ChartDataPoint>>()
+      .innerRadius(this.innerRadius)
+      .outerRadius((Math.min(this.height, this.width) - 20) / 2);
+
+    pie(this.data.chartData).forEach(arcDatum => {
+      const arcGroup = document.createElementNS(SVG_NAMESPACE_URI, 'g');
+      this.group.appendChild(arcGroup);
+
+      const pathOutline = document.createElementNS(SVG_NAMESPACE_URI, 'path');
+      arcGroup.appendChild(pathOutline);
+      pathOutline.classList.add('arc-outline');
+      pathOutline.setAttribute('d', arc(arcDatum)!);
+
+      const path = document.createElementNS(SVG_NAMESPACE_URI, 'path');
+      arcGroup.appendChild(path);
+      this._arcs.push(path);
+      path.classList.add('arc');
+      path.setAttribute('d', arc(arcDatum)!);
+      path.setAttribute('fill', arcDatum.data.color!);
+      path.setAttribute('data-id', arcDatum.data.legend);
+      path.setAttribute('tabindex', '0');
+      path.setAttribute('aria-label', `${arcDatum.data.legend}, ${arcDatum.data.data}.`);
+      path.setAttribute('role', 'img');
+
+      path.addEventListener('mouseover', event => {
+        if (this.activeLegend !== '' && this.activeLegend !== arcDatum.data.legend) {
+          return;
+        }
+
+        const bounds = this.getBoundingClientRect();
+
+        this.tooltipProps = {
+          isVisible: true,
+          legend: arcDatum.data.legend,
+          yValue: `${arcDatum.data.data}`,
+          color: arcDatum.data.color!,
+          xPos: this._isRTL ? bounds.right - event.clientX : event.clientX - bounds.left,
+          yPos: event.clientY - bounds.top - 85,
+        };
+      });
+      path.addEventListener('focus', event => {
+        if (this.activeLegend !== '' && this.activeLegend !== arcDatum.data.legend) {
+          return;
+        }
+
+        const rootBounds = this.getBoundingClientRect();
+        const arcBounds = path.getBoundingClientRect();
+
+        this.tooltipProps = {
+          isVisible: true,
+          legend: arcDatum.data.legend,
+          yValue: `${arcDatum.data.data}`,
+          color: arcDatum.data.color!,
+          xPos: this._isRTL
+            ? rootBounds.right - arcBounds.left - arcBounds.width / 2
+            : arcBounds.left + arcBounds.width / 2 - rootBounds.left,
+          yPos: arcBounds.top - rootBounds.top - 85,
+        };
+      });
+      path.addEventListener('blur', event => {
+        this.tooltipProps = { isVisible: false, legend: '', yValue: '', color: '', xPos: 0, yPos: 0 };
+      });
+    });
+
+    this.addEventListener('mouseleave', () => {
+      this.tooltipProps = { isVisible: false, legend: '', yValue: '', color: '', xPos: 0, yPos: 0 };
+    });
+
+    if (this.valueInsideDonut) {
+      this._textInsideDonut = document.createElementNS(SVG_NAMESPACE_URI, 'text');
+      this.group.appendChild(this._textInsideDonut);
+      this._textInsideDonut.classList.add('text-inside-donut');
+      this._textInsideDonut.setAttribute('x', '0');
+      this._textInsideDonut.setAttribute('y', '0');
+      this._textInsideDonut.setAttribute('text-anchor', 'middle');
+      this._textInsideDonut.setAttribute('dominant-baseline', 'middle');
+      this._updateTextInsideDonut();
+    }
+  }
+
+  private _getLegends(): Legend[] {
+    return this.data.chartData.map((d, index) => ({
+      title: d.legend,
+      color: d.color!,
+    }));
+  }
+
+  private _getTextInsideDonut(valueInsideDonut: string) {
+    let textInsideDonut = valueInsideDonut;
+
+    if (valueInsideDonut && (this.activeLegend !== '' || this.tooltipProps.isVisible)) {
+      const highlightedDataPoint = this.data.chartData.find(
+        dataPoint =>
+          dataPoint.legend === this.activeLegend ||
+          (this.tooltipProps.isVisible && dataPoint.legend === this.tooltipProps.legend),
+      );
+      textInsideDonut = highlightedDataPoint!.yAxisCalloutData ?? highlightedDataPoint!.data.toLocaleString();
+    }
+
+    return textInsideDonut;
+  }
+
+  private _updateTextInsideDonut() {
+    if (!this._textInsideDonut || !this.valueInsideDonut) {
+      return;
+    }
+
+    this._textInsideDonut.textContent = this._getTextInsideDonut(this.valueInsideDonut);
+    const lineHeight = this._textInsideDonut.getBoundingClientRect().height;
+    wrapText(this._textInsideDonut, 2 * this.innerRadius);
+    const lines = this._textInsideDonut.getElementsByTagName('tspan');
+    const start = -1 * Math.trunc((lines.length - 1) / 2);
+    for (let i = 0; i < lines.length; i++) {
+      lines[i].setAttribute('dy', `${(start + i) * lineHeight}`);
+    }
+  }
+}
diff --git a/packages/charts/chart-web-components/src/donut-chart/index.ts b/packages/charts/chart-web-components/src/donut-chart/index.ts
new file mode 100644
index 00000000000000..60e54e1a59b9ba
--- /dev/null
+++ b/packages/charts/chart-web-components/src/donut-chart/index.ts
@@ -0,0 +1,4 @@
+export { definition as DonutChartDefinition } from './donut-chart.definition.js';
+export { DonutChart } from './donut-chart.js';
+export { styles as DonutChartStyles } from './donut-chart.styles.js';
+export { template as DonutChartTemplate } from './donut-chart.template.js';
diff --git a/packages/charts/chart-web-components/src/helpers.stories.ts b/packages/charts/chart-web-components/src/helpers.stories.ts
new file mode 100644
index 00000000000000..c885723594b95d
--- /dev/null
+++ b/packages/charts/chart-web-components/src/helpers.stories.ts
@@ -0,0 +1,101 @@
+import type { ElementViewTemplate, FASTElement, ViewTemplate } from '@microsoft/fast-element';
+import type { AnnotatedStoryFn, Args, ComponentAnnotations, Renderer, StoryAnnotations } from '@storybook/csf';
+
+/**
+ * A helper that returns a function to bind a Storybook story to a ViewTemplate.
+ *
+ * @param template - The ViewTemplate to render
+ * @returns - a function to bind a Storybook story
+ */
+export function renderComponent<TArgs = Args>(template: ViewTemplate): (args: TArgs) => Element | DocumentFragment {
+  return function (args) {
+    const storyFragment = new DocumentFragment();
+    template.render(args, storyFragment);
+    if (storyFragment.childElementCount === 1) {
+      return storyFragment.firstElementChild!;
+    }
+    return storyFragment;
+  };
+}
+
+export declare interface FASTComponentsRenderer extends Renderer {
+  canvasElement: FASTElement;
+  component: typeof FASTElement | string;
+  storyResult: string | Node | DocumentFragment | ElementViewTemplate;
+}
+
+/**
+ * A helper that returns a function to bind a Storybook story to a ViewTemplate.
+ */
+export type FASTFramework = Renderer & {
+  component: typeof FASTElement;
+  storyResult: FASTElement | Element | DocumentFragment;
+};
+
+/**
+ * Metadata to configure the stories for a component.
+ */
+export declare type Meta<TArgs = Args> = ComponentAnnotations<FASTComponentsRenderer, StoryArgs<TArgs>>;
+
+/**
+ * Story object that represents a CSFv3 component example.
+ *
+ * @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
+ */
+export declare type StoryObj<TArgs = Args> = StoryAnnotations<FASTComponentsRenderer, StoryArgs<TArgs>>;
+
+/**
+ * Story function that represents a CSFv2 component example.
+ */
+export declare type StoryFn<TArgs = Args> = AnnotatedStoryFn<FASTFramework, TArgs>;
+
+/**
+ * Story function that represents a CSFv2 component example.
+ *
+ * NOTE that in Storybook 7.0, this type will be renamed to `StoryFn` and replaced by the current `StoryObj` type.
+ */
+export declare type Story<TArgs = Args> = StoryFn<StoryArgs<TArgs>>;
+
+/**
+ * Combined Storybook story args.
+ */
+export type StoryArgs<TArgs = Args> = Partial<Omit<TArgs, keyof FASTElement>> & Args;
+
+export function generateImage({
+  width,
+  height = width,
+  backgroundColor = 'rgb(204, 204, 204)',
+  color = 'rgb(150, 150, 150)',
+  text = `${width} x ${height}`,
+}: {
+  width: number;
+  height?: number;
+  backgroundColor?: string;
+  color?: string;
+  text?: string;
+}): string {
+  const canvas = document.createElement('canvas');
+  const context = canvas.getContext('2d') as CanvasRenderingContext2D;
+
+  canvas.width = width;
+  canvas.height = height;
+
+  // Clear the canvas.
+  context.clearRect(0, 0, canvas.width, canvas.height);
+
+  // get the font size to fit the text
+  context.font = '1px sans-serif';
+  const maxFontSize = Math.max(width / context.measureText(text).width / 2, 7);
+
+  // Draw the background
+  context.fillStyle = backgroundColor;
+  context.fillRect(0, 0, canvas.width, canvas.height);
+
+  context.font = `${maxFontSize}px Helvetica, Arial, sans-serif`;
+  context.textAlign = 'center';
+  context.textBaseline = 'middle';
+  context.fillStyle = color;
+  context.fillText(text, canvas.width / 2, canvas.height / 2);
+
+  return canvas.toDataURL('image/png');
+}
diff --git a/packages/charts/chart-web-components/src/helpers.tests.ts b/packages/charts/chart-web-components/src/helpers.tests.ts
new file mode 100644
index 00000000000000..46d72c8403a92f
--- /dev/null
+++ b/packages/charts/chart-web-components/src/helpers.tests.ts
@@ -0,0 +1,86 @@
+import qs from 'qs';
+import { expect as baseExpect, type ExpectMatcherState, type Locator } from '@playwright/test';
+
+/**
+ * Returns a formatted URL for a given Storybook fixture.
+ *
+ * @param id - the Storybook fixture ID
+ * @param args - Story args
+ * @returns - the local URL for the Storybook fixture iframe
+ */
+export function fixtureURL(id: string = 'debug--blank', args?: Record<string, any>): string {
+  const params: Record<string, any> = { id };
+  if (args) {
+    params.args = qs
+      .stringify(args, {
+        allowDots: true,
+        delimiter: ';',
+        format: 'RFC1738',
+        encode: false,
+      })
+      .replace(/=/g, ':')
+      .replace(/\//g, '--');
+  }
+
+  const url = qs.stringify(params, {
+    addQueryPrefix: true,
+    format: 'RFC1738',
+    encode: false,
+  });
+
+  return url;
+}
+
+/**
+ * Evaluate whether an element has the given state or not on its `elementInternals` property.
+ *
+ * @param locator - The Playwright locator for the element.
+ * @param state - The name of the state.
+ * @param expected - Whether the given state is expected to exist.
+ * @param has - Whether the element is expected to have or not have the given state, defaults to `true`.
+ */
+async function toHaveCustomState(
+  this: ExpectMatcherState,
+  locator: Locator,
+  state: string,
+  options?: { timeout?: number },
+) {
+  const assertionName = 'toHaveCustomState';
+  let pass: boolean;
+  let matcherResult: any;
+  const expected: boolean = !this.isNot;
+
+  try {
+    baseExpect(await locator.evaluate((el, state) => el.matches(`:state(${state})`), state, options)).toEqual(true);
+    pass = true;
+  } catch (err: any) {
+    matcherResult = err.matcherResult;
+    pass = false;
+  }
+
+  const message = pass
+    ? () =>
+        this.utils.matcherHint(assertionName, undefined, undefined, { isNot: this.isNot }) +
+        '\n\n' +
+        `Locator: ${locator}\n` +
+        `Expected: ${this.isNot ? 'not' : ''}${this.utils.printExpected(expected)}\n` +
+        (matcherResult ? `Received: ${this.utils.printReceived(matcherResult.actual)}` : '')
+    : () =>
+        this.utils.matcherHint(assertionName, undefined, undefined, { isNot: this.isNot }) +
+        '\n\n' +
+        `Locator: ${locator}\n` +
+        `Expected: ${this.utils.printExpected(expected)}\n` +
+        (matcherResult ? `Received: ${this.utils.printReceived(matcherResult.actual)}` : '');
+
+  return {
+    name: assertionName,
+    message,
+    pass,
+    expected,
+    actual: matcherResult?.actual,
+  };
+}
+
+export const expect = baseExpect.extend({
+  toHaveCustomState,
+});
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/define.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/define.ts
new file mode 100644
index 00000000000000..2af6e03097468c
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/define.ts
@@ -0,0 +1,4 @@
+import { FluentDesignSystem } from '@fluentui/web-components';
+import { definition } from './horizontal-bar-chart.definition.js';
+
+definition.define(FluentDesignSystem.registry);
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.bench.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.bench.ts
new file mode 100644
index 00000000000000..14336cd320d46f
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.bench.ts
@@ -0,0 +1,12 @@
+import { FluentDesignSystem } from '@fluentui/web-components';
+import { definition } from './horizontal-bar-chart.definition.js';
+
+definition.define(FluentDesignSystem.registry);
+
+const itemRenderer = () => {
+  const horizontalbarchart = document.createElement('fluent-horizontal-bar-chart');
+  return horizontalbarchart;
+};
+
+export default itemRenderer;
+export { tests } from '../utils/benchmark-wrapper.js';
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.definition.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.definition.ts
new file mode 100644
index 00000000000000..211c4d0b63c563
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.definition.ts
@@ -0,0 +1,20 @@
+import { FluentDesignSystem } from '@fluentui/web-components';
+import { HorizontalBarChart } from './horizontal-bar-chart.js';
+import { styles } from './horizontal-bar-chart.styles.js';
+import { template } from './horizontal-bar-chart.template.js';
+
+/**
+ * The Fluent Textarea Element definition.
+ *
+ * @public
+ * @remarks
+ * HTML Element: `<fluent-textarea>`
+ */
+export const definition = HorizontalBarChart.compose({
+  name: `${FluentDesignSystem.prefix}-horizontal-bar-chart`,
+  template,
+  styles,
+  shadowOptions: {
+    delegatesFocus: true,
+  },
+});
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.options.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.options.ts
new file mode 100644
index 00000000000000..13b6150cc68b63
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.options.ts
@@ -0,0 +1,50 @@
+export enum Variant {
+  PartToWhole = 'part-to-whole',
+  AbsoluteScale = 'absolute-scale',
+  SingleBar = 'single-bar',
+}
+
+export interface ChartDataPoint {
+  /**
+   * Legend text for the datapoint in the chart
+   */
+  legend: string;
+
+  /**
+   * data the datapoint in the chart
+   */
+  data: number;
+
+  /**
+   * total length of bar
+   */
+  total?: number;
+
+  /**
+   * onClick action for each datapoint in the chart
+   */
+  onClick?: VoidFunction;
+
+  /**
+   * Color for the legend in the chart. If not provided, it will fallback on the default color palette.
+   */
+  color?: string;
+
+  gradient?: [string, string];
+}
+
+export interface ChartProps {
+  /**
+   * title for the data series
+   */
+  chartSeriesTitle?: string;
+
+  /**
+   * data for the points in the chart
+   */
+  chartData: ChartDataPoint[];
+
+  benchmarkData?: number;
+
+  chartDataText?: string;
+}
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.spec.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.spec.ts
new file mode 100644
index 00000000000000..082758977133f2
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.spec.ts
@@ -0,0 +1,730 @@
+import { Locator, test } from '@playwright/test';
+import { expect, fixtureURL } from '../helpers.tests.js';
+import type { ChartDataPoint, ChartProps } from './horizontal-bar-chart.options.js';
+
+const chartPoints1: ChartDataPoint[] = [
+  {
+    legend: 'Debit card numbers (EU and USA)',
+    data: 40,
+    color: '#0099BC',
+  },
+  {
+    legend: 'Passport numbers (USA)',
+    data: 23,
+    color: '#77004D',
+  },
+  {
+    legend: 'Social security numbers',
+    data: 35,
+    color: '#4F68ED',
+  },
+  {
+    legend: 'Credit card Numbers',
+    data: 87,
+    color: '#AE8C00',
+  },
+  {
+    legend: 'Tax identification numbers (USA)',
+    data: 87,
+    color: '#004E8C',
+  },
+];
+
+const chartPoints2: ChartDataPoint[] = [
+  {
+    legend: 'Debit card numbers (EU and USA)',
+    data: 40,
+    color: '#0099BC',
+  },
+  {
+    legend: 'Passport numbers (USA)',
+    data: 56,
+    color: '#77004D',
+  },
+  {
+    legend: 'Social security numbers',
+    data: 35,
+    color: '#4F68ED',
+  },
+  {
+    legend: 'Credit card Numbers',
+    data: 92,
+    color: '#AE8C00',
+  },
+  {
+    legend: 'Tax identification numbers (USA)',
+    data: 87,
+    color: '#004E8C',
+  },
+];
+
+const chartPoints3: ChartDataPoint[] = [
+  {
+    legend: 'Phone Numbers',
+    data: 40,
+    color: '#881798',
+  },
+  {
+    legend: 'Credit card Numbers',
+    data: 23,
+    color: '#AE8C00',
+  },
+];
+
+const basicChartTestData: ChartProps[] = [
+  {
+    chartSeriesTitle: 'Monitored First',
+    chartData: chartPoints1,
+  },
+  {
+    chartSeriesTitle: 'Monitored Second',
+    chartData: chartPoints2,
+  },
+  {
+    chartSeriesTitle: 'Unmonitored',
+    chartData: chartPoints3,
+  },
+];
+
+const singleBarHBCData = [
+  {
+    chartSeriesTitle: 'one',
+    chartData: [
+      {
+        legend: 'one',
+        data: 1543,
+        total: 15000,
+        color: '#637cef',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'two',
+    chartData: [
+      {
+        legend: 'two',
+        data: 800,
+        total: 15000,
+        color: '#e3008c',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'three',
+    chartData: [
+      {
+        legend: 'three',
+        data: 8888,
+        total: 15000,
+        color: '#2aa0a4',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'four',
+    chartData: [
+      {
+        legend: 'four',
+        data: 15888,
+        total: 15000,
+        color: '#9373c0',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'five',
+    chartData: [
+      {
+        legend: 'five',
+        data: 11444,
+        total: 15000,
+        color: '#13a10e',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'six',
+    chartData: [
+      {
+        legend: 'six',
+        data: 14000,
+        total: 15000,
+        color: '#3a96dd',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'seven',
+    chartData: [
+      {
+        legend: 'seven',
+        data: 9855,
+        total: 15000,
+        color: '#ca5010',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'eight',
+    chartData: [
+      {
+        legend: 'eight',
+        data: 4250,
+        total: 15000,
+        color: '#57811b',
+      },
+    ],
+  },
+];
+
+const singleBarNMVariantData = [
+  {
+    chartSeriesTitle: 'one',
+    chartData: [
+      {
+        legend: 'one',
+        data: 1543,
+        total: 15000,
+        color: '#637cef',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'two',
+    chartData: [
+      {
+        legend: 'two',
+        data: 800,
+        total: 15000,
+        color: '#e3008c',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'three',
+    chartData: [
+      {
+        legend: 'three',
+        data: 8888,
+        total: 15000,
+        color: '#2aa0a4',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'four',
+    chartData: [
+      {
+        legend: 'four',
+        data: 15888,
+        total: 15000,
+        color: '#9373c0',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'five',
+    chartData: [
+      {
+        legend: 'five',
+        data: 11444,
+        total: 15000,
+        color: '#13a10e',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'six',
+    chartData: [
+      {
+        legend: 'six',
+        data: 14000,
+        total: 15000,
+        color: '#3a96dd',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'seven',
+    chartData: [
+      {
+        legend: 'seven',
+        data: 9855,
+        total: 15000,
+        color: '#ca5010',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'eight',
+    chartData: [
+      {
+        legend: 'eight',
+        data: 4250,
+        total: 15000,
+        color: '#57811b',
+      },
+    ],
+  },
+];
+
+const singlePointData = [
+  {
+    chartSeriesTitle: 'one',
+    chartData: [
+      {
+        legend: 'one',
+        data: 1543,
+        total: 15000,
+        gradient: ['#637cef', '#e3008c'],
+      },
+    ],
+  },
+];
+
+async function expectOptionsToBeVisible(element: Locator, options: string | any[]) {
+  for (let i = 0; i < options.length; i++) {
+    await expect(element.getByRole('option', { name: options[i] })).toBeVisible();
+  }
+}
+
+test.describe('horizontalbarchart - Basic', () => {
+  test.beforeEach(async ({ page }) => {
+    await page.goto(fixtureURL('components-horizontalbarchart--basic'));
+    await page.setContent(/* html */ `
+      <div>
+        <fluent-horizontal-bar-chart data='${JSON.stringify(basicChartTestData)}'>
+        </fluent-horizontal-bar-chart>
+      </div>
+    `);
+    await page.waitForFunction(() => customElements.whenDefined('fluent-horizontal-bar-chart'));
+  });
+
+  test('Should render horizontalbarchart properly', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    await expectOptionsToBeVisible(element, [
+      'Debit card numbers (EU and USA)',
+      'Passport numbers (USA)',
+      'Social security numbers',
+      'Credit card Numbers',
+      'Phone Numbers',
+    ]);
+    await expect(page.getByText('Monitored First')).toBeVisible();
+    await expect(page.getByText('Monitored Second')).toBeVisible();
+    await expect(page.getByText('Unmonitored')).toBeVisible();
+  });
+
+  test('Should render legends data properly', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await expect(legends).toHaveCount(6);
+    const firstLegend = legends.first();
+    await expect(firstLegend.locator('div').first()).toHaveCSS('background-color', 'rgb(0, 153, 188)');
+    await expect(firstLegend).toHaveText('Debit card numbers (EU and USA)');
+  });
+
+  test('Should update bar css/opaity when mouse hover on legend', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await expect(legends).toHaveCount(6);
+    const firstLegend = legends.first();
+    //mouse events
+    await legends.nth(0).dispatchEvent('mouseover');
+    const bars = element.locator('.bar');
+    await expect(bars).toHaveCount(12);
+    for (let i = 0; i < (await bars.count()); i++) {
+      if (i == 0 || i == 5) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+  });
+
+  test('Should update bar css/opaity when mouse moved from one legend to another legend', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await expect(legends).toHaveCount(6);
+    await legends.nth(0).dispatchEvent('mouseover');
+    const bars = element.locator('.bar');
+    for (let i = 0; i < (await bars.count()); i++) {
+      if (i == 0 || i == 5) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+    await legends.nth(0).dispatchEvent('mouseout');
+    await legends.nth(1).dispatchEvent('mouseover');
+    for (let i = 0; i < (await bars.count()); i++) {
+      if (i == 1 || i == 6) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+  });
+
+  test('Should show callout when mouse hover on bar', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    const tooltip = element.locator('.tooltip');
+    await expect(tooltip).toHaveCount(0);
+    await bars.nth(0).dispatchEvent('mouseover');
+    await expect(tooltip).toHaveCount(1);
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('Debit card numbers (EU and USA) 40');
+  });
+
+  test('Should update callout data when mouse moved from one bar to another bar', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    const tooltip = element.locator('.tooltip');
+    await expect(tooltip).toHaveCount(0);
+    await bars.nth(0).dispatchEvent('mouseover');
+    await expect(tooltip).toHaveCount(1);
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('Debit card numbers (EU and USA) 40');
+    await bars.nth(0).dispatchEvent('mouseout');
+    await bars.nth(1).dispatchEvent('mouseover');
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('Passport numbers (USA) 23');
+  });
+});
+
+test.describe('horizontalbarchart - Single Bar HBC', () => {
+  test.beforeEach(async ({ page }) => {
+    await page.goto(fixtureURL('components-horizontalbarchart--single-bar-hbc'));
+    await page.setContent(/* html */ `
+    <div>
+        <fluent-horizontal-bar-chart data='${JSON.stringify(singleBarHBCData)}'>
+        </fluent-horizontal-bar-chart>
+    </div>
+    `);
+    await page.waitForFunction(() => customElements.whenDefined('fluent-horizontal-bar-chart'));
+  });
+
+  test('Should render Single Bar HBC  properly', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    await expectOptionsToBeVisible(element, ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight']);
+    const barsTitles = element.locator('.chart-title');
+    await expect(barsTitles).toHaveCount(8);
+    await expect(barsTitles.nth(0)).toHaveText('one');
+    await expect(barsTitles.nth(1)).toHaveText('two');
+    await expect(barsTitles.nth(2)).toHaveText('three');
+    await expect(barsTitles.nth(3)).toHaveText('four');
+    await expect(barsTitles.nth(4)).toHaveText('five');
+    await expect(barsTitles.nth(5)).toHaveText('six');
+    await expect(barsTitles.nth(6)).toHaveText('seven');
+    await expect(barsTitles.nth(7)).toHaveText('eight');
+    for (let i = 0; i < (await barsTitles.count()); i++) {
+      await expect(barsTitles.nth(i)).toBeVisible();
+    }
+  });
+
+  test('Should update bar css/opaity when mouse hover on legend', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await expect(legends).toHaveCount(8);
+    //mouse events
+    await legends.nth(0).dispatchEvent('mouseover');
+    const bars = element.locator('.bar');
+    await expect(bars).toHaveCount(8);
+    for (let i = 1; i < (await bars.count()); i++) {
+      if (i == 0) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+  });
+
+  test('Should update bar css/opaity when mouse moved from one legend to another legend', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await expect(legends).toHaveCount(8);
+    await legends.nth(0).dispatchEvent('mouseover');
+    const bars = element.locator('.bar');
+    await expect(bars.nth(0)).toHaveCSS('opacity', '1');
+    for (let i = 1; i < (await bars.count()); i++) {
+      if (i == 0) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+    await legends.nth(0).dispatchEvent('mouseout');
+    await legends.nth(1).dispatchEvent('mouseover');
+    for (let i = 1; i < (await bars.count()); i++) {
+      if (i == 1) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+  });
+
+  test('Should update bar css/opaity when mouse click on legend', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await expect(legends).toHaveCount(8);
+    await legends.nth(0).click();
+    const bars = element.locator('.bar');
+    await expect(bars.nth(0)).toHaveCSS('opacity', '1');
+    for (let i = 1; i < (await bars.count()); i++) {
+      if (i == 0) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+    await legends.nth(0).click();
+    for (let i = 1; i < (await bars.count()); i++) {
+      await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+    }
+  });
+
+  test('Should show callout when mouse hover on bar', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    const tooltip = element.locator('.tooltip');
+    await expect(tooltip).toHaveCount(0);
+    await bars.nth(0).dispatchEvent('mouseover');
+    await expect(tooltip).toHaveCount(1);
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('one 1543');
+  });
+
+  test('Should update callout data when mouse moved from one bar to another bar', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    const tooltip = element.locator('.tooltip');
+    await expect(tooltip).toHaveCount(0);
+    await bars.nth(0).dispatchEvent('mouseover');
+    await expect(tooltip).toHaveCount(1);
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('one 1543');
+    await bars.nth(0).dispatchEvent('mouseout');
+    await bars.nth(1).dispatchEvent('mouseover');
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('two 800');
+  });
+});
+
+test.describe('horizontalbarchart - Single Bar NM Variant', () => {
+  test.beforeEach(async ({ page }) => {
+    await page.goto(fixtureURL('components-horizontalbarchart--single-bar-nm-variant'));
+    await page.setContent(/* html */ `
+    <div>
+        <fluent-horizontal-bar-chart data='${JSON.stringify(singleBarNMVariantData)}' variant="single-bar">
+        </fluent-horizontal-bar-chart>
+    </div>
+    `);
+    await page.waitForFunction(() => customElements.whenDefined('fluent-horizontal-bar-chart'));
+  });
+
+  test('Should render Single Bar HBC  properly', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    await expectOptionsToBeVisible(element, ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight']);
+  });
+
+  test('Should render bars and bar labels properly', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    await expect(bars).toHaveCount(16);
+    await expect(bars.nth(0)).toHaveCSS('fill', 'rgb(99, 124, 239)');
+    await expect(bars.nth(0)).toHaveCSS('opacity', '1');
+    await expect(bars.nth(0)).toHaveAttribute(`height`, '12');
+
+    const firstBarWidth = await bars.nth(0).getAttribute('width');
+    const firstBarWidthEmptySpace = await bars.nth(1).getAttribute('width');
+    expect(parseFloat(firstBarWidth!)).toBeLessThan(parseFloat(firstBarWidthEmptySpace!));
+    expect(parseFloat(firstBarWidth!) + parseFloat(firstBarWidthEmptySpace!)).toBeGreaterThanOrEqual(99);
+
+    const secondBarWidth = await bars.nth(2).getAttribute('width');
+    const secondBarWidthEmptySpace = await bars.nth(3).getAttribute('width');
+    expect(parseFloat(secondBarWidth!)).toBeLessThan(parseFloat(secondBarWidthEmptySpace!));
+    expect(parseFloat(secondBarWidth!) + parseFloat(secondBarWidthEmptySpace!)).toBeGreaterThanOrEqual(99);
+
+    const thirdBarWidth = await bars.nth(4).getAttribute('width');
+    const thirdBarWidthEmptySpace = await bars.nth(5).getAttribute('width');
+    expect(parseFloat(thirdBarWidth!)).toBeGreaterThan(parseFloat(thirdBarWidthEmptySpace!));
+    expect(parseFloat(thirdBarWidth!) + parseFloat(thirdBarWidthEmptySpace!)).toBeGreaterThanOrEqual(99);
+
+    const fourthBarWidth = await bars.nth(6).getAttribute('width');
+    const fourthBarWidthEmptySpace = await bars.nth(7).getAttribute('width');
+    expect(parseFloat(fourthBarWidth!)).toBeGreaterThan(parseFloat(fourthBarWidthEmptySpace!));
+    expect(parseFloat(fourthBarWidth!) + parseFloat(fourthBarWidthEmptySpace!)).toBeGreaterThanOrEqual(99);
+
+    const fifthBarWidth = await bars.nth(8).getAttribute('width');
+    const fifthBarWidthEmptySpace = await bars.nth(9).getAttribute('width');
+    expect(parseFloat(fifthBarWidth!)).toBeGreaterThan(parseFloat(fifthBarWidthEmptySpace!));
+    expect(parseFloat(fifthBarWidth!) + parseFloat(fifthBarWidthEmptySpace!)).toBeGreaterThanOrEqual(99);
+
+    const sixthBarWidth = await bars.nth(10).getAttribute('width');
+    const sixthBarWidthEmptySpace = await bars.nth(11).getAttribute('width');
+    expect(parseFloat(sixthBarWidth!)).toBeGreaterThan(parseFloat(sixthBarWidthEmptySpace!));
+    expect(parseFloat(sixthBarWidth!) + parseFloat(sixthBarWidthEmptySpace!)).toBeGreaterThanOrEqual(98);
+
+    const seventhBarWidth = await bars.nth(12).getAttribute('width');
+    const seventhBarWidthEmptySpace = await bars.nth(13).getAttribute('width');
+    expect(parseFloat(seventhBarWidth!)).toBeGreaterThan(parseFloat(seventhBarWidthEmptySpace!));
+    expect(parseFloat(seventhBarWidth!) + parseFloat(seventhBarWidthEmptySpace!)).toBeGreaterThanOrEqual(99);
+
+    const eigthBarWidth = await bars.nth(14).getAttribute('width');
+    const eigthBarWidthEmptySpace = await bars.nth(15).getAttribute('width');
+    expect(parseFloat(eigthBarWidth!)).toBeLessThan(parseFloat(eigthBarWidthEmptySpace!));
+    expect(parseFloat(eigthBarWidth!) + parseFloat(eigthBarWidthEmptySpace!)).toBeGreaterThanOrEqual(99);
+  });
+
+  test('Should update bar css/opaity when mouse hover on legend', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await expect(legends).toHaveCount(8);
+    //mouse events
+    await legends.nth(0).dispatchEvent('mouseover');
+    const bars = element.locator('.bar');
+    await expect(bars).toHaveCount(16);
+    for (let i = 1; i < (await bars.count()); i++) {
+      if (i == 0) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+  });
+
+  test('Should update bar css/opaity when mouse moved from one legend to another legend', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await expect(legends).toHaveCount(8);
+    await legends.nth(0).dispatchEvent('mouseover');
+    const bars = element.locator('.bar');
+    for (let i = 1; i < (await bars.count()); i++) {
+      if (i == 0) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+    await legends.nth(0).dispatchEvent('mouseout');
+    await legends.nth(1).dispatchEvent('mouseover');
+    for (let i = 1; i < (await bars.count()); i++) {
+      if (i == 2) {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '1');
+      } else {
+        await expect(bars.nth(i)).toHaveCSS('opacity', '0.1');
+      }
+    }
+  });
+
+  test('Should show callout when mouse hover on bar', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    const tooltip = element.locator('.tooltip');
+    await expect(tooltip).toHaveCount(0);
+    await bars.nth(0).dispatchEvent('mouseover');
+    await expect(tooltip).toHaveCount(1);
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('one 1543');
+  });
+
+  test('Should update callout data when mouse moved from one bar to another bar', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    const tooltip = element.locator('.tooltip');
+    await expect(tooltip).toHaveCount(0);
+    await bars.nth(0).dispatchEvent('mouseover');
+    await expect(tooltip).toHaveCount(1);
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('one 1543');
+    await bars.nth(0).dispatchEvent('mouseout');
+    await bars.nth(2).dispatchEvent('mouseover');
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('two 800');
+  });
+});
+
+test.describe('horizontalbarchart - Single Data Point', () => {
+  test.beforeEach(async ({ page }) => {
+    await page.goto(fixtureURL('components-horizontalbarchart--single-data-point'));
+    await page.setContent(/* html */ `
+    <div>
+        <fluent-horizontal-bar-chart data='${JSON.stringify(singlePointData)}' variant="single-bar">
+        </fluent-horizontal-bar-chart>
+    </div>
+    `);
+    await page.waitForFunction(() => customElements.whenDefined('fluent-horizontal-bar-chart'));
+  });
+
+  test('Should render Single Bar HBC  properly', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    await expect(element.getByRole('option', { name: 'one' })).toBeVisible();
+    const barsTitles = element.locator('.chart-title');
+    await expect(barsTitles).toHaveCount(1);
+    await expect(barsTitles.nth(0)).toHaveText('one');
+    await expect(barsTitles.nth(0)).toBeVisible();
+  });
+
+  test('Should render bars and bar labels properly', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    await expect(bars).toHaveCount(2);
+    await expect(bars.nth(0)).toHaveCSS('fill', 'url("#gradient-0-0")');
+    await expect(bars.nth(0)).toHaveCSS('opacity', '1');
+    await expect(bars.nth(0)).toHaveAttribute(`height`, '12');
+    const firstBarWidth = await bars.nth(0).getAttribute('width');
+    const firstBarWidthEmptySpace = await bars.nth(1).getAttribute('width');
+    expect(parseFloat(firstBarWidth!)).toBeLessThan(parseFloat(firstBarWidthEmptySpace!));
+    expect(parseFloat(firstBarWidth!) + parseFloat(firstBarWidthEmptySpace!)).toBeGreaterThan(99);
+  });
+
+  test('Should update bar css/opaity when mouse hover on legend', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await expect(legends).toHaveCount(1);
+    //mouse events
+    await legends.nth(0).dispatchEvent('mouseover');
+    const bars = element.locator('.bar');
+    await expect(bars).toHaveCount(2);
+    await expect(bars.nth(0)).toHaveCSS('opacity', '1');
+    await expect(bars.nth(1)).toHaveCSS('opacity', '0.1');
+  });
+
+  test('Should update bar css/opaity when mouse click on legend', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const legends = element.locator('.legend');
+    await legends.nth(0).click();
+    const bars = element.locator('.bar');
+    await expect(bars.nth(0)).toHaveCSS('opacity', '1');
+    await expect(bars.nth(1)).toHaveCSS('opacity', '0.1');
+    await legends.nth(0).click();
+    await expect(bars.nth(0)).toHaveCSS('opacity', '1');
+    await expect(bars.nth(1)).toHaveCSS('opacity', '1');
+  });
+
+  test('Should show callout when mouse hover on bar', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    const tooltip = element.locator('.tooltip');
+    await expect(tooltip).toHaveCount(0);
+    await bars.nth(0).dispatchEvent('mouseover');
+    await expect(tooltip).toHaveCount(1);
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('one 1543');
+  });
+
+  test('Should hide callout when mouve moved to bar offset', async ({ page }) => {
+    const element = page.locator('fluent-horizontal-bar-chart');
+    const bars = element.locator('.bar');
+    const tooltip = element.locator('.tooltip');
+    await expect(tooltip).toHaveCount(0);
+    await bars.nth(0).dispatchEvent('mouseover');
+    await expect(tooltip).toHaveCount(1);
+    await expect(tooltip.nth(0)).toHaveCSS('opacity', '1');
+    await expect(tooltip.nth(0).locator('div').first()).toHaveText('one 1543');
+    await bars.nth(0).dispatchEvent('mouseout');
+    await bars.nth(1).dispatchEvent('mouseover');
+    await expect(tooltip).toHaveCount(0);
+  });
+});
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.stories.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.stories.ts
new file mode 100644
index 00000000000000..72f523b84f0f14
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.stories.ts
@@ -0,0 +1,389 @@
+import { html } from '@microsoft/fast-element';
+import type { Meta, Story, StoryArgs } from '../helpers.stories.js';
+import { renderComponent } from '../helpers.stories.js';
+import { HorizontalBarChart as FluentHorizontalBarChart } from './horizontal-bar-chart.js';
+import type { ChartDataPoint, ChartProps } from './horizontal-bar-chart.options.js';
+import { Variant } from './horizontal-bar-chart.options.js';
+
+const singleBarHBCData = [
+  {
+    chartSeriesTitle: 'one',
+    chartData: [
+      {
+        legend: 'one',
+        data: 1543,
+        total: 15000,
+        color: '#637cef',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'two',
+    chartData: [
+      {
+        legend: 'two',
+        data: 800,
+        total: 15000,
+        color: '#e3008c',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'three',
+    chartData: [
+      {
+        legend: 'three',
+        data: 8888,
+        total: 15000,
+        color: '#2aa0a4',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'four',
+    chartData: [
+      {
+        legend: 'four',
+        data: 15888,
+        total: 15000,
+        color: '#9373c0',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'five',
+    chartData: [
+      {
+        legend: 'five',
+        data: 11444,
+        total: 15000,
+        color: '#13a10e',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'six',
+    chartData: [
+      {
+        legend: 'six',
+        data: 14000,
+        total: 15000,
+        color: '#3a96dd',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'seven',
+    chartData: [
+      {
+        legend: 'seven',
+        data: 9855,
+        total: 15000,
+        color: '#ca5010',
+      },
+    ],
+  },
+  {
+    chartSeriesTitle: 'eight',
+    chartData: [
+      {
+        legend: 'eight',
+        data: 4250,
+        total: 15000,
+        color: '#57811b',
+      },
+    ],
+  },
+];
+
+const singleBarNMVariantData: ChartProps[] = [
+  {
+    chartSeriesTitle: 'one',
+    chartData: [
+      {
+        legend: 'one',
+        data: 1543,
+        total: 15000,
+        color: '#637cef',
+      },
+    ],
+    chartDataText: '1.5k/15k hours',
+  },
+  {
+    chartSeriesTitle: 'two',
+    chartData: [
+      {
+        legend: 'two',
+        data: 800,
+        total: 15000,
+        color: '#e3008c',
+      },
+    ],
+    chartDataText: '800/15k hours',
+  },
+  {
+    chartSeriesTitle: 'three',
+    chartData: [
+      {
+        legend: 'three',
+        data: 8888,
+        total: 15000,
+        color: '#2aa0a4',
+      },
+    ],
+    chartDataText: '8.9k/15k hours',
+  },
+  {
+    chartSeriesTitle: 'four',
+    chartData: [
+      {
+        legend: 'four',
+        data: 15888,
+        total: 15000,
+        color: '#9373c0',
+      },
+    ],
+    chartDataText: '16k/15k hours',
+  },
+  {
+    chartSeriesTitle: 'five',
+    chartData: [
+      {
+        legend: 'five',
+        data: 11444,
+        total: 15000,
+        color: '#13a10e',
+      },
+    ],
+    chartDataText: '11k/15k hours',
+  },
+  {
+    chartSeriesTitle: 'six',
+    chartData: [
+      {
+        legend: 'six',
+        data: 14000,
+        total: 15000,
+        color: '#3a96dd',
+      },
+    ],
+    chartDataText: '14k/15k hours',
+  },
+  {
+    chartSeriesTitle: 'seven',
+    chartData: [
+      {
+        legend: 'seven',
+        data: 9855,
+        total: 15000,
+        color: '#ca5010',
+      },
+    ],
+    chartDataText: '9.9k/15k hours',
+  },
+  {
+    chartSeriesTitle: 'eight',
+    chartData: [
+      {
+        legend: 'eight',
+        data: 4250,
+        total: 15000,
+        color: '#57811b',
+      },
+    ],
+    chartDataText: '4.3k/15k hours',
+  },
+];
+
+const chartPoints1: ChartDataPoint[] = [
+  {
+    legend: 'Debit card numbers (EU and USA)',
+    data: 40,
+    color: '#0099BC',
+  },
+  {
+    legend: 'Passport numbers (USA)',
+    data: 23,
+    color: '#77004D',
+  },
+  {
+    legend: 'Social security numbers',
+    data: 35,
+    color: '#4F68ED',
+  },
+  {
+    legend: 'Credit card Numbers',
+    data: 87,
+    color: '#AE8C00',
+  },
+  {
+    legend: 'Tax identification numbers (USA)',
+    data: 87,
+    color: '#004E8C',
+  },
+];
+
+const chartPoints2: ChartDataPoint[] = [
+  {
+    legend: 'Debit card numbers (EU and USA)',
+    data: 40,
+    color: '#0099BC',
+  },
+  {
+    legend: 'Passport numbers (USA)',
+    data: 56,
+    color: '#77004D',
+  },
+  {
+    legend: 'Social security numbers',
+    data: 35,
+    color: '#4F68ED',
+  },
+  {
+    legend: 'Credit card Numbers',
+    data: 92,
+    color: '#AE8C00',
+  },
+  {
+    legend: 'Tax identification numbers (USA)',
+    data: 87,
+    color: '#004E8C',
+  },
+];
+
+const chartPoints3: ChartDataPoint[] = [
+  {
+    legend: 'Phone Numbers',
+    data: 40,
+    color: '#881798',
+  },
+  {
+    legend: 'Credit card Numbers',
+    data: 23,
+    color: '#AE8C00',
+  },
+];
+
+const data: ChartProps[] = [
+  {
+    chartSeriesTitle: 'Monitored First',
+    chartData: chartPoints1,
+  },
+  {
+    chartSeriesTitle: 'Monitored Second',
+    chartData: chartPoints2,
+  },
+  {
+    chartSeriesTitle: 'Unmonitored',
+    chartData: chartPoints3,
+  },
+];
+
+const singlePointData = [
+  {
+    chartSeriesTitle: 'one',
+    chartData: [
+      {
+        legend: 'one',
+        data: 1543,
+        total: 15000,
+        gradient: ['#637cef', '#e3008c'],
+      },
+    ],
+  },
+];
+
+const benchmarkData: ChartProps[] = [
+  {
+    chartSeriesTitle: 'one',
+    chartData: [
+      {
+        legend: 'one',
+        data: 10,
+        total: 100,
+        color: '#637cef',
+      },
+    ],
+    benchmarkData: 50,
+  },
+  {
+    chartSeriesTitle: 'two',
+    chartData: [
+      {
+        legend: 'two',
+        data: 30,
+        total: 200,
+        color: '#e3008c',
+      },
+    ],
+    benchmarkData: 30,
+  },
+  {
+    chartSeriesTitle: 'three',
+    chartData: [
+      {
+        legend: 'three',
+        data: 15,
+        total: 50,
+        color: '#2aa0a4',
+      },
+    ],
+    benchmarkData: 5,
+  },
+];
+
+const storyTemplate = html<StoryArgs<FluentHorizontalBarChart>>`
+  <fluent-horizontal-bar-chart style="width: 100%" data="${JSON.stringify(data)}"> </fluent-horizontal-bar-chart>
+`;
+
+export default {
+  title: 'Components/HorizontalBarChart',
+} as Meta<FluentHorizontalBarChart>;
+
+export const RTL: Story<FluentHorizontalBarChart> = renderComponent(html<StoryArgs<FluentHorizontalBarChart>>`
+  <div dir="rtl">
+    <div>
+      <fluent-horizontal-bar-chart style="width: 100%" data="${JSON.stringify(data)}"> </fluent-horizontal-bar-chart>
+    </div>
+  </div>
+`);
+
+export const singleDataPoint: Story<FluentHorizontalBarChart> = renderComponent(html<
+  StoryArgs<FluentHorizontalBarChart>
+>`
+  <div>
+    <fluent-horizontal-bar-chart style="width: 100%" variant="single-bar" data="${JSON.stringify(singlePointData)}">
+    </fluent-horizontal-bar-chart>
+  </div>
+`);
+
+export const Benchmark: Story<FluentHorizontalBarChart> = renderComponent(html<StoryArgs<FluentHorizontalBarChart>>`
+  <fluent-horizontal-bar-chart style="width: 100%" variant="single-bar" data="${JSON.stringify(benchmarkData)}">
+  </fluent-horizontal-bar-chart>
+`);
+
+export const singleBarNMVariant: Story<FluentHorizontalBarChart> = renderComponent(html<
+  StoryArgs<FluentHorizontalBarChart>
+>`
+  <div>
+    <fluent-horizontal-bar-chart
+      style="width: 100%"
+      variant="single-bar"
+      data="${JSON.stringify(singleBarNMVariantData)}"
+    >
+    </fluent-horizontal-bar-chart>
+  </div>
+`);
+
+export const singleBarHBC: Story<FluentHorizontalBarChart> = renderComponent(html<StoryArgs<FluentHorizontalBarChart>>`
+  <div>
+    <fluent-horizontal-bar-chart
+      style="width: 100%"
+      data="${JSON.stringify(singleBarHBCData)}"
+      variant="${Variant.AbsoluteScale}"
+    >
+    </fluent-horizontal-bar-chart>
+  </div>
+`);
+
+export const Basic: Story<FluentHorizontalBarChart> = renderComponent(storyTemplate).bind({});
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.styles.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.styles.ts
new file mode 100644
index 00000000000000..9932537a89f26d
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.styles.ts
@@ -0,0 +1,190 @@
+import type { ElementStyles } from '@microsoft/fast-element';
+import { css } from '@microsoft/fast-element';
+import {
+  colorNeutralBackground1,
+  colorNeutralForeground1,
+  colorNeutralStrokeAccessible,
+  display,
+  forcedColorsStylesheetBehavior,
+  shadow4,
+  spacingHorizontalL,
+  spacingHorizontalNone,
+  spacingHorizontalS,
+  spacingHorizontalSNudge,
+  spacingVerticalL,
+  spacingVerticalM,
+  spacingVerticalMNudge,
+  spacingVerticalNone,
+  spacingVerticalS,
+  spacingVerticalXS,
+  strokeWidthThick,
+  strokeWidthThickest,
+  strokeWidthThin,
+  typographyBody1StrongStyles,
+  typographyBody1Styles,
+  typographyCaption1Styles,
+  typographyTitle2Styles,
+} from '@fluentui/web-components';
+
+/**
+ * Styles for the HorizontalBarChart component.
+ *
+ * @public
+ */
+export const styles: ElementStyles = css`
+  ${display('inline-block')}
+
+  :host {
+    position: relative;
+  }
+  .root {
+    background-color: ${colorNeutralBackground1};
+    width: 100vw;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    position: relative;
+  }
+  .tooltip {
+    ${typographyCaption1Styles}
+    position: absolute;
+    z-index: 999;
+    display: grid;
+    overflow: hidden;
+    padding: ${spacingVerticalMNudge} ${spacingHorizontalL};
+    backgroundcolor: ${colorNeutralBackground1};
+    background-blend-mode: normal, luminosity;
+    text-align: center;
+    background: ${colorNeutralBackground1};
+    box-shadow: ${shadow4};
+    border: ${strokeWidthThick};
+    pointer-events: none;
+  }
+  .tooltip-line {
+    padding-inline-start: ${spacingHorizontalS};
+    height: 50px;
+    border-inline-start: ${strokeWidthThickest} solid;
+  }
+  .tooltip-legend-text {
+    ${typographyCaption1Styles}
+    color: ${colorNeutralForeground1};
+    text-align: start;
+  }
+  .tooltip-data-y {
+    ${typographyTitle2Styles}
+    text-align: start;
+  }
+  .bar {
+    opacity: 1;
+  }
+  .bar.inactive {
+    opacity: 0.1;
+  }
+  .bar:focus {
+    outline: none;
+    stroke-width: ${strokeWidthThick};
+    stroke: black;
+  }
+  .svg-chart {
+    display: block;
+    overflow: visible;
+  }
+  .chart-title {
+    ${typographyBody1Styles}
+    display: flex;
+    justify-content: space-between;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    white-space: nowrap;
+    display: block;
+    color: ${colorNeutralForeground1};
+    margin-bottom: ${spacingHorizontalSNudge};
+  }
+  .legendcontainer {
+    display: flex;
+    flex-direction: row;
+    flex-wrap: wrap;
+    padding-top: ${spacingVerticalL};
+    width: 100%;
+    align-items: center;
+    margin: -${spacingVerticalS} ${spacingHorizontalNone} ${spacingVerticalNone} -${spacingHorizontalS};
+  }
+  .legend {
+    display: flex;
+    align-items: center;
+    cursor: pointer;
+    border: none;
+    padding: ${spacingHorizontalS};
+    background: none;
+    text-transform: capitalize;
+  }
+  .legend-rect {
+    width: 12px;
+    height: 12px;
+    margin-inline-end: ${spacingHorizontalS};
+    border: ${strokeWidthThin} solid;
+  }
+  .legend-text {
+    ${typographyCaption1Styles}
+    color: ${colorNeutralForeground1};
+  }
+  .legend.inactive .legend-rect {
+    background-color: transparent !important;
+  }
+  .legend.inactive .legend-text {
+    opacity: 0.67;
+  }
+  .bar-label {
+    ${typographyBody1StrongStyles}
+    fill: ${colorNeutralForeground1};
+  }
+  .chart-title-div {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+  }
+  .ratio-numerator {
+    ${typographyBody1StrongStyles}
+    color: ${colorNeutralForeground1};
+  }
+  .ratio-denominator {
+    ${typographyBody1StrongStyles}
+    color: ${colorNeutralForeground1};
+    font-weight: bold;
+  }
+  .benchmark-container {
+    position: relative;
+    height: 7px;
+    margin-top: -3px;
+  }
+  .triangle {
+    width: 0;
+    height: 0;
+    border-left: ${strokeWidthThickest} solid transparent;
+    border-right: ${strokeWidthThickest} solid transparent;
+    border-bottom: 7px solid;
+    border-bottom-color: ${colorNeutralStrokeAccessible};
+    margin-bottom: ${spacingVerticalXS};
+    position: absolute;
+  }
+  .chart-data-text {
+    ${typographyBody1StrongStyles}
+    color: ${colorNeutralForeground1};
+  }
+`.withBehaviors(
+  forcedColorsStylesheetBehavior(css`
+    .legend-rect,
+    .tooltip-line,
+    .triangle {
+      forced-color-adjust: none;
+    }
+    .tooltip-legend-text,
+    .tooltip-content-y {
+      forced-color-adjust: auto;
+      color: CanvasText;
+    }
+    .bar-label {
+      fill: CanvasText !important;
+    }
+  `),
+);
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.template.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.template.ts
new file mode 100644
index 00000000000000..07d6656bc9be0c
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.template.ts
@@ -0,0 +1,66 @@
+import { ElementViewTemplate, html, ref, repeat, when } from '@microsoft/fast-element';
+import type { HorizontalBarChart } from './horizontal-bar-chart.js';
+import type { ChartDataPoint } from './horizontal-bar-chart.options.js';
+
+/**
+ * Generates a template for the HorizontalBarChart component.
+ *
+ * @public
+ */
+export function horizontalbarchartTemplate<T extends HorizontalBarChart>(): ElementViewTemplate<T> {
+  return html<T>`
+    <template>
+      <div ${ref('chartContainer')}></div>
+      ${when(
+        x => !x.hideLegends,
+        html<T>`
+          <div class="legendcontainer" role="listbox" aria-label="${x => x.legendListLabel}">
+            ${repeat(
+              x => x.uniqueLegends,
+              html<ChartDataPoint, T>` <button
+                class="legend${(x, c) =>
+                  c.parent.activeLegend === '' || c.parent.activeLegend === x.legend ? '' : ' inactive'}"
+                role="option"
+                aria-setsize="${(x, c) => c.length}"
+                aria-posinset="${(x, c) => c.index + 1}"
+                aria-selected="${(x, c) => x.legend === c.parent.activeLegend}"
+                @mouseover="${(x, c) => c.parent.handleLegendMouseoverAndFocus(x.legend)}"
+                @mouseout="${(x, c) => c.parent.handleLegendMouseoutAndBlur()}"
+                @focus="${(x, c) => c.parent.handleLegendMouseoverAndFocus(x.legend)}"
+                @blur="${(x, c) => c.parent.handleLegendMouseoutAndBlur()}"
+                @click="${(x, c) => c.parent.handleLegendClick(x.legend)}"
+              >
+                <div
+                  class="legend-rect"
+                  style="background-color: ${x => x.color}; border-color: ${x => x.color};"
+                ></div>
+                <div class="legend-text">${x => x.legend}</div>
+              </button>`,
+            )}
+          </div>
+        `,
+      )}
+      ${when(
+        x => !x.hideTooltip && x.tooltipProps.isVisible,
+        html<T>`
+          <div
+            class="tooltip"
+            style="inset-inline-start: ${x => x.tooltipProps.xPos}px; top: ${x => x.tooltipProps.yPos}px"
+          >
+            <div class="tooltip-line" style="border-color: ${x => x.tooltipProps.color};">
+              <div class="tooltip-legend-text">${x => x.tooltipProps.legend}</div>
+              <div class="tooltip-data-y" style="color: ${x => x.tooltipProps.color};">
+                ${x => x.tooltipProps.yValue}
+              </div>
+            </div>
+          </div>
+        `,
+      )}
+    </template>
+  `;
+}
+
+/**
+ * @internal
+ */
+export const template: ElementViewTemplate<HorizontalBarChart> = horizontalbarchartTemplate();
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.ts
new file mode 100644
index 00000000000000..718c9ca5b4dcb4
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.ts
@@ -0,0 +1,462 @@
+import { attr, FASTElement, observable } from '@microsoft/fast-element';
+import { create as d3Create, select as d3Select } from 'd3-selection';
+import { getRTL, jsonConverter, SVG_NAMESPACE_URI, validateChartPropsArray } from '../utils/chart-helpers.js';
+import type { ChartDataPoint, ChartProps } from './horizontal-bar-chart.options.js';
+import { Variant } from './horizontal-bar-chart.options.js';
+
+/**
+ * A Horizontal Bar Chart HTML Element.
+ *
+ * @public
+ */
+export class HorizontalBarChart extends FASTElement {
+  @attr
+  public variant?: Variant;
+
+  @attr({ converter: jsonConverter })
+  public data!: ChartProps[];
+
+  @attr({ attribute: 'hide-ratio', mode: 'boolean' })
+  public hideRatio: boolean = false;
+
+  @attr({ attribute: 'hide-legends', mode: 'boolean' })
+  public hideLegends: boolean = false;
+
+  @attr({ attribute: 'hide-tooltip', mode: 'boolean' })
+  public hideTooltip: boolean = false;
+
+  @attr({ attribute: 'legend-list-label' })
+  public legendListLabel?: string;
+
+  @attr({ attribute: 'chart-title' })
+  public chartTitle?: string;
+
+  @observable
+  public uniqueLegends: ChartDataPoint[] = [];
+
+  @observable
+  public activeLegend: string = '';
+  protected activeLegendChanged = (oldValue: string, newValue: string) => {
+    if (newValue === '') {
+      this._bars?.forEach(bar => bar.classList.remove('inactive'));
+    } else {
+      this._bars?.forEach(bar => {
+        if (bar.getAttribute('barinfo') === newValue) {
+          bar.classList.remove('inactive');
+        } else {
+          bar.classList.add('inactive');
+        }
+      });
+    }
+  };
+
+  @observable
+  public isLegendSelected: boolean = false;
+
+  @observable
+  public tooltipProps = {
+    isVisible: false,
+    legend: '',
+    yValue: '',
+    color: '',
+    xPos: 0,
+    yPos: 0,
+  };
+
+  public chartContainer!: HTMLDivElement;
+  public elementInternals: ElementInternals = this.attachInternals();
+
+  private _isRTL: boolean = false;
+  private _barHeight: number = 12;
+  private _bars: SVGRectElement[] = [];
+
+  constructor() {
+    super();
+
+    this.elementInternals.role = 'region';
+  }
+
+  public handleLegendMouseoverAndFocus = (legendTitle: string) => {
+    if (this.isLegendSelected) {
+      return;
+    }
+
+    this.activeLegend = legendTitle;
+  };
+
+  public handleLegendMouseoutAndBlur = () => {
+    if (this.isLegendSelected) {
+      return;
+    }
+
+    this.activeLegend = '';
+  };
+
+  public handleLegendClick = (legendTitle: string) => {
+    if (this.isLegendSelected && this.activeLegend === legendTitle) {
+      this.activeLegend = '';
+      this.isLegendSelected = false;
+    } else {
+      this.activeLegend = legendTitle;
+      this.isLegendSelected = true;
+    }
+  };
+
+  connectedCallback() {
+    super.connectedCallback();
+
+    validateChartPropsArray(this.data, 'data');
+
+    this._isRTL = getRTL(this);
+    this.elementInternals.ariaLabel = this.chartTitle || `Horizontal bar chart with ${this.data.length} categories.`;
+
+    this._initializeData();
+    this._renderChart();
+  }
+
+  private _initializeData() {
+    if (this.variant === Variant.SingleBar) {
+      this._hydrateData();
+    }
+    this._hydrateLegends();
+  }
+
+  private _renderChart() {
+    const chartContainerDiv = d3Select(this.chartContainer);
+    chartContainerDiv
+      .selectAll('div')
+      .data(this.data!)
+      .enter()
+      .append('div')
+      .each((d, i, nodes) => {
+        this._createSingleChartBars(d, i, nodes);
+      });
+  }
+
+  private _createSingleChartBars(singleChartData: ChartProps, index: number, nodes: any) {
+    const singleChartBars = this._createBarsAndLegends(singleChartData!, index);
+
+    // create a div element. Loop through chart bars and add to the div as its children
+    d3Select(nodes[index])
+      .attr('key', index)
+      .attr('id', `_MSBC_bar-${index}`)
+      .node()!
+      .appendChild(singleChartBars.node());
+  }
+
+  private _hydrateLegends() {
+    // Create a map to store unique legends
+    const uniqueLegendsMap = new Map();
+
+    // Iterate through all chart points and populate the map
+    for (const dataSeries of this.data) {
+      for (const point of dataSeries.chartData!) {
+        if ((point as any).placeholder === true) {
+          continue;
+        }
+        // Check if the legend is already in the map
+        if (!uniqueLegendsMap.has(point.legend)) {
+          uniqueLegendsMap.set(point.legend, {
+            legend: point.legend,
+            data: point.data,
+            color: point.gradient ? point.gradient[0] : point.color,
+          });
+        }
+      }
+    }
+
+    // Convert the map values back to an array
+    this.uniqueLegends = Array.from(uniqueLegendsMap.values());
+  }
+
+  private _hydrateData() {
+    this.data!.forEach(({ chartData }) => {
+      if (chartData!.length === 1) {
+        const pointData = chartData![0];
+        const newEntry = {
+          legend: '',
+          data: Math.max(pointData.total! - pointData.data!, 0),
+          y: pointData.total!,
+          color: '#edebe9',
+          placeholder: true,
+        };
+        chartData!.push(newEntry);
+      }
+    });
+  }
+
+  private _calculateBarSpacing(): number {
+    const svgWidth = this.getBoundingClientRect().width;
+    let barSpacing = 0;
+    const MARGIN_WIDTH_IN_PX = 3;
+    if (svgWidth) {
+      const currentBarSpacing = (MARGIN_WIDTH_IN_PX / svgWidth) * 100;
+      barSpacing = currentBarSpacing;
+    }
+    return barSpacing;
+  }
+
+  private _createBarsAndLegends(data: ChartProps, barNo?: number) {
+    const _isRTL = this._isRTL;
+    const _computeLongestBarTotalValue = () => {
+      let longestBarTotalValue = 0;
+      this.data!.forEach(({ chartData }) => {
+        const barTotalValue = chartData!.reduce((acc: number, point: ChartDataPoint) => acc + (point.data ?? 0), 0);
+        longestBarTotalValue = Math.max(longestBarTotalValue, barTotalValue);
+      });
+      return longestBarTotalValue;
+    };
+    const longestBarTotalValue = _computeLongestBarTotalValue();
+    const noOfBars =
+      data.chartData?.reduce((count: number, point: ChartDataPoint) => (count += (point.data || 0) > 0 ? 1 : 0), 0) ||
+      1;
+    const barSpacingInPercent = this._calculateBarSpacing();
+    const totalMarginPercent = barSpacingInPercent * (noOfBars - 1);
+    // calculating starting point of each bar and it's range
+    const startingPoint: number[] = [];
+    const barTotalValue = data.chartData!.reduce((acc: number, point: ChartDataPoint) => acc + (point.data ?? 0), 0);
+    const total = this.variant === Variant.AbsoluteScale ? longestBarTotalValue : barTotalValue;
+
+    let sumOfPercent = 0;
+    data.chartData!.map((point: ChartDataPoint, index: number) => {
+      const pointData = point.data ?? 0;
+      const currValue = (pointData / total) * 100;
+      let value = currValue ?? 0;
+
+      if (value < 1 && value !== 0) {
+        value = 1;
+      } else if (value > 99 && value !== 100) {
+        value = 99;
+      }
+      sumOfPercent += value;
+
+      return sumOfPercent;
+    });
+
+    // Include an imaginary placeholder bar with value equal to
+    // the difference between longestBarTotalValue and barTotalValue
+    // while calculating sumOfPercent to get correct scalingRatio for absolute-scale variant
+    if (this.variant === Variant.AbsoluteScale) {
+      let value = total === 0 ? 0 : ((total - barTotalValue) / total) * 100;
+      if (value < 1 && value !== 0) {
+        value = 1;
+      } else if (value > 99 && value !== 100) {
+        value = 99;
+      }
+      sumOfPercent += value;
+    }
+
+    /**
+     * The %age of the space occupied by the margin needs to subtracted
+     * while computing the scaling ratio, since the margins are not being
+     * scaled down, only the data is being scaled down from a higher percentage to lower percentage
+     * Eg: 95% of the space is taken by the bars, 5% by the margins
+     * Now if the sumOfPercent is 120% -> This needs to be scaled down to 95%, not 100%
+     * since that's only space available to the bars
+     */
+
+    const scalingRatio = sumOfPercent !== 0 ? sumOfPercent / (100 - totalMarginPercent) : 1;
+
+    let prevPosition = 0;
+    let value = 0;
+
+    const createBars = (g: SVGGElement, point: ChartDataPoint, index: number) => {
+      const barHeight = 12;
+      const pointData = point.data ?? 0;
+      if (index > 0) {
+        prevPosition += value;
+      }
+      value = (pointData / total) * 100 ? (pointData / total) * 100 : 0;
+      if (value < 1 && value !== 0) {
+        value = 1 / scalingRatio;
+      } else if (value > 99 && value !== 100) {
+        value = 99 / scalingRatio;
+      } else {
+        value = value / scalingRatio;
+      }
+
+      startingPoint.push(prevPosition);
+
+      const gEle = d3Select(g) // 'this' refers to the current 'g' element
+        .attr('key', index)
+        .attr('role', 'img')
+        .attr('aria-label', pointData);
+
+      let gradientId = '';
+      if (point.gradient) {
+        const defs = document.createElementNS(SVG_NAMESPACE_URI, 'defs');
+        gEle.node()!.appendChild(defs);
+
+        const linearGradient = document.createElementNS(SVG_NAMESPACE_URI, 'linearGradient');
+        defs.appendChild(linearGradient);
+        gradientId = `gradient-${barNo}-${index}`;
+        linearGradient.setAttribute('id', gradientId);
+
+        const stop1 = document.createElementNS(SVG_NAMESPACE_URI, 'stop');
+        linearGradient.appendChild(stop1);
+        stop1.setAttribute('offset', '0%');
+        stop1.setAttribute('stop-color', point.gradient[0]);
+
+        const stop2 = document.createElementNS(SVG_NAMESPACE_URI, 'stop');
+        linearGradient.appendChild(stop2);
+        stop2.setAttribute('offset', '100%');
+        stop2.setAttribute('stop-color', point.gradient[1]);
+      }
+
+      const rect = gEle
+        .append('rect')
+        .attr('key', index)
+        .attr('id', `${barNo}-${index}`)
+        .attr('barinfo', `${point.legend}`)
+        .attr('class', 'bar')
+        .attr('style', point.gradient ? `fill:url(#${gradientId})` : `fill:${point.color!}`)
+        .attr(
+          'x',
+          `${
+            _isRTL
+              ? 100 - startingPoint[index] - value - barSpacingInPercent * index
+              : startingPoint[index] + barSpacingInPercent * index
+          }%`,
+        )
+        .attr('y', 0)
+        .attr('width', value + '%')
+        .attr('height', barHeight)
+        .attr('tabindex', 0);
+      this._bars.push(rect.node()!);
+    };
+
+    const containerDiv = d3Create('div').attr('style', 'position: relative');
+
+    const chartTitleDiv = containerDiv.append('div').attr('class', 'chart-title-div');
+    chartTitleDiv
+      .append('div')
+      .append('span')
+      .attr('class', 'chart-title')
+      .text(data?.chartSeriesTitle ? data?.chartSeriesTitle : '');
+
+    const showChartDataText = this.variant !== Variant.AbsoluteScale;
+    // chartData length is always 2 in single-bar variant
+    const showRatio = !this.hideRatio && data!.chartData!.length === 2;
+    const getChartData = () => data!.chartData![0].data ?? 0;
+
+    if (showChartDataText) {
+      if (data.chartDataText) {
+        const chartTitleRight = document.createElement('div');
+        chartTitleDiv.node()!.appendChild(chartTitleRight);
+        chartTitleRight.classList.add('chart-data-text');
+        chartTitleRight.textContent = data.chartDataText;
+      } else if (showRatio) {
+        const ratioDiv = chartTitleDiv.append('div').attr('role', 'text');
+        const numData = data!.chartData![0].data;
+        const denomData = data!.chartData![1].data;
+        const total = numData! + denomData!;
+        ratioDiv.append('span').attr('class', 'ratio-numerator').text(numData!);
+        ratioDiv.append('span').attr('class', 'ratio-denominator').text(`/${total!}`);
+      }
+    }
+
+    const svgDiv = containerDiv.append('div').attr('style', 'display: flex;');
+    const svgEle = svgDiv
+      .append('svg')
+      .attr('height', 12)
+      .attr('width', 100 + '%')
+      .attr('class', 'svg-chart')
+      .attr(
+        'aria-label',
+        data?.chartSeriesTitle ??
+          `Series with ${data.chartData.length}${data.chartData.length > 1 ? ' stacked' : ''} bars.`,
+      )
+      .selectAll('g')
+      .data(data.chartData!)
+      .enter()
+      .append('g')
+      .each(function (this, d, i) {
+        createBars(this, d, i);
+      })
+      .on('mouseover', (event, d) => {
+        if (d && d.hasOwnProperty('placeholder') && (d as any).placeholder === true) {
+          return;
+        }
+
+        const bounds = this.getBoundingClientRect();
+        const centerX = window.innerWidth / 2;
+        const xPos = Math.max(0, Math.min(centerX, window.innerWidth));
+
+        this.tooltipProps = {
+          isVisible: true,
+          legend: d.legend,
+          yValue: `${d.data}`,
+          color: d.gradient ? d.gradient[0] : d.color!,
+          xPos: this._isRTL ? bounds.right - event.clientX : Math.min(event.clientX - bounds.left, xPos),
+          yPos: event.clientY - bounds.top - 40,
+        };
+      })
+      .on('mouseout', () => {
+        this.tooltipProps = { isVisible: false, legend: '', yValue: '', color: '', xPos: 0, yPos: 0 };
+      });
+
+    if (this.variant === Variant.AbsoluteScale) {
+      const showLabel = true;
+      const barLabel = barTotalValue;
+      if (showLabel) {
+        if (Math.round((startingPoint[startingPoint.length - 1] || 0) + value + totalMarginPercent) === 100) {
+          svgDiv
+            .append('text')
+            .attr('key', 'text')
+            .attr('style', 'margin-top: -4.5px; margin-left: 2px;')
+            .attr('class', 'bar-label')
+            .attr(
+              'x',
+              `${
+                this._isRTL
+                  ? 100 - (startingPoint[startingPoint.length - 1] || 0) - value - totalMarginPercent
+                  : (startingPoint[startingPoint.length - 1] || 0) + value + totalMarginPercent
+              }%`,
+            )
+            .attr('textAnchor', 'start')
+            .attr('y', this._barHeight / 2 + 6)
+            .attr('dominantBaseline', 'central')
+            .attr('transform', `translate(${this._isRTL ? -4 : 4})`)
+            .attr('aria-label', `Total: ${barLabel}`)
+            .attr('role', 'img')
+            .text(barLabel);
+        } else {
+          svgEle
+            .append('text')
+            .attr('key', 'text')
+            .attr('class', 'bar-label')
+            .attr(
+              'x',
+              `${
+                this._isRTL
+                  ? 100 - (startingPoint[startingPoint.length - 1] || 0) - value - totalMarginPercent
+                  : (startingPoint[startingPoint.length - 1] || 0) + value + totalMarginPercent
+              }%`,
+            )
+            .attr('textAnchor', 'start')
+            .attr('y', this._barHeight / 2 + 6)
+            .attr('dominantBaseline', 'central')
+            .attr('transform', `translate(${this._isRTL ? -4 : 4})`)
+            .attr('aria-label', `Total: ${barLabel}`)
+            .attr('role', 'img')
+            .text(barLabel);
+        }
+      }
+    }
+
+    if (data.benchmarkData) {
+      const benchmarkContainer = document.createElement('div');
+      containerDiv.node()!.appendChild(benchmarkContainer);
+      benchmarkContainer.classList.add('benchmark-container');
+
+      const triangle = document.createElement('div');
+      benchmarkContainer.appendChild(triangle);
+      triangle.classList.add('triangle');
+
+      const benchmarkRatio = (data.benchmarkData / total) * 100;
+      triangle.style['insetInlineStart'] = `calc(${benchmarkRatio}% - 4px)`;
+    }
+
+    return containerDiv;
+  }
+}
diff --git a/packages/charts/chart-web-components/src/horizontal-bar-chart/index.ts b/packages/charts/chart-web-components/src/horizontal-bar-chart/index.ts
new file mode 100644
index 00000000000000..0695516e7dce49
--- /dev/null
+++ b/packages/charts/chart-web-components/src/horizontal-bar-chart/index.ts
@@ -0,0 +1,4 @@
+export { definition as HorizontalBarChartDefinition } from './horizontal-bar-chart.definition.js';
+export { HorizontalBarChart } from './horizontal-bar-chart.js';
+export { styles as HorizontalBarChartStyles } from './horizontal-bar-chart.styles.js';
+export { template as HorizontalBarChartTemplate } from './horizontal-bar-chart.template.js';
diff --git a/packages/charts/chart-web-components/src/index-rollup.ts b/packages/charts/chart-web-components/src/index-rollup.ts
new file mode 100644
index 00000000000000..8726e6a32d0f9e
--- /dev/null
+++ b/packages/charts/chart-web-components/src/index-rollup.ts
@@ -0,0 +1,2 @@
+import './horizontal-bar-chart/define.js';
+import './donut-chart/define.js';
diff --git a/packages/charts/chart-web-components/src/index.ts b/packages/charts/chart-web-components/src/index.ts
new file mode 100644
index 00000000000000..9dcd14f29327dc
--- /dev/null
+++ b/packages/charts/chart-web-components/src/index.ts
@@ -0,0 +1,7 @@
+export {
+  HorizontalBarChart,
+  HorizontalBarChartDefinition,
+  HorizontalBarChartStyles,
+  HorizontalBarChartTemplate,
+} from './horizontal-bar-chart/index.js';
+export { DonutChart, DonutChartDefinition, DonutChartStyles, DonutChartTemplate } from './donut-chart/index.js';
diff --git a/packages/charts/chart-web-components/src/utils/benchmark-wrapper.ts b/packages/charts/chart-web-components/src/utils/benchmark-wrapper.ts
new file mode 100644
index 00000000000000..3b1807cbff920f
--- /dev/null
+++ b/packages/charts/chart-web-components/src/utils/benchmark-wrapper.ts
@@ -0,0 +1,22 @@
+// eslint-disable-next-line
+// @ts-nocheck
+import { tests } from '@tensile-perf/web-components';
+import { webLightTheme } from '@fluentui/tokens';
+import { setTheme } from '@fluentui/web-components';
+
+const testWrapper = (test: any, args: any) => {
+  setTheme(webLightTheme);
+  return test(args);
+};
+
+const wrappedTests = {};
+
+for (const testName of Object.keys(tests)) {
+  const test = tests[testName];
+
+  wrappedTests[testName] = (args: any) => {
+    return testWrapper(test, args);
+  };
+}
+
+export { wrappedTests as tests };
diff --git a/packages/charts/chart-web-components/src/utils/chart-helpers.ts b/packages/charts/chart-web-components/src/utils/chart-helpers.ts
new file mode 100644
index 00000000000000..45f9ecdb56dd5f
--- /dev/null
+++ b/packages/charts/chart-web-components/src/utils/chart-helpers.ts
@@ -0,0 +1,193 @@
+import type { ValueConverter } from '@microsoft/fast-element';
+import { Direction } from '@microsoft/fast-web-utilities';
+import { getDirection } from '@fluentui/web-components';
+
+export const jsonConverter: ValueConverter = {
+  toView(value: any): string {
+    return JSON.stringify(value);
+  },
+  fromView(value: string): any {
+    return JSON.parse(value);
+  },
+};
+
+type Dict = { [key: string]: any };
+
+export const validateChartPropsArray = (obj: any, objName: string) => {
+  if (!Array.isArray(obj)) {
+    throw TypeError(`Invalid ${objName}: Expected an array.`);
+  }
+
+  obj.forEach((item, idx) => {
+    validateChartProps(item, `${objName}[${idx}]`);
+  });
+};
+
+export const validateChartProps = (obj: any, objName: string) => {
+  if (obj === null || typeof obj !== 'object' || Array.isArray(obj)) {
+    throw TypeError(`Invalid ${objName}: Expected an object.`);
+  }
+
+  if (!Array.isArray(obj.chartData)) {
+    throw TypeError(`Invalid ${objName}.chartData: Expected an array.`);
+  }
+
+  (obj.chartData as any[]).forEach((item, idx) => {
+    if (item === null || typeof item !== 'object' || Array.isArray(item)) {
+      throw TypeError(`Invalid ${objName}.chartData[${idx}]: Expected an object.`);
+    }
+
+    if (typeof item.legend !== 'string') {
+      throw TypeError(`Invalid ${objName}.chartData[${idx}].legend: Expected a string.`);
+    }
+
+    if (typeof item.data !== 'number') {
+      throw TypeError(`Invalid ${objName}.chartData[${idx}].data: Expected a number.`);
+    }
+  });
+};
+
+export const DataVizPalette = {
+  color1: 'qualitative.1',
+  color2: 'qualitative.2',
+  color3: 'qualitative.3',
+  color4: 'qualitative.4',
+  color5: 'qualitative.5',
+  color6: 'qualitative.6',
+  color7: 'qualitative.7',
+  color8: 'qualitative.8',
+  color9: 'qualitative.9',
+  color10: 'qualitative.10',
+  color11: 'qualitative.21',
+  color12: 'qualitative.22',
+  color13: 'qualitative.23',
+  color14: 'qualitative.24',
+  color15: 'qualitative.25',
+  color16: 'qualitative.26',
+  color17: 'qualitative.27',
+  color18: 'qualitative.28',
+  color19: 'qualitative.29',
+  info: 'semantic.info',
+  disabled: 'semantic.disabled',
+  highError: 'semantic.highError',
+  error: 'semantic.error',
+  warning: 'semantic.warning',
+  success: 'semantic.success',
+  highSuccess: 'semantic.highSuccess',
+};
+
+/**
+ * Key: Color code.
+ * Value:
+ * Index 0 - Default color / Color for light theme,
+ * Index 1 - Color for dark theme
+ */
+type Palette = { [key: string]: string[] };
+
+const QualitativePalette: Palette = {
+  '1': ['#637cef'], // [cornflower.tint10],
+  '2': ['#e3008c'], // [hotPink.primary],
+  '3': ['#2aa0a4'], // [teal.tint20],
+  '4': ['#9373c0'], // [orchid.tint10],
+  '5': ['#13a10e'], // [lightGreen.primary],
+  '6': ['#3a96dd'], // [lightBlue.primary],
+  '7': ['#ca5010'], // [pumpkin.primary],
+  '8': ['#57811b'], // [lime.shade20],
+  '9': ['#b146c2'], // [lilac.primary],
+  '10': ['#ae8c00'], // [gold.shade10],
+  '21': ['#4f6bed'], // [cornflower.primary],
+  '22': ['#ea38a6'], // [hotPink.tint20],
+  '23': ['#038387'], // [teal.primary],
+  '24': ['#8764b8'], // [orchid.primary],
+  '25': ['#11910d'], // [lightGreen.shade10],
+  '26': ['#3487c7'], // [lightBlue.shade10],
+  '27': ['#d06228'], // [pumpkin.tint10],
+  '28': ['#689920'], // [lime.shade10],
+  '29': ['#ba58c9'], // [lilac.tint10],
+};
+
+const SemanticPalette: Palette = {
+  info: ['#015cda'],
+  disabled: ['#dbdbdb', '#4d4d4d'], // [grey[86], grey[30]]
+  highError: ['#6e0811', '#cc2635'], // [cranberry.shade30, cranberry.tint10],
+  error: ['#c50f1f', '#dc626d'], // [cranberry.primary, cranberry.tint30],
+  warning: ['#f7630c', '#f87528'], // [orange.primary, orange.tint10],
+  success: ['#107c10', '#54b054'], // [green.primary, green.tint30],
+  highSuccess: ['#094509', '#218c21'], // [green.shade30, green.tint10],
+};
+
+const Colors: { [key: string]: Palette } = {
+  qualitative: QualitativePalette,
+  semantic: SemanticPalette,
+};
+
+const QUALITATIVE_COLORS = Object.values(QualitativePalette);
+const TOKENS = Object.values(DataVizPalette);
+
+const getThemeSpecificColor = (colors: string[], isDarkTheme: boolean): string => {
+  if (colors.length === 0) {
+    return '';
+  }
+  const colorIdx = Number(isDarkTheme);
+  if (colorIdx < colors.length) {
+    return colors[colorIdx];
+  }
+  return colors[0];
+};
+
+export const getNextColor = (index: number, offset: number = 0, isDarkTheme: boolean = false): string => {
+  const colors = QUALITATIVE_COLORS[(index + offset) % QUALITATIVE_COLORS.length];
+  return getThemeSpecificColor(colors, isDarkTheme);
+};
+
+export const getColorFromToken = (token: string, isDarkTheme: boolean = false): string => {
+  if (TOKENS.indexOf(token) >= 0) {
+    const [paletteName, colorCode] = token.split('.');
+    const colors = Colors[paletteName][colorCode];
+    return getThemeSpecificColor(colors, isDarkTheme);
+  }
+  return token;
+};
+
+export const getRTL = (rootNode: HTMLElement): boolean => {
+  return getDirection(rootNode) === Direction.rtl;
+};
+
+export const SVG_NAMESPACE_URI = 'http://www.w3.org/2000/svg';
+
+export const wrapText = (text: SVGTextElement, width: number) => {
+  if (!text.textContent) {
+    return;
+  }
+
+  const words = text.textContent.split(/\s+/).reverse();
+  let word: string | undefined;
+  let line: string[] = [];
+  let lineNumber = 0;
+  const lineHeight = text.getBoundingClientRect().height;
+  const y = text.getAttribute('y') || '0';
+
+  text.textContent = null;
+
+  let tspan = document.createElementNS(SVG_NAMESPACE_URI, 'tspan');
+  text.appendChild(tspan);
+  tspan.setAttribute('x', '0');
+  tspan.setAttribute('y', y);
+  tspan.setAttribute('dy', `${lineNumber++ * lineHeight}`);
+
+  while ((word = words.pop())) {
+    line.push(word);
+    tspan.textContent = line.join(' ') + ' ';
+    if (tspan.getComputedTextLength() > width && line.length > 1) {
+      line.pop();
+      tspan.textContent = line.join(' ') + ' ';
+      line = [word];
+      tspan = document.createElementNS(SVG_NAMESPACE_URI, 'tspan');
+      text.appendChild(tspan);
+      tspan.setAttribute('x', '0');
+      tspan.setAttribute('y', y);
+      tspan.setAttribute('dy', `${lineNumber++ * lineHeight}`);
+      tspan.textContent = word;
+    }
+  }
+};
diff --git a/packages/charts/chart-web-components/tensile.config.js b/packages/charts/chart-web-components/tensile.config.js
new file mode 100644
index 00000000000000..f73bbfb19cdd4d
--- /dev/null
+++ b/packages/charts/chart-web-components/tensile.config.js
@@ -0,0 +1,25 @@
+/**
+ * This config should be shared for all web-component packages.
+ * Tracking issue - https://github.com/microsoft/fluentui/issues/33576
+ */
+
+const config = {
+  // Browsers to test against
+  browsers: ['chrome'],
+
+  // Importmaps for your test.
+  // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap
+  imports: {
+    '@tensile-perf/web-components': '/node_modules/@tensile-perf/web-components/lib/index.js',
+    '@microsoft/fast-element': '/node_modules/@microsoft/fast-element/dist/fast-element.min.js',
+    '@microsoft/fast-element/utilities.js': '/node_modules/@microsoft/fast-element/dist/esm/utilities.js',
+    '@microsoft/fast-web-utilities': '/node_modules/@microsoft/fast-web-utilities/dist/index.js',
+    '@fluentui/tokens': '/tensile-assets/benchmark-dependencies/tokens.js',
+    '@fluentui/web-components': '/node_modules/@fluentui/web-components/dist/esm/index.js',
+    'exenv-es6': '/node_modules/exenv-es6/dist/index.js',
+    tabbable: '/node_modules/tabbable/dist/index.esm.js',
+    tslib: '/node_modules/tslib/tslib.es6.js',
+  },
+};
+
+export default config;
diff --git a/packages/charts/chart-web-components/tsconfig.api-extractor.json b/packages/charts/chart-web-components/tsconfig.api-extractor.json
new file mode 100644
index 00000000000000..e245193e1fb3db
--- /dev/null
+++ b/packages/charts/chart-web-components/tsconfig.api-extractor.json
@@ -0,0 +1,7 @@
+{
+  "extends": "./tsconfig.lib.json",
+  "compilerOptions": {
+    "paths": null,
+    "baseUrl": "."
+  }
+}
diff --git a/packages/charts/chart-web-components/tsconfig.json b/packages/charts/chart-web-components/tsconfig.json
new file mode 100644
index 00000000000000..7c023fa3b63590
--- /dev/null
+++ b/packages/charts/chart-web-components/tsconfig.json
@@ -0,0 +1,22 @@
+{
+  "extends": "../../../tsconfig.base.wc.json",
+  "compilerOptions": {
+    "target": "ES2019",
+    "module": "NodeNext",
+    "moduleResolution": "NodeNext",
+    "experimentalDecorators": true,
+    "allowJs": true
+  },
+  "files": [],
+  "references": [
+    {
+      "path": "./tsconfig.lib.json"
+    },
+    {
+      "path": "./tsconfig.spec.json"
+    },
+    {
+      "path": "./.storybook/tsconfig.json"
+    }
+  ]
+}
diff --git a/packages/charts/chart-web-components/tsconfig.lib.json b/packages/charts/chart-web-components/tsconfig.lib.json
new file mode 100644
index 00000000000000..a9ffdf43596828
--- /dev/null
+++ b/packages/charts/chart-web-components/tsconfig.lib.json
@@ -0,0 +1,14 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "target": "ES2019",
+    "module": "NodeNext",
+    "lib": ["ESNext", "DOM"],
+    "declaration": true,
+    "declarationDir": "dist/dts",
+    "outDir": "dist/esm",
+    "importHelpers": true
+  },
+  "include": ["src"],
+  "exclude": ["**/*.stories.*", "**/*.test.*", "**/*.spec.*"]
+}
diff --git a/packages/charts/chart-web-components/tsconfig.spec.json b/packages/charts/chart-web-components/tsconfig.spec.json
new file mode 100644
index 00000000000000..d9bed36588029a
--- /dev/null
+++ b/packages/charts/chart-web-components/tsconfig.spec.json
@@ -0,0 +1,9 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "module": "NodeNext",
+    "outDir": "dist/esm",
+    "types": ["node"]
+  },
+  "include": ["src/**/*.test.*", "src/**/*.spec.*"]
+}
diff --git a/packages/charts/chart-web-components/tsdoc.json b/packages/charts/chart-web-components/tsdoc.json
new file mode 100644
index 00000000000000..0c30fee865df6f
--- /dev/null
+++ b/packages/charts/chart-web-components/tsdoc.json
@@ -0,0 +1,44 @@
+{
+  "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
+  "extends": ["@microsoft/api-extractor/extends/tsdoc-base.json"],
+  "tagDefinitions": [
+    {
+      "tagName": "@slot",
+      "syntaxKind": "block",
+      "allowMultiple": true
+    },
+    {
+      "tagName": "@csspart",
+      "syntaxKind": "block",
+      "allowMultiple": true
+    },
+    {
+      "tagName": "@cssprop",
+      "syntaxKind": "block",
+      "allowMultiple": true
+    },
+    {
+      "tagName": "@cssproperty",
+      "syntaxKind": "block",
+      "allowMultiple": true
+    },
+    {
+      "tagName": "@event",
+      "syntaxKind": "block",
+      "allowMultiple": true
+    },
+    {
+      "tagName": "@fires",
+      "syntaxKind": "block",
+      "allowMultiple": true
+    }
+  ],
+  "supportForTags": {
+    "@slot": true,
+    "@csspart": true,
+    "@cssprop": true,
+    "@cssproperty": true,
+    "@event": true,
+    "@fires": true
+  }
+}
diff --git a/tsconfig.base.wc.json b/tsconfig.base.wc.json
index 5c7d220e1c3a6d..c4492bf1b4ddcb 100644
--- a/tsconfig.base.wc.json
+++ b/tsconfig.base.wc.json
@@ -11,6 +11,7 @@
     "rootDir": ".",
     "baseUrl": ".",
     "paths": {
+      "@fluentui/chart-web-components": ["packages/charts/chart-web-components/src/index.ts"],
       "@fluentui/web-components": ["packages/web-components/src/index.ts"],
       "@fluentui/tokens": ["packages/tokens/src/index.ts"]
     }

From f1a15496cf7c7121f4d163e2394d5647fbe9eb96 Mon Sep 17 00:00:00 2001
From: Valentyna <vkozlova@microsoft.com>
Date: Tue, 14 Jan 2025 04:54:42 -0800
Subject: [PATCH 25/78] feat(react-color-picker): Added `transparent` option to
 the AlphaSlider (#33572)

---
 ...-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json |  7 +++
 .../etc/react-color-picker-preview.api.md     |  4 +-
 .../AlphaSlider/AlphaSlider.types.ts          | 12 ++++-
 .../AlphaSlider/alphaSliderUtils.test.ts      | 54 +++++++++++++++++++
 .../AlphaSlider/alphaSliderUtils.ts           | 36 +++++++++++++
 .../AlphaSlider/useAlphaSliderState.ts        | 16 +++---
 .../ColorSlider/ColorSlider.types.ts          |  2 +-
 .../AlphaSliderDefault.stories.tsx            | 24 +++++++++
 8 files changed, 146 insertions(+), 9 deletions(-)
 create mode 100644 change/@fluentui-react-color-picker-preview-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json
 create mode 100644 packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/alphaSliderUtils.test.ts
 create mode 100644 packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/alphaSliderUtils.ts

diff --git a/change/@fluentui-react-color-picker-preview-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json b/change/@fluentui-react-color-picker-preview-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json
new file mode 100644
index 00000000000000..f30eab37953f98
--- /dev/null
+++ b/change/@fluentui-react-color-picker-preview-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "feat: Added `transparent` option to the AlphaSlider",
+  "packageName": "@fluentui/react-color-picker-preview",
+  "email": "v.kozlova13@gmail.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-color-picker-preview/library/etc/react-color-picker-preview.api.md b/packages/react-components/react-color-picker-preview/library/etc/react-color-picker-preview.api.md
index 0ff850de65940e..8190eeb7f921ca 100644
--- a/packages/react-components/react-color-picker-preview/library/etc/react-color-picker-preview.api.md
+++ b/packages/react-components/react-color-picker-preview/library/etc/react-color-picker-preview.api.md
@@ -20,7 +20,9 @@ export const AlphaSlider: ForwardRefComponent<AlphaSliderProps>;
 export const alphaSliderClassNames: SlotClassNames<AlphaSliderSlots>;
 
 // @public
-export type AlphaSliderProps = ColorSliderProps;
+export type AlphaSliderProps = ColorSliderProps & {
+    transparency?: boolean;
+};
 
 // @public (undocumented)
 export type AlphaSliderSlots = ColorSliderSlots;
diff --git a/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/AlphaSlider.types.ts b/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/AlphaSlider.types.ts
index 7a471fa974f46c..2f4c1195416b14 100644
--- a/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/AlphaSlider.types.ts
+++ b/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/AlphaSlider.types.ts
@@ -6,7 +6,17 @@ export type AlphaSliderSlots = ColorSliderSlots;
 /**
  * AlphaSlider Props
  */
-export type AlphaSliderProps = ColorSliderProps;
+export type AlphaSliderProps = ColorSliderProps & {
+  /**
+   * The `transparency` property determines how the alpha channel is interpreted.
+   * - When `false`, the alpha channel represents the opacity of the color.
+   * - When `true`, the alpha channel represents the transparency of the color.
+   * For example, a 30% transparent color has 70% opacity.
+   *
+   * @defaultvalue false
+   */
+  transparency?: boolean;
+};
 
 /**
  * State used in rendering AlphaSlider
diff --git a/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/alphaSliderUtils.test.ts b/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/alphaSliderUtils.test.ts
new file mode 100644
index 00000000000000..2756ee7164985a
--- /dev/null
+++ b/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/alphaSliderUtils.test.ts
@@ -0,0 +1,54 @@
+import { adjustToTransparency, calculateTransparencyValue, getSliderDirection } from './alphaSliderUtils';
+
+describe('AlphaSlider Utils', () => {
+  describe('adjustToTransparency', () => {
+    it('should return 100 - value when transparency is true', () => {
+      expect(adjustToTransparency(30, true)).toBe(70);
+    });
+
+    it('should return value when transparency is false', () => {
+      expect(adjustToTransparency(30, false)).toBe(30);
+    });
+  });
+
+  describe('calculateTransparencyValue', () => {
+    it('should return adjusted value when value is provided and transparency is true', () => {
+      expect(calculateTransparencyValue(true, 0.3)).toBe(70);
+    });
+
+    it('should return adjusted value when value is provided and transparency is false', () => {
+      expect(calculateTransparencyValue(false, 0.3)).toBe(30);
+    });
+
+    it('should return undefined when value is not provided', () => {
+      expect(calculateTransparencyValue(true)).toBeUndefined();
+      expect(calculateTransparencyValue(false)).toBeUndefined();
+    });
+  });
+
+  describe('getSliderDirection', () => {
+    it('should return "180deg" when vertical is true and transparency is true', () => {
+      expect(getSliderDirection('ltr', true, true)).toBe('180deg');
+    });
+
+    it('should return "0deg" when vertical is true and transparency is false', () => {
+      expect(getSliderDirection('ltr', true, false)).toBe('0deg');
+    });
+
+    it('should return "90deg" when dir is "ltr" and transparency is false', () => {
+      expect(getSliderDirection('ltr', false, false)).toBe('90deg');
+    });
+
+    it('should return "-90deg" when dir is "ltr" and transparency is true', () => {
+      expect(getSliderDirection('ltr', false, true)).toBe('-90deg');
+    });
+
+    it('should return "-90deg" when dir is "rtl" and transparency is false', () => {
+      expect(getSliderDirection('rtl', false, false)).toBe('-90deg');
+    });
+
+    it('should return "-90deg" when dir is "rtl" and transparency is true', () => {
+      expect(getSliderDirection('rtl', false, true)).toBe('-90deg');
+    });
+  });
+});
diff --git a/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/alphaSliderUtils.ts b/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/alphaSliderUtils.ts
new file mode 100644
index 00000000000000..739fe0c7fcde8f
--- /dev/null
+++ b/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/alphaSliderUtils.ts
@@ -0,0 +1,36 @@
+/**
+ * Adjusts the given value based on the transparency flag.
+ *
+ * @param value - The numeric value to adjust.
+ * @param transparency - A boolean flag indicating whether to adjust for transparency.
+ * @returns The adjusted value.
+ */
+export function adjustToTransparency(value: number, transparency: boolean) {
+  return transparency ? 100 - value : value;
+}
+
+/**
+ * Calculates the transparency value based on the given parameters.
+ *
+ * @param transparency - A boolean flag indicating whether to adjust for transparency.
+ * @param value - An optional numeric value to adjust.
+ * @returns The calculated transparency value or undefined if the value is not provided.
+ */
+export function calculateTransparencyValue(transparency: boolean, value?: number) {
+  return value !== undefined ? adjustToTransparency(value * 100, transparency) : undefined;
+}
+
+/**
+ * Determines the direction of the slider based on the given parameters.
+ *
+ * @param dir - The text direction, either 'ltr' (left-to-right) or 'rtl' (right-to-left).
+ * @param vertical - A boolean indicating if the slider is vertical.
+ * @param transparency - A boolean indicating if the slider is for transparency.
+ * @returns The direction of the slider as a string representing degrees (e.g., '90deg').
+ */
+export function getSliderDirection(dir: 'ltr' | 'rtl', vertical: boolean, transparency: boolean) {
+  if (vertical) {
+    return transparency ? '180deg' : '0deg';
+  }
+  return dir === 'ltr' && !transparency ? '90deg' : '-90deg';
+}
diff --git a/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/useAlphaSliderState.ts b/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/useAlphaSliderState.ts
index 153975294f8e5a..c1654f5eef77c2 100644
--- a/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/useAlphaSliderState.ts
+++ b/packages/react-components/react-color-picker-preview/library/src/components/AlphaSlider/useAlphaSliderState.ts
@@ -8,6 +8,7 @@ import { useColorPickerContextValue_unstable } from '../../contexts/colorPicker'
 import { MIN, MAX } from '../../utils/constants';
 import { getPercent } from '../../utils/getPercent';
 import type { HsvColor } from '../../types/color';
+import { adjustToTransparency, calculateTransparencyValue, getSliderDirection } from './alphaSliderUtils';
 
 export const useAlphaSliderState_unstable = (state: AlphaSliderState, props: AlphaSliderProps) => {
   'use no memo';
@@ -15,30 +16,33 @@ export const useAlphaSliderState_unstable = (state: AlphaSliderState, props: Alp
   const { dir } = useFluent();
   const onChangeFromContext = useColorPickerContextValue_unstable(ctx => ctx.requestChange);
   const colorFromContext = useColorPickerContextValue_unstable(ctx => ctx.color);
-  const { color, onChange = onChangeFromContext } = props;
+  const { color, onChange = onChangeFromContext, transparency = false, vertical = false } = props;
   const hsvColor = color || colorFromContext;
   const hslColor = tinycolor(hsvColor).toHsl();
 
   const [currentValue, setCurrentValue] = useControllableState({
-    defaultState: props.defaultColor?.a ? props.defaultColor.a * 100 : undefined,
-    state: hsvColor?.a ? hsvColor.a * 100 : undefined,
-    initialState: 100,
+    defaultState: calculateTransparencyValue(transparency, props.defaultColor?.a),
+    state: calculateTransparencyValue(transparency, hsvColor?.a),
+    initialState: adjustToTransparency(100, transparency),
   });
+
   const clampedValue = clamp(currentValue, MIN, MAX);
   const valuePercent = getPercent(clampedValue, MIN, MAX);
 
   const inputOnChange = state.input.onChange;
 
   const _onChange: React.ChangeEventHandler<HTMLInputElement> = useEventCallback(event => {
-    const newValue = Number(event.target.value);
+    const newValue = adjustToTransparency(Number(event.target.value), transparency);
     const newColor: HsvColor = { ...hsvColor, a: newValue / 100 };
     setCurrentValue(newValue);
     inputOnChange?.(event);
     onChange?.(event, { type: 'change', event, color: newColor });
   });
 
+  const sliderDirection = getSliderDirection(dir, vertical, transparency);
+
   const rootVariables = {
-    [alphaSliderCSSVars.sliderDirectionVar]: state.vertical ? '0deg' : dir === 'ltr' ? '90deg' : '-90deg',
+    [alphaSliderCSSVars.sliderDirectionVar]: sliderDirection,
     [alphaSliderCSSVars.sliderProgressVar]: `${valuePercent}%`,
     [alphaSliderCSSVars.thumbColorVar]: `transparent`,
     [alphaSliderCSSVars.railColorVar]: `hsl(${hslColor.h} ${hslColor.s * 100}%, ${hslColor.l * 100}%)`,
diff --git a/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/ColorSlider.types.ts b/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/ColorSlider.types.ts
index ca7417aa765d3b..162ff92bf3f6e8 100644
--- a/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/ColorSlider.types.ts
+++ b/packages/react-components/react-color-picker-preview/library/src/components/ColorSlider/ColorSlider.types.ts
@@ -36,7 +36,7 @@ export type ColorSliderProps = Omit<
     vertical?: boolean;
 
     /**
-     * Color of the COlorPicker
+     * Color of the ColorPicker
      */
     color?: HsvColor;
 
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx
index bce95432ff2ccf..82867dbc8a908c 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx
@@ -27,13 +27,17 @@ export const AlphaSliderExample = (props: Partial<AlphaSliderProps>) => {
   const styles = useStyles();
 
   const [color, setColor] = React.useState(COLOR);
+  const [transparancyColor, setTransparancyColor] = React.useState(COLOR);
   const [value, setValue] = React.useState(COLOR.a * 100);
   const onSliderChange: AlphaSliderProps['onChange'] = (_, data) => {
     const alpha = data.color.a ?? 1;
     setColor({ ...data.color, a: alpha });
     setValue(alpha * 100);
   };
+  const onTransparancySliderChange: AlphaSliderProps['onChange'] = (_, data) =>
+    setTransparancyColor({ ...data.color, a: data.color.a ?? 1 });
   const resetSlider = () => setColor(COLOR);
+  const resetTransparencySlider = () => setTransparancyColor(COLOR);
 
   return (
     <div className={styles.example}>
@@ -48,6 +52,26 @@ export const AlphaSliderExample = (props: Partial<AlphaSliderProps>) => {
       />
       <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toRgbString() }} />
       <Button onClick={resetSlider}>Reset</Button>
+      <h3>Transparency</h3>
+      <AlphaSlider
+        color={transparancyColor}
+        onChange={onTransparancySliderChange}
+        aria-valuetext={`${value}%`}
+        aria-label="Alpha"
+        transparency
+        {...props}
+      />
+      <AlphaSlider
+        color={transparancyColor}
+        onChange={onTransparancySliderChange}
+        aria-valuetext={`${value}%`}
+        aria-label="Vertical alpha"
+        transparency
+        vertical
+        {...props}
+      />
+      <div className={styles.previewColor} style={{ backgroundColor: tinycolor(transparancyColor).toRgbString() }} />
+      <Button onClick={resetTransparencySlider}>Reset</Button>
     </div>
   );
 };

From f66e15caa085fc79bff081c801ae465c24052d5f Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Tue, 14 Jan 2025 14:06:21 +0100
Subject: [PATCH 26/78] ci(gha): enable manual trigger for VRT and disable
 automatic PR trigger for testing purposes (#33606)

---
 .github/workflows/pr-vrt.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/pr-vrt.yml b/.github/workflows/pr-vrt.yml
index 344a1783f9f858..7cb8853eb8e604 100644
--- a/.github/workflows/pr-vrt.yml
+++ b/.github/workflows/pr-vrt.yml
@@ -1,6 +1,8 @@
 name: VRT CI
 on:
-  pull_request:
+  # TODO: once testing is done enable pull_request trigger again
+  # pull_request:
+  workflow_dispatch:
 
 concurrency:
   # see https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow

From 8cf401d626def27ad679f9e53928533df9f9ef52 Mon Sep 17 00:00:00 2001
From: Dmytro Kirpa <dmytrokirpa@microsoft.com>
Date: Tue, 14 Jan 2025 15:06:36 +0100
Subject: [PATCH 27/78] fix(react-utilities): add autoCorrect and minLength
 input properties support to getNativeProps utility (#33642)

---
 ...-0b333279-3531-4fce-a0ee-8e9c05d6f830.json |  7 +++++
 .../src/components/Input/Input.test.tsx       | 11 ++++++++
 .../src/utils/properties.test.ts              | 28 ++++++++++++++++++-
 .../react-utilities/src/utils/properties.ts   |  2 ++
 4 files changed, 47 insertions(+), 1 deletion(-)
 create mode 100644 change/@fluentui-react-utilities-0b333279-3531-4fce-a0ee-8e9c05d6f830.json

diff --git a/change/@fluentui-react-utilities-0b333279-3531-4fce-a0ee-8e9c05d6f830.json b/change/@fluentui-react-utilities-0b333279-3531-4fce-a0ee-8e9c05d6f830.json
new file mode 100644
index 00000000000000..050e7fdba7a165
--- /dev/null
+++ b/change/@fluentui-react-utilities-0b333279-3531-4fce-a0ee-8e9c05d6f830.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: add autoCorrect and minLength input properties support to getNativeProps utility",
+  "packageName": "@fluentui/react-utilities",
+  "email": "dmytrokirpa@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-input/library/src/components/Input/Input.test.tsx b/packages/react-components/react-input/library/src/components/Input/Input.test.tsx
index 2d12b3fbca0d4c..55f93f73560398 100644
--- a/packages/react-components/react-input/library/src/components/Input/Input.test.tsx
+++ b/packages/react-components/react-input/library/src/components/Input/Input.test.tsx
@@ -128,4 +128,15 @@ describe('Input', () => {
     expect(input.value).toBe('foo');
     expect(spy).not.toHaveBeenCalled();
   });
+
+  it('forwards native input props to the input element', () => {
+    renderedComponent = render(<Input autoCorrect="on" minLength={1} maxLength={2} />);
+
+    expect(getInput()).toMatchObject({
+      minLength: 1,
+      maxLength: 2,
+    });
+
+    expect(getInput().getAttribute('autocorrect')).toEqual('on');
+  });
 });
diff --git a/packages/react-components/react-utilities/src/utils/properties.test.ts b/packages/react-components/react-utilities/src/utils/properties.test.ts
index 8b7a6a0735dd0c..a2a25519905150 100644
--- a/packages/react-components/react-utilities/src/utils/properties.test.ts
+++ b/packages/react-components/react-utilities/src/utils/properties.test.ts
@@ -1,5 +1,5 @@
 import * as React from 'react';
-import { getNativeProps, divProperties } from './properties';
+import { getNativeProps, divProperties, inputProperties } from './properties';
 
 describe('getNativeProps', () => {
   it('can pass through data tags', () => {
@@ -43,6 +43,32 @@ describe('getNativeProps', () => {
     expect(typeof result.onClickCapture).toEqual('function');
   });
 
+  it('can pass through input props', () => {
+    const result = getNativeProps<React.InputHTMLAttributes<HTMLInputElement>>(
+      {
+        autoCapitalize: 'off',
+        autoCorrect: 'on',
+        maxLength: 10,
+        minLength: 1,
+        value: '123',
+        // Non-input property
+        foobar: 1,
+      },
+      inputProperties,
+    );
+
+    expect(result).toMatchObject({
+      autoCapitalize: 'off',
+      autoCorrect: 'on',
+      maxLength: 10,
+      minLength: 1,
+      value: '123',
+    });
+
+    // eslint-disable-next-line @typescript-eslint/no-explicit-any
+    expect((result as any).foobar).toBeUndefined();
+  });
+
   it('can remove unexpected properties', () => {
     const result = getNativeProps<React.HTMLAttributes<HTMLDivElement>>(
       {
diff --git a/packages/react-components/react-utilities/src/utils/properties.ts b/packages/react-components/react-utilities/src/utils/properties.ts
index 2f434f8afc95b3..60867cd652f8cb 100644
--- a/packages/react-components/react-utilities/src/utils/properties.ts
+++ b/packages/react-components/react-utilities/src/utils/properties.ts
@@ -248,6 +248,7 @@ export const buttonProperties = toObjectMap(htmlElementProperties, [
 export const inputProperties = toObjectMap(buttonProperties, [
   'accept', // input
   'alt', // area, img, input
+  'autoCorrect', // input, textarea
   'autoCapitalize', // input, textarea
   'autoComplete', // form, input
   'checked', // input
@@ -259,6 +260,7 @@ export const inputProperties = toObjectMap(buttonProperties, [
   'max', // input, meter
   'maxLength', // input, textarea
   'min', // input, meter
+  'minLength', // input, textarea
   'multiple', // input, select
   'pattern', // input
   'placeholder', // input, textarea

From 83a61f47466ccd33dea3d4b83f566de7a151bdc7 Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Tue, 14 Jan 2025 15:45:40 +0100
Subject: [PATCH 28/78] docs(react-carousel): normalize title creation within
 storybook menu (#33604)

---
 .../react-carousel/stories/src/Carousel/index.stories.tsx       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/react-components/react-carousel/stories/src/Carousel/index.stories.tsx b/packages/react-components/react-carousel/stories/src/Carousel/index.stories.tsx
index 29d2ccf2468add..9d3be3b898bc6f 100644
--- a/packages/react-components/react-carousel/stories/src/Carousel/index.stories.tsx
+++ b/packages/react-components/react-carousel/stories/src/Carousel/index.stories.tsx
@@ -24,7 +24,7 @@ export { FirstRunExperience } from './CarouselFirstRunExperience.stories';
 export { Eventing } from './CarouselEventing.stories';
 
 export default {
-  title: 'Components/Carousel',
+  title: 'Components/Carousel/Carousel',
   component: Carousel,
   subcomponents: {
     CarouselAutoplayButton,

From 9ed5fce8dda03bb85d583a23478ed298e51d305d Mon Sep 17 00:00:00 2001
From: Valentyna <vkozlova@microsoft.com>
Date: Tue, 14 Jan 2025 07:34:03 -0800
Subject: [PATCH 29/78] fix(react-color-picker): focus shifts to inputY when
 user clicks `tab` (#33620)

---
 ...icker-preview-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json | 7 +++++++
 .../library/src/components/ColorArea/useColorArea.ts       | 4 ++--
 .../stories/src/ColorPicker/AlphaSliderDefault.stories.tsx | 3 +--
 .../src/ColorPicker/ColorAndSwatchPicker.stories.tsx       | 6 ++++--
 .../stories/src/ColorPicker/ColorAreaDefault.stories.tsx   | 2 +-
 .../stories/src/ColorPicker/ColorPickerDefault.stories.tsx | 2 +-
 .../stories/src/ColorPicker/ColorPickerPopup.stories.tsx   | 2 +-
 .../stories/src/ColorPicker/ColorPickerShape.stories.tsx   | 6 +++---
 .../stories/src/ColorPicker/ColorSliderDefault.stories.tsx | 3 +--
 9 files changed, 21 insertions(+), 14 deletions(-)
 create mode 100644 change/@fluentui-react-color-picker-preview-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json

diff --git a/change/@fluentui-react-color-picker-preview-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json b/change/@fluentui-react-color-picker-preview-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json
new file mode 100644
index 00000000000000..659240a99245b9
--- /dev/null
+++ b/change/@fluentui-react-color-picker-preview-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: focus jumps to inputY instead of next element",
+  "packageName": "@fluentui/react-color-picker-preview",
+  "email": "vkozlova@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-color-picker-preview/library/src/components/ColorArea/useColorArea.ts b/packages/react-components/react-color-picker-preview/library/src/components/ColorArea/useColorArea.ts
index e11b88384ff351..d3b814a6aac836 100644
--- a/packages/react-components/react-color-picker-preview/library/src/components/ColorArea/useColorArea.ts
+++ b/packages/react-components/react-color-picker-preview/library/src/components/ColorArea/useColorArea.ts
@@ -175,7 +175,7 @@ export const useColorArea_unstable = (props: ColorAreaProps, ref: React.Ref<HTML
       defaultProps: {
         id: useId('sliderX-'),
         type: 'range',
-        ...(activeAxis === 'x' && { tabIndex: 0 }),
+        ...(activeAxis && { tabIndex: activeAxis === 'x' ? 0 : -1 }),
       },
       elementType: 'input',
     }),
@@ -183,7 +183,7 @@ export const useColorArea_unstable = (props: ColorAreaProps, ref: React.Ref<HTML
       defaultProps: {
         id: useId('sliderY-'),
         type: 'range',
-        ...(activeAxis === 'y' && { tabIndex: 0 }),
+        ...(activeAxis && { tabIndex: activeAxis === 'y' ? 0 : -1 }),
       },
       elementType: 'input',
     }),
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx
index 82867dbc8a908c..3a46c7d6fe53e0 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/AlphaSliderDefault.stories.tsx
@@ -20,8 +20,7 @@ const useStyles = makeStyles({
     },
   },
 });
-
-const COLOR = tinycolor('#5be600').toHsv();
+const COLOR = { h: 96, s: 1, v: 0.9, a: 1 };
 
 export const AlphaSliderExample = (props: Partial<AlphaSliderProps>) => {
   const styles = useStyles();
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAndSwatchPicker.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAndSwatchPicker.stories.tsx
index 4c702b95060c0f..6a8a4daf86014b 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAndSwatchPicker.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAndSwatchPicker.stories.tsx
@@ -48,8 +48,9 @@ const useStyles = makeStyles({
 
 const ITEMS_LIMIT = 8;
 const DEFAULT_SELECTED_VALUE = '2be700';
-const DEFAULT_SELECTED_COLOR = '#2be700';
-const DEFAULT_COLOR_HSV = tinycolor(DEFAULT_SELECTED_COLOR).toHsv();
+
+const DEFAULT_COLOR_HSV = { h: 109, s: 1, v: 0.9, a: 1 };
+const DEFAULT_SELECTED_COLOR = tinycolor(DEFAULT_COLOR_HSV).toHex();
 
 export const ColorAndSwatchPickerExample = () => {
   const styles = useStyles();
@@ -110,6 +111,7 @@ export const ColorAndSwatchPickerExample = () => {
         aria-label="SwatchPicker with empty swatches"
         selectedValue={selectedValue}
         onSelectionChange={handleSelect}
+        shape="rounded"
       >
         {items.map(item => (
           <ColorSwatch key={item.value} ref={item.value === colorFocusTarget ? colorFocusTargetRef : null} {...item} />
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx
index 53b06d3ee52946..c991d299a6d45e 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx
@@ -21,7 +21,7 @@ const useStyles = makeStyles({
   },
 });
 
-const DEFAULT_COLOR_HSV = tinycolor('#804066').toHsv();
+const DEFAULT_COLOR_HSV = { h: 324, s: 0.5, v: 0.5, a: 1 };
 
 export const ColorAreaExample = () => {
   const styles = useStyles();
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
index 394822d70e8309..97a1dd81ccfb21 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
@@ -56,7 +56,7 @@ const useStyles = makeStyles({
 
 const HEX_COLOR_REGEX = /^#?([0-9A-Fa-f]{0,6})$/;
 const NUMBER_REGEX = /^\d+$/;
-const DEFAULT_COLOR_HSV = tinycolor('#2be700').toHsv();
+const DEFAULT_COLOR_HSV = { h: 109, s: 1, v: 0.9, a: 1 };
 
 type RgbKey = 'r' | 'g' | 'b';
 
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerPopup.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerPopup.stories.tsx
index 3b1b43a2bd4108..bfc248fa6032f3 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerPopup.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerPopup.stories.tsx
@@ -36,7 +36,7 @@ const useStyles = makeStyles({
   },
 });
 
-const DEFAULT_COLOR_HSV = tinycolor('#2be700').toHsv();
+const DEFAULT_COLOR_HSV = { h: 109, s: 1, v: 0.9, a: 1 };
 
 export const ColorPickerPopup = () => {
   const styles = useStyles();
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerShape.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerShape.stories.tsx
index 89349528ca0f00..ce1b4ab0ca56c6 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerShape.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerShape.stories.tsx
@@ -27,7 +27,7 @@ const useStyles = makeStyles({
   },
 });
 
-const DEFAULT_COLOR_HSV = tinycolor('#2be700').toHsv();
+const DEFAULT_COLOR_HSV = { h: 109, s: 1, v: 0.91, a: 1 };
 
 export const ColorPickerShape = () => {
   const styles = useStyles();
@@ -39,15 +39,15 @@ export const ColorPickerShape = () => {
     <div className={styles.example}>
       <h3>Rounded (default)</h3>
       <ColorPicker color={color} onColorChange={handleChange}>
+        <ColorArea />
         <ColorSlider />
         <AlphaSlider />
-        <ColorArea />
       </ColorPicker>
       <h3>Square (default)</h3>
       <ColorPicker shape="square" color={color} onColorChange={handleChange}>
+        <ColorArea />
         <ColorSlider />
         <AlphaSlider />
-        <ColorArea />
       </ColorPicker>
       <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toRgbString() }} />
     </div>
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorSliderDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorSliderDefault.stories.tsx
index 1062a371d2bb9e..2c1cbdec1772dc 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorSliderDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorSliderDefault.stories.tsx
@@ -20,8 +20,7 @@ const useStyles = makeStyles({
     },
   },
 });
-
-const DEFAULT_COLOR_HSV = tinycolor('#2be700').toHsv();
+const DEFAULT_COLOR_HSV = { h: 109, s: 1, v: 0.9, a: 1 };
 
 export const ColorSliderExample = (props: Partial<ColorSliderProps>) => {
   const styles = useStyles();

From ab6a30284d152c9ecde274e0cfc0579d002a7bbb Mon Sep 17 00:00:00 2001
From: Oleksandr Fediashov <olfedias@microsoft.com>
Date: Tue, 14 Jan 2025 17:38:07 +0100
Subject: [PATCH 30/78] feat(motion): add extended support for reduced motion
 (#33353)

---
 ...-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json |   7 +
 .../library/etc/react-motion.api.md           |   6 +-
 .../src/hooks/useAnimateAtoms.test.tsx        |  88 ++++++++++
 .../library/src/hooks/useAnimateAtoms.ts      |  32 +++-
 .../react-motion/library/src/types.ts         |  13 +-
 .../CreateMotionComponentDefault.stories.tsx  |   4 +
 .../CreateMotionComponentFactory.stories.tsx  |   4 +
 ...eMotionComponentFunctionParams.stories.tsx |   4 +
 ...CreateMotionComponentFunctions.stories.tsx |   4 +
 ...omponentImperativeRefPlayState.stories.tsx |   4 +
 ...eateMotionComponentTokensUsage.stories.tsx |   4 +
 ...ePresenceComponentReducedMotion.stories.md |  24 +++
 ...PresenceComponentReducedMotion.stories.tsx | 150 ++++++++++++++++++
 .../CreatePresenceComponent/index.stories.ts  |   1 +
 14 files changed, 334 insertions(+), 11 deletions(-)
 create mode 100644 change/@fluentui-react-motion-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json
 create mode 100644 packages/react-components/react-motion/library/src/hooks/useAnimateAtoms.test.tsx
 create mode 100644 packages/react-components/react-motion/stories/src/CreatePresenceComponent/CreatePresenceComponentReducedMotion.stories.md
 create mode 100644 packages/react-components/react-motion/stories/src/CreatePresenceComponent/CreatePresenceComponentReducedMotion.stories.tsx

diff --git a/change/@fluentui-react-motion-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json b/change/@fluentui-react-motion-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json
new file mode 100644
index 00000000000000..cba37e60ef3fdd
--- /dev/null
+++ b/change/@fluentui-react-motion-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "feat: add extended support for reduced motion",
+  "packageName": "@fluentui/react-motion",
+  "email": "olfedias@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-motion/library/etc/react-motion.api.md b/packages/react-components/react-motion/library/etc/react-motion.api.md
index e8fd8b1a9e8bed..7f97978066768b 100644
--- a/packages/react-components/react-motion/library/etc/react-motion.api.md
+++ b/packages/react-components/react-motion/library/etc/react-motion.api.md
@@ -9,9 +9,9 @@ import { SlotComponentType } from '@fluentui/react-utilities';
 import { SlotRenderFunction } from '@fluentui/react-utilities';
 
 // @public (undocumented)
-export type AtomMotion = {
-    keyframes: Keyframe[];
-} & KeyframeEffectOptions;
+export type AtomMotion = AtomCore & {
+    reducedMotion?: Partial<AtomCore>;
+};
 
 // @public (undocumented)
 export type AtomMotionFn<MotionParams extends Record<string, MotionParam> = {}> = (params: {
diff --git a/packages/react-components/react-motion/library/src/hooks/useAnimateAtoms.test.tsx b/packages/react-components/react-motion/library/src/hooks/useAnimateAtoms.test.tsx
new file mode 100644
index 00000000000000..3501931bcf306c
--- /dev/null
+++ b/packages/react-components/react-motion/library/src/hooks/useAnimateAtoms.test.tsx
@@ -0,0 +1,88 @@
+import { renderHook } from '@testing-library/react-hooks';
+
+import type { AtomMotion } from '../types';
+import { DEFAULT_ANIMATION_OPTIONS, useAnimateAtoms } from './useAnimateAtoms';
+
+function createElementMock() {
+  const animate = jest.fn().mockReturnValue({
+    persist: jest.fn(),
+  });
+
+  return [{ animate } as unknown as HTMLElement, animate] as const;
+}
+
+const DEFAULT_KEYFRAMES = [{ transform: 'rotate(0)' }, { transform: 'rotate(180deg)' }];
+const REDUCED_MOTION_KEYFRAMES = [{ opacity: 0 }, { opacity: 1 }];
+
+describe('useAnimateAtoms', () => {
+  beforeEach(() => {
+    // We set production environment to avoid testing the mock implementation
+    process.env.NODE_ENV = 'production';
+  });
+
+  it('should return a function', () => {
+    const { result } = renderHook(() => useAnimateAtoms());
+
+    expect(result.current).toBeInstanceOf(Function);
+  });
+
+  describe('reduce motion', () => {
+    it('calls ".animate()" with regular motion', () => {
+      const { result } = renderHook(() => useAnimateAtoms());
+
+      const [element, animateMock] = createElementMock();
+      const motion: AtomMotion = { keyframes: DEFAULT_KEYFRAMES };
+
+      result.current(element, motion, { isReducedMotion: false });
+
+      expect(animateMock).toHaveBeenCalledTimes(1);
+      expect(animateMock).toHaveBeenCalledWith(DEFAULT_KEYFRAMES, { ...DEFAULT_ANIMATION_OPTIONS });
+    });
+
+    it('calls ".animate()" with shortened duration (1ms) when reduced motion is enabled', () => {
+      const { result } = renderHook(() => useAnimateAtoms());
+
+      const [element, animateMock] = createElementMock();
+      const motion: AtomMotion = { keyframes: DEFAULT_KEYFRAMES };
+
+      result.current(element, motion, { isReducedMotion: true });
+
+      expect(animateMock).toHaveBeenCalledTimes(1);
+      expect(animateMock).toHaveBeenCalledWith(DEFAULT_KEYFRAMES, { ...DEFAULT_ANIMATION_OPTIONS, duration: 1 });
+    });
+
+    it('calls ".animate()" with specified reduced motion keyframes when reduced motion is enabled', () => {
+      const { result } = renderHook(() => useAnimateAtoms());
+
+      const [element, animateMock] = createElementMock();
+      const motion: AtomMotion = {
+        keyframes: DEFAULT_KEYFRAMES,
+        reducedMotion: { keyframes: REDUCED_MOTION_KEYFRAMES },
+      };
+
+      result.current(element, motion, { isReducedMotion: true });
+
+      expect(animateMock).toHaveBeenCalledTimes(1);
+      expect(animateMock).toHaveBeenCalledWith(REDUCED_MOTION_KEYFRAMES, { ...DEFAULT_ANIMATION_OPTIONS });
+    });
+
+    it('calls ".animate()" with specified reduced motion params when reduced motion is enabled', () => {
+      const { result } = renderHook(() => useAnimateAtoms());
+
+      const [element, animateMock] = createElementMock();
+      const motion: AtomMotion = {
+        keyframes: DEFAULT_KEYFRAMES,
+        reducedMotion: { duration: 100, easing: 'linear' },
+      };
+
+      result.current(element, motion, { isReducedMotion: true });
+
+      expect(animateMock).toHaveBeenCalledTimes(1);
+      expect(animateMock).toHaveBeenCalledWith(DEFAULT_KEYFRAMES, {
+        ...DEFAULT_ANIMATION_OPTIONS,
+        easing: 'linear',
+        duration: 100,
+      });
+    });
+  });
+});
diff --git a/packages/react-components/react-motion/library/src/hooks/useAnimateAtoms.ts b/packages/react-components/react-motion/library/src/hooks/useAnimateAtoms.ts
index 9bc31e0d2e9cee..59bfe38e32203a 100644
--- a/packages/react-components/react-motion/library/src/hooks/useAnimateAtoms.ts
+++ b/packages/react-components/react-motion/library/src/hooks/useAnimateAtoms.ts
@@ -1,6 +1,16 @@
 import * as React from 'react';
 import type { AnimationHandle, AtomMotion } from '../types';
 
+export const DEFAULT_ANIMATION_OPTIONS: KeyframeEffectOptions = {
+  fill: 'forwards',
+};
+
+// A motion atom's default reduced motion is a simple 1 ms duration.
+// But an atom can define a custom reduced motion, overriding keyframes and/or params like duration, easing, iterations, etc.
+const DEFAULT_REDUCED_MOTION_ATOM: NonNullable<AtomMotion['reducedMotion']> = {
+  duration: 1,
+};
+
 function useAnimateAtomsInSupportedEnvironment() {
   // eslint-disable-next-line @nx/workspace-no-restricted-globals
   const SUPPORTS_PERSIST = typeof window !== 'undefined' && typeof window.Animation?.prototype.persist === 'function';
@@ -17,18 +27,26 @@ function useAnimateAtomsInSupportedEnvironment() {
       const { isReducedMotion } = options;
 
       const animations = atoms.map(motion => {
-        const { keyframes, ...params } = motion;
-        const animation = element.animate(keyframes, {
-          fill: 'forwards',
-
+        // Grab the custom reduced motion definition if it exists, or fall back to the default reduced motion.
+        const { keyframes: motionKeyframes, reducedMotion = DEFAULT_REDUCED_MOTION_ATOM, ...params } = motion;
+        // Grab the reduced motion keyframes if they exist, or fall back to the regular keyframes.
+        const { keyframes: reducedMotionKeyframes = motionKeyframes, ...reducedMotionParams } = reducedMotion;
+
+        const animationKeyframes: Keyframe[] = isReducedMotion ? reducedMotionKeyframes : motionKeyframes;
+        const animationParams: KeyframeEffectOptions = {
+          ...DEFAULT_ANIMATION_OPTIONS,
           ...params,
-          ...(isReducedMotion && { duration: 1 }),
-        });
+
+          // Use reduced motion overrides (e.g. duration, easing) when reduced motion is enabled
+          ...(isReducedMotion && reducedMotionParams),
+        };
+
+        const animation = element.animate(animationKeyframes, animationParams);
 
         if (SUPPORTS_PERSIST) {
           animation.persist();
         } else {
-          const resultKeyframe = keyframes[keyframes.length - 1];
+          const resultKeyframe = animationKeyframes[animationKeyframes.length - 1];
           Object.assign(element.style ?? {}, resultKeyframe);
         }
 
diff --git a/packages/react-components/react-motion/library/src/types.ts b/packages/react-components/react-motion/library/src/types.ts
index b989d7e890b18c..6fdfd8e7130246 100644
--- a/packages/react-components/react-motion/library/src/types.ts
+++ b/packages/react-components/react-motion/library/src/types.ts
@@ -1,4 +1,15 @@
-export type AtomMotion = { keyframes: Keyframe[] } & KeyframeEffectOptions;
+type AtomCore = { keyframes: Keyframe[] } & KeyframeEffectOptions;
+
+export type AtomMotion = AtomCore & {
+  /**
+   * Allows to specify a reduced motion version of the animation. If provided, the settings will be used when the
+   * user has enabled the reduced motion setting in the operating system (i.e `prefers-reduced-motion` media query is
+   * active). If not provided, the duration of the animation will be overridden to be 1ms.
+   *
+   * Note, if `keyframes` are provided, they will be used instead of the regular `keyframes`.
+   */
+  reducedMotion?: Partial<AtomCore>;
+};
 
 export type PresenceDirection = 'enter' | 'exit';
 
diff --git a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentDefault.stories.tsx b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentDefault.stories.tsx
index 07a0143b051de2..d40b1fb87d986a 100644
--- a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentDefault.stories.tsx
+++ b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentDefault.stories.tsx
@@ -41,6 +41,10 @@ const FadeEnter = createMotionComponent({
   keyframes: [{ opacity: 0 }, { opacity: 1 }],
   duration: motionTokens.durationSlow,
   iterations: Infinity,
+
+  reducedMotion: {
+    iterations: 1,
+  },
 });
 
 export const CreateMotionComponentDefault = (props: MotionComponentProps) => {
diff --git a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFactory.stories.tsx b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFactory.stories.tsx
index 928ffc9bb2b67b..57b41d3f226aee 100644
--- a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFactory.stories.tsx
+++ b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFactory.stories.tsx
@@ -45,6 +45,10 @@ const DropIn = createMotionComponent({
   ],
   duration: 4000,
   iterations: Infinity,
+
+  reducedMotion: {
+    iterations: 1,
+  },
 });
 
 export const CreateMotionComponentFactory = () => {
diff --git a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFunctionParams.stories.tsx b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFunctionParams.stories.tsx
index bd0374ed4ce868..81ed56abc9ee3a 100644
--- a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFunctionParams.stories.tsx
+++ b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFunctionParams.stories.tsx
@@ -81,6 +81,10 @@ const Scale = createMotionComponent<{ startFrom?: number }>(({ startFrom = 0.5 }
     ],
     duration: motionTokens.durationUltraSlow,
     iterations: Infinity,
+
+    reducedMotion: {
+      iterations: 1,
+    },
   };
 });
 
diff --git a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFunctions.stories.tsx b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFunctions.stories.tsx
index a62027d0707b60..422b33618f6580 100644
--- a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFunctions.stories.tsx
+++ b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentFunctions.stories.tsx
@@ -68,6 +68,10 @@ const Grow = createMotionComponent(({ element }) => ({
     { opacity: 0, maxHeight: `${element.scrollHeight / 2}px` },
   ],
   iterations: Infinity,
+
+  reducedMotion: {
+    iterations: 1,
+  },
 }));
 
 export const CreateMotionComponentFunctions = () => {
diff --git a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentImperativeRefPlayState.stories.tsx b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentImperativeRefPlayState.stories.tsx
index b06668fd66ac7c..d0e19a07e790c0 100644
--- a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentImperativeRefPlayState.stories.tsx
+++ b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentImperativeRefPlayState.stories.tsx
@@ -66,6 +66,10 @@ const FadeEnter = createMotionComponent({
   keyframes: [{ opacity: 0 }, { opacity: 1 }],
   duration: motionTokens.durationSlow,
   iterations: Infinity,
+
+  reducedMotion: {
+    iterations: 1,
+  },
 });
 
 export const CreateMotionComponentImperativeRefPlayState = () => {
diff --git a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentTokensUsage.stories.tsx b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentTokensUsage.stories.tsx
index 5ac6bed6773d91..07c8af66fe1462 100644
--- a/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentTokensUsage.stories.tsx
+++ b/packages/react-components/react-motion/stories/src/CreateMotionComponent/CreateMotionComponentTokensUsage.stories.tsx
@@ -45,6 +45,10 @@ const BackgroundChange = createMotionComponent({
   ],
   duration: 3000,
   iterations: Infinity,
+
+  reducedMotion: {
+    iterations: 1,
+  },
 });
 
 export const CreateMotionComponentTokensUsage = () => {
diff --git a/packages/react-components/react-motion/stories/src/CreatePresenceComponent/CreatePresenceComponentReducedMotion.stories.md b/packages/react-components/react-motion/stories/src/CreatePresenceComponent/CreatePresenceComponentReducedMotion.stories.md
new file mode 100644
index 00000000000000..34997dc8b2df94
--- /dev/null
+++ b/packages/react-components/react-motion/stories/src/CreatePresenceComponent/CreatePresenceComponentReducedMotion.stories.md
@@ -0,0 +1,24 @@
+By default, when [reduced motion](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion) is enabled the duration of the animation is set to `1ms`. `reducedMotion` allows to customize a reduced motion version of the animation:
+
+```ts
+const Motion = createPresenceComponent({
+  enter: {
+    keyframes: [
+      { opacity: 0, transform: 'scale(0)' },
+      { opacity: 1, transform: 'scale(1)' },
+    ],
+    duration: 300,
+
+    /* 💡reduced motion will not have scale animation */
+    reducedMotion: {
+      keyframes: [{ opacity: 0 }, { opacity: 1 }],
+      duration: 1000,
+    },
+  },
+  exit: {
+    /* ... */
+  },
+});
+```
+
+> 💡Note, if `keyframes` are provided, they will be used instead of the regular keyframes.
diff --git a/packages/react-components/react-motion/stories/src/CreatePresenceComponent/CreatePresenceComponentReducedMotion.stories.tsx b/packages/react-components/react-motion/stories/src/CreatePresenceComponent/CreatePresenceComponentReducedMotion.stories.tsx
new file mode 100644
index 00000000000000..b480d9587821ba
--- /dev/null
+++ b/packages/react-components/react-motion/stories/src/CreatePresenceComponent/CreatePresenceComponentReducedMotion.stories.tsx
@@ -0,0 +1,150 @@
+import {
+  createPresenceComponent,
+  Field,
+  makeStyles,
+  mergeClasses,
+  type MotionImperativeRef,
+  motionTokens,
+  Slider,
+  Switch,
+  tokens,
+} from '@fluentui/react-components';
+import * as React from 'react';
+
+import description from './CreatePresenceComponentReducedMotion.stories.md';
+
+const useClasses = makeStyles({
+  container: {
+    display: 'grid',
+    gridTemplate: `"card card" "controls ." / 1fr 1fr`,
+    gap: '20px 10px',
+  },
+  card: {
+    display: 'flex',
+    flexDirection: 'column',
+    alignItems: 'center',
+    justifyContent: 'end',
+    gridArea: 'card',
+
+    border: `${tokens.strokeWidthThicker} solid ${tokens.colorNeutralForeground3}`,
+    borderRadius: tokens.borderRadiusMedium,
+    boxShadow: tokens.shadow16,
+    padding: '10px',
+  },
+  controls: {
+    display: 'flex',
+    flexDirection: 'column',
+    gridArea: 'controls',
+
+    border: `${tokens.strokeWidthThicker} solid ${tokens.colorNeutralForeground3}`,
+    borderRadius: tokens.borderRadiusMedium,
+    boxShadow: tokens.shadow16,
+    padding: '10px',
+  },
+  field: {
+    flex: 1,
+  },
+  sliderField: {
+    gridTemplateColumns: 'min-content 1fr',
+  },
+  sliderLabel: {
+    textWrap: 'nowrap',
+  },
+
+  item: {
+    backgroundColor: tokens.colorBrandBackground,
+    border: `${tokens.strokeWidthThicker} solid ${tokens.colorTransparentStroke}`,
+
+    width: '100px',
+    height: '100px',
+  },
+});
+
+const FadeAndScale = createPresenceComponent({
+  enter: {
+    keyframes: [
+      { opacity: 0, transform: 'rotate(0)' },
+      { transform: 'rotate(90deg) scale(1.5)' },
+      { opacity: 1, transform: 'rotate(0)' },
+    ],
+    duration: motionTokens.durationGentle,
+
+    reducedMotion: {
+      keyframes: [{ opacity: 0 }, { opacity: 1 }],
+      duration: motionTokens.durationUltraSlow,
+    },
+  },
+  exit: {
+    keyframes: [
+      { opacity: 1, transform: 'rotate(0)' },
+      { transform: 'rotate(-90deg) scale(1.5)' },
+      { opacity: 0, transform: 'rotate(0)' },
+    ],
+    duration: motionTokens.durationGentle,
+
+    reducedMotion: {
+      keyframes: [{ opacity: 1 }, { opacity: 0 }],
+      duration: motionTokens.durationUltraSlow,
+    },
+  },
+});
+
+export const CreatePresenceComponentReducedMotion = () => {
+  const classes = useClasses();
+  const motionRef = React.useRef<MotionImperativeRef>();
+
+  const [playbackRate, setPlaybackRate] = React.useState<number>(30);
+  const [visible, setVisible] = React.useState<boolean>(true);
+
+  // Heads up!
+  // This is optional and is intended solely to slow down the animations, making motions more visible in the examples.
+  React.useEffect(() => {
+    motionRef.current?.setPlaybackRate(playbackRate / 100);
+  }, [playbackRate, visible]);
+
+  return (
+    <div className={classes.container}>
+      <div className={classes.card}>
+        <FadeAndScale imperativeRef={motionRef} visible={visible}>
+          <div className={classes.item} />
+        </FadeAndScale>
+      </div>
+
+      <div className={classes.controls}>
+        <Field className={classes.field}>
+          <Switch label="Visible" checked={visible} onChange={() => setVisible(v => !v)} />
+        </Field>
+        <Field
+          className={mergeClasses(classes.field, classes.sliderField)}
+          label={{
+            children: (
+              <>
+                <code>playbackRate</code>: {playbackRate}%
+              </>
+            ),
+            className: classes.sliderLabel,
+          }}
+          orientation="horizontal"
+        >
+          <Slider
+            aria-valuetext={`Value is ${playbackRate}%`}
+            className={mergeClasses(classes.field, classes.sliderField)}
+            value={playbackRate}
+            onChange={(ev, data) => setPlaybackRate(data.value)}
+            min={0}
+            max={100}
+            step={5}
+          />
+        </Field>
+      </div>
+    </div>
+  );
+};
+
+CreatePresenceComponentReducedMotion.parameters = {
+  docs: {
+    description: {
+      story: description,
+    },
+  },
+};
diff --git a/packages/react-components/react-motion/stories/src/CreatePresenceComponent/index.stories.ts b/packages/react-components/react-motion/stories/src/CreatePresenceComponent/index.stories.ts
index 190d3b12fc3aec..71a7375a799b01 100644
--- a/packages/react-components/react-motion/stories/src/CreatePresenceComponent/index.stories.ts
+++ b/packages/react-components/react-motion/stories/src/CreatePresenceComponent/index.stories.ts
@@ -8,6 +8,7 @@ export { CreatePresenceComponentDefault as Default } from './CreatePresenceCompo
 export { CreatePresenceComponentFactory as createPresenceComponent } from './CreatePresenceComponentFactory.stories';
 
 export { CreatePresenceComponentAppear as appear } from './CreatePresenceComponentAppear.stories';
+export { CreatePresenceComponentReducedMotion as reducedMotion } from './CreatePresenceComponentReducedMotion.stories';
 export { CreatePresenceComponentUnmountOnExit as unmountOnExit } from './CreatePresenceComponentUnmountOnExit.stories';
 export { CreatePresenceComponentLifecycleCallbacks as LifecycleCallbacks } from './CreatePresenceComponentLifecycleCallbacks.stories';
 

From a8c0c467fdcdb1f721350b5cbd4ed6dd84e0715c Mon Sep 17 00:00:00 2001
From: Makoto Morimoto <Humberto.Morimoto@microsoft.com>
Date: Tue, 14 Jan 2025 10:37:27 -0800
Subject: [PATCH 31/78] chore(react-provider): Updating `FluentProvider` types
 to avoid implicit import in API definition (#33590)

Co-authored-by: Humberto Makoto Morimoto Burgos <makotom@microsoft.com>
Co-authored-by: Martin Hochel <hochelmartin@gmail.com>
---
 ...-9f506bc2-b69a-4140-b85e-67b97c87e955.json |   7 +
 .../library/etc/react-provider.api.md         | 161 +-----------------
 .../FluentProvider/FluentProvider.tsx         |   5 +-
 3 files changed, 15 insertions(+), 158 deletions(-)
 create mode 100644 change/@fluentui-react-provider-9f506bc2-b69a-4140-b85e-67b97c87e955.json

diff --git a/change/@fluentui-react-provider-9f506bc2-b69a-4140-b85e-67b97c87e955.json b/change/@fluentui-react-provider-9f506bc2-b69a-4140-b85e-67b97c87e955.json
new file mode 100644
index 00000000000000..c7f52f2deb033f
--- /dev/null
+++ b/change/@fluentui-react-provider-9f506bc2-b69a-4140-b85e-67b97c87e955.json
@@ -0,0 +1,7 @@
+{
+  "type": "minor",
+  "comment": "fix: Updating FluentProvider types to avoid implicit import in API definition.",
+  "packageName": "@fluentui/react-provider",
+  "email": "makotom@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-provider/library/etc/react-provider.api.md b/packages/react-components/react-provider/library/etc/react-provider.api.md
index e7e94b84cad4f2..de54394ef0a815 100644
--- a/packages/react-components/react-provider/library/etc/react-provider.api.md
+++ b/packages/react-components/react-provider/library/etc/react-provider.api.md
@@ -4,17 +4,17 @@
 
 ```ts
 
-import { ComponentProps } from '@fluentui/react-utilities';
+import type { ComponentProps } from '@fluentui/react-utilities';
 import type { ComponentState } from '@fluentui/react-utilities';
 import type { CustomStyleHooksContextValue_unstable } from '@fluentui/react-shared-contexts';
+import type { ForwardRefComponent } from '@fluentui/react-utilities';
 import type { IconDirectionContextValue } from '@fluentui/react-icons/lib/providers';
-import { OverridesContextValue_unstable } from '@fluentui/react-shared-contexts';
+import type { OverridesContextValue_unstable } from '@fluentui/react-shared-contexts';
 import type { PartialTheme } from '@fluentui/react-theme';
 import type { ProviderContextValue_unstable } from '@fluentui/react-shared-contexts';
 import * as React_2 from 'react';
 import type { Slot } from '@fluentui/react-utilities';
 import { SlotClassNames } from '@fluentui/react-utilities';
-import { Theme } from '@fluentui/tokens';
 import type { ThemeClassNameContextValue_unstable } from '@fluentui/react-shared-contexts';
 import type { ThemeContextValue_unstable } from '@fluentui/react-shared-contexts';
 import type { TooltipVisibilityContextValue_unstable } from '@fluentui/react-shared-contexts';
@@ -23,160 +23,7 @@ import type { TooltipVisibilityContextValue_unstable } from '@fluentui/react-sha
 export function createCSSRuleFromTheme(selector: string, theme: PartialTheme | undefined): string;
 
 // @public (undocumented)
-export const FluentProvider: React_2.ForwardRefExoticComponent<Omit<ComponentProps<FluentProviderSlots>, "dir"> & {
-    applyStylesToPortals?: boolean | undefined;
-    customStyleHooks_unstable?: Partial<{
-        useAccordionHeaderStyles_unstable: (state: unknown) => void;
-        useAccordionItemStyles_unstable: (state: unknown) => void;
-        useAccordionPanelStyles_unstable: (state: unknown) => void;
-        useAccordionStyles_unstable: (state: unknown) => void;
-        useAvatarStyles_unstable: (state: unknown) => void;
-        useAvatarGroupStyles_unstable: (state: unknown) => void;
-        useAvatarGroupItemStyles_unstable: (state: unknown) => void;
-        useAvatarGroupPopoverStyles_unstable: (state: unknown) => void;
-        useBadgeStyles_unstable: (state: unknown) => void;
-        useCounterBadgeStyles_unstable: (state: unknown) => void;
-        useCardHeaderStyles_unstable: (state: unknown) => void;
-        useCardStyles_unstable: (state: unknown) => void;
-        useCardFooterStyles_unstable: (state: unknown) => void;
-        useCardPreviewStyles_unstable: (state: unknown) => void;
-        usePresenceBadgeStyles_unstable: (state: unknown) => void;
-        useButtonStyles_unstable: (state: unknown) => void;
-        useCompoundButtonStyles_unstable: (state: unknown) => void;
-        useMenuButtonStyles_unstable: (state: unknown) => void;
-        useSplitButtonStyles_unstable: (state: unknown) => void;
-        useToggleButtonStyles_unstable: (state: unknown) => void;
-        useCheckboxStyles_unstable: (state: unknown) => void;
-        useComboboxStyles_unstable: (state: unknown) => void;
-        useDropdownStyles_unstable: (state: unknown) => void;
-        useListboxStyles_unstable: (state: unknown) => void;
-        useListStyles_unstable: (state: unknown) => void;
-        useListItemStyles_unstable: (state: unknown) => void;
-        useListItemButtonStyles_unstable: (state: unknown) => void;
-        useOptionStyles_unstable: (state: unknown) => void;
-        useOptionGroupStyles_unstable: (state: unknown) => void;
-        useDividerStyles_unstable: (state: unknown) => void;
-        useInputStyles_unstable: (state: unknown) => void;
-        useImageStyles_unstable: (state: unknown) => void;
-        useLabelStyles_unstable: (state: unknown) => void;
-        useLinkStyles_unstable: (state: unknown) => void;
-        useMenuDividerStyles_unstable: (state: unknown) => void;
-        useMenuGroupHeaderStyles_unstable: (state: unknown) => void;
-        useMenuGroupStyles_unstable: (state: unknown) => void;
-        useMenuItemCheckboxStyles_unstable: (state: unknown) => void;
-        useMenuItemSwitchStyles_unstable: (state: unknown) => void;
-        useMenuItemRadioStyles_unstable: (state: unknown) => void;
-        useMenuItemStyles_unstable: (state: unknown) => void;
-        useMenuItemLinkStyles_unstable: (state: unknown) => void;
-        useMenuListStyles_unstable: (state: unknown) => void;
-        useMenuPopoverStyles_unstable: (state: unknown) => void;
-        useMenuSplitGroupStyles_unstable: (state: unknown) => void;
-        usePersonaStyles_unstable: (state: unknown) => void;
-        usePopoverSurfaceStyles_unstable: (state: unknown) => void;
-        useRadioGroupStyles_unstable: (state: unknown) => void;
-        useRadioStyles_unstable: (state: unknown) => void;
-        useSelectStyles_unstable: (state: unknown) => void;
-        useSliderStyles_unstable: (state: unknown) => void;
-        useSpinButtonStyles_unstable: (state: unknown) => void;
-        useSpinnerStyles_unstable: (state: unknown) => void;
-        useSwitchStyles_unstable: (state: unknown) => void;
-        useTabStyles_unstable: (state: unknown) => void;
-        useTabListStyles_unstable: (state: unknown) => void;
-        useTextStyles_unstable: (state: unknown) => void;
-        useTextareaStyles_unstable: (state: unknown) => void;
-        useTooltipStyles_unstable: (state: unknown) => void;
-        useDialogTitleStyles_unstable: (state: unknown) => void;
-        useDialogBodyStyles_unstable: (state: unknown) => void;
-        useDialogActionsStyles_unstable: (state: unknown) => void;
-        useDialogSurfaceStyles_unstable: (state: unknown) => void;
-        useDialogContentStyles_unstable: (state: unknown) => void;
-        useProgressBarStyles_unstable: (state: unknown) => void;
-        useToolbarButtonStyles_unstable: (state: unknown) => void;
-        useToolbarRadioButtonStyles_unstable: (state: unknown) => void;
-        useToolbarGroupStyles_unstable: (state: unknown) => void;
-        useToolbarToggleButtonStyles_unstable: (state: unknown) => void;
-        useToolbarDividerStyles_unstable: (state: unknown) => void;
-        useToolbarStyles_unstable: (state: unknown) => void;
-        useTableCellStyles_unstable: (state: unknown) => void;
-        useTableRowStyles_unstable: (state: unknown) => void;
-        useTableBodyStyles_unstable: (state: unknown) => void;
-        useTableStyles_unstable: (state: unknown) => void;
-        useTableHeaderStyles_unstable: (state: unknown) => void;
-        useTableHeaderCellStyles_unstable: (state: unknown) => void;
-        useTableResizeHandleStyles_unstable: (state: unknown) => void;
-        useTableSelectionCellStyles_unstable: (state: unknown) => void;
-        useTableCellActionsStyles_unstable: (state: unknown) => void;
-        useTableCellLayoutStyles_unstable: (state: unknown) => void;
-        useDataGridCellStyles_unstable: (state: unknown) => void;
-        useDataGridRowStyles_unstable: (state: unknown) => void;
-        useDataGridBodyStyles_unstable: (state: unknown) => void;
-        useDataGridStyles_unstable: (state: unknown) => void;
-        useDataGridHeaderStyles_unstable: (state: unknown) => void;
-        useDataGridHeaderCellStyles_unstable: (state: unknown) => void;
-        useDataGridSelectionCellStyles_unstable: (state: unknown) => void;
-        useDrawerStyles_unstable: (state: unknown) => void;
-        useDrawerInlineStyles_unstable: (state: unknown) => void;
-        useDrawerOverlayStyles_unstable: (state: unknown) => void;
-        useInlineDrawerStyles_unstable: (state: unknown) => void;
-        useOverlayDrawerStyles_unstable: (state: unknown) => void;
-        useDrawerHeaderStyles_unstable: (state: unknown) => void;
-        useDrawerHeaderNavigationStyles_unstable: (state: unknown) => void;
-        useDrawerHeaderTitleStyles_unstable: (state: unknown) => void;
-        useDrawerBodyStyles_unstable: (state: unknown) => void;
-        useDrawerFooterStyles_unstable: (state: unknown) => void;
-        useInteractionTagStyles_unstable: (state: unknown) => void;
-        useInteractionTagPrimaryStyles_unstable: (state: unknown) => void;
-        useInteractionTagSecondaryStyles_unstable: (state: unknown) => void;
-        useTagStyles_unstable: (state: unknown) => void;
-        useTagGroupStyles_unstable: (state: unknown) => void;
-        useBreadcrumbStyles_unstable: (state: unknown) => void;
-        useBreadcrumbButtonStyles_unstable: (state: unknown) => void;
-        useBreadcrumbItemStyles_unstable: (state: unknown) => void;
-        useBreadcrumbDividerStyles_unstable: (state: unknown) => void;
-        useMessageBarStyles_unstable: (state: unknown) => void;
-        useMessageBarBodyStyles_unstable: (state: unknown) => void;
-        useMessageBarTitleStyles_unstable: (state: unknown) => void;
-        useMessageBarActionsStyles_unstable: (state: unknown) => void;
-        useMessageBarGroupStyles_unstable: (state: unknown) => void;
-        useToasterStyles_unstable: (state: unknown) => void;
-        useTeachingPopoverStyles_unstable: (state: unknown) => void;
-        useTeachingPopoverActionsStyles_unstable: (state: unknown) => void;
-        useTeachingPopoverBodyStyles_unstable: (state: unknown) => void;
-        useTeachingPopoverButtonStyles_unstable: (state: unknown) => void;
-        useTeachingPopoverCarouselStyles_unstable: (state: unknown) => void;
-        useTeachingPopoverHeaderStyles_unstable: (state: unknown) => void;
-        useTeachingPopoverPageCountStyles_unstable: (state: unknown) => void;
-        useTeachingPopoverSurfaceStyles_unstable: (state: unknown) => void;
-        useTeachingPopoverTitleStyles_unstable: (state: unknown) => void;
-        useTimePickerCompatStyles_unstable: (state: unknown) => void;
-        useTagPickerInputStyles_unstable: (state: unknown) => void;
-        useTagPickerButtonStyles_unstable: (state: unknown) => void;
-        useTagPickerControlStyles_unstable: (state: unknown) => void;
-        useTagPickerGroupStyles_unstable: (state: unknown) => void;
-        useTagPickerListStyles_unstable: (state: unknown) => void;
-        useTagPickerOptionStyles_unstable: (state: unknown) => void;
-        useTagPickerOptionGroupStyles_unstable: (state: unknown) => void;
-        useColorSwatchStyles_unstable: (state: unknown) => void;
-        useImageSwatchStyles_unstable: (state: unknown) => void;
-        useEmptySwatchStyles_unstable: (state: unknown) => void;
-        useSwatchPickerRowStyles_unstable: (state: unknown) => void;
-        useSwatchPickerStyles_unstable: (state: unknown) => void;
-        useCarouselViewportStyles_unstable: (state: unknown) => void;
-        useCarouselSliderStyles_unstable: (state: unknown) => void;
-        useCarouselStyles_unstable: (state: unknown) => void;
-        useCarouselAutoplayButtonStyles_unstable: (state: unknown) => void;
-        useCarouselButtonStyles_unstable: (state: unknown) => void;
-        useCarouselCardStyles_unstable: (state: unknown) => void;
-        useCarouselNavStyles_unstable: (state: unknown) => void;
-        useCarouselNavButtonStyles_unstable: (state: unknown) => void;
-        useCarouselNavContainerStyles_unstable: (state: unknown) => void;
-        useCarouselNavImageButtonStyles_unstable: (state: unknown) => void;
-    }> | undefined;
-    dir?: "ltr" | "rtl" | undefined;
-    targetDocument?: Document | undefined;
-    theme?: Partial<Theme> | undefined;
-    overrides_unstable?: OverridesContextValue_unstable | undefined;
-} & React_2.RefAttributes<HTMLElement>>;
+export const FluentProvider: ForwardRefComponent<FluentProviderProps>;
 
 // @public (undocumented)
 export const fluentProviderClassNames: SlotClassNames<FluentProviderSlots>;
diff --git a/packages/react-components/react-provider/library/src/components/FluentProvider/FluentProvider.tsx b/packages/react-components/react-provider/library/src/components/FluentProvider/FluentProvider.tsx
index 6fbcb494a3c1a6..e732fb42d1ec59 100644
--- a/packages/react-components/react-provider/library/src/components/FluentProvider/FluentProvider.tsx
+++ b/packages/react-components/react-provider/library/src/components/FluentProvider/FluentProvider.tsx
@@ -1,11 +1,14 @@
 import * as React from 'react';
+
+import type { ForwardRefComponent } from '@fluentui/react-utilities';
+
 import { renderFluentProvider_unstable } from './renderFluentProvider';
 import { useFluentProvider_unstable } from './useFluentProvider';
 import { useFluentProviderStyles_unstable } from './useFluentProviderStyles.styles';
 import { useFluentProviderContextValues_unstable } from './useFluentProviderContextValues';
 import type { FluentProviderProps } from './FluentProvider.types';
 
-export const FluentProvider = React.forwardRef<HTMLElement, FluentProviderProps>((props, ref) => {
+export const FluentProvider: ForwardRefComponent<FluentProviderProps> = React.forwardRef((props, ref) => {
   const state = useFluentProvider_unstable(props, ref);
   useFluentProviderStyles_unstable(state);
 

From 614e8b594da0eec4104f9fcaa034a4352fee5c74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kry=C5=A1tof=20Mat=C4=9Bjka?=
 <krystof.matejka@microsoft.com>
Date: Tue, 14 Jan 2025 20:14:56 +0100
Subject: [PATCH 32/78] fix(TagItem v8): add missing data-id attribute (#31956)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Kryštof Matějka <kmatejka@microsoft.com>
Co-authored-by: Esteban Munoz Facusse <estebanmu@microsoft.com>
---
 ...-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json |   7 +
 packages/react/etc/react.api.md               |   6 +
 .../pickers/TagPicker/TagItem.test.tsx        |  10 +
 .../components/pickers/TagPicker/TagItem.tsx  |   2 +
 .../pickers/TagPicker/TagPicker.types.ts      |  13 +
 .../__snapshots__/TagItem.test.tsx.snap       | 255 ++++++++++++++++++
 packages/react/src/index.ts                   |   1 +
 7 files changed, 294 insertions(+)
 create mode 100644 change/@fluentui-react-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json

diff --git a/change/@fluentui-react-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json b/change/@fluentui-react-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json
new file mode 100644
index 00000000000000..a14b5ba95b418d
--- /dev/null
+++ b/change/@fluentui-react-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "add missing data-id attribute to close button in TagItem",
+  "packageName": "@fluentui/react",
+  "email": "kmatejka@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react/etc/react.api.md b/packages/react/etc/react.api.md
index 9fe14cb8bfbb28..6ad1107c0ee84c 100644
--- a/packages/react/etc/react.api.md
+++ b/packages/react/etc/react.api.md
@@ -9205,11 +9205,17 @@ export interface ITag {
 export interface ITagItemProps extends IPickerItemProps<ITag> {
     className?: string;
     enableTagFocusInDisabledPicker?: boolean;
+    removeButtonProps?: ITagItemRemoveButtonProps;
     styles?: IStyleFunctionOrObject<ITagItemStyleProps, ITagItemStyles>;
     theme?: ITheme;
     title?: string;
 }
 
+// @public
+export interface ITagItemRemoveButtonProps extends IButtonProps {
+    'data-id'?: string;
+}
+
 // @public
 export type ITagItemStyleProps = Required<Pick<ITagItemProps, 'theme'>> & Pick<ITagItemProps, 'className' | 'selected' | 'disabled'> & {};
 
diff --git a/packages/react/src/components/pickers/TagPicker/TagItem.test.tsx b/packages/react/src/components/pickers/TagPicker/TagItem.test.tsx
index b2a28e459fb5e9..8174ed6428b609 100644
--- a/packages/react/src/components/pickers/TagPicker/TagItem.test.tsx
+++ b/packages/react/src/components/pickers/TagPicker/TagItem.test.tsx
@@ -39,4 +39,14 @@ describe('TagItem', () => {
     const tree = component.toJSON();
     expect(tree).toMatchSnapshot();
   });
+
+  it('accepts remove-button-data-id', () => {
+    const component = renderer.create(
+      <TagItem item={{ name: 'Red', key: 'red' }} index={0} removeButtonProps={{ 'data-id': 'close-red-x' }}>
+        Red color
+      </TagItem>,
+    );
+    const tree = component.toJSON();
+    expect(tree).toMatchSnapshot();
+  });
 });
diff --git a/packages/react/src/components/pickers/TagPicker/TagItem.tsx b/packages/react/src/components/pickers/TagPicker/TagItem.tsx
index 5bdb2ddb4a910d..cae157e3af2b8a 100644
--- a/packages/react/src/components/pickers/TagPicker/TagItem.tsx
+++ b/packages/react/src/components/pickers/TagPicker/TagItem.tsx
@@ -25,6 +25,7 @@ export const TagItemBase = (props: ITagItemProps) => {
     removeButtonAriaLabel,
     title = typeof props.children === 'string' ? props.children : props.item.name,
     removeButtonIconProps,
+    removeButtonProps,
   } = props;
 
   const buttonRef = React.createRef<IButton>();
@@ -65,6 +66,7 @@ export const TagItemBase = (props: ITagItemProps) => {
         styles={{ icon: { fontSize: '12px' } }}
         className={classNames.close}
         aria-labelledby={`${itemId}-removeLabel ${itemId}-text`}
+        {...removeButtonProps}
       />
       <span id={`${itemId}-removeLabel`} hidden>
         {removeButtonAriaLabel}
diff --git a/packages/react/src/components/pickers/TagPicker/TagPicker.types.ts b/packages/react/src/components/pickers/TagPicker/TagPicker.types.ts
index 942cb785e06ebf..cd754ed7cad524 100644
--- a/packages/react/src/components/pickers/TagPicker/TagPicker.types.ts
+++ b/packages/react/src/components/pickers/TagPicker/TagPicker.types.ts
@@ -3,6 +3,7 @@ import type { IStyle, ITheme } from '../../../Styling';
 import type { IStyleFunctionOrObject } from '../../../Utilities';
 import type { IPickerItemProps } from '../PickerItem.types';
 import type { IBasePickerProps } from '../BasePicker.types';
+import type { IButtonProps } from '../../Button/Button.types';
 
 /**
  * TagPickerItem item interface.
@@ -22,6 +23,15 @@ export interface ITag {
  */
 export interface ITagPickerProps extends IBasePickerProps<ITag> {}
 
+/**
+ * TagItem remove button component props
+ * {@docCategory TagPicker}
+ */
+export interface ITagItemRemoveButtonProps extends IButtonProps {
+  /** data-id to manually trigger interaction or to identify users' interactions */
+  'data-id'?: string;
+}
+
 /**
  * TagItem component props
  * {@docCategory TagPicker}
@@ -47,6 +57,9 @@ export interface ITagItemProps extends IPickerItemProps<ITag> {
 
   /** Theme provided by High-Order Component. */
   theme?: ITheme;
+
+  /** Allows to pass any additional props directly to the remove IconButton. */
+  removeButtonProps?: ITagItemRemoveButtonProps;
 }
 
 /**
diff --git a/packages/react/src/components/pickers/TagPicker/__snapshots__/TagItem.test.tsx.snap b/packages/react/src/components/pickers/TagPicker/__snapshots__/TagItem.test.tsx.snap
index 8b3c153b0ec247..2607e5f8261803 100644
--- a/packages/react/src/components/pickers/TagPicker/__snapshots__/TagItem.test.tsx.snap
+++ b/packages/react/src/components/pickers/TagPicker/__snapshots__/TagItem.test.tsx.snap
@@ -1,5 +1,260 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
+exports[`TagItem accepts remove-button-data-id 1`] = `
+<div
+  className=
+      ms-TagItem
+      {
+        -moz-osx-font-smoothing: grayscale;
+        -webkit-font-smoothing: antialiased;
+        background: #f3f2f1;
+        border-radius: 2px;
+        box-sizing: content-box;
+        color: #323130;
+        cursor: default;
+        display: flex;
+        flex-shrink: 1;
+        flex-wrap: nowrap;
+        font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
+        font-size: 14px;
+        font-weight: 400;
+        height: 26px;
+        line-height: 26px;
+        margin-bottom: 2px;
+        margin-left: 2px;
+        margin-right: 2px;
+        margin-top: 2px;
+        max-width: 300px;
+        min-width: 0px;
+        outline: transparent;
+        position: relative;
+        user-select: none;
+      }
+      &::-moz-focus-inner {
+        border: 0;
+      }
+      .ms-Fabric--isFocusVisible &:focus:after {
+        border: 1px solid #ffffff;
+        bottom: 1px;
+        content: "";
+        left: 1px;
+        outline: 1px solid #605e5c;
+        position: absolute;
+        right: 1px;
+        top: 1px;
+        z-index: 1;
+      }
+      :host(.ms-Fabric--isFocusVisible) &:focus:after {
+        border: 1px solid #ffffff;
+        bottom: 1px;
+        content: "";
+        left: 1px;
+        outline: 1px solid #605e5c;
+        position: absolute;
+        right: 1px;
+        top: 1px;
+        z-index: 1;
+      }
+      &:hover {
+        background: #edebe9;
+        color: #201f1e;
+      }
+      &:hover .ms-TagItem-close {
+        color: #323130;
+      }
+      @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){& {
+        border: 1px solid WindowText;
+      }
+  data-selection-index={0}
+  onClick={[Function]}
+  role="listitem"
+>
+  <span
+    className=
+        ms-TagItem-text
+        {
+          margin-bottom: 0;
+          margin-left: 8px;
+          margin-right: 8px;
+          margin-top: 0;
+          min-width: 30px;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          white-space: nowrap;
+        }
+    id="id__0-text"
+    title="Red color"
+  >
+    Red color
+  </span>
+  <button
+    aria-labelledby="id__0-removeLabel id__0-text"
+    className=
+        ms-Button
+        ms-Button--icon
+        ms-TagItem-close
+        {
+          -moz-osx-font-smoothing: grayscale;
+          -webkit-font-smoothing: antialiased;
+          align-items: center;
+          background-color: transparent;
+          border-radius: 0 2px 2px 0;
+          border: none;
+          box-sizing: border-box;
+          color: #605e5c;
+          cursor: pointer;
+          display: inline-flex;
+          flex: 0 0 auto;
+          font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
+          font-size: 14px;
+          font-weight: 400;
+          height: 100%;
+          justify-content: center;
+          outline: transparent;
+          padding-bottom: 0;
+          padding-left: 4px;
+          padding-right: 4px;
+          padding-top: 0;
+          position: relative;
+          text-align: center;
+          text-decoration: none;
+          user-select: none;
+          width: 30px;
+        }
+        &::-moz-focus-inner {
+          border: 0;
+        }
+        .ms-Fabric--isFocusVisible &:focus:after {
+          border: 1px solid transparent;
+          bottom: 2px;
+          content: "";
+          left: 2px;
+          outline: 1px solid #ffffff;
+          position: absolute;
+          right: 2px;
+          top: 2px;
+          z-index: 1;
+        }
+        @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){.ms-Fabric--isFocusVisible &:focus:after {
+          bottom: -2px;
+          left: -2px;
+          outline-color: ButtonText;
+          right: -2px;
+          top: -2px;
+        }
+        :host(.ms-Fabric--isFocusVisible) &:focus:after {
+          border: 1px solid transparent;
+          bottom: 2px;
+          content: "";
+          left: 2px;
+          outline: 1px solid #ffffff;
+          position: absolute;
+          right: 2px;
+          top: 2px;
+          z-index: 1;
+        }
+        @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){:host(.ms-Fabric--isFocusVisible) &:focus:after {
+          bottom: -2px;
+          left: -2px;
+          outline-color: ButtonText;
+          right: -2px;
+          top: -2px;
+        }
+        &:active > span {
+          left: 0px;
+          position: relative;
+          top: 0px;
+        }
+        &:hover {
+          background-color: #f3f2f1;
+          background: #e1dfdd;
+          color: #323130;
+        }
+        @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){&:hover {
+          border-color: Highlight;
+          color: Highlight;
+        }
+        &:active {
+          background-color: #005a9e;
+          color: #ffffff;
+        }
+        .is-selected &:focus {
+          background: #0078d4;
+          color: #ffffff;
+        }
+        &:focus:hover {
+          background: #005a9e;
+          color: #ffffff;
+        }
+    data-id="close-red-x"
+    data-is-focusable={true}
+    id="id__0"
+    onClick={[Function]}
+    onKeyDown={[Function]}
+    onKeyPress={[Function]}
+    onKeyUp={[Function]}
+    onMouseDown={[Function]}
+    onMouseUp={[Function]}
+    type="button"
+  >
+    <span
+      className=
+          ms-Button-flexContainer
+          {
+            align-items: center;
+            display: flex;
+            flex-wrap: nowrap;
+            height: 100%;
+            justify-content: center;
+          }
+      data-automationid="splitbuttonprimary"
+    >
+      <i
+        aria-hidden={true}
+        className=
+            ms-Icon
+            ms-Button-icon
+            {
+              display: inline-block;
+              text-decoration: inherit;
+            }
+            {
+              -moz-osx-font-smoothing: grayscale;
+              -webkit-font-smoothing: antialiased;
+              font-family: "FabricMDL2Icons";
+              font-style: normal;
+              font-weight: normal;
+              speak: none;
+            }
+            {
+              flex-shrink: 0;
+              font-size: 12px;
+              height: 16px;
+              line-height: 16px;
+              margin-bottom: 0;
+              margin-left: 4px;
+              margin-right: 4px;
+              margin-top: 0;
+              text-align: center;
+            }
+        data-icon-name="Cancel"
+        style={
+          Object {
+            "fontFamily": "\\"FabricMDL2Icons\\"",
+          }
+        }
+      >
+        
+      </i>
+    </span>
+  </button>
+  <span
+    hidden={true}
+    id="id__0-removeLabel"
+  />
+</div>
+`;
+
 exports[`TagItem accepts title override 1`] = `
 <div
   className=
diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts
index 0c2d7d4e92b0a9..e930a8da1676cb 100644
--- a/packages/react/src/index.ts
+++ b/packages/react/src/index.ts
@@ -844,6 +844,7 @@ export type {
   ITagItemSuggestionProps,
   ITagItemSuggestionStyleProps,
   ITagItemSuggestionStyles,
+  ITagItemRemoveButtonProps,
   ITagPickerProps,
 } from './Pickers';
 export {

From e7e2987a4b0c8c36984dc9732937e2e58fb8fb35 Mon Sep 17 00:00:00 2001
From: John Kreitlow <863023+radium-v@users.noreply.github.com>
Date: Tue, 14 Jan 2025 11:17:55 -0800
Subject: [PATCH 33/78] chore(web-components): build tokens package before
 running e2e tests (#33638)

---
 ...-components-674e26a9-57d5-4147-bda1-e4a467529eaf.json | 7 +++++++
 packages/web-components/test/harness/vite.config.ts      | 9 +++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 change/@fluentui-web-components-674e26a9-57d5-4147-bda1-e4a467529eaf.json

diff --git a/change/@fluentui-web-components-674e26a9-57d5-4147-bda1-e4a467529eaf.json b/change/@fluentui-web-components-674e26a9-57d5-4147-bda1-e4a467529eaf.json
new file mode 100644
index 00000000000000..812ad60eb4fcee
--- /dev/null
+++ b/change/@fluentui-web-components-674e26a9-57d5-4147-bda1-e4a467529eaf.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "build tokens package before running e2e tests",
+  "packageName": "@fluentui/web-components",
+  "email": "863023+radium-v@users.noreply.github.com",
+  "dependentChangeType": "none"
+}
diff --git a/packages/web-components/test/harness/vite.config.ts b/packages/web-components/test/harness/vite.config.ts
index 6c7c44543a3bb0..85f14d8d1529a0 100644
--- a/packages/web-components/test/harness/vite.config.ts
+++ b/packages/web-components/test/harness/vite.config.ts
@@ -1,5 +1,9 @@
+import { createRequire } from 'node:module';
+import { dirname, join } from 'node:path';
 import type { UserConfig } from 'vite';
 
+const { resolve } = createRequire(import.meta.url);
+
 export default {
   clearScreen: false,
   publicDir: '../../public',
@@ -20,4 +24,9 @@ export default {
     strictPort: true,
     open: false,
   },
+  resolve: {
+    alias: {
+      '@fluentui/tokens': join(dirname(resolve('@fluentui/tokens/package.json')), 'src'),
+    },
+  },
 } as UserConfig;

From 1e110d6492d33ca8959aaddc35e21cbd8992706b Mon Sep 17 00:00:00 2001
From: Dave Rupert <rupertdavid@microsoft.com>
Date: Tue, 14 Jan 2025 14:22:08 -0600
Subject: [PATCH 34/78] [web-components] fix: disabled switch state in
 high-contrast mode (#33637)

---
 ...eb-components-a03312db-25ed-42ac-8259-b9754b5afdd9.json | 7 +++++++
 packages/web-components/src/switch/switch.styles.ts        | 4 ++++
 2 files changed, 11 insertions(+)
 create mode 100644 change/@fluentui-web-components-a03312db-25ed-42ac-8259-b9754b5afdd9.json

diff --git a/change/@fluentui-web-components-a03312db-25ed-42ac-8259-b9754b5afdd9.json b/change/@fluentui-web-components-a03312db-25ed-42ac-8259-b9754b5afdd9.json
new file mode 100644
index 00000000000000..df9f992ebe5ced
--- /dev/null
+++ b/change/@fluentui-web-components-a03312db-25ed-42ac-8259-b9754b5afdd9.json
@@ -0,0 +1,7 @@
+{
+  "type": "prerelease",
+  "comment": "fix: update disabled switch styles to GrayText for high-contrast mode",
+  "packageName": "@fluentui/web-components",
+  "email": "rupertdavid@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/web-components/src/switch/switch.styles.ts b/packages/web-components/src/switch/switch.styles.ts
index e642d3fb9ec256..432d2b03f0c764 100644
--- a/packages/web-components/src/switch/switch.styles.ts
+++ b/packages/web-components/src/switch/switch.styles.ts
@@ -141,5 +141,9 @@ export const styles = css`
     :host(${checkedState}:active) .checked-indicator {
       background-color: ButtonFace;
     }
+    :host(:disabled) .checked-indicator,
+    :host(${checkedState}:disabled) .checked-indicator {
+      background-color: GrayText;
+    }
   `),
 );

From 00458f3bbe3f12c0cef556f8d8fd564ffa66983c Mon Sep 17 00:00:00 2001
From: Dave Rupert <rupertdavid@microsoft.com>
Date: Tue, 14 Jan 2025 16:31:15 -0600
Subject: [PATCH 35/78] [web-components] fix: remove logical properties to fix
 spinner in rtl (#33654)

---
 ...b-components-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json | 7 +++++++
 packages/web-components/src/spinner/spinner.styles.ts     | 8 ++++----
 2 files changed, 11 insertions(+), 4 deletions(-)
 create mode 100644 change/@fluentui-web-components-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json

diff --git a/change/@fluentui-web-components-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json b/change/@fluentui-web-components-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json
new file mode 100644
index 00000000000000..99a9e9c5639d0d
--- /dev/null
+++ b/change/@fluentui-web-components-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json
@@ -0,0 +1,7 @@
+{
+  "type": "prerelease",
+  "comment": "fix: revert logical properties in spinner to support rtl\"",
+  "packageName": "@fluentui/web-components",
+  "email": "rupertdavid@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/web-components/src/spinner/spinner.styles.ts b/packages/web-components/src/spinner/spinner.styles.ts
index 8db70684013db7..e24c674a5d8ba3 100644
--- a/packages/web-components/src/spinner/spinner.styles.ts
+++ b/packages/web-components/src/spinner/spinner.styles.ts
@@ -93,12 +93,12 @@ export const styles = css`
 
   .start {
     overflow: hidden;
-    inset-inline-end: 50%;
+    right: 50%;
   }
 
   .end {
     overflow: hidden;
-    inset-inline-start: 50%;
+    left: 50%;
   }
 
   .indicator {
@@ -107,7 +107,7 @@ export const styles = css`
     border-radius: 50%;
     border: var(--indicatorSize) solid transparent;
     border-block-start-color: currentcolor;
-    border-inline-end-color: currentcolor;
+    border-right-color: currentcolor;
   }
 
   :host(${invertedState}) .indicator {
@@ -171,7 +171,7 @@ export const styles = css`
     .indicator {
       border-color: Canvas;
       border-block-start-color: Highlight;
-      border-inline-end-color: Highlight;
+      border-right-color: Highlight;
     }
   `),
 );

From 9422dd03c1a17d80a2677eee47fb9765e619b348 Mon Sep 17 00:00:00 2001
From: FrietStoofvlees <76880277+FrietStoofvlees@users.noreply.github.com>
Date: Wed, 15 Jan 2025 09:42:00 +0100
Subject: [PATCH 36/78] Fix typo in ToolbarSmall story (#33575)

---
 .../react-toolbar/stories/src/Toolbar/ToolbarSmall.stories.tsx  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarSmall.stories.tsx b/packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarSmall.stories.tsx
index ee487910535182..f3ba53c429c6fc 100644
--- a/packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarSmall.stories.tsx
+++ b/packages/react-components/react-toolbar/stories/src/Toolbar/ToolbarSmall.stories.tsx
@@ -24,7 +24,7 @@ Small.parameters = {
     description: {
       story: [
         'The size determines the spacing around the toolbar controls.',
-        'A small sized toolbar has no vertical padding and uses 20px for horizontal padding.',
+        'A small sized toolbar has no vertical padding and uses 4px for horizontal padding.',
       ].join('\n'),
     },
   },

From d75752a0df4723f188a44a348af14bbc6c36c85d Mon Sep 17 00:00:00 2001
From: Bernardo Sunderhus <bernardo.sunderhus@gmail.com>
Date: Wed, 15 Jan 2025 10:36:30 +0100
Subject: [PATCH 37/78] docs: reorder buttons on footer to give priority to
 primary action (#33623)

---
 .../react-dialog/stories/src/Dialog/DialogAlert.stories.tsx | 2 +-
 .../stories/src/Dialog/DialogChangeFocus.stories.tsx        | 2 +-
 .../src/Dialog/DialogControllingOpenAndClose.stories.tsx    | 2 +-
 .../stories/src/Dialog/DialogCustomTrigger.stories.tsx      | 2 +-
 .../stories/src/Dialog/DialogDefault.stories.tsx            | 2 +-
 .../stories/src/Dialog/DialogFluidDialogActions.stories.tsx | 2 +-
 .../src/Dialog/DialogScrollingLongContent.stories.tsx       | 2 +-
 .../src/Dialog/DialogTriggerOutsideDialog.stories.tsx       | 2 +-
 .../stories/src/Dialog/DialogWithForm.stories.tsx           | 6 +++---
 9 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/packages/react-components/react-dialog/stories/src/Dialog/DialogAlert.stories.tsx b/packages/react-components/react-dialog/stories/src/Dialog/DialogAlert.stories.tsx
index acd15f5ad3e12e..d7dcfef470850c 100644
--- a/packages/react-components/react-dialog/stories/src/Dialog/DialogAlert.stories.tsx
+++ b/packages/react-components/react-dialog/stories/src/Dialog/DialogAlert.stories.tsx
@@ -25,10 +25,10 @@ export const Alert = () => {
             pressed to dismiss this Alert
           </DialogContent>
           <DialogActions>
+            <Button appearance="primary">Do Something</Button>
             <DialogTrigger disableButtonEnhancement>
               <Button appearance="secondary">Close</Button>
             </DialogTrigger>
-            <Button appearance="primary">Do Something</Button>
           </DialogActions>
         </DialogBody>
       </DialogSurface>
diff --git a/packages/react-components/react-dialog/stories/src/Dialog/DialogChangeFocus.stories.tsx b/packages/react-components/react-dialog/stories/src/Dialog/DialogChangeFocus.stories.tsx
index d872b259e1df0c..f5d6e8b2fb4e0d 100644
--- a/packages/react-components/react-dialog/stories/src/Dialog/DialogChangeFocus.stories.tsx
+++ b/packages/react-components/react-dialog/stories/src/Dialog/DialogChangeFocus.stories.tsx
@@ -31,12 +31,12 @@ export const ChangeFocus = () => {
             <Button appearance="outline">Third Action</Button>
           </DialogActions>
           <DialogActions position="end">
+            <Button appearance="primary">Do Something</Button>
             <DialogTrigger disableButtonEnhancement>
               <Button ref={buttonRef} appearance="secondary">
                 Close
               </Button>
             </DialogTrigger>
-            <Button appearance="primary">Do Something</Button>
           </DialogActions>
         </DialogBody>
       </DialogSurface>
diff --git a/packages/react-components/react-dialog/stories/src/Dialog/DialogControllingOpenAndClose.stories.tsx b/packages/react-components/react-dialog/stories/src/Dialog/DialogControllingOpenAndClose.stories.tsx
index d2fcf0ede0a42f..f76d7da8f00903 100644
--- a/packages/react-components/react-dialog/stories/src/Dialog/DialogControllingOpenAndClose.stories.tsx
+++ b/packages/react-components/react-dialog/stories/src/Dialog/DialogControllingOpenAndClose.stories.tsx
@@ -27,10 +27,10 @@ export const ControllingOpenAndClose = () => {
             cumque eaque?
           </DialogContent>
           <DialogActions>
+            <Button appearance="primary">Do Something</Button>
             <DialogTrigger disableButtonEnhancement>
               <Button appearance="secondary">Close</Button>
             </DialogTrigger>
-            <Button appearance="primary">Do Something</Button>
           </DialogActions>
         </DialogBody>
       </DialogSurface>
diff --git a/packages/react-components/react-dialog/stories/src/Dialog/DialogCustomTrigger.stories.tsx b/packages/react-components/react-dialog/stories/src/Dialog/DialogCustomTrigger.stories.tsx
index 526402fab05bfe..7dd51ba339194e 100644
--- a/packages/react-components/react-dialog/stories/src/Dialog/DialogCustomTrigger.stories.tsx
+++ b/packages/react-components/react-dialog/stories/src/Dialog/DialogCustomTrigger.stories.tsx
@@ -35,10 +35,10 @@ export const CustomTrigger = () => {
             cumque eaque?
           </DialogContent>
           <DialogActions>
+            <Button appearance="primary">Do Something</Button>
             <DialogTrigger disableButtonEnhancement>
               <Button appearance="secondary">Close</Button>
             </DialogTrigger>
-            <Button appearance="primary">Do Something</Button>
           </DialogActions>
         </DialogBody>
       </DialogSurface>
diff --git a/packages/react-components/react-dialog/stories/src/Dialog/DialogDefault.stories.tsx b/packages/react-components/react-dialog/stories/src/Dialog/DialogDefault.stories.tsx
index e36839a8ddfdfb..00c1940b9e354a 100644
--- a/packages/react-components/react-dialog/stories/src/Dialog/DialogDefault.stories.tsx
+++ b/packages/react-components/react-dialog/stories/src/Dialog/DialogDefault.stories.tsx
@@ -25,10 +25,10 @@ export const Default = () => {
             cumque eaque?
           </DialogContent>
           <DialogActions>
+            <Button appearance="primary">Do Something</Button>
             <DialogTrigger disableButtonEnhancement>
               <Button appearance="secondary">Close</Button>
             </DialogTrigger>
-            <Button appearance="primary">Do Something</Button>
           </DialogActions>
         </DialogBody>
       </DialogSurface>
diff --git a/packages/react-components/react-dialog/stories/src/Dialog/DialogFluidDialogActions.stories.tsx b/packages/react-components/react-dialog/stories/src/Dialog/DialogFluidDialogActions.stories.tsx
index de95f61c2a9210..4bd53c955f0eac 100644
--- a/packages/react-components/react-dialog/stories/src/Dialog/DialogFluidDialogActions.stories.tsx
+++ b/packages/react-components/react-dialog/stories/src/Dialog/DialogFluidDialogActions.stories.tsx
@@ -26,12 +26,12 @@ export const FluidActions = () => {
             cumque eaque?
           </DialogContent>
           <DialogActions fluid>
+            <Button appearance="primary">Do Something</Button>
             <Button appearance="secondary">Something Else</Button>
             <Button appearance="secondary">Something Else</Button>
             <DialogTrigger disableButtonEnhancement>
               <Button appearance="secondary">Close</Button>
             </DialogTrigger>
-            <Button appearance="primary">Do Something</Button>
           </DialogActions>
         </DialogBody>
       </DialogSurface>
diff --git a/packages/react-components/react-dialog/stories/src/Dialog/DialogScrollingLongContent.stories.tsx b/packages/react-components/react-dialog/stories/src/Dialog/DialogScrollingLongContent.stories.tsx
index 4cd63e09f95db4..a35205026b8051 100644
--- a/packages/react-components/react-dialog/stories/src/Dialog/DialogScrollingLongContent.stories.tsx
+++ b/packages/react-components/react-dialog/stories/src/Dialog/DialogScrollingLongContent.stories.tsx
@@ -126,10 +126,10 @@ export const ScrollingLongContent = () => {
             </p>
           </DialogContent>
           <DialogActions>
+            <Button appearance="primary">Do Something</Button>
             <DialogTrigger disableButtonEnhancement>
               <Button appearance="secondary">Close</Button>
             </DialogTrigger>
-            <Button appearance="primary">Do Something</Button>
           </DialogActions>
         </DialogBody>
       </DialogSurface>
diff --git a/packages/react-components/react-dialog/stories/src/Dialog/DialogTriggerOutsideDialog.stories.tsx b/packages/react-components/react-dialog/stories/src/Dialog/DialogTriggerOutsideDialog.stories.tsx
index f4589ee411be72..584610b8bc7205 100644
--- a/packages/react-components/react-dialog/stories/src/Dialog/DialogTriggerOutsideDialog.stories.tsx
+++ b/packages/react-components/react-dialog/stories/src/Dialog/DialogTriggerOutsideDialog.stories.tsx
@@ -47,11 +47,11 @@ export const TriggerOutsideDialog = () => {
             </DialogContent>
 
             <DialogActions>
+              <Button appearance="primary">Do Something</Button>
               {/* DialogTrigger inside of a Dialog still works properly */}
               <DialogTrigger disableButtonEnhancement>
                 <Button appearance="secondary">Close</Button>
               </DialogTrigger>
-              <Button appearance="primary">Do Something</Button>
             </DialogActions>
           </DialogBody>
         </DialogSurface>
diff --git a/packages/react-components/react-dialog/stories/src/Dialog/DialogWithForm.stories.tsx b/packages/react-components/react-dialog/stories/src/Dialog/DialogWithForm.stories.tsx
index b1d739aec6860e..082d22dcad06ca 100644
--- a/packages/react-components/react-dialog/stories/src/Dialog/DialogWithForm.stories.tsx
+++ b/packages/react-components/react-dialog/stories/src/Dialog/DialogWithForm.stories.tsx
@@ -48,12 +48,12 @@ export const WithForm = () => {
               <Input required type="password" id={'password-input'} />
             </DialogContent>
             <DialogActions>
-              <DialogTrigger disableButtonEnhancement>
-                <Button appearance="secondary">Close</Button>
-              </DialogTrigger>
               <Button type="submit" appearance="primary">
                 Submit
               </Button>
+              <DialogTrigger disableButtonEnhancement>
+                <Button appearance="secondary">Close</Button>
+              </DialogTrigger>
             </DialogActions>
           </DialogBody>
         </form>

From 6093d92e5e8e4be06ba6a6f81adcd567115277fd Mon Sep 17 00:00:00 2001
From: "Atishay Jain (atisjai)" <98592573+AtishayMsft@users.noreply.github.com>
Date: Wed, 15 Jan 2025 16:16:01 +0530
Subject: [PATCH 38/78] chore(web-components): Update build tag to enable
 building charts web component package (#33656)

---
 azure-pipelines.release.web-components.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/azure-pipelines.release.web-components.yml b/azure-pipelines.release.web-components.yml
index 7ff0c44032afa9..e3817f7116627a 100644
--- a/azure-pipelines.release.web-components.yml
+++ b/azure-pipelines.release.web-components.yml
@@ -69,7 +69,7 @@ extends:
                 displayName: yarn
 
               - script: |
-                  yarn nx run-many -t format:check lint test build -p web-components --nxBail
+                  yarn nx run-many -t format:check lint test build -p tag:web-components --exclude vr-tests-web-components --nxBail
                 displayName: Build, Test, Lint
 
               - script: |

From 408fe44060b746844a9c76c67391b18d76d1f26e Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Wed, 15 Jan 2025 12:11:06 +0100
Subject: [PATCH 39/78] release: applying package updates - web-components
 (#33647)

---
 ...-cfdeb418-e440-4904-9a73-4b8291c7c99d.json |  7 ++++
 ...-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json |  7 ----
 .../chart-web-components/CHANGELOG.json       | 32 +++++++++++++++++++
 .../charts/chart-web-components/CHANGELOG.md  | 15 +++++++++
 .../charts/chart-web-components/package.json  |  6 ++--
 5 files changed, 57 insertions(+), 10 deletions(-)
 create mode 100644 change/@fluentui-chart-web-components-cfdeb418-e440-4904-9a73-4b8291c7c99d.json
 delete mode 100644 change/@fluentui-chart-web-components-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json
 create mode 100644 packages/charts/chart-web-components/CHANGELOG.json
 create mode 100644 packages/charts/chart-web-components/CHANGELOG.md

diff --git a/change/@fluentui-chart-web-components-cfdeb418-e440-4904-9a73-4b8291c7c99d.json b/change/@fluentui-chart-web-components-cfdeb418-e440-4904-9a73-4b8291c7c99d.json
new file mode 100644
index 00000000000000..cad856081e15fb
--- /dev/null
+++ b/change/@fluentui-chart-web-components-cfdeb418-e440-4904-9a73-4b8291c7c99d.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: sync failed release pipeline with git",
+  "packageName": "@fluentui/chart-web-components",
+  "email": "martinhochel@microsoft.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-chart-web-components-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json b/change/@fluentui-chart-web-components-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json
deleted file mode 100644
index c610fda40decf5..00000000000000
--- a/change/@fluentui-chart-web-components-dfff0cf0-8ca6-4c11-aacb-bdd0e7090bbb.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "prerelease",
-  "comment": "Create chart web components. Includes donut chart and horizontal bar chart",
-  "packageName": "@fluentui/chart-web-components",
-  "email": "98592573+AtishayMsft@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/packages/charts/chart-web-components/CHANGELOG.json b/packages/charts/chart-web-components/CHANGELOG.json
new file mode 100644
index 00000000000000..083c48da4b8382
--- /dev/null
+++ b/packages/charts/chart-web-components/CHANGELOG.json
@@ -0,0 +1,32 @@
+{
+  "name": "@fluentui/chart-web-components",
+  "entries": [
+    {
+      "date": "Tue, 14 Jan 2025 14:42:14 GMT",
+      "tag": "@fluentui/chart-web-components_v0.0.0-alpha.2",
+      "version": "0.0.0-alpha.2",
+      "comments": {
+        "prerelease": [
+          {
+            "author": "98592573+AtishayMsft@users.noreply.github.com",
+            "package": "@fluentui/chart-web-components",
+            "commit": "5964b11d0ac272f2ae10e1081b8f0d1e17497eef",
+            "comment": "Create chart web components. Includes donut chart and horizontal bar chart"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/chart-web-components",
+            "comment": "Bump @fluentui/tokens to v1.0.0-alpha.21",
+            "commit": "8cf401d626def27ad679f9e53928533df9f9ef52"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/chart-web-components",
+            "comment": "Bump @fluentui/web-components to v3.0.0-beta.76",
+            "commit": "8cf401d626def27ad679f9e53928533df9f9ef52"
+          }
+        ]
+      }
+    }
+  ]
+}
diff --git a/packages/charts/chart-web-components/CHANGELOG.md b/packages/charts/chart-web-components/CHANGELOG.md
new file mode 100644
index 00000000000000..19eff92c0072a1
--- /dev/null
+++ b/packages/charts/chart-web-components/CHANGELOG.md
@@ -0,0 +1,15 @@
+# Change Log - @fluentui/chart-web-components
+
+This log was last generated on Tue, 14 Jan 2025 14:42:14 GMT and should not be manually modified.
+
+<!-- Start content -->
+
+## [0.0.0-alpha.2](https://github.com/microsoft/fluentui/tree/@fluentui/chart-web-components_v0.0.0-alpha.2)
+
+Tue, 14 Jan 2025 14:42:14 GMT
+
+### Changes
+
+- Create chart web components. Includes donut chart and horizontal bar chart ([PR #33084](https://github.com/microsoft/fluentui/pull/33084) by 98592573+AtishayMsft@users.noreply.github.com)
+- Bump @fluentui/tokens to v1.0.0-alpha.21 ([PR #33642](https://github.com/microsoft/fluentui/pull/33642) by beachball)
+- Bump @fluentui/web-components to v3.0.0-beta.76 ([PR #33642](https://github.com/microsoft/fluentui/pull/33642) by beachball)
diff --git a/packages/charts/chart-web-components/package.json b/packages/charts/chart-web-components/package.json
index fe15d6d133e168..280ff647ca39fa 100644
--- a/packages/charts/chart-web-components/package.json
+++ b/packages/charts/chart-web-components/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@fluentui/chart-web-components",
   "description": "A library of Fluent Chart Web Components",
-  "version": "0.0.0-alpha.1",
+  "version": "0.0.0-alpha.2",
   "author": {
     "name": "Microsoft"
   },
@@ -97,8 +97,8 @@
   },
   "dependencies": {
     "@microsoft/fast-web-utilities": "^6.0.0",
-    "@fluentui/tokens": "^1.0.0-alpha",
-    "@fluentui/web-components": "^3.0.0-beta",
+    "@fluentui/tokens": "^1.0.0-alpha.21",
+    "@fluentui/web-components": "^3.0.0-beta.76",
     "@types/d3-selection": "^3.0.0",
     "@types/d3-shape": "^3.0.0",
     "d3-selection": "^3.0.0",

From 92722197457a5c8ca81a76e15ef016ff07ec0361 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Nuno=20Mota?= <jnuno.carrilho@gmail.com>
Date: Wed, 15 Jan 2025 12:51:07 +0000
Subject: [PATCH 40/78] Update README links that are incorrect or outdated
 (#33184)

---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index ce78d0bfa950d5..c2bffa8e5ced88 100644
--- a/README.md
+++ b/README.md
@@ -17,8 +17,8 @@ The following table will help you navigate the 3 projects and understand their d
 | **Used By**     | Microsoft 365 | Office | Edge |
 | **Read Me**     | [README.md](/packages/react-components/react-components/README.md) | [README.md](/packages/react/README.md)| [README.md](/packages/web-components/README.md) |
 | **Changelog** | [CHANGELOG.md](/packages/react-components/react-components/CHANGELOG.md) | [CHANGELOG.md](/packages/react/CHANGELOG.md) | [CHANGELOG.md](/packages/web-components/CHANGELOG.md) |
-| **Repo**        | [packages/react-components](/packages/react-components/react-components/CHANGELOG.md) | [./packages/react](/packages/react) | [./packages/web-components](/packages/web-components) |
-| **Quick Start** | [Quick Start](https://react.fluentui.dev/?path=/docs/concepts-developer-quick-start--page) | [Quick Start](https://developer.microsoft.com/en-us/fluentui#/get-started/web) | [See README.md](https://github.com/microsoft/fluentui/tree/master/packages/web-components/README.md) |
+| **Repo**        | [packages/react-components](/packages/react-components/react-components) | [./packages/react](/packages/react) | [./packages/web-components](/packages/web-components) |
+| **Quick Start** | [Quick Start](https://react.fluentui.dev/?path=/docs/concepts-developer-quick-start--docs) | [Quick Start](https://developer.microsoft.com/en-us/fluentui#/get-started/web) | [See README.md](https://github.com/microsoft/fluentui/tree/master/packages/web-components/README.md) |
 | **Docs**        | [https://react.fluentui.dev/](https://react.fluentui.dev/) | [aka.ms/fluentui-react](https://aka.ms/fluentui-react) | [aka.ms/fluentui-web-components](https://aka.ms/fluentui-web-components) |
 | **NPM**         | `@fluentui/react-components` | `@fluentui/react`| `@fluentui/web-components` |
 | **Version**     | [![npm version](https://img.shields.io/npm/v/@fluentui/react-components?style=flat-square)](https://www.npmjs.com/package/@fluentui/react-components) | [![npm version](https://img.shields.io/npm/v/@fluentui/react?style=flat-square)](https://www.npmjs.com/package/@fluentui/react) | [![npm version](https://img.shields.io/npm/v/@fluentui/web-components/beta?style=flat-square)](https://www.npmjs.com/package/@fluentui/web-components/v/3.0.0-beta.15) |

From d6997e2e9f448ad908f3cf1839b9a42b77ca22eb Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Wed, 15 Jan 2025 13:55:40 +0100
Subject: [PATCH 41/78] ci: update react-components-bug-report list (#33598)

---
 .../01-react-components-bug-report.yml        | 37 ++++++++++++++-----
 1 file changed, 27 insertions(+), 10 deletions(-)

diff --git a/.github/ISSUE_TEMPLATE/01-react-components-bug-report.yml b/.github/ISSUE_TEMPLATE/01-react-components-bug-report.yml
index fa2b5be3bc0082..3ac9d7de51cab4 100644
--- a/.github/ISSUE_TEMPLATE/01-react-components-bug-report.yml
+++ b/.github/ISSUE_TEMPLATE/01-react-components-bug-report.yml
@@ -26,8 +26,15 @@ body:
         - Breadcrumb
         - Button
         - Card
+        - CardFooter
+        - CardHeader
+        - CardPreview
+        - Carousel
+        - CarouselNav
         - Checkbox
         - Combobox
+        - CompoundButton
+        - Counter Badge
         - DataGrid
         - Dialog
         - Divider
@@ -38,14 +45,19 @@ body:
         - Image
         - InfoLabel
         - Input
+        - InteractionTag
         - Label
         - Link
+        - List
         - Menu
+        - MenuButton
+        - MenuList
         - MessageBar
         - Overflow
         - Persona
         - Popover
         - Portal
+        - PresenceBadge
         - ProgressBar
         - RadioGroup
         - Rating
@@ -56,32 +68,37 @@ body:
         - Slider
         - SpinButton
         - Spinner
+        - SplitButton
         - SwatchPicker
         - Switch
-        - Table
         - TabList
+        - Table
         - Tag
+        - TagGroup
         - TagPicker
         - TeachingPopover
         - Text
         - Textarea
         - Toast
+        - ToggleButton
         - Toolbar
         - Tooltip
         - Tree
+        - ColorPicker (Preview)
+        - Nav (Preview)
+        - Virtualizer (Preview)
+        - VirtualizerScrollView (Preview)
+        - VirtualizerScrollViewDynamic (Preview)
         - Calendar (Compat)
         - DatePicker (Compat)
         - TimePicker (Compat)
-        - Carousel (Preview)
-        - List (Preview)
-        - Nav (Preview)
-        - Virtualizer (Preview)
-        - Motion
         - Icons
-        - Theme/Tokens
-        - Utilities (utilities we provide besides Components, e.g. apis from react-utilities)
-        - Migration Shims v0
-        - Migration Shims v8
+        - Migration Shims V0
+        - Migration Shims V8
+        - Motion
+        - Theme
+        - Tokens
+        - Utilities
         - Other...
     validations:
       required: true

From 1e9bac019e636b7118b73ded1e78da5146dfcde2 Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Wed, 15 Jan 2025 13:57:46 +0100
Subject: [PATCH 42/78] test(workspace-plugin): make build executor spec
 deterministic on local and CI (#33645)

---
 .../src/executors/build/executor.spec.ts               | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/tools/workspace-plugin/src/executors/build/executor.spec.ts b/tools/workspace-plugin/src/executors/build/executor.spec.ts
index a690d8b1bcb4b7..4b0a832baa1ccd 100644
--- a/tools/workspace-plugin/src/executors/build/executor.spec.ts
+++ b/tools/workspace-plugin/src/executors/build/executor.spec.ts
@@ -270,13 +270,19 @@ describe('Build Executor', () => {
 
     const publicApiFilePath = join(workspaceRoot, 'libs/proj/src/index.ts');
     const originalApiContent = readFileSync(publicApiFilePath);
+    const existingEnvVariableCi = process.env.CI;
+
     appendFileSync(publicApiFilePath, `export const hello='new public api';\n`);
+    // force api-extractor CI behaviors to fail on both Local/CI
+    process.env.CI = 'true';
 
-    // force api-extractor to generate api.md and not fail on Local/CI
-    process.env.__FORCE_API_MD_UPDATE__ = '';
     const outputFailed = await executor(options, context);
     expect(outputFailed.success).toBe(false);
 
+    // cleanup
     writeFileSync(publicApiFilePath, originalApiContent, 'utf-8');
+    if (existingEnvVariableCi) {
+      process.env.CI = existingEnvVariableCi;
+    }
   }, 60000);
 });

From 84c2ce729ec1b6566a6561ac47f0ea1b0a0e249b Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Wed, 15 Jan 2025 13:58:07 +0100
Subject: [PATCH 43/78] chore: migrate to nx 19.8.14 (#33629)

---
 package.json |  20 +--
 yarn.lock    | 377 ++++++++++++++++++++++++++-------------------------
 2 files changed, 199 insertions(+), 198 deletions(-)

diff --git a/package.json b/package.json
index c50f53823e2ddb..77c06c19c1c95f 100644
--- a/package.json
+++ b/package.json
@@ -75,14 +75,14 @@
     "@microsoft/load-themed-styles": "1.10.26",
     "@microsoft/loader-load-themed-styles": "2.0.17",
     "@microsoft/tsdoc": "0.14.2",
-    "@nx/devkit": "19.8.4",
-    "@nx/eslint": "19.8.4",
-    "@nx/eslint-plugin": "19.8.4",
-    "@nx/jest": "19.8.4",
-    "@nx/js": "19.8.4",
-    "@nx/node": "19.8.4",
-    "@nx/plugin": "19.8.4",
-    "@nx/workspace": "19.8.4",
+    "@nx/devkit": "19.8.14",
+    "@nx/eslint": "19.8.14",
+    "@nx/eslint-plugin": "19.8.14",
+    "@nx/jest": "19.8.14",
+    "@nx/js": "19.8.14",
+    "@nx/node": "19.8.14",
+    "@nx/plugin": "19.8.14",
+    "@nx/workspace": "19.8.14",
     "@octokit/rest": "18.12.0",
     "@oddbird/css-anchor-positioning": "0.4.0",
     "@phenomnomnominal/tsquery": "6.1.3",
@@ -282,7 +282,7 @@
     "monosize-bundler-webpack": "0.1.5",
     "monosize-storage-azure": "0.0.15",
     "node-plop": "0.25.0",
-    "nx": "19.8.4",
+    "nx": "19.8.14",
     "p-queue": "6.6.2",
     "parse-diff": "0.7.1",
     "path-browserify": "1.0.1",
@@ -335,7 +335,7 @@
     "terser-webpack-plugin": "5.3.10",
     "through2": "4.0.2",
     "tmp": "0.2.1",
-    "ts-jest": "29.1.1",
+    "ts-jest": "29.2.5",
     "ts-loader": "9.4.2",
     "ts-node": "10.9.2",
     "tsconfig-paths": "4.2.0",
diff --git a/yarn.lock b/yarn.lock
index 5885094de87ceb..e52755aa7c44f5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2743,62 +2743,62 @@
   dependencies:
     "@nx/devkit" "19.5.7"
 
-"@nrwl/devkit@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-19.8.4.tgz#19fbf56854d11fa6b12431b8f9c51999099cf3e2"
-  integrity sha512-OoIqDjj2mWzLs3aSF6w5OiC2xywYi/jBxHc7t7Lyi56Vc4dQq8vJMELa9WtG6qH0k05fF7N+jAoKlfvLgbbEFA==
+"@nrwl/devkit@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-19.8.14.tgz#0c1eaeb8b1b0283d071fcd0cb0ddb10dd9fc1bfb"
+  integrity sha512-Oud7BPhFNqE3/YStULn/gHyuGSw2QyxUaHXJApr+DybmYtUms7hQ+cWnY1IY+hRpdtU9ldlg8UYx+VslpS9YNQ==
   dependencies:
-    "@nx/devkit" "19.8.4"
+    "@nx/devkit" "19.8.14"
 
-"@nrwl/eslint-plugin-nx@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-19.8.4.tgz#7710a02660380c67c7d2d8ee188574a159c13275"
-  integrity sha512-D2RsuKOwuF3SO9/tA2R93zL2ixampDlQC8+6E7wfcU+KdfMhhGFG2+r53F98Q8cZKMt5Wls2nGSGpj2CWxCk5A==
+"@nrwl/eslint-plugin-nx@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-19.8.14.tgz#d734a6dd905439c8282a275c25fea75529cd905e"
+  integrity sha512-nnwWYW+XS3r8aCzVahpIVSu63J8UD5WAzO7yUZpk8etRlmRrVXl+JXxNLkOF0KNTuGuqFZUrN9ZO/NkigPPtUA==
   dependencies:
-    "@nx/eslint-plugin" "19.8.4"
+    "@nx/eslint-plugin" "19.8.14"
 
-"@nrwl/jest@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-19.8.4.tgz#ed1be1e881e085a080a86fa11c88c8dd4a1445d3"
-  integrity sha512-N18UVEqTrOUotXdjpVZOe/qgT4m0cX9YIS6ATKXAYxX9Nl6Qo3hhbRDo9WHHulXE2Hql6S/RpnwwUP5TJthkZw==
+"@nrwl/jest@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-19.8.14.tgz#15b66c01b59eee7d1642807436a26960884f348a"
+  integrity sha512-4xW9aRhDnTgsuVuhex+cM6u65XNpc1l3HzJRClaKfJY9cRp2uRpBR6UCgqRypXacflX2QXGczlBBUg2N6CQZ0A==
   dependencies:
-    "@nx/jest" "19.8.4"
+    "@nx/jest" "19.8.14"
 
-"@nrwl/js@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-19.8.4.tgz#1368d872bb0d7e4d7eee3f3eecb9bc0a4363ec1f"
-  integrity sha512-XuPOJc77waJ3zgg42zntTy5eGCKTc6EjVvRVdUSf1iXWaMHAsknPjb4kz16iwdGhoRMQpZxHRr1KjY5WmcWq0A==
+"@nrwl/js@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-19.8.14.tgz#7dcf0941f89bb45588b964b3e4a96cbfeebedace"
+  integrity sha512-DilRYVrqoecsNOkV2j4QDvcIjJXaO2krV7bbfGU/9TSmDzNcdB1R++dEgpa0seo2FrEfVgKffOl/6zzi8PhsgQ==
   dependencies:
-    "@nx/js" "19.8.4"
+    "@nx/js" "19.8.14"
 
-"@nrwl/node@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-19.8.4.tgz#712941c282cbad8e016ba33f5b33b433131ef20a"
-  integrity sha512-uAtNNGqaHvNIFFNZkUzAh1fviX/O8VS9lOa8+k7uL4WjxNuQBcdORX3DkQ9mTGeNgsdzhIHQTCi7AMMFIPWB0g==
+"@nrwl/node@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-19.8.14.tgz#56628aeb2f0c3be72555706cd57a4e515fd9837e"
+  integrity sha512-GE/lyXiAJgCmTXh5gauG78HMCVV3oFGdNkro0MToBNBRvv7SQL9OINRfzg9+9vK8ERcMviCYILt56TyKMl8xwQ==
   dependencies:
-    "@nx/node" "19.8.4"
+    "@nx/node" "19.8.14"
 
-"@nrwl/nx-plugin@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nrwl/nx-plugin/-/nx-plugin-19.8.4.tgz#c6900327eb6ef0d2d604884bdbcf17305121d023"
-  integrity sha512-nPE+7iUTIEsO080MQNrZptFTQsPnKojGGdC9q9+T5Fj0TaAAKVKTrPQjRmgEoiG1JD+8r0BwR+e3YAXu/OhynQ==
+"@nrwl/nx-plugin@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nrwl/nx-plugin/-/nx-plugin-19.8.14.tgz#dc575cf4fad6083093c5b53bc890200581ba4083"
+  integrity sha512-q0Md9yt1zRCQ1XZx3EZUkF5QFODGZ6BVaPjOlcXi9Ml6vP4dMvBjoA3F5TuILkvTTJVhLG20M24AGwWYkgrLHQ==
   dependencies:
-    "@nx/plugin" "19.8.4"
+    "@nx/plugin" "19.8.14"
 
-"@nrwl/tao@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-19.8.4.tgz#7bba53a15e3530544405f90c90bc940b12524404"
-  integrity sha512-03/+QZ4/6HmKbEmvzCutLI1XIclBspNYtiVHmGPRWuwhnZViqYfnyl8J7RWVdFEoKKA5fhJqpg7e28aGuoMBvQ==
+"@nrwl/tao@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-19.8.14.tgz#a9e3157ba19723946ca0f362bc9612b32b5d7cf7"
+  integrity sha512-zBeYzzwg43T/Z8ZtLblv0fcKuqJULttqYDekSLILThXp3UOMSerEvruhUgwddCY1jUssfLscz8vacMKISv5X4w==
   dependencies:
-    nx "19.8.4"
+    nx "19.8.14"
     tslib "^2.3.0"
 
-"@nrwl/workspace@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-19.8.4.tgz#3bb0f36fd412c1dd2848fead1b96a1bd8731fb00"
-  integrity sha512-ZdzVMuVDkD5nYRXkvBIZe6yUTcbllYanoIh38a7l3MfPqw+2cFY2Cr9uPNfH3LXpzZYgKcr4vffYWwLXeIwbjw==
+"@nrwl/workspace@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-19.8.14.tgz#bc1e42bf8de6a7a2ce400c81035123bd4476fa24"
+  integrity sha512-I4eZtnHMkqnmOXVy6yN59fQopQZ+Sg0OFWwGluhKD5XPZULrlzECB8d4vblY9pcmQlN/6fat+KBrWkmKl41ZKg==
   dependencies:
-    "@nx/workspace" "19.8.4"
+    "@nx/workspace" "19.8.14"
 
 "@nx/devkit@19.5.7", "@nx/devkit@~19.5.7":
   version "19.5.7"
@@ -2815,12 +2815,12 @@
     tslib "^2.3.0"
     yargs-parser "21.1.1"
 
-"@nx/devkit@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-19.8.4.tgz#b814d2c41e99fee305d14895520a785ac010ecce"
-  integrity sha512-FPFT8gVDFRSEmU0n7nRkT4Rnqy7OMznfPXLfDZtVuzEi5Cl6ftG3UBUvCgJcJFCYJVAZAUuv6vRSRarHd51XFQ==
+"@nx/devkit@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-19.8.14.tgz#c73cc2721ff4860a9d6891a0f5af0e7d7a8571ae"
+  integrity sha512-A8dCGttbuqgg9P56VTb0ElD2vM5nc5g0aLnX5PSXo4SkFXwd8DV5GgwJKWB1GO9hYyEtbj4gKek0KxnCtdav4g==
   dependencies:
-    "@nrwl/devkit" "19.8.4"
+    "@nrwl/devkit" "19.8.14"
     ejs "^3.1.7"
     enquirer "~2.3.6"
     ignore "^5.0.4"
@@ -2830,15 +2830,15 @@
     tslib "^2.3.0"
     yargs-parser "21.1.1"
 
-"@nx/eslint-plugin@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-19.8.4.tgz#7078c15704fb3d2c0199a591f266c2a4876ed60b"
-  integrity sha512-0Q/2y/FZJyRxk5SbIXP+FlIY8//3chtaQz+FuorHGs0mDBN5FtBFqBL0atWClJO+B+QByO70ue/qHEHSiNrcJw==
+"@nx/eslint-plugin@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-19.8.14.tgz#ff4c6ffbab693eb4c8de304e1754c4e6302e8037"
+  integrity sha512-0wYTqP3J3mJPGilf9xCiFD8Rw7f/knCDwXmoXv1tZb/N/3oExreqVPz0wnRcQh+clDAEVlY3onvqqkSBw5K/Fg==
   dependencies:
     "@eslint/compat" "^1.1.1"
-    "@nrwl/eslint-plugin-nx" "19.8.4"
-    "@nx/devkit" "19.8.4"
-    "@nx/js" "19.8.4"
+    "@nrwl/eslint-plugin-nx" "19.8.14"
+    "@nx/devkit" "19.8.14"
+    "@nx/js" "19.8.14"
     "@typescript-eslint/type-utils" "^8.0.0"
     "@typescript-eslint/utils" "^8.0.0"
     chalk "^4.1.0"
@@ -2848,28 +2848,28 @@
     semver "^7.5.3"
     tslib "^2.3.0"
 
-"@nx/eslint@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-19.8.4.tgz#8dd64afbadd4bd37352c502c950cbec250123a49"
-  integrity sha512-gJGtYd9ThKSM1pbV/iG/PGwtVKg1PwjAly2AjgebYmAey+hgxzwgjQy84Lf+FdkKNUQZjB0sYaKCw26oKXXYaA==
+"@nx/eslint@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-19.8.14.tgz#55ccf21ce1a6d8bec1183880486e6272a2be7dc1"
+  integrity sha512-fhrCd8OZue7WcIoU4NyKLLrfolEa2TvSgaLxjDabONqZOJRG38Y7ZX92P+Y1hSEdDZ9AazzirIdsy2d1AZWvfQ==
   dependencies:
-    "@nx/devkit" "19.8.4"
-    "@nx/js" "19.8.4"
-    "@nx/linter" "19.8.4"
+    "@nx/devkit" "19.8.14"
+    "@nx/js" "19.8.14"
+    "@nx/linter" "19.8.14"
     semver "^7.5.3"
     tslib "^2.3.0"
     typescript "~5.4.2"
 
-"@nx/jest@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-19.8.4.tgz#5599b7c5a09805934c7c23a5175ff3f11f6cb845"
-  integrity sha512-oAC0zLkktCduq3ZNjIqPK/gCGPxPZMiWDFKqeEpZnIqgYuQfy6wUk3aSVWGPud0kuPJGJA0G1hkxCXtCmCXMNw==
+"@nx/jest@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-19.8.14.tgz#a4b7094336088706413210bc0c04ba9fa306f516"
+  integrity sha512-y/ce61yDu5qUP4a70OKBlCC5MOFcpS1J8HEJB1DAsF0jFb1NX8ft1B+7LjuGvSbuEmuy+a/pZwiTToUFnp0bGg==
   dependencies:
     "@jest/reporters" "^29.4.1"
     "@jest/test-result" "^29.4.1"
-    "@nrwl/jest" "19.8.4"
-    "@nx/devkit" "19.8.4"
-    "@nx/js" "19.8.4"
+    "@nrwl/jest" "19.8.14"
+    "@nx/devkit" "19.8.14"
+    "@nx/js" "19.8.14"
     "@phenomnomnominal/tsquery" "~5.0.1"
     chalk "^4.1.0"
     identity-obj-proxy "3.0.0"
@@ -2882,10 +2882,10 @@
     tslib "^2.3.0"
     yargs-parser "21.1.1"
 
-"@nx/js@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/js/-/js-19.8.4.tgz#fdff61c22f0f97b80e1054af4a17b48294513871"
-  integrity sha512-rBiBi0A9NsxA5cnMcDRXllNXFJYjk+YiNP4T5e+GmqHmicjRjF+mORrhQ4zBZXvZwS2O+ZO9iBOZX41IVqzFaw==
+"@nx/js@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/js/-/js-19.8.14.tgz#f7f976df4783838bed29cd0387addbe06e46f934"
+  integrity sha512-Nk0eEB2F/ZbBkH2iT+cgLWIittY8n5eOrA/uBBG2XMdencJZ9E2HNA/UzSGPZmD4EYVk0R1vm83k5+IMS1VAZA==
   dependencies:
     "@babel/core" "^7.23.2"
     "@babel/plugin-proposal-decorators" "^7.22.7"
@@ -2894,9 +2894,9 @@
     "@babel/preset-env" "^7.23.2"
     "@babel/preset-typescript" "^7.22.5"
     "@babel/runtime" "^7.22.6"
-    "@nrwl/js" "19.8.4"
-    "@nx/devkit" "19.8.4"
-    "@nx/workspace" "19.8.4"
+    "@nrwl/js" "19.8.14"
+    "@nx/devkit" "19.8.14"
+    "@nx/workspace" "19.8.14"
     babel-plugin-const-enum "^1.0.1"
     babel-plugin-macros "^2.8.0"
     babel-plugin-transform-typescript-metadata "^0.3.1"
@@ -2918,97 +2918,97 @@
     tsconfig-paths "^4.1.2"
     tslib "^2.3.0"
 
-"@nx/linter@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-19.8.4.tgz#3836fcb7fe50e1aa70918c8c623c07f952f67be9"
-  integrity sha512-aK6Bic/iup5nkZDFQgBgilgtqfjuy+dT0agnE6HEdXKOIR++LJXpka5nrJ9VNNglp22DrFtBDAH/hfRpIwm8uw==
+"@nx/linter@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-19.8.14.tgz#e5b032d862a2102de53ac1c7ebd953f21ead3d81"
+  integrity sha512-QIeEXmdvXKX6rHIiA3W77l2oB9rABH3HYP6bgNaHyx65+tZ6RvmKfVXk+GWMgTf0lfQpnGyI/M7nsa91RGxu6w==
   dependencies:
-    "@nx/eslint" "19.8.4"
+    "@nx/eslint" "19.8.14"
 
-"@nx/node@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/node/-/node-19.8.4.tgz#e32d0e2268cf288b0ad2ed6562e93976fa444e57"
-  integrity sha512-fvyR9GmYNBV/FNHDEHBjhP/Pxh8Ol2lMapMR6B59RDqB/4aDp+WGYr8qi6w5PV0yvszQrEzxVnfNPALlHwQDKQ==
+"@nx/node@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/node/-/node-19.8.14.tgz#2d1353df281cb7721fd777662d294a1b475fb98b"
+  integrity sha512-lg6NRmroPmouEUH6wg+w1ajGuT2IzXfhgqy8UiIgIgAj5agXxeb9aEsszksFYV3hMJuzlfxLrkm1oQjccdtzPg==
   dependencies:
-    "@nrwl/node" "19.8.4"
-    "@nx/devkit" "19.8.4"
-    "@nx/eslint" "19.8.4"
-    "@nx/jest" "19.8.4"
-    "@nx/js" "19.8.4"
+    "@nrwl/node" "19.8.14"
+    "@nx/devkit" "19.8.14"
+    "@nx/eslint" "19.8.14"
+    "@nx/jest" "19.8.14"
+    "@nx/js" "19.8.14"
     tslib "^2.3.0"
 
-"@nx/nx-darwin-arm64@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.8.4.tgz#7930e44161521892901dacfadbf139bd33c346a8"
-  integrity sha512-mbSGt63hYcVCSQ54kpHl0lFqr5CsbkGJ4L3liWE30Da7vXZJwUBr9f+b9DnQ64IZzlu6vAhNcaiYQXa9lAk0yQ==
-
-"@nx/nx-darwin-x64@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-19.8.4.tgz#1f61d12c41aa6a25cd462e17a5e6b70d6a4626fc"
-  integrity sha512-lTcXUCXNvqHdLmrNCOyDF+u6pDx209Ew7nSR47sQPvkycIHYi0gvgk0yndFn1Swah0lP4OxWg7rzAfmOlZd6ew==
-
-"@nx/nx-freebsd-x64@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.8.4.tgz#d2450133e38531a4c2552b99aef7a3c35e6c33a5"
-  integrity sha512-4BUplOxPZeUwlUNfzHHMmebNVgDFW/jNX6TWRS+jINwOHnpWLkLFAXu27G80/S3OaniVCzEQklXO9b+1UsdgXw==
-
-"@nx/nx-linux-arm-gnueabihf@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.8.4.tgz#d8295447a9bbb302c54659c5aa423854c2e46805"
-  integrity sha512-Wahul8oz9huEm/Jv3wud5IGWdZxkGG4tdJm9i5TV5wxfUMAWbKU9v2nzZZins452UYESWvwvDkiuBPZqSto3qw==
-
-"@nx/nx-linux-arm64-gnu@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.8.4.tgz#4af1f7c24920805d0b05259c235aa25894d64c17"
-  integrity sha512-L0RVCZkNAtZDplLT7uJV7M9cXxq2Fxw+8ex3eb9XSp7eyLeFO21T0R6vTouJ42E/PEvGApCAcyGqtnyPNMZFfw==
-
-"@nx/nx-linux-arm64-musl@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.8.4.tgz#46c7312d9aa45f108d10f0ff8435f171b020eb10"
-  integrity sha512-0q8r8I8WCsY3xowDI2j109SCUSkFns/BJ40aCfRh9hhrtaIIc5qXUw2YFTjxUZNcRJXx9j9+hTe9jBkUSIGvCw==
-
-"@nx/nx-linux-x64-gnu@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.8.4.tgz#a65da197a58627c7b8210cff1be64d0cbcdab124"
-  integrity sha512-XcRBNe0ws7KB0PMcUlpQqzzjjxMP8VdqirBz7CfB2XQ8xKmP3370p0cDvqs/4oKDHK4PCkmvVFX60tzakutylA==
-
-"@nx/nx-linux-x64-musl@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.8.4.tgz#c2225f65ed81fb7b2bb068f8471ed34319ba94a3"
-  integrity sha512-JB4tAuZBCF0yqSnKF3pHXa0b7LA3ebi3Bw08QmMr//ON4aU+eXURGBuj9XvULD2prY+gpBrvf+MsG1XJAHL6Zg==
-
-"@nx/nx-win32-arm64-msvc@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.8.4.tgz#ce5975930ee33019251579f33dc58cace8976501"
-  integrity sha512-WvQag/pN9ofRWRDvOZxj3jvJoTetlvV1uyirnDrhupRgi+Fj67OlGGt2zVUHaXFGEa1MfCEG6Vhk6152m4KyaQ==
-
-"@nx/nx-win32-x64-msvc@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.8.4.tgz#c58a0d0f68ee10b365606abd337712b50453ae11"
-  integrity sha512-//JntLrN3L7WL/WgP3D0FE34caYTPcG/GIMBguC9w7YDyTlEikLgLbobjdCPz+2f9OWGvIZbJgGmtHNjnETM/g==
-
-"@nx/plugin@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/plugin/-/plugin-19.8.4.tgz#d321f67cfd3bc1cd5b36be16c0f0bf711910d2ee"
-  integrity sha512-ONukvL6/zbUA3GK4s/zR8XIK3vC4hcPPnuAJ7s99A2w8iD4V1J8ziqVgCmvqAtiwPE7tzhX9c3wIyrb/QTESEA==
-  dependencies:
-    "@nrwl/nx-plugin" "19.8.4"
-    "@nx/devkit" "19.8.4"
-    "@nx/eslint" "19.8.4"
-    "@nx/jest" "19.8.4"
-    "@nx/js" "19.8.4"
+"@nx/nx-darwin-arm64@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.8.14.tgz#d32b1108bfa9908ca1bad893f3d35d211b30292e"
+  integrity sha512-bZUFf23gAzuwVw71dR8rngye5aCR8Z/ouIo+KayjqB0LWWoi3WzO73s4S69ljftYt4n6z9wvD+Trbb1BKm2fPg==
+
+"@nx/nx-darwin-x64@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-19.8.14.tgz#d8f5855e271f1e7b46f700cad81395014e4418f1"
+  integrity sha512-UXXVea8icFG/3rFwpbLYsD6O4wlyJ1STQfOdhGK1Hyuga70AUUdrjVm7HzigAQP/Sb2Nzd7155YXHzfpRPDFYA==
+
+"@nx/nx-freebsd-x64@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.8.14.tgz#bbb8958b8a50645f17e4670f5ef41b207d469546"
+  integrity sha512-TK2xuXn+BI6hxGaRK1HRUPWeF/nOtezKSqM+6rbippfCzjES/crmp9l5nbI764MMthtUmykCyWvhEfkDca6kbA==
+
+"@nx/nx-linux-arm-gnueabihf@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.8.14.tgz#e222b45d25fe58ae326d68bf3e94edf8877b0a66"
+  integrity sha512-33rptyRraqaeQ2Kq6pcZKQqgnYY/7zcGH8fHXgKK7XzKk+7QuPViq+jMEUZP5E3UzZPkIYhsfmZcZqhNRvepJQ==
+
+"@nx/nx-linux-arm64-gnu@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.8.14.tgz#935ff45aba0d3b9ed551bbc4b7f61aa9ff286f77"
+  integrity sha512-2E70qMKOhh7Fp4JGcRbRLvFKq0+ANVdAgSzH47plxOLygIeVAfIXRSuQbCI0EUFa5Sy6hImLaoRSB2GdgKihAw==
+
+"@nx/nx-linux-arm64-musl@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.8.14.tgz#260fbbd011a393695d1d4507a82d6c02b2a0f15c"
+  integrity sha512-ltty/PDWqkYgu/6Ye65d7v5nh3D6e0n3SacoKRs2Vtfz5oHYRUkSKizKIhEVfRNuHn3d9j8ve1fdcCN4SDPUBQ==
+
+"@nx/nx-linux-x64-gnu@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.8.14.tgz#0e8f74512fb589c22b36993c095e945f3ac53a36"
+  integrity sha512-JzE3BuO9RCBVdgai18CCze6KUzG0AozE0TtYFxRokfSC05NU3nUhd/o62UsOl7s6Bqt/9nwrW7JC8pNDiCi9OQ==
+
+"@nx/nx-linux-x64-musl@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.8.14.tgz#ffdd7cdef97ada49f0d696b26139599e12de21c4"
+  integrity sha512-2rPvDOQLb7Wd6YiU88FMBiLtYco0dVXF99IJBRGAWv+WTI7MNr47OyK2ze+JOsbYY1d8aOGUvckUvCCZvZKEfg==
+
+"@nx/nx-win32-arm64-msvc@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.8.14.tgz#7fb5263e9a6aad49828e1aa3762160e10cab433f"
+  integrity sha512-JxW+YPS+EjhUsLw9C6wtk9pQTG3psyFwxhab8y/dgk2s4AOTLyIm0XxgcCJVvB6i4uv+s1g0QXRwp6+q3IR6hg==
+
+"@nx/nx-win32-x64-msvc@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.8.14.tgz#1eac610cf007e72ffc1551ed34e31ba266414db5"
+  integrity sha512-RxiPlBWPcGSf9TzIIy62iKRdRhokXMDUsPub9DL2VdVyTMXPZQR25aY/PJeasJN1EQU74hg097LK2wSHi+vzOQ==
+
+"@nx/plugin@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/plugin/-/plugin-19.8.14.tgz#035a7a23c5222699ffc3dc0243480d8f4c69eb80"
+  integrity sha512-OqjxQNciuRYBIueX6ILLtk2NNvn06ucbSnRvfSwGoXUpiqomsHg/YuBZ61npkYVNc0ZZma8kqtrKBhAhuVTdnw==
+  dependencies:
+    "@nrwl/nx-plugin" "19.8.14"
+    "@nx/devkit" "19.8.14"
+    "@nx/eslint" "19.8.14"
+    "@nx/jest" "19.8.14"
+    "@nx/js" "19.8.14"
     tslib "^2.3.0"
 
-"@nx/workspace@19.8.4":
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-19.8.4.tgz#81591e2f73f5052efdc0f4116233635b9438bcb7"
-  integrity sha512-ub4nD2klOj00onF1KrNXIlLB9hXN9ybHs7XSP9YW+52qz79KaJWJm46ebTqeLnDZApYbAcB0vSCp2+kaEV24Ew==
+"@nx/workspace@19.8.14":
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-19.8.14.tgz#378cccacfc3e7a5a3062427556ba2b2da4959bea"
+  integrity sha512-Yb3d5WVjCyLill8MycKU+P/kbTyatKKqoUCu5zWokkysABiMWRLlrCYNzqwjTjeIIGj9MMGRHAQEemkBdL4tdg==
   dependencies:
-    "@nrwl/workspace" "19.8.4"
-    "@nx/devkit" "19.8.4"
+    "@nrwl/workspace" "19.8.14"
+    "@nx/devkit" "19.8.14"
     chalk "^4.1.0"
     enquirer "~2.3.6"
-    nx "19.8.4"
+    nx "19.8.14"
     tslib "^2.3.0"
     yargs-parser "21.1.1"
 
@@ -7817,7 +7817,7 @@ browserslist@^4.16.1, browserslist@^4.21.10, browserslist@^4.23.0, browserslist@
     node-releases "^2.0.14"
     update-browserslist-db "^1.1.0"
 
-bs-logger@0.x:
+bs-logger@^0.2.6:
   version "0.2.6"
   resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
   integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
@@ -10367,7 +10367,7 @@ ee-first@1.1.1:
   resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
   integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
 
-ejs@3.1.10, ejs@^3.1.7, ejs@^3.1.8:
+ejs@3.1.10, ejs@^3.1.10, ejs@^3.1.7, ejs@^3.1.8:
   version "3.1.10"
   resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b"
   integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==
@@ -16184,7 +16184,7 @@ lodash.mapvalues@^4.6.0:
   resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c"
   integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=
 
-lodash.memoize@4.x, lodash.memoize@^4.1.2:
+lodash.memoize@^4.1.2:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
   integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
@@ -16440,10 +16440,10 @@ make-dir@^3.0.0, make-dir@^3.0.2:
   dependencies:
     semver "^6.0.0"
 
-make-error@1.x, make-error@^1.1.1:
-  version "1.3.5"
-  resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
-  integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
+make-error@^1.1.1, make-error@^1.3.6:
+  version "1.3.6"
+  resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+  integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
 
 make-iterator@^1.0.0:
   version "1.0.1"
@@ -17916,13 +17916,13 @@ nwsapi@^2.2.2:
   resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.5.tgz#a52744c61b3889dd44b0a158687add39b8d935e2"
   integrity sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==
 
-nx@19.8.4:
-  version "19.8.4"
-  resolved "https://registry.yarnpkg.com/nx/-/nx-19.8.4.tgz#6bd7b9d8150f2f8cd263cb3792288f39e04111a0"
-  integrity sha512-fc833c3UKo6kuoG4z0kSKet17yWym3VzcQ+yPWYspxxxd8GFVVk42+9wieyVQDi9YqtKZQ6PdQfSEPm59/M7SA==
+nx@19.8.14:
+  version "19.8.14"
+  resolved "https://registry.yarnpkg.com/nx/-/nx-19.8.14.tgz#248f093ca90426690833180bfeb1ce3436a8f4bb"
+  integrity sha512-yprBOWV16eQntz5h5SShYHMVeN50fUb6yHfzsqNiFneCJeyVjyJ585m+2TuVbE11vT1amU0xCjHcSGfJBBnm8g==
   dependencies:
     "@napi-rs/wasm-runtime" "0.2.4"
-    "@nrwl/tao" "19.8.4"
+    "@nrwl/tao" "19.8.14"
     "@yarnpkg/lockfile" "^1.1.0"
     "@yarnpkg/parsers" "3.0.0-rc.46"
     "@zkochan/js-yaml" "0.0.7"
@@ -17956,16 +17956,16 @@ nx@19.8.4:
     yargs "^17.6.2"
     yargs-parser "21.1.1"
   optionalDependencies:
-    "@nx/nx-darwin-arm64" "19.8.4"
-    "@nx/nx-darwin-x64" "19.8.4"
-    "@nx/nx-freebsd-x64" "19.8.4"
-    "@nx/nx-linux-arm-gnueabihf" "19.8.4"
-    "@nx/nx-linux-arm64-gnu" "19.8.4"
-    "@nx/nx-linux-arm64-musl" "19.8.4"
-    "@nx/nx-linux-x64-gnu" "19.8.4"
-    "@nx/nx-linux-x64-musl" "19.8.4"
-    "@nx/nx-win32-arm64-msvc" "19.8.4"
-    "@nx/nx-win32-x64-msvc" "19.8.4"
+    "@nx/nx-darwin-arm64" "19.8.14"
+    "@nx/nx-darwin-x64" "19.8.14"
+    "@nx/nx-freebsd-x64" "19.8.14"
+    "@nx/nx-linux-arm-gnueabihf" "19.8.14"
+    "@nx/nx-linux-arm64-gnu" "19.8.14"
+    "@nx/nx-linux-arm64-musl" "19.8.14"
+    "@nx/nx-linux-x64-gnu" "19.8.14"
+    "@nx/nx-linux-x64-musl" "19.8.14"
+    "@nx/nx-win32-arm64-msvc" "19.8.14"
+    "@nx/nx-win32-x64-msvc" "19.8.14"
 
 nypm@^0.3.8:
   version "0.3.9"
@@ -21044,7 +21044,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1:
   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
   integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
 
-semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2:
+semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3:
   version "7.6.3"
   resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
   integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
@@ -22732,19 +22732,20 @@ ts-invariant@^0.10.3:
   dependencies:
     tslib "^2.1.0"
 
-ts-jest@29.1.1:
-  version "29.1.1"
-  resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.1.tgz#f58fe62c63caf7bfcc5cc6472082f79180f0815b"
-  integrity sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==
+ts-jest@29.2.5:
+  version "29.2.5"
+  resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.5.tgz#591a3c108e1f5ebd013d3152142cb5472b399d63"
+  integrity sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==
   dependencies:
-    bs-logger "0.x"
-    fast-json-stable-stringify "2.x"
+    bs-logger "^0.2.6"
+    ejs "^3.1.10"
+    fast-json-stable-stringify "^2.1.0"
     jest-util "^29.0.0"
     json5 "^2.2.3"
-    lodash.memoize "4.x"
-    make-error "1.x"
-    semver "^7.5.3"
-    yargs-parser "^21.0.1"
+    lodash.memoize "^4.1.2"
+    make-error "^1.3.6"
+    semver "^7.6.3"
+    yargs-parser "^21.1.1"
 
 ts-loader@9.4.2:
   version "9.4.2"
@@ -24411,7 +24412,7 @@ yargs-parser@13.1.2, yargs-parser@^13.1.0, yargs-parser@^13.1.2:
     camelcase "^5.0.0"
     decamelize "^1.2.0"
 
-yargs-parser@21.1.1, yargs-parser@^21.0.0, yargs-parser@^21.0.1, yargs-parser@^21.1.1:
+yargs-parser@21.1.1, yargs-parser@^21.0.0, yargs-parser@^21.1.1:
   version "21.1.1"
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
   integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==

From 688e9ca686e4c7f92919d0f722beb9bf20aebb42 Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Wed, 15 Jan 2025 13:58:39 +0100
Subject: [PATCH 44/78] ci(gha): limit privileged vrt workflow trigger branch
 base (#33627)

---
 .github/workflows/pr-vrt-comment.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.github/workflows/pr-vrt-comment.yml b/.github/workflows/pr-vrt-comment.yml
index 39f8960881ce12..cea6491dd5114c 100644
--- a/.github/workflows/pr-vrt-comment.yml
+++ b/.github/workflows/pr-vrt-comment.yml
@@ -4,6 +4,10 @@ on:
     workflows: ['VRT CI']
     types:
       - completed
+    branches:
+      - master
+      # remove following once CRT testing is done
+      - vrt-gha-testing
 
 concurrency:
   # see https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow

From 087380a45deea085c92d7d557ac841cad5c99b4b Mon Sep 17 00:00:00 2001
From: Valentyna <vkozlova@microsoft.com>
Date: Wed, 15 Jan 2025 05:28:32 -0800
Subject: [PATCH 45/78] docs(react-color-picker): Added aria attributes to the
 stories (#33605)

---
 .../src/ColorPicker/ColorAndSwatchPicker.stories.tsx      | 6 +++---
 .../stories/src/ColorPicker/ColorAreaDefault.stories.tsx  | 8 ++++++--
 .../src/ColorPicker/ColorPickerDefault.stories.tsx        | 6 ++++--
 .../stories/src/ColorPicker/ColorPickerPopup.stories.tsx  | 6 +++---
 .../stories/src/ColorPicker/ColorPickerShape.stories.tsx  | 6 +++---
 5 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAndSwatchPicker.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAndSwatchPicker.stories.tsx
index 6a8a4daf86014b..8d883d2f3661e7 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAndSwatchPicker.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAndSwatchPicker.stories.tsx
@@ -98,11 +98,11 @@ export const ColorAndSwatchPickerExample = () => {
   return (
     <div className={styles.example}>
       <ColorPicker color={color} onColorChange={handleChange}>
-        <ColorArea />
+        <ColorArea inputX={{ 'aria-label': 'Saturation' }} inputY={{ 'aria-label': 'Brightness' }} />
         <div className={styles.row}>
           <div className={styles.sliders}>
-            <ColorSlider />
-            <AlphaSlider />
+            <ColorSlider aria-label="Hue" />
+            <AlphaSlider aria-label="Alpha" />
           </div>
           <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toRgbString() }} />
         </div>
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx
index c991d299a6d45e..121943a471ee61 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorAreaDefault.stories.tsx
@@ -38,14 +38,18 @@ export const ColorAreaExample = () => {
   };
   const resetSlider = () => setColor(DEFAULT_COLOR_HSV);
   const ariaAttributes = {
-    'aria-label': 'ColorPicker',
     'aria-roledescription': '2D slider',
     'aria-valuetext': `Saturation ${color.s * 100}, Brightness: ${color.v * 100}, ${namedColor}`,
   };
 
   return (
     <div className={styles.example}>
-      <ColorArea color={color} onChange={onChange} inputX={ariaAttributes} inputY={ariaAttributes} />
+      <ColorArea
+        color={color}
+        onChange={onChange}
+        inputX={{ 'aria-label': 'Saturation', ...ariaAttributes }}
+        inputY={{ 'aria-label': 'Brightness', ...ariaAttributes }}
+      />
       <div className={styles.previewColor} style={{ backgroundColor: tinycolor(color).toHexString() }} />
       <Button onClick={resetSlider}>Reset</Button>
     </div>
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
index 97a1dd81ccfb21..f329dbf2bd9a68 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerDefault.stories.tsx
@@ -120,7 +120,6 @@ export const Default = () => {
   );
 
   const colorAriaAttributes = {
-    'aria-label': 'ColorPicker',
     'aria-roledescription': '2D slider',
     'aria-valuetext': `Saturation ${color.s * 100}, Brightness: ${color.v * 100}, ${namedColor}`,
   };
@@ -128,7 +127,10 @@ export const Default = () => {
   return (
     <div className={styles.example}>
       <ColorPicker color={color} onColorChange={handleChange}>
-        <ColorArea inputX={colorAriaAttributes} inputY={colorAriaAttributes} />
+        <ColorArea
+          inputX={{ 'aria-label': 'Saturation', ...colorAriaAttributes }}
+          inputY={{ 'aria-label': 'Brightness', ...colorAriaAttributes }}
+        />
         <ColorSlider aria-label="Hue" aria-valuetext={`${color.h}°, ${namedColor}`} />
         <AlphaSlider aria-label="Alpha" aria-valuetext={`${color.a * 100}%`} />
       </ColorPicker>
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerPopup.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerPopup.stories.tsx
index bfc248fa6032f3..54c783638ba87e 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerPopup.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerPopup.stories.tsx
@@ -58,11 +58,11 @@ export const ColorPickerPopup = () => {
 
         <PopoverSurface>
           <ColorPicker color={previewColor} onColorChange={handleChange}>
-            <ColorArea />
+            <ColorArea inputX={{ 'aria-label': 'Saturation' }} inputY={{ 'aria-label': 'Brightness' }} />
             <div className={styles.row}>
               <div className={styles.sliders}>
-                <ColorSlider />
-                <AlphaSlider />
+                <ColorSlider aria-label="Hue" />
+                <AlphaSlider aria-label="Alpha" />
               </div>
               <div className={styles.previewColor} style={{ backgroundColor: tinycolor(previewColor).toRgbString() }} />
             </div>
diff --git a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerShape.stories.tsx b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerShape.stories.tsx
index ce1b4ab0ca56c6..048d8862fa5297 100644
--- a/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerShape.stories.tsx
+++ b/packages/react-components/react-color-picker-preview/stories/src/ColorPicker/ColorPickerShape.stories.tsx
@@ -39,9 +39,9 @@ export const ColorPickerShape = () => {
     <div className={styles.example}>
       <h3>Rounded (default)</h3>
       <ColorPicker color={color} onColorChange={handleChange}>
-        <ColorArea />
-        <ColorSlider />
-        <AlphaSlider />
+        <ColorSlider aria-label="Hue" />
+        <AlphaSlider aria-label="Alpha" />
+        <ColorArea inputX={{ 'aria-label': 'Saturation' }} inputY={{ 'aria-label': 'Brightness' }} />
       </ColorPicker>
       <h3>Square (default)</h3>
       <ColorPicker shape="square" color={color} onColorChange={handleChange}>

From 928fdced4834242a829327af1db00f51f9dbd382 Mon Sep 17 00:00:00 2001
From: Victor Genaev <vgenaev@gmail.com>
Date: Wed, 15 Jan 2025 17:54:23 +0100
Subject: [PATCH 46/78] fix(react-link): support Enter and Space keys
 interaction, if rendered as span (#33587)

---
 ...-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json |  7 +++
 .../library/src/components/Link/Link.test.tsx | 59 +++++++++++++++++++
 .../src/components/Link/useLinkState.ts       |  9 ++-
 .../stories/src/Link/LinkAsSpan.stories.tsx   |  2 +-
 4 files changed, 75 insertions(+), 2 deletions(-)
 create mode 100644 change/@fluentui-react-link-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json

diff --git a/change/@fluentui-react-link-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json b/change/@fluentui-react-link-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json
new file mode 100644
index 00000000000000..c77906f88a7d1f
--- /dev/null
+++ b/change/@fluentui-react-link-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: support Enter and Space interaction, if rendered as span",
+  "packageName": "@fluentui/react-link",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-link/library/src/components/Link/Link.test.tsx b/packages/react-components/react-link/library/src/components/Link/Link.test.tsx
index 57ab9a049db1df..44bd49f27fea89 100644
--- a/packages/react-components/react-link/library/src/components/Link/Link.test.tsx
+++ b/packages/react-components/react-link/library/src/components/Link/Link.test.tsx
@@ -1,9 +1,11 @@
 import * as React from 'react';
 import { render } from '@testing-library/react';
+import userEvent from '@testing-library/user-event';
 import { linkBehaviorDefinition, validateBehavior, ComponentTestFacade } from '@fluentui/a11y-testing';
 import { isConformant } from '../../testing/isConformant';
 import { Link } from './Link';
 import { LinkProps } from './Link.types';
+import { Enter } from '@fluentui/keyboard-keys';
 
 describe('Link', () => {
   isConformant<LinkProps>({
@@ -140,5 +142,62 @@ describe('Link', () => {
       expect(result.queryAllByRole('link')).toHaveLength(0);
       expect(result.queryAllByRole('presentation')).toHaveLength(1);
     });
+
+    describe('when rendered as span', () => {
+      it('should call onClick by pressing Enter', () => {
+        const onClick = jest.fn();
+
+        render(
+          <Link as="span" onClick={onClick}>
+            This is a buttonlink
+          </Link>,
+        );
+
+        userEvent.tab();
+        userEvent.keyboard('{Enter}');
+
+        expect(onClick).toHaveBeenCalledTimes(1);
+      });
+
+      it('should trigger onClick once via onKeyDown', () => {
+        const onClick = jest.fn();
+
+        render(
+          <Link
+            as="span"
+            onClick={onClick}
+            onKeyDown={ev => {
+              if (ev.key === Enter) {
+                ev.currentTarget.click();
+              }
+            }}
+          >
+            This is a buttonlink
+          </Link>,
+        );
+
+        userEvent.tab();
+        userEvent.keyboard('{Enter}');
+
+        expect(onClick).toHaveBeenCalledTimes(1);
+      });
+
+      it('should not trigger onClick', () => {
+        const onClick = jest.fn();
+        const onKeyDown = jest.fn();
+
+        render(
+          <Link as="span" onClick={onClick} onKeyDown={onKeyDown}>
+            This is a buttonlink
+          </Link>,
+        );
+
+        userEvent.tab();
+        userEvent.keyboard('{Enter}');
+
+        expect(onClick).toHaveBeenCalledTimes(0);
+        expect(onKeyDown).toHaveBeenCalledTimes(1);
+      });
+    });
   });
 });
diff --git a/packages/react-components/react-link/library/src/components/Link/useLinkState.ts b/packages/react-components/react-link/library/src/components/Link/useLinkState.ts
index c8655ea6b95b85..b7ef6679ab9c32 100644
--- a/packages/react-components/react-link/library/src/components/Link/useLinkState.ts
+++ b/packages/react-components/react-link/library/src/components/Link/useLinkState.ts
@@ -36,11 +36,18 @@ export const useLinkState_unstable = (state: LinkState): LinkState => {
 
   // Disallow keydown event when component is disabled and eat events when disabledFocusable is set to true.
   state.root.onKeyDown = (ev: React.KeyboardEvent<HTMLAnchorElement & HTMLButtonElement>) => {
-    if ((disabled || disabledFocusable) && (ev.key === Enter || ev.key === Space)) {
+    const keyPressed = ev.key === Enter || ev.key === Space;
+
+    if ((disabled || disabledFocusable) && keyPressed) {
       ev.preventDefault();
       ev.stopPropagation();
     } else {
       onKeyDown?.(ev);
+      // if there is already onKeyDown provided - respect it
+      if (state.root.as === 'span' && !!state.root.onClick && !onKeyDown && keyPressed) {
+        ev.preventDefault();
+        ev.currentTarget.click();
+      }
     }
   };
 
diff --git a/packages/react-components/react-link/stories/src/Link/LinkAsSpan.stories.tsx b/packages/react-components/react-link/stories/src/Link/LinkAsSpan.stories.tsx
index a2a421e9f796e8..2c178fe605f436 100644
--- a/packages/react-components/react-link/stories/src/Link/LinkAsSpan.stories.tsx
+++ b/packages/react-components/react-link/stories/src/Link/LinkAsSpan.stories.tsx
@@ -8,7 +8,7 @@ const useDivWithWidthClassName = makeResetStyles({
 export const AsSpan = () => (
   <div className={useDivWithWidthClassName()}>
     The following link renders as a span.{' '}
-    <Link as="span" inline>
+    <Link as="span" inline onClick={() => alert('Link rendered as span')}>
       Links that render as a span wrap correctly between lines when their content is very long
     </Link>
     . This is because they behave as regular inline elements.

From 78a2b344195233e31ae75ed609eaaafc44438ca5 Mon Sep 17 00:00:00 2001
From: v-baambati <132879294+v-baambati@users.noreply.github.com>
Date: Thu, 16 Jan 2025 13:14:26 +0530
Subject: [PATCH 47/78] Added unit test cases to PlotlySchemaAdapter file
 (#33552)

---
 .../DeclarativeChartRTL.test.tsx              |   22 +-
 .../PlotlySchemaAdapterUT.test.tsx            |  347 ++
 .../DeclarativeChartRTL.test.tsx.snap         |  436 +-
 .../PlotlySchemaAdapterUT.test.tsx.snap       | 4934 +++++++++++++++++
 .../fluent_groupedverticalbarchart_test.json  |   95 +
 .../tests/schema/fluent_nesteddata_test.json  |   23 +
 .../fluent_verticalstackedbarchart_test.json  |   75 +
 7 files changed, 5796 insertions(+), 136 deletions(-)
 create mode 100644 packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapterUT.test.tsx
 create mode 100644 packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
 create mode 100644 packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_groupedverticalbarchart_test.json
 create mode 100644 packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_nesteddata_test.json
 create mode 100644 packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_verticalstackedbarchart_test.json

diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChartRTL.test.tsx b/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChartRTL.test.tsx
index f796516f504e44..d9f0b23cb8efd7 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChartRTL.test.tsx
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChartRTL.test.tsx
@@ -30,7 +30,7 @@ describe('DeclarativeChart', () => {
     expect(container).toMatchSnapshot();
   });
 
-  test.skip('Should render gaugechart in DeclarativeChart', () => {
+  test('Should render gaugechart in DeclarativeChart', () => {
     // Arrange
     const plotlySchema = require('./tests/schema/fluent_gauge_test.json');
     const { container } = render(<DeclarativeChart key={'gaugechart'} chartSchema={{ plotlySchema }} />);
@@ -51,24 +51,38 @@ describe('DeclarativeChart', () => {
     expect(container).toMatchSnapshot();
   });
 
-  test.skip('Should render piechart in DeclarativeChart', () => {
+  test('Should render piechart in DeclarativeChart', () => {
     // Arrange
     const plotlySchema = require('./tests/schema/fluent_pie_test.json');
     const { container } = render(<DeclarativeChart key={'piechart'} chartSchema={{ plotlySchema }} />);
     expect(container).toMatchSnapshot();
   });
 
-  test.skip('Should render sankeychart in DeclarativeChart', () => {
+  test('Should render sankeychart in DeclarativeChart', () => {
     // Arrange
     const plotlySchema = require('./tests/schema/fluent_sankey_test.json');
     const { container } = render(<DeclarativeChart key={'sankeychart'} chartSchema={{ plotlySchema }} />);
     expect(container).toMatchSnapshot();
   });
 
-  test('Should render verticalbarchart in DeclarativeChart', () => {
+  test.skip('Should render verticalbarchart in DeclarativeChart', () => {
     // Arrange
     const plotlySchema = require('./tests/schema/fluent_verticalbar_test.json');
     const { container } = render(<DeclarativeChart key={'verticalbarchart'} chartSchema={{ plotlySchema }} />);
     expect(container).toMatchSnapshot();
   });
+
+  test.skip('Should render histogram chart in DeclarativeChart', () => {
+    // Arrange
+    const plotlySchema = require('./tests/schema/fluent_verticalbar_histogram_test.json');
+    const { container } = render(<DeclarativeChart key={'histogram'} chartSchema={{ plotlySchema }} />);
+    expect(container).toMatchSnapshot();
+  });
+
+  test.skip('Should render horizontalbar chart in DeclarativeChart', () => {
+    // Arrange
+    const plotlySchema = require('./tests/schema/fluent_horizontalbar_test.json');
+    const { container } = render(<DeclarativeChart key={'histogram'} chartSchema={{ plotlySchema }} />);
+    expect(container).toMatchSnapshot();
+  });
 });
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapterUT.test.tsx b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapterUT.test.tsx
new file mode 100644
index 00000000000000..174ca2d90161bd
--- /dev/null
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapterUT.test.tsx
@@ -0,0 +1,347 @@
+import {
+  isDateArray,
+  isNumberArray,
+  isMonthArray,
+  updateXValues,
+  getColor,
+  transformPlotlyJsonToDonutProps,
+  transformPlotlyJsonToVSBCProps,
+  transformPlotlyJsonToGVBCProps,
+  transformPlotlyJsonToVBCProps,
+  transformPlotlyJsonToScatterChartProps,
+  transformPlotlyJsonToHorizontalBarWithAxisProps,
+  transformPlotlyJsonToHeatmapProps,
+  transformPlotlyJsonToSankeyProps,
+  transformPlotlyJsonToGaugeProps,
+  sanitizeJson,
+} from './PlotlySchemaAdapter';
+
+const date = new Date();
+const colorMap = new Map<string, string>();
+
+describe('isDate', () => {
+  test('Should return true when input array contains Date objects', () => {
+    const nextDay = new Date(date);
+    nextDay.setDate(date.getDate() + 1);
+    expect(isDateArray([date, nextDay])).toBe(true);
+  });
+
+  test('Should return false when input array contains numeric data', () => {
+    expect(isDateArray([20, 30, 40])).toBe(false);
+  });
+
+  test('Should return false when input array contains string data', () => {
+    expect(isDateArray(['twenty', 'thirty', 'forty'])).toBe(false);
+  });
+
+  test('Should return false when input array contains different data type objects', () => {
+    expect(isDateArray(['twenty', 20, date])).toBe(false);
+  });
+
+  test('Should return true when input array contains string date objects which contains month in short format', () => {
+    expect(isDateArray(['20 Jan 2025', '10 Feb 2025'])).toBe(true);
+  });
+
+  test('Should return true when input array contains string date objects', () => {
+    expect(isDateArray(['20 January 2025', '10 February 2025'])).toBe(true);
+  });
+
+  test('Should return true when input array contains date in different data types and formats', () => {
+    expect(isDateArray([date, '10 February 2025', '10 Feb 2025'])).toBe(true);
+  });
+
+  test('Should return true when input array contains date in DD/MM/YYYY format(string)', () => {
+    expect(isDateArray(['10/11/2025', '10/10/2025'])).toBe(true);
+  });
+
+  test('Should return false when input array contains date in DD/MM/YYYY format with invalid date objects', () => {
+    expect(isDateArray(['14/14/2025', '10/14/2025'])).toBe(false);
+  });
+
+  test('Should return true when input array contains date in MM/DD/YYYY format', () => {
+    expect(isDateArray(['12/1/2025', '12/11/2025'])).toBe(true);
+  });
+
+  test.skip('Should return true when input array contains date in simple date Object format', () => {
+    expect(isDateArray([11 / 2 / 2025, 10 / 2 / 2025])).toBe(true);
+  });
+
+  test.skip('Should return false when input array is empty', () => {
+    expect(isDateArray([])).toBe(false);
+  });
+
+  test('Should return false when input array contains only month(MMM)', () => {
+    expect(isDateArray(['January', 'February'])).toBe(false);
+  });
+
+  test('Should return false when input array contains only month(MM)', () => {
+    expect(isDateArray(['Jan', 'Feb'])).toBe(false);
+  });
+});
+
+describe('isNumberArray', () => {
+  test('Should return false when input array contains Date objects', () => {
+    expect(isNumberArray([date, date.getDate() + 1, date.getDate() + 2])).toBe(false);
+  });
+
+  test('Should return true when input array contains numeric data', () => {
+    expect(isNumberArray([20, 30, 40])).toBe(true);
+  });
+
+  test('Should return true when input array contains numaric data in string formatt', () => {
+    expect(isNumberArray(['20', '30', '40'])).toBe(true);
+  });
+
+  test('Should return false when input array contains string data', () => {
+    expect(isNumberArray(['twenty', 'thirty', 'forty'])).toBe(false);
+  });
+});
+
+describe('isMonthArray', () => {
+  test('Should return false when input array contains Date objects', () => {
+    expect(isMonthArray([date, date.getDate() + 1, date.getDate() + 2])).toBe(false);
+  });
+
+  test('Should return true when input array contains months data', () => {
+    expect(isMonthArray([10, 11, 1])).toBe(true);
+  });
+
+  test('Should return false when input array contains numeric data(apart from months 1 to 12)', () => {
+    expect(isMonthArray([20, 30, 40])).toBe(false);
+  });
+
+  test('Should return false when input array contains numaric data in string formatt', () => {
+    expect(isMonthArray(['20', '30', '40'])).toBe(false);
+  });
+
+  test('Should return false when input array contains numbers in string data', () => {
+    expect(isMonthArray(['One', 'Two', 'Three'])).toBe(false);
+  });
+
+  test('Should return true when input array contains only months in string formatt(MMM)', () => {
+    expect(isMonthArray(['January', 'February'])).toBe(true);
+  });
+
+  test('Should return true when input array contains only months in string formatt(MM)', () => {
+    expect(isMonthArray(['Jan', 'Feb'])).toBe(true);
+  });
+
+  test('Should return false when input array is empty', () => {
+    expect(isMonthArray([])).toBe(false);
+  });
+
+  test.skip('Should return true when input array contains only months in string formatt(MMM) in spanish', () => {
+    expect(isMonthArray(['Enero', 'Febrero'])).toBe(true);
+  });
+
+  test.skip('Should return true when input array contains only months in string formatt(MM) in spanish', () => {
+    expect(isMonthArray(['Ene', 'Feb'])).toBe(true);
+  });
+
+  test.skip('Should return true when input array contains only months in string format(MMM) in italian', () => {
+    expect(isMonthArray(['Gennaio', 'Febbraio'])).toBe(true);
+  });
+});
+
+describe('updateXValues', () => {
+  test('Should return dates array when input array contains months data', () => {
+    expect(updateXValues([10, 11, 1])).toStrictEqual(['10 01, 2024', '11 01, 2024', '1 01, 2025']);
+  });
+
+  test('Should return error when input array contains invalid months', () => {
+    try {
+      expect(updateXValues([10, 11, 16])).toStrictEqual([]);
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of null (reading 'getMonth')"));
+    }
+  });
+
+  test('Should return dates array when input array contains months data in MMM format', () => {
+    expect(updateXValues(['January', 'February'])).toStrictEqual(['January 01, 2025', 'February 01, 2025']);
+  });
+
+  test('Should return dates array when input array contains months data in MM format', () => {
+    expect(updateXValues(['Jan', 'Feb'])).toStrictEqual(['Jan 01, 2025', 'Feb 01, 2025']);
+  });
+
+  test('Should return dates array when input array is empty', () => {
+    expect(updateXValues([])).toStrictEqual([]);
+  });
+});
+
+describe('getColor', () => {
+  test('Should return color code when we had legend title', () => {
+    expect(getColor('test', { current: colorMap }, true)).toBe('#e3008c');
+  });
+
+  test('Should return color code when we had legend title', () => {
+    expect(getColor('test', { current: colorMap }, false)).toBe('#e3008c');
+  });
+
+  test('Should return color code when we had legend title is empty', () => {
+    expect(getColor('', { current: colorMap }, false)).toBe('#2aa0a4');
+  });
+});
+
+describe('transform Plotly Json To chart Props', () => {
+  test('transformPlotlyJsonToDonutProps - Should return donut chart props', () => {
+    const plotlySchema = require('./tests/schema/fluent_donut_test.json');
+    expect(transformPlotlyJsonToDonutProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToDonutProps - Should throw an error when we pass invalid data', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      expect(transformPlotlyJsonToDonutProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of undefined (reading '0')"));
+    }
+  });
+
+  test('transformPlotlyJsonToDonutProps - Should return pie chart props', () => {
+    const plotlySchema = require('./tests/schema/fluent_pie_test.json');
+    expect(transformPlotlyJsonToDonutProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToVSBCProps - Should return VSBC props', () => {
+    const plotlySchema = require('./tests/schema/fluent_verticalstackedbarchart_test.json');
+    expect(transformPlotlyJsonToVSBCProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToVSBCProps - Should throw an error when we pass invalid data', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      expect(transformPlotlyJsonToVSBCProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of undefined (reading 'forEach')"));
+    }
+  });
+
+  test('transformPlotlyJsonToGVBCProps - Should return GVBC props', () => {
+    const plotlySchema = require('./tests/schema/fluent_groupedverticalbarchart_test.json');
+    expect(transformPlotlyJsonToGVBCProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToGVBCProps - Should throw an error when we pass invalid data', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      expect(transformPlotlyJsonToGVBCProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of undefined (reading 'forEach')"));
+    }
+  });
+
+  test('transformPlotlyJsonToVBCProps - Should return VBC props', () => {
+    const plotlySchema = require('./tests/schema/fluent_verticalbar_histogram_test.json');
+    expect(transformPlotlyJsonToVBCProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToVBCProps - Should throw an error when we pass invalid data', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      expect(transformPlotlyJsonToVBCProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of undefined (reading 'forEach')"));
+    }
+  });
+
+  test('transformPlotlyJsonToScatterChartProps - Should return line chart props', () => {
+    const plotlySchema = require('./tests/schema/fluent_line_test.json');
+    expect(transformPlotlyJsonToScatterChartProps(plotlySchema, true, { current: colorMap }, true)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToScatterChartProps - Should throw an error when we pass invalid data', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      expect(transformPlotlyJsonToScatterChartProps(plotlySchema, true, { current: colorMap }, true)).toMatchSnapshot();
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of undefined (reading 'map')"));
+    }
+  });
+
+  test('transformPlotlyJsonToScatterChartProps - Should return area chart props', () => {
+    const plotlySchema = require('./tests/schema/fluent_area_test.json');
+    expect(transformPlotlyJsonToScatterChartProps(plotlySchema, true, { current: colorMap }, true)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToHorizontalBarWithAxisProps - Should return HBC with axis chart props', () => {
+    const plotlySchema = require('./tests/schema/fluent_horizontalbar_test.json');
+    expect(
+      transformPlotlyJsonToHorizontalBarWithAxisProps(plotlySchema, { current: colorMap }, true),
+    ).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToHorizontalBarWithAxisProps - Should throw an error when we pass invalid data', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      expect(
+        transformPlotlyJsonToHorizontalBarWithAxisProps(plotlySchema, { current: colorMap }, true),
+      ).toMatchSnapshot();
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of undefined (reading 'map')"));
+    }
+  });
+
+  test('transformPlotlyJsonToHeatmapProps - Should return heatmap chart props', () => {
+    const plotlySchema = require('./tests/schema/fluent_heatmap_test.json');
+    expect(transformPlotlyJsonToHeatmapProps(plotlySchema)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToHeatmapProps - Should throw an error when we pass invalid data', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      expect(transformPlotlyJsonToHeatmapProps(plotlySchema)).toMatchSnapshot();
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of undefined (reading '0')"));
+    }
+  });
+
+  test('transformPlotlyJsonToSankeyProps - Should return sankey chart props', () => {
+    const plotlySchema = require('./tests/schema/fluent_sankey_test.json');
+    expect(transformPlotlyJsonToSankeyProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToSankeyProps - Should throw an error when we pass invalid data', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      expect(transformPlotlyJsonToSankeyProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of undefined (reading '0')"));
+    }
+  });
+
+  test('transformPlotlyJsonToGaugeProps - Should return gauge chart props', () => {
+    const plotlySchema = require('./tests/schema/fluent_gauge_test.json');
+    expect(transformPlotlyJsonToGaugeProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+  });
+
+  test('transformPlotlyJsonToGaugeProps - Should throw an error when we pass invalid data', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      expect(transformPlotlyJsonToGaugeProps(plotlySchema, { current: colorMap }, true)).toMatchSnapshot();
+    } catch (e) {
+      expect(e).toStrictEqual(TypeError("Cannot read properties of undefined (reading '0')"));
+    }
+  });
+});
+
+describe('sanitizeJson', () => {
+  test('Should return json object when depth inside the range', () => {
+    const plotlySchema = require('./tests/schema/fluent_gauge_test.json');
+    expect(sanitizeJson(plotlySchema)).toMatchSnapshot();
+  });
+
+  test('Should return empty json object when input schema is empty', () => {
+    const plotlySchema = {};
+    expect(sanitizeJson(plotlySchema)).toStrictEqual({});
+  });
+
+  test('Should return error when input schema has depth more than max limit', () => {
+    const plotlySchema = require('./tests/schema/fluent_nesteddata_test.json');
+    try {
+      sanitizeJson(plotlySchema);
+    } catch (e) {
+      expect(e).toStrictEqual(Error('Maximum json depth exceeded'));
+    }
+  });
+});
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
index 2518fa0e844b78..a4e8dfbfe3165e 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
@@ -4043,7 +4043,7 @@ exports[`DeclarativeChart Should render gaugechart in DeclarativeChart 1`] = `
       data-tabster="{\\"uncontrolled\\": {}}"
     >
       <svg
-        aria-label="Speed. Gauge chart with 3 segments. "
+        aria-label="Gauge chart with 3 segments. "
         class=
 
             {
@@ -4057,20 +4057,7 @@ exports[`DeclarativeChart Should render gaugechart in DeclarativeChart 1`] = `
         <g
           transform="translate(250, 340)"
         >
-          <text
-            aria-hidden="true"
-            class=
-
-                {
-                  fill: #323130;
-                  font-size: 12px;
-                }
-            text-anchor="middle"
-            x="0"
-            y="-205"
-          >
-            Speed
-          </text>
+          
           <text
             aria-label="Min value: 0"
             class=
@@ -24382,6 +24369,7 @@ exports[`DeclarativeChart Should render piechart in DeclarativeChart 1`] = `
     >
       <div>
         <svg
+          aria-label=""
           class=
 
               {
@@ -24550,6 +24538,7 @@ exports[`DeclarativeChart Should render piechart in DeclarativeChart 1`] = `
                 500
               </text>
             </g>
+            
           </g>
         </svg>
       </div>
@@ -25048,7 +25037,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
           {
             overflow: auto;
           }
-      data-focuszone-id="FocusZone33"
+      data-focuszone-id="FocusZone36"
       data-tabster="{\\"uncontrolled\\": {}}"
     >
       <svg
@@ -25068,14 +25057,14 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               }
         >
           <g
-            id="nodeGElement35"
+            id="nodeGElement38"
           >
             <rect
-              aria-label="node Leave+No – 16 with weight 16"
+              aria-label="node Remain+No – 28 with weight 28"
               data-is-focusable="true"
-              fill="#2aa0a4"
-              height="79.99999999999994"
-              id="nodeBar34"
+              fill="#e3008c"
+              height="99.37254901960782"
+              id="nodeBar37"
               opacity="1"
               role="img"
               stroke="#757575"
@@ -25108,12 +25097,12 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                   fill="#FFFFFF"
                   font-size="10"
                   font-weight="regular"
-                  id="nodeBar34-name"
+                  id="nodeBar37-name"
                   text-anchor="start"
                   x="48"
                   y="36"
                 >
-                  Leave+No – 16
+                  Remain+No – 28
                 </text>
               </g>
               <text
@@ -25126,6 +25115,81 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                 text-anchor="start"
                 x="48"
                 y="36"
+              >
+                28
+              </text>
+            </g>
+          </g>
+        </g>
+        <g
+          class=
+
+              {
+                fill: #F5F5F5;
+              }
+              @media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark){& {
+                fill: #000000;
+              }
+        >
+          <g
+            id="nodeGElement40"
+          >
+            <rect
+              aria-label="node Leave+No – 16 with weight 16"
+              data-is-focusable="true"
+              fill="#2aa0a4"
+              height="56.78431372549022"
+              id="nodeBar39"
+              opacity="1"
+              role="img"
+              stroke="#757575"
+              stroke-width="2"
+              tabindex="-1"
+              width="124"
+              x="48"
+              y="143.37254901960782"
+            />
+            <g
+              class=
+
+                  {
+                    margin-bottom: 4px;
+                    margin-left: 8px;
+                    margin-right: 8px;
+                    margin-top: 4px;
+                  }
+                  @media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark){& text {
+                    fill: rgb(179, 179, 179);
+                  }
+            >
+              <g
+                class="nodeName"
+              >
+                <text
+                  aria-hidden="true"
+                  dx="0.4em"
+                  dy="1.2em"
+                  fill="#FFFFFF"
+                  font-size="10"
+                  font-weight="regular"
+                  id="nodeBar39-name"
+                  text-anchor="start"
+                  x="48"
+                  y="143.37254901960782"
+                >
+                  Leave+No – 16
+                </text>
+              </g>
+              <text
+                aria-hidden="true"
+                dx="0.4em"
+                dy="2em"
+                fill="#FFFFFF"
+                font-size="14"
+                font-weight="bold"
+                text-anchor="start"
+                x="48"
+                y="143.37254901960782"
               >
                 16
               </text>
@@ -25143,14 +25207,14 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               }
         >
           <g
-            id="nodeGElement37"
+            id="nodeGElement42"
           >
             <rect
               aria-label="node Remain+Yes – 21 with weight 22"
               data-is-focusable="true"
               fill="#9373c0"
-              height="110"
-              id="nodeBar36"
+              height="78.07843137254915"
+              id="nodeBar41"
               opacity="1"
               role="img"
               stroke="#757575"
@@ -25158,7 +25222,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               tabindex="-1"
               width="124"
               x="48"
-              y="123.99999999999994"
+              y="208.15686274509804"
             />
             <g
               class=
@@ -25183,10 +25247,10 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                   fill="#FFFFFF"
                   font-size="10"
                   font-weight="regular"
-                  id="nodeBar36-name"
+                  id="nodeBar41-name"
                   text-anchor="start"
                   x="48"
-                  y="123.99999999999994"
+                  y="208.15686274509804"
                 >
                   Remain+Yes – 21
                 </text>
@@ -25200,7 +25264,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                 font-weight="bold"
                 text-anchor="start"
                 x="48"
-                y="123.99999999999994"
+                y="208.15686274509804"
               >
                 22
               </text>
@@ -25218,14 +25282,14 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               }
         >
           <g
-            id="nodeGElement39"
+            id="nodeGElement44"
           >
             <rect
               aria-label="node Leave+Yes – 14 with weight 14"
               data-is-focusable="true"
               fill="#13a10e"
-              height="70.00000000000011"
-              id="nodeBar38"
+              height="49.686274509803866"
+              id="nodeBar43"
               opacity="1"
               role="img"
               stroke="#757575"
@@ -25233,7 +25297,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               tabindex="-1"
               width="124"
               x="48"
-              y="241.99999999999994"
+              y="294.2352941176472"
             />
             <g
               class=
@@ -25258,10 +25322,10 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                   fill="#FFFFFF"
                   font-size="10"
                   font-weight="regular"
-                  id="nodeBar38-name"
+                  id="nodeBar43-name"
                   text-anchor="start"
                   x="48"
-                  y="241.99999999999994"
+                  y="294.2352941176472"
                 >
                   Leave+Yes – 14
                 </text>
@@ -25275,7 +25339,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                 font-weight="bold"
                 text-anchor="start"
                 x="48"
-                y="241.99999999999994"
+                y="294.2352941176472"
               >
                 14
               </text>
@@ -25293,14 +25357,14 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               }
         >
           <g
-            id="nodeGElement41"
+            id="nodeGElement46"
           >
             <rect
               aria-label="node Didn’t vote in at least one referendum – 21 with weight 22"
               data-is-focusable="true"
               fill="#3a96dd"
-              height="110"
-              id="nodeBar40"
+              height="78.07843137254906"
+              id="nodeBar45"
               opacity="1"
               role="img"
               stroke="#757575"
@@ -25308,7 +25372,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               tabindex="-1"
               width="124"
               x="48"
-              y="320.00000000000006"
+              y="351.92156862745105"
             />
             <g
               class=
@@ -25333,10 +25397,10 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                   fill="#FFFFFF"
                   font-size="10"
                   font-weight="regular"
-                  id="nodeBar40-name"
+                  id="nodeBar45-name"
                   text-anchor="start"
                   x="48"
-                  y="320.00000000000006"
+                  y="351.92156862745105"
                 >
                   Didn’t vote in at least one referendum – 21
                 </text>
@@ -25350,7 +25414,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                 font-weight="bold"
                 text-anchor="start"
                 x="48"
-                y="320.00000000000006"
+                y="351.92156862745105"
               >
                 22
               </text>
@@ -25381,7 +25445,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#2aa0a4"
+                  stop-color="#e3008c"
                 />
                 <stop
                   offset="100%"
@@ -25390,11 +25454,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Leave+No – 16 to 46 – No with weight 14"
-              d="M172,36C455.5,36,455.5,44,739,44L739,114C455.5,114,455.5,106,172,106Z"
+              aria-label="link from Remain+No – 28 to 46 – No with weight 20"
+              d="M172,36C455.5,36,455.5,47.482,739,47.482L739,118.462C455.5,118.462,455.5,106.98,172,106.98Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link50"
+              id="link53"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25427,7 +25491,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#2aa0a4"
+                  stop-color="#e3008c"
                 />
                 <stop
                   offset="100%"
@@ -25436,11 +25500,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Leave+No – 16 to 39 – Yes with weight 1"
-              d="M172,106C455.5,106,455.5,177,739,177L739,182C455.5,182,455.5,111,172,111Z"
+              aria-label="link from Remain+No – 28 to 39 – Yes with weight 3"
+              d="M172,106.98C455.5,106.98,455.5,215.188,739,215.188L739,225.835C455.5,225.835,455.5,117.627,172,117.627Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link51"
+              id="link54"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25473,7 +25537,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#2aa0a4"
+                  stop-color="#e3008c"
                 />
                 <stop
                   offset="100%"
@@ -25482,11 +25546,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Leave+No – 16 to 14 – Don’t know / would not vote with weight 1"
-              d="M172,111C455.5,111,455.5,365,739,365L739,370C455.5,370,455.5,116,172,116Z"
+              aria-label="link from Remain+No – 28 to 14 – Don’t know / would not vote with weight 5"
+              d="M172,117.627C455.5,117.627,455.5,361.6,739,361.6L739,379.345C455.5,379.345,455.5,135.373,172,135.373Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link52"
+              id="link55"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25519,7 +25583,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#9373c0"
+                  stop-color="#2aa0a4"
                 />
                 <stop
                   offset="100%"
@@ -25528,11 +25592,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Remain+Yes – 21 to 46 – No with weight 3"
-              d="M172,124C455.5,124,455.5,114,739,114L739,129C455.5,129,455.5,139,172,139Z"
+              aria-label="link from Leave+No – 16 to 46 – No with weight 14"
+              d="M172,143.373C455.5,143.373,455.5,118.462,739,118.462L739,168.149C455.5,168.149,455.5,193.059,172,193.059Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link53"
+              id="link56"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25565,7 +25629,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#9373c0"
+                  stop-color="#2aa0a4"
                 />
                 <stop
                   offset="100%"
@@ -25574,11 +25638,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Remain+Yes – 21 to 39 – Yes with weight 17"
-              d="M172,139C455.5,139,455.5,182,739,182L739,267C455.5,267,455.5,224,172,224Z"
+              aria-label="link from Leave+No – 16 to 39 – Yes with weight 1"
+              d="M172,193.059C455.5,193.059,455.5,225.835,739,225.835L739,229.384C455.5,229.384,455.5,196.608,172,196.608Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link54"
+              id="link57"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25611,7 +25675,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#9373c0"
+                  stop-color="#2aa0a4"
                 />
                 <stop
                   offset="100%"
@@ -25620,11 +25684,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Remain+Yes – 21 to 14 – Don’t know / would not vote with weight 2"
-              d="M172,224C455.5,224,455.5,370,739,370L739,380C455.5,380,455.5,234,172,234Z"
+              aria-label="link from Leave+No – 16 to 14 – Don’t know / would not vote with weight 1"
+              d="M172,196.608C455.5,196.608,455.5,379.345,739,379.345L739,382.894C455.5,382.894,455.5,200.157,172,200.157Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link55"
+              id="link58"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25657,7 +25721,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#13a10e"
+                  stop-color="#9373c0"
                 />
                 <stop
                   offset="100%"
@@ -25666,11 +25730,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Leave+Yes – 14 to 46 – No with weight 3"
-              d="M172,242C455.5,242,455.5,129,739,129L739,144C455.5,144,455.5,257,172,257Z"
+              aria-label="link from Remain+Yes – 21 to 46 – No with weight 3"
+              d="M172,208.157C455.5,208.157,455.5,168.149,739,168.149L739,178.796C455.5,178.796,455.5,218.804,172,218.804Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link56"
+              id="link59"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25703,7 +25767,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#13a10e"
+                  stop-color="#9373c0"
                 />
                 <stop
                   offset="100%"
@@ -25712,11 +25776,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Leave+Yes – 14 to 39 – Yes with weight 9"
-              d="M172,257C455.5,257,455.5,267,739,267L739,312C455.5,312,455.5,302,172,302Z"
+              aria-label="link from Remain+Yes – 21 to 39 – Yes with weight 17"
+              d="M172,218.804C455.5,218.804,455.5,229.384,739,229.384L739,289.717C455.5,289.717,455.5,279.137,172,279.137Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link57"
+              id="link60"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25749,7 +25813,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#13a10e"
+                  stop-color="#9373c0"
                 />
                 <stop
                   offset="100%"
@@ -25758,11 +25822,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Leave+Yes – 14 to 14 – Don’t know / would not vote with weight 2"
-              d="M172,302C455.5,302,455.5,380,739,380L739,390C455.5,390,455.5,312,172,312Z"
+              aria-label="link from Remain+Yes – 21 to 14 – Don’t know / would not vote with weight 2"
+              d="M172,279.137C455.5,279.137,455.5,382.894,739,382.894L739,389.992C455.5,389.992,455.5,286.235,172,286.235Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link58"
+              id="link61"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25795,7 +25859,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#3a96dd"
+                  stop-color="#13a10e"
                 />
                 <stop
                   offset="100%"
@@ -25804,11 +25868,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Didn’t vote in at least one referendum – 21 to 46 – No with weight 5"
-              d="M172,320C455.5,320,455.5,144,739,144L739,169C455.5,169,455.5,345,172,345Z"
+              aria-label="link from Leave+Yes – 14 to 46 – No with weight 3"
+              d="M172,294.235C455.5,294.235,455.5,178.796,739,178.796L739,189.443C455.5,189.443,455.5,304.882,172,304.882Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link59"
+              id="link62"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25841,7 +25905,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#3a96dd"
+                  stop-color="#13a10e"
                 />
                 <stop
                   offset="100%"
@@ -25850,11 +25914,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Didn’t vote in at least one referendum – 21 to 39 – Yes with weight 9"
-              d="M172,345C455.5,345,455.5,312,739,312L739,357C455.5,357,455.5,390,172,390Z"
+              aria-label="link from Leave+Yes – 14 to 39 – Yes with weight 9"
+              d="M172,304.882C455.5,304.882,455.5,289.717,739,289.717L739,321.658C455.5,321.658,455.5,336.824,172,336.824Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link60"
+              id="link63"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25887,7 +25951,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               >
                 <stop
                   offset="0"
-                  stop-color="#3a96dd"
+                  stop-color="#13a10e"
                 />
                 <stop
                   offset="100%"
@@ -25896,11 +25960,11 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               </lineargradient>
             </defs>
             <path
-              aria-label="link from Didn’t vote in at least one referendum – 21 to 14 – Don’t know / would not vote with weight 8"
-              d="M172,390C455.5,390,455.5,390,739,390L739,430C455.5,430,455.5,430,172,430Z"
+              aria-label="link from Leave+Yes – 14 to 14 – Don’t know / would not vote with weight 2"
+              d="M172,336.824C455.5,336.824,455.5,389.992,739,389.992L739,397.09C455.5,397.09,455.5,343.922,172,343.922Z"
               data-is-focusable="true"
               fill-opacity="1"
-              id="link61"
+              id="link64"
               role="img"
               stroke="#757575"
               stroke-opacity="1"
@@ -25913,29 +25977,137 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
           class=
 
               {
-                fill: #F5F5F5;
+                fill: #ffffff;
+                stroke-width: 3px;
+                stroke: #000000;
               }
               @media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark){& {
                 fill: #000000;
               }
+          stroke-opacity="1"
         >
-          <g
-            id="nodeGElement43"
-          >
-            <rect
-              aria-label="node Remain+No – 28 with weight 0"
+          <g>
+            <defs>
+              <lineargradient
+                id="gradient-link1-12"
+                x1="0%"
+                x2="100%"
+                y1="0%"
+                y2="0%"
+              >
+                <stop
+                  offset="0"
+                  stop-color="#3a96dd"
+                />
+                <stop
+                  offset="100%"
+                  stop-color="#ca5010"
+                />
+              </lineargradient>
+            </defs>
+            <path
+              aria-label="link from Didn’t vote in at least one referendum – 21 to 46 – No with weight 5"
+              d="M172,351.922C455.5,351.922,455.5,189.443,739,189.443L739,207.188C455.5,207.188,455.5,369.667,172,369.667Z"
               data-is-focusable="true"
-              fill="#e3008c"
-              height="0"
-              id="nodeBar42"
-              opacity="1"
+              fill-opacity="1"
+              id="link65"
               role="img"
               stroke="#757575"
+              stroke-opacity="1"
+              stroke-width="2"
+              tabindex="-1"
+            />
+          </g>
+        </g>
+        <g
+          class=
+
+              {
+                fill: #ffffff;
+                stroke-width: 3px;
+                stroke: #000000;
+              }
+              @media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark){& {
+                fill: #000000;
+              }
+          stroke-opacity="1"
+        >
+          <g>
+            <defs>
+              <lineargradient
+                id="gradient-link1-13"
+                x1="0%"
+                x2="100%"
+                y1="0%"
+                y2="0%"
+              >
+                <stop
+                  offset="0"
+                  stop-color="#3a96dd"
+                />
+                <stop
+                  offset="100%"
+                  stop-color="#57811b"
+                />
+              </lineargradient>
+            </defs>
+            <path
+              aria-label="link from Didn’t vote in at least one referendum – 21 to 39 – Yes with weight 9"
+              d="M172,369.667C455.5,369.667,455.5,321.658,739,321.658L739,353.6C455.5,353.6,455.5,401.608,172,401.608Z"
+              data-is-focusable="true"
+              fill-opacity="1"
+              id="link66"
+              role="img"
+              stroke="#757575"
+              stroke-opacity="1"
+              stroke-width="2"
+              tabindex="-1"
+            />
+          </g>
+        </g>
+        <g
+          class=
+
+              {
+                fill: #ffffff;
+                stroke-width: 3px;
+                stroke: #000000;
+              }
+              @media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark){& {
+                fill: #000000;
+              }
+          stroke-opacity="1"
+        >
+          <g>
+            <defs>
+              <lineargradient
+                id="gradient-link1-14"
+                x1="0%"
+                x2="100%"
+                y1="0%"
+                y2="0%"
+              >
+                <stop
+                  offset="0"
+                  stop-color="#3a96dd"
+                />
+                <stop
+                  offset="100%"
+                  stop-color="#b146c2"
+                />
+              </lineargradient>
+            </defs>
+            <path
+              aria-label="link from Didn’t vote in at least one referendum – 21 to 14 – Don’t know / would not vote with weight 8"
+              d="M172,401.608C455.5,401.608,455.5,397.09,739,397.09L739,425.482C455.5,425.482,455.5,430,172,430Z"
+              data-is-focusable="true"
+              fill-opacity="1"
+              id="link67"
+              role="img"
+              stroke="#757575"
+              stroke-opacity="1"
               stroke-width="2"
               tabindex="-1"
-              width="124"
-              x="739"
-              y="36"
             />
           </g>
         </g>
@@ -25950,14 +26122,14 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               }
         >
           <g
-            id="nodeGElement45"
+            id="nodeGElement48"
           >
             <rect
-              aria-label="node 46 – No with weight 25"
+              aria-label="node 46 – No with weight 45"
               data-is-focusable="true"
               fill="#ca5010"
-              height="125.00000000000006"
-              id="nodeBar44"
+              height="159.70588235294113"
+              id="nodeBar47"
               opacity="1"
               role="img"
               stroke="#757575"
@@ -25965,7 +26137,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               tabindex="-1"
               width="124"
               x="739"
-              y="44"
+              y="47.48191060502646"
             />
             <g
               class=
@@ -25990,10 +26162,10 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                   fill="#FFFFFF"
                   font-size="10"
                   font-weight="regular"
-                  id="nodeBar44-name"
+                  id="nodeBar47-name"
                   text-anchor="start"
                   x="739"
-                  y="44"
+                  y="47.48191060502646"
                 >
                   46 – No
                 </text>
@@ -26007,9 +26179,9 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                 font-weight="bold"
                 text-anchor="start"
                 x="739"
-                y="44"
+                y="47.48191060502646"
               >
-                25
+                45
               </text>
             </g>
           </g>
@@ -26025,14 +26197,14 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               }
         >
           <g
-            id="nodeGElement47"
+            id="nodeGElement50"
           >
             <rect
-              aria-label="node 39 – Yes with weight 36"
+              aria-label="node 39 – Yes with weight 39"
               data-is-focusable="true"
               fill="#57811b"
-              height="180.00000000000017"
-              id="nodeBar46"
+              height="138.41176470588226"
+              id="nodeBar49"
               opacity="1"
               role="img"
               stroke="#757575"
@@ -26040,7 +26212,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               tabindex="-1"
               width="124"
               x="739"
-              y="177.00000000000006"
+              y="215.1877929579676"
             />
             <g
               class=
@@ -26065,10 +26237,10 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                   fill="#FFFFFF"
                   font-size="10"
                   font-weight="regular"
-                  id="nodeBar46-name"
+                  id="nodeBar49-name"
                   text-anchor="start"
                   x="739"
-                  y="177.00000000000006"
+                  y="215.1877929579676"
                 >
                   39 – Yes
                 </text>
@@ -26082,9 +26254,9 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                 font-weight="bold"
                 text-anchor="start"
                 x="739"
-                y="177.00000000000006"
+                y="215.1877929579676"
               >
-                36
+                39
               </text>
             </g>
           </g>
@@ -26100,14 +26272,14 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               }
         >
           <g
-            id="nodeGElement49"
+            id="nodeGElement52"
           >
             <rect
-              aria-label="node 14 – Don’t know / would not vote with weight 13"
+              aria-label="node 14 – Don’t know / would not vote with weight 18"
               data-is-focusable="true"
               fill="#b146c2"
-              height="65"
-              id="nodeBar48"
+              height="63.882352941176464"
+              id="nodeBar51"
               opacity="1"
               role="img"
               stroke="#757575"
@@ -26115,7 +26287,7 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
               tabindex="-1"
               width="124"
               x="739"
-              y="365.0000000000002"
+              y="361.59955766384985"
             />
             <g
               class=
@@ -26140,10 +26312,10 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                   fill="#FFFFFF"
                   font-size="10"
                   font-weight="regular"
-                  id="nodeBar48-name"
+                  id="nodeBar51-name"
                   text-anchor="start"
                   x="739"
-                  y="365.0000000000002"
+                  y="361.59955766384985"
                 >
                   14 – Don’t know / would not vote
                 </text>
@@ -26157,9 +26329,9 @@ exports[`DeclarativeChart Should render sankeychart in DeclarativeChart 1`] = `
                 font-weight="bold"
                 text-anchor="start"
                 x="739"
-                y="365.0000000000002"
+                y="361.59955766384985"
               >
-                13
+                18
               </text>
             </g>
           </g>
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
new file mode 100644
index 00000000000000..2e2347d3576bc3
--- /dev/null
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
@@ -0,0 +1,4934 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`sanitizeJson Should return json object when depth inside the range 1`] = `
+Object {
+  "data": Array [
+    Object {
+      "delta": Object {
+        "increasing": Object {
+          "color": "RebeccaPurple",
+        },
+        "reference": 400,
+      },
+      "gauge": Object {
+        "axis": Object {
+          "range": Array [
+            null,
+            500,
+          ],
+          "tickcolor": "darkblue",
+          "tickwidth": 1,
+        },
+        "bar": Object {
+          "color": "darkblue",
+        },
+        "bgcolor": "white",
+        "bordercolor": "gray",
+        "borderwidth": 2,
+        "steps": Array [
+          Object {
+            "color": "cyan",
+            "range": Array [
+              0,
+              250,
+            ],
+          },
+          Object {
+            "color": "royalblue",
+            "range": Array [
+              250,
+              400,
+            ],
+          },
+        ],
+        "threshold": Object {
+          "line": Object {
+            "color": "red",
+            "width": 4,
+          },
+          "thickness": 0.75,
+          "value": 490,
+        },
+      },
+      "mode": "gauge+number+delta",
+      "title": Object {
+        "font": Object {
+          "size": 24,
+        },
+        "text": "Speed",
+      },
+      "type": "indicator",
+      "value": 420,
+    },
+  ],
+  "frames": Array [],
+  "layout": Object {
+    "font": Object {
+      "color": "darkblue",
+      "family": "Arial",
+    },
+    "height": 400,
+    "margin": Object {
+      "b": 25,
+      "l": 25,
+      "r": 25,
+      "t": 25,
+    },
+    "paper_bgcolor": "lavender",
+    "width": 500,
+  },
+  "visualizer": "plotly",
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToDonutProps - Should return donut chart props 1`] = `
+Object {
+  "data": Object {
+    "chartData": Array [
+      Object {
+        "color": "#9373c0",
+        "data": 1,
+        "legend": "AMC",
+      },
+      Object {
+        "color": "#13a10e",
+        "data": 1,
+        "legend": "Cadillac",
+      },
+      Object {
+        "color": "#3a96dd",
+        "data": 1,
+        "legend": "Camaro",
+      },
+      Object {
+        "color": "#ca5010",
+        "data": 1,
+        "legend": "Chrysler",
+      },
+      Object {
+        "color": "#57811b",
+        "data": 1,
+        "legend": "Datsun",
+      },
+      Object {
+        "color": "#b146c2",
+        "data": 1,
+        "legend": "Dodge",
+      },
+      Object {
+        "color": "#ae8c00",
+        "data": 1,
+        "legend": "Duster",
+      },
+      Object {
+        "color": "#93a4f4",
+        "data": 1,
+        "legend": "Ferrari",
+      },
+      Object {
+        "color": "#ee5fb7",
+        "data": 2,
+        "legend": "Fiat",
+      },
+      Object {
+        "color": "#4cb4b7",
+        "data": 1,
+        "legend": "Ford",
+      },
+      Object {
+        "color": "#a083c9",
+        "data": 1,
+        "legend": "Honda",
+      },
+      Object {
+        "color": "#27ac22",
+        "data": 2,
+        "legend": "Hornet",
+      },
+      Object {
+        "color": "#4fa1e1",
+        "data": 1,
+        "legend": "Lincoln",
+      },
+      Object {
+        "color": "#d77440",
+        "data": 1,
+        "legend": "Lotus",
+      },
+      Object {
+        "color": "#73aa24",
+        "data": 1,
+        "legend": "Maserati",
+      },
+      Object {
+        "color": "#c36bd1",
+        "data": 2,
+        "legend": "Mazda",
+      },
+      Object {
+        "color": "#d0b232",
+        "data": 7,
+        "legend": "Merc",
+      },
+      Object {
+        "color": "#4f6bed",
+        "data": 1,
+        "legend": "Pontiac",
+      },
+      Object {
+        "color": "#ea38a6",
+        "data": 1,
+        "legend": "Porsche",
+      },
+      Object {
+        "color": "#038387",
+        "data": 2,
+        "legend": "Toyota",
+      },
+      Object {
+        "color": "#8764b8",
+        "data": 1,
+        "legend": "Valiant",
+      },
+      Object {
+        "color": "#11910d",
+        "data": 1,
+        "legend": "Volvo",
+      },
+    ],
+    "chartTitle": "Donut charts using Plotly",
+  },
+  "height": 220,
+  "hideLabels": false,
+  "hideLegend": false,
+  "innerRadius": 42,
+  "showLabelsInPercent": true,
+  "styles": Object {
+    "root": Object {
+      "[class^=\\"arcLabel\\"]": Object {},
+    },
+  },
+  "width": 440,
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToDonutProps - Should return pie chart props 1`] = `
+Object {
+  "data": Object {
+    "chartData": Array [
+      Object {
+        "color": "#3487c7",
+        "data": 4500,
+        "legend": "Oxygen",
+      },
+      Object {
+        "color": "#d06228",
+        "data": 2500,
+        "legend": "Hydrogen",
+      },
+      Object {
+        "color": "#689920",
+        "data": 1053,
+        "legend": "Carbon_Dioxide",
+      },
+      Object {
+        "color": "#ba58c9",
+        "data": 500,
+        "legend": "Nitrogen",
+      },
+    ],
+    "chartTitle": "",
+  },
+  "height": 220,
+  "hideLabels": false,
+  "hideLegend": false,
+  "innerRadius": 0,
+  "showLabelsInPercent": false,
+  "styles": Object {
+    "root": Object {
+      "[class^=\\"arcLabel\\"]": Object {
+        "fontSize": 20,
+      },
+    },
+  },
+  "width": 440,
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToGVBCProps - Should return GVBC props 1`] = `
+Object {
+  "barwidth": "auto",
+  "chartTitle": "PHP Framework Popularity at Work - SitePoint, 2015",
+  "data": Array [
+    Object {
+      "name": "Jan",
+      "series": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2000,
+          "key": "Category A",
+          "legend": "Category A",
+          "xAxisCalloutData": "Jan",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3000,
+          "key": "Category B",
+          "legend": "Category B",
+          "xAxisCalloutData": "Jan",
+        },
+      ],
+    },
+    Object {
+      "name": "Feb",
+      "series": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2100,
+          "key": "Category A",
+          "legend": "Category A",
+          "xAxisCalloutData": "Feb",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3100,
+          "key": "Category B",
+          "legend": "Category B",
+          "xAxisCalloutData": "Feb",
+        },
+      ],
+    },
+    Object {
+      "name": "Mar",
+      "series": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2200,
+          "key": "Category A",
+          "legend": "Category A",
+          "xAxisCalloutData": "Mar",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3200,
+          "key": "Category B",
+          "legend": "Category B",
+          "xAxisCalloutData": "Mar",
+        },
+      ],
+    },
+    Object {
+      "name": "Apr",
+      "series": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2300,
+          "key": "Category A",
+          "legend": "Category A",
+          "xAxisCalloutData": "Apr",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3300,
+          "key": "Category B",
+          "legend": "Category B",
+          "xAxisCalloutData": "Apr",
+        },
+      ],
+    },
+    Object {
+      "name": "May",
+      "series": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2400,
+          "key": "Category A",
+          "legend": "Category A",
+          "xAxisCalloutData": "May",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3400,
+          "key": "Category B",
+          "legend": "Category B",
+          "xAxisCalloutData": "May",
+        },
+      ],
+    },
+  ],
+  "mode": "plotly",
+  "xAxisTitle": "Votes",
+  "yAxisTitle": "Framework",
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToGaugeProps - Should return gauge chart props 1`] = `
+Object {
+  "chartTitle": "",
+  "chartValue": 420,
+  "chartValueFormat": [Function],
+  "height": 400,
+  "maxValue": 500,
+  "minValue": undefined,
+  "segments": Array [
+    Object {
+      "color": "#c19c00",
+      "legend": "Segment 1",
+      "size": 250,
+    },
+    Object {
+      "color": "#c8d1fa",
+      "legend": "Segment 2",
+      "size": 150,
+    },
+  ],
+  "styles": Object {
+    "sublabel": Object {
+      "fill": "#f7adda",
+    },
+  },
+  "sublabel": "▲ 20",
+  "variant": "multiple-segments",
+  "width": 500,
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToHeatmapProps - Should return heatmap chart props 1`] = `
+Object {
+  "chartTitle": "",
+  "data": Array [
+    Object {
+      "data": Array [
+        Object {
+          "rectText": 12,
+          "value": 12,
+          "x": "x_0",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 18.072596781382654,
+          "value": 18.072596781382654,
+          "x": "x_0",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 16.104827483834423,
+          "value": 16.104827483834423,
+          "x": "x_0",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 12.732656491556462,
+          "value": 12.732656491556462,
+          "x": "x_0",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 10.424697200562369,
+          "value": 10.424697200562369,
+          "x": "x_0",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 1.3848305486418013,
+          "value": 1.3848305486418013,
+          "x": "x_0",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": -6.877933971525136,
+          "value": -6.877933971525136,
+          "x": "x_0",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": -7.513284950652834,
+          "value": -7.513284950652834,
+          "x": "x_0",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 0.02929945240777787,
+          "value": 0.02929945240777787,
+          "x": "x_0",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 1.3315750803470996,
+          "value": 1.3315750803470996,
+          "x": "x_0",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": -0.34155835630595655,
+          "value": -0.34155835630595655,
+          "x": "x_0",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": -1.2496939708148902,
+          "value": -1.2496939708148902,
+          "x": "x_0",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 3.673504371828866,
+          "value": 3.673504371828866,
+          "x": "x_0",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 9.197351864496074,
+          "value": 9.197351864496074,
+          "x": "x_0",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 17.878378279408615,
+          "value": 17.878378279408615,
+          "x": "x_0",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 18.3594620989525,
+          "value": 18.3594620989525,
+          "x": "x_0",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 9.52854140993721,
+          "value": 9.52854140993721,
+          "x": "x_0",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 8.834804620855842,
+          "value": 8.834804620855842,
+          "x": "x_0",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 2.008683713506029,
+          "value": 2.008683713506029,
+          "x": "x_0",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 1.4746401926975559,
+          "value": 1.4746401926975559,
+          "x": "x_0",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 11.697147742124411,
+          "value": 11.697147742124411,
+          "x": "x_1",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 6.872368565119988,
+          "value": 6.872368565119988,
+          "x": "x_1",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 16.816096580158092,
+          "value": 16.816096580158092,
+          "x": "x_1",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 24.158612074358526,
+          "value": 24.158612074358526,
+          "x": "x_1",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 28.78022939969912,
+          "value": 28.78022939969912,
+          "x": "x_1",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 28.88858899620542,
+          "value": 28.88858899620542,
+          "x": "x_1",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 44.04384439381119,
+          "value": 44.04384439381119,
+          "x": "x_1",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 44.21182779048812,
+          "value": 44.21182779048812,
+          "x": "x_1",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 47.8943258538308,
+          "value": 47.8943258538308,
+          "x": "x_1",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 45.90255894008207,
+          "value": 45.90255894008207,
+          "x": "x_1",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 52.257883472637104,
+          "value": 52.257883472637104,
+          "x": "x_1",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 52.0753263525035,
+          "value": 52.0753263525035,
+          "x": "x_1",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 55.66537870906952,
+          "value": 55.66537870906952,
+          "x": "x_1",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 55.98556586180058,
+          "value": 55.98556586180058,
+          "x": "x_1",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 65.61603877495548,
+          "value": 65.61603877495548,
+          "x": "x_1",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 66.76755465163893,
+          "value": 66.76755465163893,
+          "x": "x_1",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 66.15934256222516,
+          "value": 66.15934256222516,
+          "x": "x_1",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 58.63396530456222,
+          "value": 58.63396530456222,
+          "x": "x_1",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 68.77074374390875,
+          "value": 68.77074374390875,
+          "x": "x_1",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 76.5710413276318,
+          "value": 76.5710413276318,
+          "x": "x_1",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 7.1748009833505355,
+          "value": 7.1748009833505355,
+          "x": "x_2",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 2.6331323456979367,
+          "value": 2.6331323456979367,
+          "x": "x_2",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": -1.0796033248100874,
+          "value": -1.0796033248100874,
+          "x": "x_2",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 1.8639666906231516,
+          "value": 1.8639666906231516,
+          "x": "x_2",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 3.274446200066722,
+          "value": 3.274446200066722,
+          "x": "x_2",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 12.971410893817621,
+          "value": 12.971410893817621,
+          "x": "x_2",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 13.548126342387011,
+          "value": 13.548126342387011,
+          "x": "x_2",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 14.479713711226983,
+          "value": 14.479713711226983,
+          "x": "x_2",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 13.4384038570412,
+          "value": 13.4384038570412,
+          "x": "x_2",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 9.162060301209916,
+          "value": 9.162060301209916,
+          "x": "x_2",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 14.63013635132661,
+          "value": 14.63013635132661,
+          "x": "x_2",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 16.573843720560127,
+          "value": 16.573843720560127,
+          "x": "x_2",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 22.222025244923273,
+          "value": 22.222025244923273,
+          "x": "x_2",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 19.688495387348357,
+          "value": 19.688495387348357,
+          "x": "x_2",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 21.1073514253479,
+          "value": 21.1073514253479,
+          "x": "x_2",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 23.378561600159312,
+          "value": 23.378561600159312,
+          "x": "x_2",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 25.727095609917317,
+          "value": 25.727095609917317,
+          "x": "x_2",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 32.725737544844485,
+          "value": 32.725737544844485,
+          "x": "x_2",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 27.561261630596558,
+          "value": 27.561261630596558,
+          "x": "x_2",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 22.444170064560886,
+          "value": 22.444170064560886,
+          "x": "x_2",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 11.443688379214382,
+          "value": 11.443688379214382,
+          "x": "x_3",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 8.910260123844887,
+          "value": 8.910260123844887,
+          "x": "x_3",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 13.037577162924944,
+          "value": 13.037577162924944,
+          "x": "x_3",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 9.195075731494875,
+          "value": 9.195075731494875,
+          "x": "x_3",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 8.669870516018236,
+          "value": 8.669870516018236,
+          "x": "x_3",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 21.143305039916708,
+          "value": 21.143305039916708,
+          "x": "x_3",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 17.74014481550033,
+          "value": 17.74014481550033,
+          "x": "x_3",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 17.660499931671584,
+          "value": 17.660499931671584,
+          "x": "x_3",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 17.917433759396193,
+          "value": 17.917433759396193,
+          "x": "x_3",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": -1.2943200134022526,
+          "value": -1.2943200134022526,
+          "x": "x_3",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": -1.1475310646451669,
+          "value": -1.1475310646451669,
+          "x": "x_3",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 0.6254954059905691,
+          "value": 0.6254954059905691,
+          "x": "x_3",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": -2.1871046243479864,
+          "value": -2.1871046243479864,
+          "x": "x_3",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": -1.1757697666321,
+          "value": -1.1757697666321,
+          "x": "x_3",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": -9.253213203481765,
+          "value": -9.253213203481765,
+          "x": "x_3",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": -9.221557127656212,
+          "value": -9.221557127656212,
+          "x": "x_3",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": -16.01042996598902,
+          "value": -16.01042996598902,
+          "x": "x_3",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": -13.465901648481573,
+          "value": -13.465901648481573,
+          "x": "x_3",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": -11.972754232678293,
+          "value": -11.972754232678293,
+          "x": "x_3",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": -11.754560357801614,
+          "value": -11.754560357801614,
+          "x": "x_3",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 23.648522429525176,
+          "value": 23.648522429525176,
+          "x": "x_4",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 23.29825386450679,
+          "value": 23.29825386450679,
+          "x": "x_4",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 25.071276081749808,
+          "value": 25.071276081749808,
+          "x": "x_4",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 19.788944565361437,
+          "value": 19.788944565361437,
+          "x": "x_4",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 17.75655781585482,
+          "value": 17.75655781585482,
+          "x": "x_4",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 7.466382276034302,
+          "value": 7.466382276034302,
+          "x": "x_4",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 15.7912983146064,
+          "value": 15.7912983146064,
+          "x": "x_4",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 14.436062506263415,
+          "value": 14.436062506263415,
+          "x": "x_4",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 17.039432522289083,
+          "value": 17.039432522289083,
+          "x": "x_4",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 21.982396858443334,
+          "value": 21.982396858443334,
+          "x": "x_4",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 19.815434611539906,
+          "value": 19.815434611539906,
+          "x": "x_4",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 25.67070005332393,
+          "value": 25.67070005332393,
+          "x": "x_4",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 28.014054309766728,
+          "value": 28.014054309766728,
+          "x": "x_4",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 26.78831096366896,
+          "value": 26.78831096366896,
+          "x": "x_4",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 27.879670681460908,
+          "value": 27.879670681460908,
+          "x": "x_4",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 28.23165649899542,
+          "value": 28.23165649899542,
+          "x": "x_4",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 24.77811171644336,
+          "value": 24.77811171644336,
+          "x": "x_4",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 31.313375862796256,
+          "value": 31.313375862796256,
+          "x": "x_4",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 27.652138241890253,
+          "value": 27.652138241890253,
+          "x": "x_4",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 31.65020848831535,
+          "value": 31.65020848831535,
+          "x": "x_4",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 10.040502684649338,
+          "value": 10.040502684649338,
+          "x": "x_5",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 9.18418261775059,
+          "value": 9.18418261775059,
+          "x": "x_5",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": -6.016235615271988,
+          "value": -6.016235615271988,
+          "x": "x_5",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": -6.833645216204284,
+          "value": -6.833645216204284,
+          "x": "x_5",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": -6.896721183137775,
+          "value": -6.896721183137775,
+          "x": "x_5",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": -2.108394838355938,
+          "value": -2.108394838355938,
+          "x": "x_5",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": -6.563883600581922,
+          "value": -6.563883600581922,
+          "x": "x_5",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": -8.630753569571617,
+          "value": -8.630753569571617,
+          "x": "x_5",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": -4.774743239794282,
+          "value": -4.774743239794282,
+          "x": "x_5",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": -2.0046315173801657,
+          "value": -2.0046315173801657,
+          "x": "x_5",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": -0.3597615447940745,
+          "value": -0.3597615447940745,
+          "x": "x_5",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 2.8833642841959586,
+          "value": 2.8833642841959586,
+          "x": "x_5",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": -1.9343227464152601,
+          "value": -1.9343227464152601,
+          "x": "x_5",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": -5.206570891432279,
+          "value": -5.206570891432279,
+          "x": "x_5",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": -2.8320537701090256,
+          "value": -2.8320537701090256,
+          "x": "x_5",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": -0.3620931039471351,
+          "value": -0.3620931039471351,
+          "x": "x_5",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": -1.2825355952790376,
+          "value": -1.2825355952790376,
+          "x": "x_5",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": -1.937020141351771,
+          "value": -1.937020141351771,
+          "x": "x_5",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": -8.994598412149836,
+          "value": -8.994598412149836,
+          "x": "x_5",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": -6.747073251084499,
+          "value": -6.747073251084499,
+          "x": "x_5",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 10.819974608119614,
+          "value": 10.819974608119614,
+          "x": "x_6",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 18.052236884018036,
+          "value": 18.052236884018036,
+          "x": "x_6",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 12.248777535804365,
+          "value": 12.248777535804365,
+          "x": "x_6",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 9.969142303073252,
+          "value": 9.969142303073252,
+          "x": "x_6",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 17.337127681913973,
+          "value": 17.337127681913973,
+          "x": "x_6",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 16.027000754389025,
+          "value": 16.027000754389025,
+          "x": "x_6",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 21.49865383744765,
+          "value": 21.49865383744765,
+          "x": "x_6",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 18.920515851612024,
+          "value": 18.920515851612024,
+          "x": "x_6",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 12.169188113505435,
+          "value": 12.169188113505435,
+          "x": "x_6",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 23.75776947991829,
+          "value": 23.75776947991829,
+          "x": "x_6",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 22.773438522174473,
+          "value": 22.773438522174473,
+          "x": "x_6",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 21.05489065711163,
+          "value": 21.05489065711163,
+          "x": "x_6",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 29.16438526268995,
+          "value": 29.16438526268995,
+          "x": "x_6",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 29.755041090905404,
+          "value": 29.755041090905404,
+          "x": "x_6",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 26.13796211607032,
+          "value": 26.13796211607032,
+          "x": "x_6",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 28.91643855216486,
+          "value": 28.91643855216486,
+          "x": "x_6",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 19.064261874916085,
+          "value": 19.064261874916085,
+          "x": "x_6",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 14.893297536987049,
+          "value": 14.893297536987049,
+          "x": "x_6",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 16.01202612993778,
+          "value": 16.01202612993778,
+          "x": "x_6",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 10.677375854561543,
+          "value": 10.677375854561543,
+          "x": "x_6",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 20.83991840239746,
+          "value": 20.83991840239746,
+          "x": "x_7",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 32.088269277118485,
+          "value": 32.088269277118485,
+          "x": "x_7",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 35.617617939013286,
+          "value": 35.617617939013286,
+          "x": "x_7",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 46.34145242145437,
+          "value": 46.34145242145437,
+          "x": "x_7",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 42.70107878756259,
+          "value": 42.70107878756259,
+          "x": "x_7",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 40.70844626018491,
+          "value": 40.70844626018491,
+          "x": "x_7",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 38.24729505908534,
+          "value": 38.24729505908534,
+          "x": "x_7",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 41.961872256649784,
+          "value": 41.961872256649784,
+          "x": "x_7",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 40.42317097918186,
+          "value": 40.42317097918186,
+          "x": "x_7",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 42.681396519281044,
+          "value": 42.681396519281044,
+          "x": "x_7",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 45.16830973647258,
+          "value": 45.16830973647258,
+          "x": "x_7",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 45.54977153406254,
+          "value": 45.54977153406254,
+          "x": "x_7",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 44.051494895676456,
+          "value": 44.051494895676456,
+          "x": "x_7",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 35.45913888587404,
+          "value": 35.45913888587404,
+          "x": "x_7",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 24.926244822709098,
+          "value": 24.926244822709098,
+          "x": "x_7",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 11.188848304771073,
+          "value": 11.188848304771073,
+          "x": "x_7",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 14.509555473536986,
+          "value": 14.509555473536986,
+          "x": "x_7",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 23.629750932895455,
+          "value": 23.629750932895455,
+          "x": "x_7",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 27.496822437992087,
+          "value": 27.496822437992087,
+          "x": "x_7",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 18.290237353501528,
+          "value": 18.290237353501528,
+          "x": "x_7",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 14.378243279399832,
+          "value": 14.378243279399832,
+          "x": "x_8",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 15.862814449470617,
+          "value": 15.862814449470617,
+          "x": "x_8",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 20.621055215762404,
+          "value": 20.621055215762404,
+          "x": "x_8",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 27.310374393715577,
+          "value": 27.310374393715577,
+          "x": "x_8",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 27.376076996458107,
+          "value": 27.376076996458107,
+          "x": "x_8",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 25.966261645863177,
+          "value": 25.966261645863177,
+          "x": "x_8",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 25.710457133039732,
+          "value": 25.710457133039732,
+          "x": "x_8",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 30.992785862263872,
+          "value": 30.992785862263872,
+          "x": "x_8",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 37.22474246115934,
+          "value": 37.22474246115934,
+          "x": "x_8",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 44.65189694360409,
+          "value": 44.65189694360409,
+          "x": "x_8",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 50.90620858214391,
+          "value": 50.90620858214391,
+          "x": "x_8",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 54.790476948309696,
+          "value": 54.790476948309696,
+          "x": "x_8",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 47.138525452751004,
+          "value": 47.138525452751004,
+          "x": "x_8",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 48.543398737558654,
+          "value": 48.543398737558654,
+          "x": "x_8",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 41.22820882460708,
+          "value": 41.22820882460708,
+          "x": "x_8",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 43.30138646653476,
+          "value": 43.30138646653476,
+          "x": "x_8",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 43.57067434580797,
+          "value": 43.57067434580797,
+          "x": "x_8",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 41.77269087492713,
+          "value": 41.77269087492713,
+          "x": "x_8",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 42.223038572972655,
+          "value": 42.223038572972655,
+          "x": "x_8",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 44.04246479548906,
+          "value": 44.04246479548906,
+          "x": "x_8",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 9.546437633051273,
+          "value": 9.546437633051273,
+          "x": "x_9",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 20.517302217015732,
+          "value": 20.517302217015732,
+          "x": "x_9",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 18.321563171124787,
+          "value": 18.321563171124787,
+          "x": "x_9",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 15.451738777747869,
+          "value": 15.451738777747869,
+          "x": "x_9",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 10.416788406228507,
+          "value": 10.416788406228507,
+          "x": "x_9",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 0.9043901831061678,
+          "value": 0.9043901831061678,
+          "x": "x_9",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 2.2251747151953722,
+          "value": 2.2251747151953722,
+          "x": "x_9",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 0.3821317782171232,
+          "value": 0.3821317782171232,
+          "x": "x_9",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 0.22091049853526112,
+          "value": 0.22091049853526112,
+          "x": "x_9",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": -3.233129329636757,
+          "value": -3.233129329636757,
+          "x": "x_9",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": -4.123416917882673,
+          "value": -4.123416917882673,
+          "x": "x_9",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": -1.1319446806674005,
+          "value": -1.1319446806674005,
+          "x": "x_9",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": -2.533067604753474,
+          "value": -2.533067604753474,
+          "x": "x_9",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 3.274578409778302,
+          "value": 3.274578409778302,
+          "x": "x_9",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 4.291828909220028,
+          "value": 4.291828909220028,
+          "x": "x_9",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 5.000880279196099,
+          "value": 5.000880279196099,
+          "x": "x_9",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 7.890650307112603,
+          "value": 7.890650307112603,
+          "x": "x_9",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 9.082388429023517,
+          "value": 9.082388429023517,
+          "x": "x_9",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 9.14302748045202,
+          "value": 9.14302748045202,
+          "x": "x_9",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": -0.9669084139974888,
+          "value": -0.9669084139974888,
+          "x": "x_9",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 2.117430162487592,
+          "value": 2.117430162487592,
+          "x": "x_10",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 1.5668378537843557,
+          "value": 1.5668378537843557,
+          "x": "x_10",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 5.106104151848498,
+          "value": 5.106104151848498,
+          "x": "x_10",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 6.691398648622392,
+          "value": 6.691398648622392,
+          "x": "x_10",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 5.9545352540812,
+          "value": 5.9545352540812,
+          "x": "x_10",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": -0.6718858579700804,
+          "value": -0.6718858579700804,
+          "x": "x_10",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": -10.093623877175773,
+          "value": -10.093623877175773,
+          "x": "x_10",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": -9.481337721021028,
+          "value": -9.481337721021028,
+          "x": "x_10",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": -9.687370268531138,
+          "value": -9.687370268531138,
+          "x": "x_10",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": -11.7007015295863,
+          "value": -11.7007015295863,
+          "x": "x_10",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": -10.08874106711032,
+          "value": -10.08874106711032,
+          "x": "x_10",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": -6.836880142255078,
+          "value": -6.836880142255078,
+          "x": "x_10",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 2.4604369987892873,
+          "value": 2.4604369987892873,
+          "x": "x_10",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 7.640442280843416,
+          "value": 7.640442280843416,
+          "x": "x_10",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 4.713688574820864,
+          "value": 4.713688574820864,
+          "x": "x_10",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 1.955677009677276,
+          "value": 1.955677009677276,
+          "x": "x_10",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 1.6731169765193206,
+          "value": 1.6731169765193206,
+          "x": "x_10",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": -6.034577415215565,
+          "value": -6.034577415215565,
+          "x": "x_10",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": -9.49672264010566,
+          "value": -9.49672264010566,
+          "x": "x_10",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": -10.02999798650989,
+          "value": -10.02999798650989,
+          "x": "x_10",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 24.053122758748437,
+          "value": 24.053122758748437,
+          "x": "x_11",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 19.031137709612036,
+          "value": 19.031137709612036,
+          "x": "x_11",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 20.47764211274059,
+          "value": 20.47764211274059,
+          "x": "x_11",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 14.55281641333698,
+          "value": 14.55281641333698,
+          "x": "x_11",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 15.043018310072712,
+          "value": 15.043018310072712,
+          "x": "x_11",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 2.6597070827875093,
+          "value": 2.6597070827875093,
+          "x": "x_11",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 1.9137585062069147,
+          "value": 1.9137585062069147,
+          "x": "x_11",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 1.6266164906990555,
+          "value": 1.6266164906990555,
+          "x": "x_11",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 10.608534707379862,
+          "value": 10.608534707379862,
+          "x": "x_11",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 8.768962763531919,
+          "value": 8.768962763531919,
+          "x": "x_11",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 17.77058648507848,
+          "value": 17.77058648507848,
+          "x": "x_11",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 15.502730715077965,
+          "value": 15.502730715077965,
+          "x": "x_11",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 19.673236477344094,
+          "value": 19.673236477344094,
+          "x": "x_11",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 6.615425581412669,
+          "value": 6.615425581412669,
+          "x": "x_11",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 16.71505221410986,
+          "value": 16.71505221410986,
+          "x": "x_11",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 17.279662785715818,
+          "value": 17.279662785715818,
+          "x": "x_11",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 11.216733394728445,
+          "value": 11.216733394728445,
+          "x": "x_11",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 26.401238496860607,
+          "value": 26.401238496860607,
+          "x": "x_11",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 25.872388552562622,
+          "value": 25.872388552562622,
+          "x": "x_11",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 26.331023176529538,
+          "value": 26.331023176529538,
+          "x": "x_11",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 14.741753869753929,
+          "value": 14.741753869753929,
+          "x": "x_12",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 12.133745300119848,
+          "value": 12.133745300119848,
+          "x": "x_12",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 13.078423154116999,
+          "value": 13.078423154116999,
+          "x": "x_12",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 31.321025344254267,
+          "value": 31.321025344254267,
+          "x": "x_12",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 32.12573718137715,
+          "value": 32.12573718137715,
+          "x": "x_12",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 36.093975687401766,
+          "value": 36.093975687401766,
+          "x": "x_12",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 28.853944000537858,
+          "value": 28.853944000537858,
+          "x": "x_12",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 20.52198483872326,
+          "value": 20.52198483872326,
+          "x": "x_12",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 22.489367975650175,
+          "value": 22.489367975650175,
+          "x": "x_12",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 21.48008268870696,
+          "value": 21.48008268870696,
+          "x": "x_12",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 17.40525407651549,
+          "value": 17.40525407651549,
+          "x": "x_12",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 16.434991284495794,
+          "value": 16.434991284495794,
+          "x": "x_12",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 23.43582349379937,
+          "value": 23.43582349379937,
+          "x": "x_12",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 27.520672134556655,
+          "value": 27.520672134556655,
+          "x": "x_12",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 27.48982397761371,
+          "value": 27.48982397761371,
+          "x": "x_12",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 26.178614647552152,
+          "value": 26.178614647552152,
+          "x": "x_12",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 25.858459074516183,
+          "value": 25.858459074516183,
+          "x": "x_12",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 30.051671106505943,
+          "value": 30.051671106505943,
+          "x": "x_12",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 29.591488992612543,
+          "value": 29.591488992612543,
+          "x": "x_12",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 23.744787277420585,
+          "value": 23.744787277420585,
+          "x": "x_12",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 11.223068582526338,
+          "value": 11.223068582526338,
+          "x": "x_13",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 8.724453334098921,
+          "value": 8.724453334098921,
+          "x": "x_13",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 4.270904076038434,
+          "value": 4.270904076038434,
+          "x": "x_13",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 9.311054030160307,
+          "value": 9.311054030160307,
+          "x": "x_13",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 11.294834569956391,
+          "value": 11.294834569956391,
+          "x": "x_13",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 12.79240265673884,
+          "value": 12.79240265673884,
+          "x": "x_13",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 9.119846857537635,
+          "value": 9.119846857537635,
+          "x": "x_13",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 9.822475957217343,
+          "value": 9.822475957217343,
+          "x": "x_13",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 10.669348146795615,
+          "value": 10.669348146795615,
+          "x": "x_13",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 11.750650693071353,
+          "value": 11.750650693071353,
+          "x": "x_13",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 19.428287067763215,
+          "value": 19.428287067763215,
+          "x": "x_13",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 20.05330736176254,
+          "value": 20.05330736176254,
+          "x": "x_13",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 18.46461800040717,
+          "value": 18.46461800040717,
+          "x": "x_13",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 17.13948338893387,
+          "value": 17.13948338893387,
+          "x": "x_13",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 14.998235183145638,
+          "value": 14.998235183145638,
+          "x": "x_13",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 21.57198989722974,
+          "value": 21.57198989722974,
+          "x": "x_13",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 18.23274943606415,
+          "value": 18.23274943606415,
+          "x": "x_13",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 23.834062269627154,
+          "value": 23.834062269627154,
+          "x": "x_13",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 17.887210405056912,
+          "value": 17.887210405056912,
+          "x": "x_13",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 21.58401811955205,
+          "value": 21.58401811955205,
+          "x": "x_13",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 2.9058799108357736,
+          "value": 2.9058799108357736,
+          "x": "x_14",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 8.972456038301432,
+          "value": 8.972456038301432,
+          "x": "x_14",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 10.32885307002288,
+          "value": 10.32885307002288,
+          "x": "x_14",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 12.004790333591908,
+          "value": 12.004790333591908,
+          "x": "x_14",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 16.313424113247194,
+          "value": 16.313424113247194,
+          "x": "x_14",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 16.292076219475025,
+          "value": 16.292076219475025,
+          "x": "x_14",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 16.770107402461807,
+          "value": 16.770107402461807,
+          "x": "x_14",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 15.658011352744083,
+          "value": 15.658011352744083,
+          "x": "x_14",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 13.95650541886101,
+          "value": 13.95650541886101,
+          "x": "x_14",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 10.314016323078881,
+          "value": 10.314016323078881,
+          "x": "x_14",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 10.154808609159593,
+          "value": 10.154808609159593,
+          "x": "x_14",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 2.3102989662620654,
+          "value": 2.3102989662620654,
+          "x": "x_14",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 3.2513035287755745,
+          "value": 3.2513035287755745,
+          "x": "x_14",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": -0.7130168306222968,
+          "value": -0.7130168306222968,
+          "x": "x_14",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": -1.0419904618770504,
+          "value": -1.0419904618770504,
+          "x": "x_14",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": -1.3161643920050667,
+          "value": -1.3161643920050667,
+          "x": "x_14",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": -1.5424885952686824,
+          "value": -1.5424885952686824,
+          "x": "x_14",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": -3.561155588342318,
+          "value": -3.561155588342318,
+          "x": "x_14",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": -5.273287251587566,
+          "value": -5.273287251587566,
+          "x": "x_14",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": -5.054619683005746,
+          "value": -5.054619683005746,
+          "x": "x_14",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 12.523922839169199,
+          "value": 12.523922839169199,
+          "x": "x_15",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 9.771921362871048,
+          "value": 9.771921362871048,
+          "x": "x_15",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 11.953280688550777,
+          "value": 11.953280688550777,
+          "x": "x_15",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 13.059625413572078,
+          "value": 13.059625413572078,
+          "x": "x_15",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 15.444451104553893,
+          "value": 15.444451104553893,
+          "x": "x_15",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 13.792475502830154,
+          "value": 13.792475502830154,
+          "x": "x_15",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 7.3577813910229235,
+          "value": 7.3577813910229235,
+          "x": "x_15",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 12.855391500184762,
+          "value": 12.855391500184762,
+          "x": "x_15",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 6.839552569406474,
+          "value": 6.839552569406474,
+          "x": "x_15",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 6.044971885000999,
+          "value": 6.044971885000999,
+          "x": "x_15",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 9.41560200751194,
+          "value": 9.41560200751194,
+          "x": "x_15",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 6.6400837474901095,
+          "value": 6.6400837474901095,
+          "x": "x_15",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 7.4638277204597046,
+          "value": 7.4638277204597046,
+          "x": "x_15",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 3.4923248627721257,
+          "value": 3.4923248627721257,
+          "x": "x_15",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": -0.1509352342460648,
+          "value": -0.1509352342460648,
+          "x": "x_15",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": -9.439334496282449,
+          "value": -9.439334496282449,
+          "x": "x_15",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": -9.408565254995368,
+          "value": -9.408565254995368,
+          "x": "x_15",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": -10.717340944667358,
+          "value": -10.717340944667358,
+          "x": "x_15",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": -12.231659074097587,
+          "value": -12.231659074097587,
+          "x": "x_15",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": -12.304220941049874,
+          "value": -12.304220941049874,
+          "x": "x_15",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 12.426446278371158,
+          "value": 12.426446278371158,
+          "x": "x_16",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 4.761205803361531,
+          "value": 4.761205803361531,
+          "x": "x_16",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 1.5514493835400103,
+          "value": 1.5514493835400103,
+          "x": "x_16",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 10.25485330260371,
+          "value": 10.25485330260371,
+          "x": "x_16",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 10.443516068409753,
+          "value": 10.443516068409753,
+          "x": "x_16",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 9.90068532879486,
+          "value": 9.90068532879486,
+          "x": "x_16",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 5.875139865786533,
+          "value": 5.875139865786533,
+          "x": "x_16",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 10.723957376497331,
+          "value": 10.723957376497331,
+          "x": "x_16",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 2.066756467090924,
+          "value": 2.066756467090924,
+          "x": "x_16",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 0.39568846222827236,
+          "value": 0.39568846222827236,
+          "x": "x_16",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 1.9106824056688325,
+          "value": 1.9106824056688325,
+          "x": "x_16",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 3.4554008460006247,
+          "value": 3.4554008460006247,
+          "x": "x_16",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 5.836414662127938,
+          "value": 5.836414662127938,
+          "x": "x_16",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 10.663420634170265,
+          "value": 10.663420634170265,
+          "x": "x_16",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 11.562765259884168,
+          "value": 11.562765259884168,
+          "x": "x_16",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 18.312638310718047,
+          "value": 18.312638310718047,
+          "x": "x_16",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 24.78142561950699,
+          "value": 24.78142561950699,
+          "x": "x_16",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 25.98741506616426,
+          "value": 25.98741506616426,
+          "x": "x_16",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 25.21878307435221,
+          "value": 25.21878307435221,
+          "x": "x_16",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 22.0278850405599,
+          "value": 22.0278850405599,
+          "x": "x_16",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 15.786820017213348,
+          "value": 15.786820017213348,
+          "x": "x_17",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 23.82727745555418,
+          "value": 23.82727745555418,
+          "x": "x_17",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 28.102083355215736,
+          "value": 28.102083355215736,
+          "x": "x_17",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 29.181400631242038,
+          "value": 29.181400631242038,
+          "x": "x_17",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 33.07558322142471,
+          "value": 33.07558322142471,
+          "x": "x_17",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 36.74806639404701,
+          "value": 36.74806639404701,
+          "x": "x_17",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 39.12143717188403,
+          "value": 39.12143717188403,
+          "x": "x_17",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 41.76485494373556,
+          "value": 41.76485494373556,
+          "x": "x_17",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 54.581934085152405,
+          "value": 54.581934085152405,
+          "x": "x_17",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 56.79992555682459,
+          "value": 56.79992555682459,
+          "x": "x_17",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 55.50321452563245,
+          "value": 55.50321452563245,
+          "x": "x_17",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 54.703320294165096,
+          "value": 54.703320294165096,
+          "x": "x_17",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 63.63736027633095,
+          "value": 63.63736027633095,
+          "x": "x_17",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 62.79712211239938,
+          "value": 62.79712211239938,
+          "x": "x_17",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 54.381939331520186,
+          "value": 54.381939331520186,
+          "x": "x_17",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 54.77270799612626,
+          "value": 54.77270799612626,
+          "x": "x_17",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 55.72892300395096,
+          "value": 55.72892300395096,
+          "x": "x_17",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 55.13836837404197,
+          "value": 55.13836837404197,
+          "x": "x_17",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 55.4498407189013,
+          "value": 55.4498407189013,
+          "x": "x_17",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 68.76140423378733,
+          "value": 68.76140423378733,
+          "x": "x_17",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 25.828355052498736,
+          "value": 25.828355052498736,
+          "x": "x_18",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 14.369250386770794,
+          "value": 14.369250386770794,
+          "x": "x_18",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 11.122082151320692,
+          "value": 11.122082151320692,
+          "x": "x_18",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 17.203123079730577,
+          "value": 17.203123079730577,
+          "x": "x_18",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 22.67825393852671,
+          "value": 22.67825393852671,
+          "x": "x_18",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 26.577346684827898,
+          "value": 26.577346684827898,
+          "x": "x_18",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 1.341905660672623,
+          "value": 1.341905660672623,
+          "x": "x_18",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 2.2340479176319485,
+          "value": 2.2340479176319485,
+          "x": "x_18",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 3.5319443821756225,
+          "value": 3.5319443821756225,
+          "x": "x_18",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 9.686881597266042,
+          "value": 9.686881597266042,
+          "x": "x_18",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": -1.086930629298445,
+          "value": -1.086930629298445,
+          "x": "x_18",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": -3.275155410653531,
+          "value": -3.275155410653531,
+          "x": "x_18",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": -2.3182235215935463,
+          "value": -2.3182235215935463,
+          "x": "x_18",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": -7.102421907260435,
+          "value": -7.102421907260435,
+          "x": "x_18",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": -15.369316543252658,
+          "value": -15.369316543252658,
+          "x": "x_18",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": -13.618633943842825,
+          "value": -13.618633943842825,
+          "x": "x_18",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": -6.132435488791322,
+          "value": -6.132435488791322,
+          "x": "x_18",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": -12.222227236438126,
+          "value": -12.222227236438126,
+          "x": "x_18",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": -16.160855914516,
+          "value": -16.160855914516,
+          "x": "x_18",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": -11.104838839030073,
+          "value": -11.104838839030073,
+          "x": "x_18",
+          "y": "y_19",
+        },
+        Object {
+          "rectText": 15.884458175971286,
+          "value": 15.884458175971286,
+          "x": "x_19",
+          "y": "y_0",
+        },
+        Object {
+          "rectText": 9.730029718884163,
+          "value": 9.730029718884163,
+          "x": "x_19",
+          "y": "y_1",
+        },
+        Object {
+          "rectText": 17.271525748515398,
+          "value": 17.271525748515398,
+          "x": "x_19",
+          "y": "y_2",
+        },
+        Object {
+          "rectText": 15.96262678993938,
+          "value": 15.96262678993938,
+          "x": "x_19",
+          "y": "y_3",
+        },
+        Object {
+          "rectText": 14.910979364805373,
+          "value": 14.910979364805373,
+          "x": "x_19",
+          "y": "y_4",
+        },
+        Object {
+          "rectText": 16.005211030243927,
+          "value": 16.005211030243927,
+          "x": "x_19",
+          "y": "y_5",
+        },
+        Object {
+          "rectText": 16.777803239858564,
+          "value": 16.777803239858564,
+          "x": "x_19",
+          "y": "y_6",
+        },
+        Object {
+          "rectText": 16.088953253894616,
+          "value": 16.088953253894616,
+          "x": "x_19",
+          "y": "y_7",
+        },
+        Object {
+          "rectText": 24.532968918280666,
+          "value": 24.532968918280666,
+          "x": "x_19",
+          "y": "y_8",
+        },
+        Object {
+          "rectText": 29.573837224244713,
+          "value": 29.573837224244713,
+          "x": "x_19",
+          "y": "y_9",
+        },
+        Object {
+          "rectText": 29.942519927990794,
+          "value": 29.942519927990794,
+          "x": "x_19",
+          "y": "y_10",
+        },
+        Object {
+          "rectText": 34.69783250602105,
+          "value": 34.69783250602105,
+          "x": "x_19",
+          "y": "y_11",
+        },
+        Object {
+          "rectText": 28.362102774855607,
+          "value": 28.362102774855607,
+          "x": "x_19",
+          "y": "y_12",
+        },
+        Object {
+          "rectText": 25.96909143426486,
+          "value": 25.96909143426486,
+          "x": "x_19",
+          "y": "y_13",
+        },
+        Object {
+          "rectText": 25.018616836414115,
+          "value": 25.018616836414115,
+          "x": "x_19",
+          "y": "y_14",
+        },
+        Object {
+          "rectText": 34.04601203745518,
+          "value": 34.04601203745518,
+          "x": "x_19",
+          "y": "y_15",
+        },
+        Object {
+          "rectText": 32.12418971970468,
+          "value": 32.12418971970468,
+          "x": "x_19",
+          "y": "y_16",
+        },
+        Object {
+          "rectText": 30.768724196434682,
+          "value": 30.768724196434682,
+          "x": "x_19",
+          "y": "y_17",
+        },
+        Object {
+          "rectText": 32.26936734704534,
+          "value": 32.26936734704534,
+          "x": "x_19",
+          "y": "y_18",
+        },
+        Object {
+          "rectText": 32.93901719565705,
+          "value": 32.93901719565705,
+          "x": "x_19",
+          "y": "y_19",
+        },
+      ],
+      "legend": "",
+      "value": 0,
+    },
+  ],
+  "domainValuesForColorScale": Array [
+    -16.160855914516,
+    -6.8876661903012195,
+    2.3855235339135596,
+    11.65871325812834,
+    20.931902982343118,
+    30.2050927065579,
+    39.47828243077268,
+    48.75147215498746,
+    58.024661879202235,
+    67.29785160341703,
+    76.5710413276318,
+  ],
+  "hideLegend": true,
+  "rangeValuesForColorScale": Array [
+    "rgb(158,1,66)",
+    "rgb(213,62,79)",
+    "rgb(244,109,67)",
+    "rgb(253,174,97)",
+    "rgb(254,224,139)",
+    "rgb(255,255,191)",
+    "rgb(230,245,152)",
+    "rgb(171,221,164)",
+    "rgb(102,194,165)",
+    "rgb(50,136,189)",
+    "rgb(94,79,162)",
+  ],
+  "showYAxisLables": true,
+  "sortOrder": "none",
+  "xAxisTitle": "",
+  "yAxisTitle": "",
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToHorizontalBarWithAxisProps - Should return HBC with axis chart props 1`] = `
+Object {
+  "barHeight": 12.662117371807371,
+  "chartTitle": "PHP Framework Popularity at Work - SitePoint, 2015",
+  "data": Array [
+    Object {
+      "color": "#cf87da",
+      "legend": "Laravel",
+      "x": 1659,
+      "y": "Laravel",
+    },
+    Object {
+      "color": "#dac157",
+      "legend": "Symfony2",
+      "x": 1067,
+      "y": "Symfony2",
+    },
+    Object {
+      "color": "#637cef",
+      "legend": "Nette",
+      "x": 671,
+      "y": "Nette",
+    },
+    Object {
+      "color": "#e3008c",
+      "legend": "CodeIgniter",
+      "x": 597,
+      "y": "CodeIgniter",
+    },
+    Object {
+      "color": "#2aa0a4",
+      "legend": "Yii 2",
+      "x": 504,
+      "y": "Yii 2",
+    },
+    Object {
+      "color": "#9373c0",
+      "legend": "PHPixie",
+      "x": 418,
+      "y": "PHPixie",
+    },
+    Object {
+      "color": "#13a10e",
+      "legend": "Yii 1",
+      "x": 407,
+      "y": "Yii 1",
+    },
+    Object {
+      "color": "#3a96dd",
+      "legend": "Zend Framework 2",
+      "x": 390,
+      "y": "Zend Framework 2",
+    },
+    Object {
+      "color": "#ca5010",
+      "legend": "Company Internal Framework",
+      "x": 378,
+      "y": "Company Internal Framework",
+    },
+    Object {
+      "color": "#57811b",
+      "legend": "Zend Framework 1",
+      "x": 274,
+      "y": "Zend Framework 1",
+    },
+    Object {
+      "color": "#b146c2",
+      "legend": "CakePHP",
+      "x": 255,
+      "y": "CakePHP",
+    },
+    Object {
+      "color": "#ae8c00",
+      "legend": "No Framework",
+      "x": 243,
+      "y": "No Framework",
+    },
+    Object {
+      "color": "#93a4f4",
+      "legend": "We use a CMS for everything",
+      "x": 203,
+      "y": "We use a CMS for everything",
+    },
+    Object {
+      "color": "#ee5fb7",
+      "legend": "Phalcon",
+      "x": 169,
+      "y": "Phalcon",
+    },
+    Object {
+      "color": "#4cb4b7",
+      "legend": "Slim",
+      "x": 79,
+      "y": "Slim",
+    },
+    Object {
+      "color": "#a083c9",
+      "legend": "Silex",
+      "x": 65,
+      "y": "Silex",
+    },
+    Object {
+      "color": "#27ac22",
+      "legend": "Simple MVC Framework",
+      "x": 42,
+      "y": "Simple MVC Framework",
+    },
+    Object {
+      "color": "#4fa1e1",
+      "legend": "Typo 3",
+      "x": 35,
+      "y": "Typo 3",
+    },
+    Object {
+      "color": "#d77440",
+      "legend": "Kohana",
+      "x": 35,
+      "y": "Kohana",
+    },
+    Object {
+      "color": "#73aa24",
+      "legend": "FuelPHP",
+      "x": 25,
+      "y": "FuelPHP",
+    },
+    Object {
+      "color": "#c36bd1",
+      "legend": "TYPO3 Flow",
+      "x": 17,
+      "y": "TYPO3 Flow",
+    },
+    Object {
+      "color": "#d0b232",
+      "legend": "Drupal",
+      "x": 11,
+      "y": "Drupal",
+    },
+    Object {
+      "color": "#4f6bed",
+      "legend": "Aura",
+      "x": 10,
+      "y": "Aura",
+    },
+  ],
+  "secondaryYAxistitle": "",
+  "showYAxisLables": true,
+  "styles": Object {
+    "root": Object {
+      "height": 742,
+      "width": 850,
+    },
+  },
+  "xAxisTitle": "Votes",
+  "yAxisTitle": "Framework",
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToSankeyProps - Should return sankey chart props 1`] = `
+Object {
+  "data": Object {
+    "SankeyChartData": Object {
+      "links": Array [
+        Object {
+          "source": 0,
+          "target": 5,
+          "value": 20,
+        },
+        Object {
+          "source": 0,
+          "target": 6,
+          "value": 3,
+        },
+        Object {
+          "source": 0,
+          "target": 7,
+          "value": 5,
+        },
+        Object {
+          "source": 1,
+          "target": 5,
+          "value": 14,
+        },
+        Object {
+          "source": 1,
+          "target": 6,
+          "value": 1,
+        },
+        Object {
+          "source": 1,
+          "target": 7,
+          "value": 1,
+        },
+        Object {
+          "source": 2,
+          "target": 5,
+          "value": 3,
+        },
+        Object {
+          "source": 2,
+          "target": 6,
+          "value": 17,
+        },
+        Object {
+          "source": 2,
+          "target": 7,
+          "value": 2,
+        },
+        Object {
+          "source": 3,
+          "target": 5,
+          "value": 3,
+        },
+        Object {
+          "source": 3,
+          "target": 6,
+          "value": 9,
+        },
+        Object {
+          "source": 3,
+          "target": 7,
+          "value": 2,
+        },
+        Object {
+          "source": 4,
+          "target": 5,
+          "value": 5,
+        },
+        Object {
+          "source": 4,
+          "target": 6,
+          "value": 9,
+        },
+        Object {
+          "source": 4,
+          "target": 7,
+          "value": 8,
+        },
+      ],
+      "nodes": Array [
+        Object {
+          "color": "#ea38a6",
+          "name": "Remain+No – 28",
+          "nodeId": 0,
+        },
+        Object {
+          "color": "#038387",
+          "name": "Leave+No – 16",
+          "nodeId": 1,
+        },
+        Object {
+          "color": "#8764b8",
+          "name": "Remain+Yes – 21",
+          "nodeId": 2,
+        },
+        Object {
+          "color": "#11910d",
+          "name": "Leave+Yes – 14",
+          "nodeId": 3,
+        },
+        Object {
+          "color": "#3487c7",
+          "name": "Didn’t vote in at least one referendum – 21",
+          "nodeId": 4,
+        },
+        Object {
+          "color": "#d06228",
+          "name": "46 – No",
+          "nodeId": 5,
+        },
+        Object {
+          "color": "#689920",
+          "name": "39 – Yes",
+          "nodeId": 6,
+        },
+        Object {
+          "color": "#ba58c9",
+          "name": "14 – Don’t know / would not vote",
+          "nodeId": 7,
+        },
+      ],
+    },
+    "chartTitle": "Scottish Referendum Voters who now want Independence",
+  },
+  "enableReflow": true,
+  "height": 772,
+  "shouldResize": 1212,
+  "styles": Object {
+    "root": Object {
+      "fontSize": 10,
+    },
+  },
+  "width": 440,
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToScatterChartProps - Should return area chart props 1`] = `
+Object {
+  "data": Object {
+    "chartTitle": "",
+    "lineChartData": Array [
+      Object {
+        "color": "#f7adda",
+        "data": Array [
+          Object {
+            "x": 0,
+            "y": 0.17048910089864067,
+          },
+          Object {
+            "x": 1,
+            "y": 0.05390702725063046,
+          },
+          Object {
+            "x": 2,
+            "y": 0.7560889217240573,
+          },
+          Object {
+            "x": 3,
+            "y": 0.7393313216390578,
+          },
+          Object {
+            "x": 4,
+            "y": 0.7562979443674754,
+          },
+          Object {
+            "x": 5,
+            "y": 0.983908108492343,
+          },
+          Object {
+            "x": 6,
+            "y": 0.4552096139092071,
+          },
+          Object {
+            "x": 7,
+            "y": 0.751939393026647,
+          },
+          Object {
+            "x": 8,
+            "y": 0.42441695150031034,
+          },
+          Object {
+            "x": 9,
+            "y": 0.6119820237450841,
+          },
+        ],
+        "legend": "a",
+      },
+      Object {
+        "color": "#9bd9db",
+        "data": Array [
+          Object {
+            "x": 0,
+            "y": 1.0921498980687505,
+          },
+          Object {
+            "x": 1,
+            "y": 0.628379692444796,
+          },
+          Object {
+            "x": 2,
+            "y": 1.6804387333467445,
+          },
+          Object {
+            "x": 3,
+            "y": 1.1741874271317159,
+          },
+          Object {
+            "x": 4,
+            "y": 1.7098535938519392,
+          },
+          Object {
+            "x": 5,
+            "y": 1.0165440369832146,
+          },
+          Object {
+            "x": 6,
+            "y": 0.8201578488720772,
+          },
+          Object {
+            "x": 7,
+            "y": 1.019179653143562,
+          },
+          Object {
+            "x": 8,
+            "y": 0.5391840333768539,
+          },
+          Object {
+            "x": 9,
+            "y": 0.9023036941696878,
+          },
+        ],
+        "legend": "b",
+      },
+      Object {
+        "color": "#b29ad4",
+        "data": Array [
+          Object {
+            "x": 0,
+            "y": 1.5084498776097979,
+          },
+          Object {
+            "x": 1,
+            "y": 1.0993096327196032,
+          },
+          Object {
+            "x": 2,
+            "y": 2.5468884763826125,
+          },
+          Object {
+            "x": 3,
+            "y": 1.3139261978658,
+          },
+          Object {
+            "x": 4,
+            "y": 1.7288516603693358,
+          },
+          Object {
+            "x": 5,
+            "y": 1.3500413551768342,
+          },
+          Object {
+            "x": 6,
+            "y": 1.4111774146124456,
+          },
+          Object {
+            "x": 7,
+            "y": 1.1245312639069405,
+          },
+          Object {
+            "x": 8,
+            "y": 1.4068617318281056,
+          },
+          Object {
+            "x": 9,
+            "y": 0.9236499701488171,
+          },
+        ],
+        "legend": "c",
+      },
+      Object {
+        "color": "#a4cc6c",
+        "data": Array [
+          Object {
+            "x": 0,
+            "y": 1.912915766078795,
+          },
+          Object {
+            "x": 1,
+            "y": 1.6450103381519354,
+          },
+          Object {
+            "x": 2,
+            "y": 3.523866933241722,
+          },
+          Object {
+            "x": 3,
+            "y": 1.656799203492564,
+          },
+          Object {
+            "x": 4,
+            "y": 2.666064160881149,
+          },
+          Object {
+            "x": 5,
+            "y": 2.2985767814076814,
+          },
+          Object {
+            "x": 6,
+            "y": 1.6491300653173326,
+          },
+          Object {
+            "x": 7,
+            "y": 1.2880873970749964,
+          },
+          Object {
+            "x": 8,
+            "y": 2.192375146193222,
+          },
+          Object {
+            "x": 9,
+            "y": 1.6271909616796654,
+          },
+        ],
+        "legend": "d",
+      },
+    ],
+  },
+  "supportNegativeData": true,
+  "xAxisTitle": "",
+  "yAxisTitle": "",
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToScatterChartProps - Should return line chart props 1`] = `
+Object {
+  "data": Object {
+    "chartTitle": "",
+    "lineChartData": Array [
+      Object {
+        "color": "#a7e3a5",
+        "data": Array [
+          Object {
+            "x": 2015-01-01T00:00:00.000Z,
+            "y": 0.5353935439391206,
+          },
+          Object {
+            "x": 2015-01-02T00:00:00.000Z,
+            "y": -0.3510205670171982,
+          },
+          Object {
+            "x": 2015-01-03T00:00:00.000Z,
+            "y": -1.3420793330744663,
+          },
+          Object {
+            "x": 2015-01-04T00:00:00.000Z,
+            "y": -1.683479706754631,
+          },
+          Object {
+            "x": 2015-01-05T00:00:00.000Z,
+            "y": -2.0207368899942826,
+          },
+          Object {
+            "x": 2015-01-06T00:00:00.000Z,
+            "y": 0.006604084375472663,
+          },
+          Object {
+            "x": 2015-01-07T00:00:00.000Z,
+            "y": 0.8037048387382045,
+          },
+          Object {
+            "x": 2015-01-08T00:00:00.000Z,
+            "y": 1.6685589999803645,
+          },
+          Object {
+            "x": 2015-01-09T00:00:00.000Z,
+            "y": 1.2683547027403048,
+          },
+          Object {
+            "x": 2015-01-10T00:00:00.000Z,
+            "y": -1.3330462677331034,
+          },
+          Object {
+            "x": 2015-01-11T00:00:00.000Z,
+            "y": -1.8663123665480104,
+          },
+          Object {
+            "x": 2015-01-12T00:00:00.000Z,
+            "y": -2.8051461261147357,
+          },
+          Object {
+            "x": 2015-01-13T00:00:00.000Z,
+            "y": -4.563508055068453,
+          },
+          Object {
+            "x": 2015-01-14T00:00:00.000Z,
+            "y": -3.7591847216910996,
+          },
+          Object {
+            "x": 2015-01-15T00:00:00.000Z,
+            "y": -3.5134185618878746,
+          },
+          Object {
+            "x": 2015-01-16T00:00:00.000Z,
+            "y": -5.3419268826351995,
+          },
+          Object {
+            "x": 2015-01-17T00:00:00.000Z,
+            "y": -3.332156069299614,
+          },
+          Object {
+            "x": 2015-01-18T00:00:00.000Z,
+            "y": -3.5678897362109545,
+          },
+          Object {
+            "x": 2015-01-19T00:00:00.000Z,
+            "y": -3.8548236009547465,
+          },
+          Object {
+            "x": 2015-01-20T00:00:00.000Z,
+            "y": -4.58628192762981,
+          },
+          Object {
+            "x": 2015-01-21T00:00:00.000Z,
+            "y": -4.116554826788904,
+          },
+          Object {
+            "x": 2015-01-22T00:00:00.000Z,
+            "y": -2.7610003378381496,
+          },
+          Object {
+            "x": 2015-01-23T00:00:00.000Z,
+            "y": -2.621859111953831,
+          },
+          Object {
+            "x": 2015-01-24T00:00:00.000Z,
+            "y": -2.6349689848833315,
+          },
+          Object {
+            "x": 2015-01-25T00:00:00.000Z,
+            "y": -2.0581142585936076,
+          },
+          Object {
+            "x": 2015-01-26T00:00:00.000Z,
+            "y": -0.7744078058377932,
+          },
+          Object {
+            "x": 2015-01-27T00:00:00.000Z,
+            "y": 0.9002451055355818,
+          },
+          Object {
+            "x": 2015-01-28T00:00:00.000Z,
+            "y": 0.8373590393039949,
+          },
+          Object {
+            "x": 2015-01-29T00:00:00.000Z,
+            "y": 0.5532093840234236,
+          },
+          Object {
+            "x": 2015-01-30T00:00:00.000Z,
+            "y": 1.469976651890828,
+          },
+          Object {
+            "x": 2015-01-31T00:00:00.000Z,
+            "y": 3.1860367266233904,
+          },
+          Object {
+            "x": 2015-02-01T00:00:00.000Z,
+            "y": 2.493612510772345,
+          },
+          Object {
+            "x": 2015-02-02T00:00:00.000Z,
+            "y": 1.9464391258267615,
+          },
+          Object {
+            "x": 2015-02-03T00:00:00.000Z,
+            "y": 1.8807283125005585,
+          },
+          Object {
+            "x": 2015-02-04T00:00:00.000Z,
+            "y": 3.0189402685173534,
+          },
+          Object {
+            "x": 2015-02-05T00:00:00.000Z,
+            "y": 4.556005864163605,
+          },
+          Object {
+            "x": 2015-02-06T00:00:00.000Z,
+            "y": 5.516442345945973,
+          },
+          Object {
+            "x": 2015-02-07T00:00:00.000Z,
+            "y": 4.319606652282435,
+          },
+          Object {
+            "x": 2015-02-08T00:00:00.000Z,
+            "y": 6.845756127344204,
+          },
+          Object {
+            "x": 2015-02-09T00:00:00.000Z,
+            "y": 7.053236096270982,
+          },
+          Object {
+            "x": 2015-02-10T00:00:00.000Z,
+            "y": 7.681494725458877,
+          },
+          Object {
+            "x": 2015-02-11T00:00:00.000Z,
+            "y": 7.526563745782537,
+          },
+          Object {
+            "x": 2015-02-12T00:00:00.000Z,
+            "y": 8.858342186205558,
+          },
+          Object {
+            "x": 2015-02-13T00:00:00.000Z,
+            "y": 9.021889375014881,
+          },
+          Object {
+            "x": 2015-02-14T00:00:00.000Z,
+            "y": 8.209805336778926,
+          },
+          Object {
+            "x": 2015-02-15T00:00:00.000Z,
+            "y": 9.383959972549016,
+          },
+          Object {
+            "x": 2015-02-16T00:00:00.000Z,
+            "y": 11.195848970970625,
+          },
+          Object {
+            "x": 2015-02-17T00:00:00.000Z,
+            "y": 12.561537445362251,
+          },
+          Object {
+            "x": 2015-02-18T00:00:00.000Z,
+            "y": 14.373511358982237,
+          },
+          Object {
+            "x": 2015-02-19T00:00:00.000Z,
+            "y": 15.887456275652418,
+          },
+          Object {
+            "x": 2015-02-20T00:00:00.000Z,
+            "y": 14.491455240251522,
+          },
+          Object {
+            "x": 2015-02-21T00:00:00.000Z,
+            "y": 15.199461217404735,
+          },
+          Object {
+            "x": 2015-02-22T00:00:00.000Z,
+            "y": 16.378844807972094,
+          },
+          Object {
+            "x": 2015-02-23T00:00:00.000Z,
+            "y": 14.348345501207364,
+          },
+          Object {
+            "x": 2015-02-24T00:00:00.000Z,
+            "y": 14.961597203409823,
+          },
+          Object {
+            "x": 2015-02-25T00:00:00.000Z,
+            "y": 15.457566696478484,
+          },
+          Object {
+            "x": 2015-02-26T00:00:00.000Z,
+            "y": 14.942769687687289,
+          },
+          Object {
+            "x": 2015-02-27T00:00:00.000Z,
+            "y": 15.721527909780036,
+          },
+          Object {
+            "x": 2015-02-28T00:00:00.000Z,
+            "y": 13.091278962257627,
+          },
+          Object {
+            "x": 2015-03-01T00:00:00.000Z,
+            "y": 14.295247001092115,
+          },
+          Object {
+            "x": 2015-03-02T00:00:00.000Z,
+            "y": 15.296655272416865,
+          },
+          Object {
+            "x": 2015-03-03T00:00:00.000Z,
+            "y": 14.436440585461526,
+          },
+          Object {
+            "x": 2015-03-04T00:00:00.000Z,
+            "y": 13.912453188370755,
+          },
+          Object {
+            "x": 2015-03-05T00:00:00.000Z,
+            "y": 12.433861225213807,
+          },
+          Object {
+            "x": 2015-03-06T00:00:00.000Z,
+            "y": 14.061345247447989,
+          },
+          Object {
+            "x": 2015-03-07T00:00:00.000Z,
+            "y": 13.326092951912521,
+          },
+          Object {
+            "x": 2015-03-08T00:00:00.000Z,
+            "y": 13.566974950387175,
+          },
+          Object {
+            "x": 2015-03-09T00:00:00.000Z,
+            "y": 12.96345607653163,
+          },
+          Object {
+            "x": 2015-03-10T00:00:00.000Z,
+            "y": 12.205278846692087,
+          },
+          Object {
+            "x": 2015-03-11T00:00:00.000Z,
+            "y": 11.364010452431279,
+          },
+          Object {
+            "x": 2015-03-12T00:00:00.000Z,
+            "y": 12.120962982512733,
+          },
+          Object {
+            "x": 2015-03-13T00:00:00.000Z,
+            "y": 13.570258079014422,
+          },
+          Object {
+            "x": 2015-03-14T00:00:00.000Z,
+            "y": 14.613857418348378,
+          },
+          Object {
+            "x": 2015-03-15T00:00:00.000Z,
+            "y": 15.48868026864105,
+          },
+          Object {
+            "x": 2015-03-16T00:00:00.000Z,
+            "y": 15.421250297066777,
+          },
+          Object {
+            "x": 2015-03-17T00:00:00.000Z,
+            "y": 16.562957844203055,
+          },
+          Object {
+            "x": 2015-03-18T00:00:00.000Z,
+            "y": 16.365666723485436,
+          },
+          Object {
+            "x": 2015-03-19T00:00:00.000Z,
+            "y": 15.848038393086913,
+          },
+          Object {
+            "x": 2015-03-20T00:00:00.000Z,
+            "y": 16.170083705874156,
+          },
+          Object {
+            "x": 2015-03-21T00:00:00.000Z,
+            "y": 16.446617416519754,
+          },
+          Object {
+            "x": 2015-03-22T00:00:00.000Z,
+            "y": 15.024371154281331,
+          },
+          Object {
+            "x": 2015-03-23T00:00:00.000Z,
+            "y": 14.802238239296665,
+          },
+          Object {
+            "x": 2015-03-24T00:00:00.000Z,
+            "y": 13.156751496135007,
+          },
+          Object {
+            "x": 2015-03-25T00:00:00.000Z,
+            "y": 14.06168725142282,
+          },
+          Object {
+            "x": 2015-03-26T00:00:00.000Z,
+            "y": 14.94588113322983,
+          },
+          Object {
+            "x": 2015-03-27T00:00:00.000Z,
+            "y": 14.127589669913032,
+          },
+          Object {
+            "x": 2015-03-28T00:00:00.000Z,
+            "y": 13.885898170515487,
+          },
+          Object {
+            "x": 2015-03-29T00:00:00.000Z,
+            "y": 13.692030694564533,
+          },
+          Object {
+            "x": 2015-03-30T00:00:00.000Z,
+            "y": 14.943253908206318,
+          },
+          Object {
+            "x": 2015-03-31T00:00:00.000Z,
+            "y": 14.529368596515058,
+          },
+          Object {
+            "x": 2015-04-01T00:00:00.000Z,
+            "y": 14.661473471114782,
+          },
+          Object {
+            "x": 2015-04-02T00:00:00.000Z,
+            "y": 13.67375983483632,
+          },
+          Object {
+            "x": 2015-04-03T00:00:00.000Z,
+            "y": 13.382284458918326,
+          },
+          Object {
+            "x": 2015-04-04T00:00:00.000Z,
+            "y": 12.527287002966496,
+          },
+          Object {
+            "x": 2015-04-05T00:00:00.000Z,
+            "y": 12.767994473001014,
+          },
+          Object {
+            "x": 2015-04-06T00:00:00.000Z,
+            "y": 12.651030056419879,
+          },
+          Object {
+            "x": 2015-04-07T00:00:00.000Z,
+            "y": 12.141617852418765,
+          },
+          Object {
+            "x": 2015-04-08T00:00:00.000Z,
+            "y": 13.606694447410502,
+          },
+          Object {
+            "x": 2015-04-09T00:00:00.000Z,
+            "y": 13.923089943159189,
+          },
+          Object {
+            "x": 2015-04-10T00:00:00.000Z,
+            "y": 14.003348672865656,
+          },
+        ],
+        "legend": "Trace 0",
+      },
+      Object {
+        "color": "#83bdeb",
+        "data": Array [
+          Object {
+            "x": 2015-01-01T00:00:00.000Z,
+            "y": -2.58404773330316,
+          },
+          Object {
+            "x": 2015-01-02T00:00:00.000Z,
+            "y": -1.9162964761259451,
+          },
+          Object {
+            "x": 2015-01-03T00:00:00.000Z,
+            "y": -1.8899798841571565,
+          },
+          Object {
+            "x": 2015-01-04T00:00:00.000Z,
+            "y": -1.098466181069551,
+          },
+          Object {
+            "x": 2015-01-05T00:00:00.000Z,
+            "y": -1.2161136413159992,
+          },
+          Object {
+            "x": 2015-01-06T00:00:00.000Z,
+            "y": -0.9298011508867184,
+          },
+          Object {
+            "x": 2015-01-07T00:00:00.000Z,
+            "y": -2.5216450120142193,
+          },
+          Object {
+            "x": 2015-01-08T00:00:00.000Z,
+            "y": -1.5547013224314532,
+          },
+          Object {
+            "x": 2015-01-09T00:00:00.000Z,
+            "y": -3.1293219775443117,
+          },
+          Object {
+            "x": 2015-01-10T00:00:00.000Z,
+            "y": -2.7232351981528025,
+          },
+          Object {
+            "x": 2015-01-11T00:00:00.000Z,
+            "y": -1.704449229625379,
+          },
+          Object {
+            "x": 2015-01-12T00:00:00.000Z,
+            "y": -1.2702366750752472,
+          },
+          Object {
+            "x": 2015-01-13T00:00:00.000Z,
+            "y": -1.7688923656442583,
+          },
+          Object {
+            "x": 2015-01-14T00:00:00.000Z,
+            "y": -1.9810878959630682,
+          },
+          Object {
+            "x": 2015-01-15T00:00:00.000Z,
+            "y": -1.0881359248000217,
+          },
+          Object {
+            "x": 2015-01-16T00:00:00.000Z,
+            "y": -0.5214761704035035,
+          },
+          Object {
+            "x": 2015-01-17T00:00:00.000Z,
+            "y": -0.639866394654719,
+          },
+          Object {
+            "x": 2015-01-18T00:00:00.000Z,
+            "y": -2.258513886233204,
+          },
+          Object {
+            "x": 2015-01-19T00:00:00.000Z,
+            "y": -0.8711892253875131,
+          },
+          Object {
+            "x": 2015-01-20T00:00:00.000Z,
+            "y": -0.45426547393253053,
+          },
+          Object {
+            "x": 2015-01-21T00:00:00.000Z,
+            "y": -2.4076676391235785,
+          },
+          Object {
+            "x": 2015-01-22T00:00:00.000Z,
+            "y": -2.2450025826137097,
+          },
+          Object {
+            "x": 2015-01-23T00:00:00.000Z,
+            "y": -2.3488062397069234,
+          },
+          Object {
+            "x": 2015-01-24T00:00:00.000Z,
+            "y": -3.2188990647525304,
+          },
+          Object {
+            "x": 2015-01-25T00:00:00.000Z,
+            "y": -2.6042445674055594,
+          },
+          Object {
+            "x": 2015-01-26T00:00:00.000Z,
+            "y": -2.9702468803291966,
+          },
+          Object {
+            "x": 2015-01-27T00:00:00.000Z,
+            "y": -4.139691822816822,
+          },
+          Object {
+            "x": 2015-01-28T00:00:00.000Z,
+            "y": -3.9967022316870042,
+          },
+          Object {
+            "x": 2015-01-29T00:00:00.000Z,
+            "y": -4.796271521377118,
+          },
+          Object {
+            "x": 2015-01-30T00:00:00.000Z,
+            "y": -5.244924380701339,
+          },
+          Object {
+            "x": 2015-01-31T00:00:00.000Z,
+            "y": -6.965620503609484,
+          },
+          Object {
+            "x": 2015-02-01T00:00:00.000Z,
+            "y": -6.430396926773768,
+          },
+          Object {
+            "x": 2015-02-02T00:00:00.000Z,
+            "y": -5.234457265252843,
+          },
+          Object {
+            "x": 2015-02-03T00:00:00.000Z,
+            "y": -6.181791776690352,
+          },
+          Object {
+            "x": 2015-02-04T00:00:00.000Z,
+            "y": -7.3464387119459085,
+          },
+          Object {
+            "x": 2015-02-05T00:00:00.000Z,
+            "y": -7.085650875056526,
+          },
+          Object {
+            "x": 2015-02-06T00:00:00.000Z,
+            "y": -6.795217278293396,
+          },
+          Object {
+            "x": 2015-02-07T00:00:00.000Z,
+            "y": -6.08725142043377,
+          },
+          Object {
+            "x": 2015-02-08T00:00:00.000Z,
+            "y": -5.3416313194169875,
+          },
+          Object {
+            "x": 2015-02-09T00:00:00.000Z,
+            "y": -4.900094995211111,
+          },
+          Object {
+            "x": 2015-02-10T00:00:00.000Z,
+            "y": -4.715363010029477,
+          },
+          Object {
+            "x": 2015-02-11T00:00:00.000Z,
+            "y": -3.6757033584677927,
+          },
+          Object {
+            "x": 2015-02-12T00:00:00.000Z,
+            "y": -5.873900613367271,
+          },
+          Object {
+            "x": 2015-02-13T00:00:00.000Z,
+            "y": -7.685787089886274,
+          },
+          Object {
+            "x": 2015-02-14T00:00:00.000Z,
+            "y": -8.833149292574403,
+          },
+          Object {
+            "x": 2015-02-15T00:00:00.000Z,
+            "y": -9.373517123532867,
+          },
+          Object {
+            "x": 2015-02-16T00:00:00.000Z,
+            "y": -10.519456187180836,
+          },
+          Object {
+            "x": 2015-02-17T00:00:00.000Z,
+            "y": -8.012082850355387,
+          },
+          Object {
+            "x": 2015-02-18T00:00:00.000Z,
+            "y": -8.556759031756883,
+          },
+          Object {
+            "x": 2015-02-19T00:00:00.000Z,
+            "y": -8.78527769843948,
+          },
+          Object {
+            "x": 2015-02-20T00:00:00.000Z,
+            "y": -8.801850250864483,
+          },
+          Object {
+            "x": 2015-02-21T00:00:00.000Z,
+            "y": -9.031427690493008,
+          },
+          Object {
+            "x": 2015-02-22T00:00:00.000Z,
+            "y": -9.289972806031075,
+          },
+          Object {
+            "x": 2015-02-23T00:00:00.000Z,
+            "y": -8.434541044235305,
+          },
+          Object {
+            "x": 2015-02-24T00:00:00.000Z,
+            "y": -8.543619303217836,
+          },
+          Object {
+            "x": 2015-02-25T00:00:00.000Z,
+            "y": -9.817816201809572,
+          },
+          Object {
+            "x": 2015-02-26T00:00:00.000Z,
+            "y": -9.691704922707196,
+          },
+          Object {
+            "x": 2015-02-27T00:00:00.000Z,
+            "y": -9.172230718814316,
+          },
+          Object {
+            "x": 2015-02-28T00:00:00.000Z,
+            "y": -10.389025830978015,
+          },
+          Object {
+            "x": 2015-03-01T00:00:00.000Z,
+            "y": -9.418276522564378,
+          },
+          Object {
+            "x": 2015-03-02T00:00:00.000Z,
+            "y": -8.844666134378604,
+          },
+          Object {
+            "x": 2015-03-03T00:00:00.000Z,
+            "y": -10.649699554950736,
+          },
+          Object {
+            "x": 2015-03-04T00:00:00.000Z,
+            "y": -11.433978738990442,
+          },
+          Object {
+            "x": 2015-03-05T00:00:00.000Z,
+            "y": -11.022214964648152,
+          },
+          Object {
+            "x": 2015-03-06T00:00:00.000Z,
+            "y": -11.156982299530265,
+          },
+          Object {
+            "x": 2015-03-07T00:00:00.000Z,
+            "y": -12.846500605483975,
+          },
+          Object {
+            "x": 2015-03-08T00:00:00.000Z,
+            "y": -12.700459270895378,
+          },
+          Object {
+            "x": 2015-03-09T00:00:00.000Z,
+            "y": -13.701718476553872,
+          },
+          Object {
+            "x": 2015-03-10T00:00:00.000Z,
+            "y": -14.281259852458456,
+          },
+          Object {
+            "x": 2015-03-11T00:00:00.000Z,
+            "y": -13.197701892598191,
+          },
+          Object {
+            "x": 2015-03-12T00:00:00.000Z,
+            "y": -13.444607930505104,
+          },
+          Object {
+            "x": 2015-03-13T00:00:00.000Z,
+            "y": -12.703127086621702,
+          },
+          Object {
+            "x": 2015-03-14T00:00:00.000Z,
+            "y": -12.38184968649959,
+          },
+          Object {
+            "x": 2015-03-15T00:00:00.000Z,
+            "y": -13.545422038889187,
+          },
+          Object {
+            "x": 2015-03-16T00:00:00.000Z,
+            "y": -12.062411162554307,
+          },
+          Object {
+            "x": 2015-03-17T00:00:00.000Z,
+            "y": -12.190051993521331,
+          },
+          Object {
+            "x": 2015-03-18T00:00:00.000Z,
+            "y": -13.801739083658532,
+          },
+          Object {
+            "x": 2015-03-19T00:00:00.000Z,
+            "y": -14.198265394729127,
+          },
+          Object {
+            "x": 2015-03-20T00:00:00.000Z,
+            "y": -14.29078542197376,
+          },
+          Object {
+            "x": 2015-03-21T00:00:00.000Z,
+            "y": -13.45263060195906,
+          },
+          Object {
+            "x": 2015-03-22T00:00:00.000Z,
+            "y": -13.130412206893606,
+          },
+          Object {
+            "x": 2015-03-23T00:00:00.000Z,
+            "y": -14.189794518505105,
+          },
+          Object {
+            "x": 2015-03-24T00:00:00.000Z,
+            "y": -12.647928857811877,
+          },
+          Object {
+            "x": 2015-03-25T00:00:00.000Z,
+            "y": -13.252175401809115,
+          },
+          Object {
+            "x": 2015-03-26T00:00:00.000Z,
+            "y": -13.526006774399674,
+          },
+          Object {
+            "x": 2015-03-27T00:00:00.000Z,
+            "y": -13.640567463371012,
+          },
+          Object {
+            "x": 2015-03-28T00:00:00.000Z,
+            "y": -13.234252510186453,
+          },
+          Object {
+            "x": 2015-03-29T00:00:00.000Z,
+            "y": -12.313307209824384,
+          },
+          Object {
+            "x": 2015-03-30T00:00:00.000Z,
+            "y": -11.218557557877709,
+          },
+          Object {
+            "x": 2015-03-31T00:00:00.000Z,
+            "y": -10.7821947135954,
+          },
+          Object {
+            "x": 2015-04-01T00:00:00.000Z,
+            "y": -8.89016408336461,
+          },
+          Object {
+            "x": 2015-04-02T00:00:00.000Z,
+            "y": -9.662631443485989,
+          },
+          Object {
+            "x": 2015-04-03T00:00:00.000Z,
+            "y": -6.909371824212538,
+          },
+          Object {
+            "x": 2015-04-04T00:00:00.000Z,
+            "y": -7.048202688582138,
+          },
+          Object {
+            "x": 2015-04-05T00:00:00.000Z,
+            "y": -4.971706592042745,
+          },
+          Object {
+            "x": 2015-04-06T00:00:00.000Z,
+            "y": -4.310618310025603,
+          },
+          Object {
+            "x": 2015-04-07T00:00:00.000Z,
+            "y": -2.954237793688564,
+          },
+          Object {
+            "x": 2015-04-08T00:00:00.000Z,
+            "y": -2.0883264569176156,
+          },
+          Object {
+            "x": 2015-04-09T00:00:00.000Z,
+            "y": 1.1805740980198571,
+          },
+          Object {
+            "x": 2015-04-10T00:00:00.000Z,
+            "y": 0.5040426644599496,
+          },
+        ],
+        "legend": "Trace 1",
+      },
+      Object {
+        "color": "#df8e64",
+        "data": Array [
+          Object {
+            "x": 2015-01-01T00:00:00.000Z,
+            "y": 0.4661114764240781,
+          },
+          Object {
+            "x": 2015-01-02T00:00:00.000Z,
+            "y": 1.0610769506804194,
+          },
+          Object {
+            "x": 2015-01-03T00:00:00.000Z,
+            "y": 1.0620659379275244,
+          },
+          Object {
+            "x": 2015-01-04T00:00:00.000Z,
+            "y": -0.5603096501263787,
+          },
+          Object {
+            "x": 2015-01-05T00:00:00.000Z,
+            "y": -0.22966983294858567,
+          },
+          Object {
+            "x": 2015-01-06T00:00:00.000Z,
+            "y": 1.1358334022099883,
+          },
+          Object {
+            "x": 2015-01-07T00:00:00.000Z,
+            "y": 1.8697838063194905,
+          },
+          Object {
+            "x": 2015-01-08T00:00:00.000Z,
+            "y": 1.8307593169232188,
+          },
+          Object {
+            "x": 2015-01-09T00:00:00.000Z,
+            "y": 2.6294937170536055,
+          },
+          Object {
+            "x": 2015-01-10T00:00:00.000Z,
+            "y": 1.456439760404607,
+          },
+          Object {
+            "x": 2015-01-11T00:00:00.000Z,
+            "y": 3.571977139947352,
+          },
+          Object {
+            "x": 2015-01-12T00:00:00.000Z,
+            "y": 3.305623978930223,
+          },
+          Object {
+            "x": 2015-01-13T00:00:00.000Z,
+            "y": 4.369054542737759,
+          },
+          Object {
+            "x": 2015-01-14T00:00:00.000Z,
+            "y": 4.134928856846778,
+          },
+          Object {
+            "x": 2015-01-15T00:00:00.000Z,
+            "y": 2.525747905079978,
+          },
+          Object {
+            "x": 2015-01-16T00:00:00.000Z,
+            "y": 4.45625041538837,
+          },
+          Object {
+            "x": 2015-01-17T00:00:00.000Z,
+            "y": 5.331621195457201,
+          },
+          Object {
+            "x": 2015-01-18T00:00:00.000Z,
+            "y": 5.01722152487662,
+          },
+          Object {
+            "x": 2015-01-19T00:00:00.000Z,
+            "y": 3.2730061427478807,
+          },
+          Object {
+            "x": 2015-01-20T00:00:00.000Z,
+            "y": 2.3895586625726164,
+          },
+          Object {
+            "x": 2015-01-21T00:00:00.000Z,
+            "y": 1.5551868349111646,
+          },
+          Object {
+            "x": 2015-01-22T00:00:00.000Z,
+            "y": 0.9222137047406664,
+          },
+          Object {
+            "x": 2015-01-23T00:00:00.000Z,
+            "y": -0.2408476097748915,
+          },
+          Object {
+            "x": 2015-01-24T00:00:00.000Z,
+            "y": -0.7735805458656726,
+          },
+          Object {
+            "x": 2015-01-25T00:00:00.000Z,
+            "y": -0.8871954038346644,
+          },
+          Object {
+            "x": 2015-01-26T00:00:00.000Z,
+            "y": -1.9822438634492547,
+          },
+          Object {
+            "x": 2015-01-27T00:00:00.000Z,
+            "y": -0.8886612143982666,
+          },
+          Object {
+            "x": 2015-01-28T00:00:00.000Z,
+            "y": -0.7149527896910689,
+          },
+          Object {
+            "x": 2015-01-29T00:00:00.000Z,
+            "y": -1.1377284325144619,
+          },
+          Object {
+            "x": 2015-01-30T00:00:00.000Z,
+            "y": -1.7585300048885872,
+          },
+          Object {
+            "x": 2015-01-31T00:00:00.000Z,
+            "y": -2.8117170543153254,
+          },
+          Object {
+            "x": 2015-02-01T00:00:00.000Z,
+            "y": -2.6809842525932175,
+          },
+          Object {
+            "x": 2015-02-02T00:00:00.000Z,
+            "y": -1.6457602974924186,
+          },
+          Object {
+            "x": 2015-02-03T00:00:00.000Z,
+            "y": -2.1361202183757593,
+          },
+          Object {
+            "x": 2015-02-04T00:00:00.000Z,
+            "y": -3.506112394459107,
+          },
+          Object {
+            "x": 2015-02-05T00:00:00.000Z,
+            "y": -3.338531391597358,
+          },
+          Object {
+            "x": 2015-02-06T00:00:00.000Z,
+            "y": -5.511057758779813,
+          },
+          Object {
+            "x": 2015-02-07T00:00:00.000Z,
+            "y": -3.5261371875358676,
+          },
+          Object {
+            "x": 2015-02-08T00:00:00.000Z,
+            "y": -4.05255557741406,
+          },
+          Object {
+            "x": 2015-02-09T00:00:00.000Z,
+            "y": -5.188415501615373,
+          },
+          Object {
+            "x": 2015-02-10T00:00:00.000Z,
+            "y": -6.032557392677557,
+          },
+          Object {
+            "x": 2015-02-11T00:00:00.000Z,
+            "y": -5.6858700345353785,
+          },
+          Object {
+            "x": 2015-02-12T00:00:00.000Z,
+            "y": -6.667528307767753,
+          },
+          Object {
+            "x": 2015-02-13T00:00:00.000Z,
+            "y": -6.733517550988596,
+          },
+          Object {
+            "x": 2015-02-14T00:00:00.000Z,
+            "y": -7.0502984033473615,
+          },
+          Object {
+            "x": 2015-02-15T00:00:00.000Z,
+            "y": -7.574898212324232,
+          },
+          Object {
+            "x": 2015-02-16T00:00:00.000Z,
+            "y": -7.1843491903366,
+          },
+          Object {
+            "x": 2015-02-17T00:00:00.000Z,
+            "y": -6.080355259797091,
+          },
+          Object {
+            "x": 2015-02-18T00:00:00.000Z,
+            "y": -6.398354606750326,
+          },
+          Object {
+            "x": 2015-02-19T00:00:00.000Z,
+            "y": -6.286331305269291,
+          },
+          Object {
+            "x": 2015-02-20T00:00:00.000Z,
+            "y": -7.175762338255774,
+          },
+          Object {
+            "x": 2015-02-21T00:00:00.000Z,
+            "y": -6.6277002690607105,
+          },
+          Object {
+            "x": 2015-02-22T00:00:00.000Z,
+            "y": -6.031655281290095,
+          },
+          Object {
+            "x": 2015-02-23T00:00:00.000Z,
+            "y": -5.243102836583583,
+          },
+          Object {
+            "x": 2015-02-24T00:00:00.000Z,
+            "y": -4.612608200873672,
+          },
+          Object {
+            "x": 2015-02-25T00:00:00.000Z,
+            "y": -5.180512683218164,
+          },
+          Object {
+            "x": 2015-02-26T00:00:00.000Z,
+            "y": -5.0321319726702916,
+          },
+          Object {
+            "x": 2015-02-27T00:00:00.000Z,
+            "y": -4.567844497333498,
+          },
+          Object {
+            "x": 2015-02-28T00:00:00.000Z,
+            "y": -3.347239903958168,
+          },
+          Object {
+            "x": 2015-03-01T00:00:00.000Z,
+            "y": -2.5263058621799597,
+          },
+          Object {
+            "x": 2015-03-02T00:00:00.000Z,
+            "y": -3.554423668680612,
+          },
+          Object {
+            "x": 2015-03-03T00:00:00.000Z,
+            "y": -1.7466537357472816,
+          },
+          Object {
+            "x": 2015-03-04T00:00:00.000Z,
+            "y": 0.08618389027480222,
+          },
+          Object {
+            "x": 2015-03-05T00:00:00.000Z,
+            "y": 1.0223852208396356,
+          },
+          Object {
+            "x": 2015-03-06T00:00:00.000Z,
+            "y": 2.2260700096326724,
+          },
+          Object {
+            "x": 2015-03-07T00:00:00.000Z,
+            "y": 2.976731277433707,
+          },
+          Object {
+            "x": 2015-03-08T00:00:00.000Z,
+            "y": 2.5457541264066235,
+          },
+          Object {
+            "x": 2015-03-09T00:00:00.000Z,
+            "y": 2.412842465270771,
+          },
+          Object {
+            "x": 2015-03-10T00:00:00.000Z,
+            "y": 2.1270496073872933,
+          },
+          Object {
+            "x": 2015-03-11T00:00:00.000Z,
+            "y": 4.350264423349324,
+          },
+          Object {
+            "x": 2015-03-12T00:00:00.000Z,
+            "y": 3.6000820362032346,
+          },
+          Object {
+            "x": 2015-03-13T00:00:00.000Z,
+            "y": 3.6547717673422704,
+          },
+          Object {
+            "x": 2015-03-14T00:00:00.000Z,
+            "y": 4.29856786980301,
+          },
+          Object {
+            "x": 2015-03-15T00:00:00.000Z,
+            "y": 4.61832134099102,
+          },
+          Object {
+            "x": 2015-03-16T00:00:00.000Z,
+            "y": 5.1364308299997825,
+          },
+          Object {
+            "x": 2015-03-17T00:00:00.000Z,
+            "y": 5.647209819441451,
+          },
+          Object {
+            "x": 2015-03-18T00:00:00.000Z,
+            "y": 6.041357011724418,
+          },
+          Object {
+            "x": 2015-03-19T00:00:00.000Z,
+            "y": 4.789997568683162,
+          },
+          Object {
+            "x": 2015-03-20T00:00:00.000Z,
+            "y": 6.041650920258338,
+          },
+          Object {
+            "x": 2015-03-21T00:00:00.000Z,
+            "y": 5.860878612223213,
+          },
+          Object {
+            "x": 2015-03-22T00:00:00.000Z,
+            "y": 5.6050673038102214,
+          },
+          Object {
+            "x": 2015-03-23T00:00:00.000Z,
+            "y": 3.900259274681964,
+          },
+          Object {
+            "x": 2015-03-24T00:00:00.000Z,
+            "y": 2.1974477295325476,
+          },
+          Object {
+            "x": 2015-03-25T00:00:00.000Z,
+            "y": 0.979239291658772,
+          },
+          Object {
+            "x": 2015-03-26T00:00:00.000Z,
+            "y": 0.9769412141062032,
+          },
+          Object {
+            "x": 2015-03-27T00:00:00.000Z,
+            "y": 1.1215546396840912,
+          },
+          Object {
+            "x": 2015-03-28T00:00:00.000Z,
+            "y": 1.4131546401228463,
+          },
+          Object {
+            "x": 2015-03-29T00:00:00.000Z,
+            "y": -0.5715019565360024,
+          },
+          Object {
+            "x": 2015-03-30T00:00:00.000Z,
+            "y": -0.4798030419178908,
+          },
+          Object {
+            "x": 2015-03-31T00:00:00.000Z,
+            "y": -0.19867316746947167,
+          },
+          Object {
+            "x": 2015-04-01T00:00:00.000Z,
+            "y": -1.3237063703965808,
+          },
+          Object {
+            "x": 2015-04-02T00:00:00.000Z,
+            "y": -1.5132847802948692,
+          },
+          Object {
+            "x": 2015-04-03T00:00:00.000Z,
+            "y": -0.9466159703619573,
+          },
+          Object {
+            "x": 2015-04-04T00:00:00.000Z,
+            "y": 1.3543877997088902,
+          },
+          Object {
+            "x": 2015-04-05T00:00:00.000Z,
+            "y": 1.3745632832250965,
+          },
+          Object {
+            "x": 2015-04-06T00:00:00.000Z,
+            "y": 1.2843024279329955,
+          },
+          Object {
+            "x": 2015-04-07T00:00:00.000Z,
+            "y": 1.1384756757773304,
+          },
+          Object {
+            "x": 2015-04-08T00:00:00.000Z,
+            "y": 1.841477239971831,
+          },
+          Object {
+            "x": 2015-04-09T00:00:00.000Z,
+            "y": 1.0626945214201182,
+          },
+          Object {
+            "x": 2015-04-10T00:00:00.000Z,
+            "y": 1.6018849370336259,
+          },
+        ],
+        "legend": "Trace 2",
+      },
+    ],
+  },
+  "supportNegativeData": true,
+  "xAxisTitle": "",
+  "yAxisTitle": "",
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToVBCProps - Should return VBC props 1`] = `
+Object {
+  "barWidth": 24,
+  "chartTitle": "",
+  "data": Array [
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": -1.75,
+      "xAxisCalloutData": "[-2 - -1.5)",
+      "y": 3,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": -1.25,
+      "xAxisCalloutData": "[-1.5 - -1)",
+      "y": 18,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": -0.75,
+      "xAxisCalloutData": "[-1 - -0.5)",
+      "y": 53,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": -0.25,
+      "xAxisCalloutData": "[-0.5 - 0)",
+      "y": 87,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": 0.25,
+      "xAxisCalloutData": "[0 - 0.5)",
+      "y": 129,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": 0.75,
+      "xAxisCalloutData": "[0.5 - 1)",
+      "y": 194,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": 1.25,
+      "xAxisCalloutData": "[1 - 1.5)",
+      "y": 188,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": 1.75,
+      "xAxisCalloutData": "[1.5 - 2)",
+      "y": 163,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": 2.25,
+      "xAxisCalloutData": "[2 - 2.5)",
+      "y": 102,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": 2.75,
+      "xAxisCalloutData": "[2.5 - 3)",
+      "y": 44,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": 3.25,
+      "xAxisCalloutData": "[3 - 3.5)",
+      "y": 11,
+    },
+    Object {
+      "color": "#f7adda",
+      "legend": "a",
+      "x": 3.75,
+      "xAxisCalloutData": "[3.5 - 4)",
+      "y": 8,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": -2.75,
+      "xAxisCalloutData": "[-3 - -2.5)",
+      "y": 6,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": -2.25,
+      "xAxisCalloutData": "[-2.5 - -2)",
+      "y": 11,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": -1.75,
+      "xAxisCalloutData": "[-2 - -1.5)",
+      "y": 40,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": -1.25,
+      "xAxisCalloutData": "[-1.5 - -1)",
+      "y": 100,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": -0.75,
+      "xAxisCalloutData": "[-1 - -0.5)",
+      "y": 158,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": -0.25,
+      "xAxisCalloutData": "[-0.5 - 0)",
+      "y": 189,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": 0.25,
+      "xAxisCalloutData": "[0 - 0.5)",
+      "y": 192,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": 0.75,
+      "xAxisCalloutData": "[0.5 - 1)",
+      "y": 148,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": 1.25,
+      "xAxisCalloutData": "[1 - 1.5)",
+      "y": 90,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": 1.75,
+      "xAxisCalloutData": "[1.5 - 2)",
+      "y": 47,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": 2.25,
+      "xAxisCalloutData": "[2 - 2.5)",
+      "y": 18,
+    },
+    Object {
+      "color": "#9bd9db",
+      "legend": "b",
+      "x": 2.75,
+      "xAxisCalloutData": "[2.5 - 3)",
+      "y": 1,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": -4.25,
+      "xAxisCalloutData": "[-4.5 - -4)",
+      "y": 2,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": -3.75,
+      "xAxisCalloutData": "[-4 - -3.5)",
+      "y": 4,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": -3.25,
+      "xAxisCalloutData": "[-3.5 - -3)",
+      "y": 8,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": -2.75,
+      "xAxisCalloutData": "[-3 - -2.5)",
+      "y": 49,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": -2.25,
+      "xAxisCalloutData": "[-2.5 - -2)",
+      "y": 99,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": -1.75,
+      "xAxisCalloutData": "[-2 - -1.5)",
+      "y": 137,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": -1.25,
+      "xAxisCalloutData": "[-1.5 - -1)",
+      "y": 220,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": -0.75,
+      "xAxisCalloutData": "[-1 - -0.5)",
+      "y": 181,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": -0.25,
+      "xAxisCalloutData": "[-0.5 - 0)",
+      "y": 142,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": 0.25,
+      "xAxisCalloutData": "[0 - 0.5)",
+      "y": 94,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": 0.75,
+      "xAxisCalloutData": "[0.5 - 1)",
+      "y": 45,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": 1.25,
+      "xAxisCalloutData": "[1 - 1.5)",
+      "y": 11,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": 1.75,
+      "xAxisCalloutData": "[1.5 - 2)",
+      "y": 6,
+    },
+    Object {
+      "color": "#b29ad4",
+      "legend": "c",
+      "x": 2.25,
+      "xAxisCalloutData": "[2 - 2.5)",
+      "y": 2,
+    },
+  ],
+  "mode": "plotly",
+  "supportNegativeData": true,
+  "xAxisTitle": "",
+  "yAxisTitle": "",
+}
+`;
+
+exports[`transform Plotly Json To chart Props transformPlotlyJsonToVSBCProps - Should return VSBC props 1`] = `
+Object {
+  "barWidth": "auto",
+  "chartTitle": "",
+  "data": Array [
+    Object {
+      "chartData": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2000,
+          "legend": "Category A",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3000,
+          "legend": "Category B",
+        },
+      ],
+      "lineData": Array [],
+      "xAxisPoint": "Jan",
+    },
+    Object {
+      "chartData": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2100,
+          "legend": "Category A",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3100,
+          "legend": "Category B",
+        },
+      ],
+      "lineData": Array [],
+      "xAxisPoint": "Feb",
+    },
+    Object {
+      "chartData": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2200,
+          "legend": "Category A",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3200,
+          "legend": "Category B",
+        },
+      ],
+      "lineData": Array [],
+      "xAxisPoint": "Mar",
+    },
+    Object {
+      "chartData": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2300,
+          "legend": "Category A",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3300,
+          "legend": "Category B",
+        },
+      ],
+      "lineData": Array [],
+      "xAxisPoint": "Apr",
+    },
+    Object {
+      "chartData": Array [
+        Object {
+          "color": "#c19c00",
+          "data": 2400,
+          "legend": "Category A",
+        },
+        Object {
+          "color": "#c8d1fa",
+          "data": 3400,
+          "legend": "Category B",
+        },
+      ],
+      "lineData": Array [],
+      "xAxisPoint": "May",
+    },
+  ],
+  "mode": "plotly",
+  "xAxisTitle": "",
+  "yAxisTitle": "",
+  "yMaxValue": 3400,
+}
+`;
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_groupedverticalbarchart_test.json b/packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_groupedverticalbarchart_test.json
new file mode 100644
index 00000000000000..97c18b6462b187
--- /dev/null
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_groupedverticalbarchart_test.json
@@ -0,0 +1,95 @@
+{
+  "visualizer": "plotly",
+  "data": [
+    {
+      "uid": "2f399e",
+      "type": "bar",
+      "x": ["Jan", "Feb", "Mar", "Apr", "May"],
+      "y": [2000, 2100, 2200, 2300, 2400],
+      "name": "Category A",
+      "zmax": 1,
+      "zmin": 0,
+      "xbins": {
+        "end": 2499.5,
+        "size": 500,
+        "start": -500.5
+      },
+      "ybins": {
+        "end": 23.5,
+        "size": 1,
+        "start": -1.5
+      },
+      "opacity": 1,
+      "visible": true,
+      "autobinx": true,
+      "autobiny": true,
+      "contours": {
+        "end": 0.901,
+        "size": 0.1,
+        "start": 0.1,
+        "coloring": "fill",
+        "showlines": true
+      },
+      "showlegend": true,
+      "orientation": "v"
+    },
+    {
+      "uid": "2f399e",
+      "type": "bar",
+      "x": ["Jan", "Feb", "Mar", "Apr", "May"],
+      "y": [3000, 3100, 3200, 3300, 3400],
+      "name": "Category B",
+      "zmax": 1,
+      "zmin": 0,
+      "xbins": {
+        "end": 2499.5,
+        "size": 500,
+        "start": -500.5
+      },
+      "ybins": {
+        "end": 23.5,
+        "size": 1,
+        "start": -1.5
+      },
+      "opacity": 1,
+      "visible": true,
+      "autobinx": true,
+      "autobiny": true,
+      "contours": {
+        "end": 0.901,
+        "size": 0.1,
+        "start": 0.1,
+        "coloring": "fill",
+        "showlines": true
+      },
+      "showlegend": true,
+      "orientation": "v"
+    }
+  ],
+  "layout": {
+    "title": "PHP Framework Popularity at Work - SitePoint, 2015",
+    "width": 850,
+    "xaxis": {
+      "type": "linear",
+      "range": [-198.2562959184288, 1830.6731869091736],
+      "title": "Votes",
+      "autorange": false
+    },
+    "yaxis": {
+      "type": "category",
+      "range": [-3.301575351429676, 23.42061223132087],
+      "title": "Framework",
+      "autorange": false
+    },
+    "height": 742,
+    "margin": {
+      "l": 210,
+      "pad": 4
+    },
+    "barmode": "group",
+    "barnorm": "",
+    "autosize": true,
+    "showlegend": false
+  },
+  "frames": []
+}
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_nesteddata_test.json b/packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_nesteddata_test.json
new file mode 100644
index 00000000000000..4e726910baac16
--- /dev/null
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_nesteddata_test.json
@@ -0,0 +1,23 @@
+[
+  {
+    "level1": {
+      "level2": {
+        "level3": {
+          "level4": {
+            "level5": {
+              "level6": {
+                "level7": {
+                  "level8": {
+                    "level9": {
+                      "level10": "Testing data"
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+]
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_verticalstackedbarchart_test.json b/packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_verticalstackedbarchart_test.json
new file mode 100644
index 00000000000000..c87c4978b72adc
--- /dev/null
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/tests/schema/fluent_verticalstackedbarchart_test.json
@@ -0,0 +1,75 @@
+{
+  "visualizer": "plotly",
+  "data": [
+    {
+      "type": "bar",
+      "x": ["Jan", "Feb", "Mar", "Apr", "May"],
+      "y": [2000, 2100, 2200, 2300, 2400],
+      "name": "Category A",
+      "xaxis": "x1",
+      "yaxis": "y1",
+      "marker": {
+        "line": {
+          "width": 1
+        },
+        "color": "#0000FF"
+      },
+      "opacity": 1,
+      "orientation": "v"
+    },
+    {
+      "type": "bar",
+      "x": ["Jan", "Feb", "Mar", "Apr", "May"],
+      "y": [3000, 3100, 3200, 3300, 3400],
+      "name": "Category B",
+      "xaxis": "x1",
+      "yaxis": "y1",
+      "marker": {
+        "line": {
+          "width": 1
+        },
+        "color": "#007F00"
+      },
+      "opacity": 1,
+      "orientation": "v"
+    }
+  ],
+  "layout": {
+    "bargap": 11.864179406671795,
+    "xaxis1": {
+      "side": "bottom",
+      "type": "linear",
+      "range": [50, 300],
+      "ticks": "inside",
+      "anchor": "y1",
+      "domain": [0, 1],
+      "mirror": "ticks",
+      "nticks": 6,
+      "showgrid": false,
+      "showline": true,
+      "tickfont": {
+        "size": 12
+      },
+      "zeroline": false
+    },
+    "yaxis1": {
+      "side": "left",
+      "type": "linear",
+      "range": [0, 350],
+      "ticks": "inside",
+      "anchor": "x1",
+      "domain": [0, 1],
+      "mirror": "ticks",
+      "nticks": 8,
+      "showgrid": false,
+      "showline": true,
+      "tickfont": {
+        "size": 12
+      },
+      "zeroline": false
+    },
+    "hovermode": "closest",
+    "showlegend": false
+  },
+  "frames": []
+}

From c26be3e3a85258c61111cf2dd5c19798d3a4e936 Mon Sep 17 00:00:00 2001
From: Anush Gupta <74965306+Anush2303@users.noreply.github.com>
Date: Thu, 16 Jan 2025 16:07:45 +0530
Subject: [PATCH 48/78] fix(react-charting): Sankey chart Dark mode fix
 (#33671)

---
 ...eact-charting-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json | 7 +++++++
 .../src/components/SankeyChart/SankeyChart.base.tsx        | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)
 create mode 100644 change/@fluentui-react-charting-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json

diff --git a/change/@fluentui-react-charting-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json b/change/@fluentui-react-charting-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json
new file mode 100644
index 00000000000000..63507f79520dc7
--- /dev/null
+++ b/change/@fluentui-react-charting-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "Make Dark mode text visible",
+  "packageName": "@fluentui/react-charting",
+  "email": "74965306+Anush2303@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/charts/react-charting/src/components/SankeyChart/SankeyChart.base.tsx b/packages/charts/react-charting/src/components/SankeyChart/SankeyChart.base.tsx
index 163ce0796fb1e3..810b06acac2859 100644
--- a/packages/charts/react-charting/src/components/SankeyChart/SankeyChart.base.tsx
+++ b/packages/charts/react-charting/src/components/SankeyChart/SankeyChart.base.tsx
@@ -1344,7 +1344,7 @@ export class SankeyChartBase extends React.Component<ISankeyChartProps, ISankeyC
   private _showTooltip(text: string, checkTrcuncated: boolean, div: any, evt: any) {
     if (checkTrcuncated) {
       //Fixing tooltip position by attaching it to the element rather than page
-      div.style('opacity', 0.9);
+      div.style('opacity', 0.9).style('color', this.props.theme!.palette.neutralPrimary);
       div
         .html(text)
         .style('left', evt.pageX + 'px')

From 4db8229aa6938526432af9511f247072c21a72ac Mon Sep 17 00:00:00 2001
From: Victor Genaev <vgenaev@gmail.com>
Date: Thu, 16 Jan 2025 12:10:29 +0100
Subject: [PATCH 49/78] fix(react-tooltip): wrong call of
 useIsNavigatingWithKeyboard (#33666)

Co-authored-by: viktorgenaev <viktorgenaev@microsoft.com>
---
 ...react-tooltip-4088de96-b20d-4c18-9567-9987be622dbf.json | 7 +++++++
 .../library/src/components/Tooltip/useTooltip.tsx          | 4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)
 create mode 100644 change/@fluentui-react-tooltip-4088de96-b20d-4c18-9567-9987be622dbf.json

diff --git a/change/@fluentui-react-tooltip-4088de96-b20d-4c18-9567-9987be622dbf.json b/change/@fluentui-react-tooltip-4088de96-b20d-4c18-9567-9987be622dbf.json
new file mode 100644
index 00000000000000..d8e0b5362d896c
--- /dev/null
+++ b/change/@fluentui-react-tooltip-4088de96-b20d-4c18-9567-9987be622dbf.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: wrong call of useIsNavigatingWithKeyboard",
+  "packageName": "@fluentui/react-tooltip",
+  "email": "viktorgenaev@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-tooltip/library/src/components/Tooltip/useTooltip.tsx b/packages/react-components/react-tooltip/library/src/components/Tooltip/useTooltip.tsx
index 8d5382f23353f9..443acabe6049c8 100644
--- a/packages/react-components/react-tooltip/library/src/components/Tooltip/useTooltip.tsx
+++ b/packages/react-components/react-tooltip/library/src/components/Tooltip/useTooltip.tsx
@@ -177,7 +177,7 @@ export const useTooltip_unstable = (props: TooltipProps): TooltipState => {
     [setDelayTimeout, setVisible, state.showDelay, context],
   );
 
-  const isNavigatingWithKeyboard = useIsNavigatingWithKeyboard()();
+  const isNavigatingWithKeyboard = useIsNavigatingWithKeyboard();
 
   // Callback ref that attaches a keyborg:focusin event listener.
   const [keyborgListenerCallbackRef] = React.useState(() => {
@@ -186,7 +186,7 @@ export const useTooltip_unstable = (props: TooltipProps): TooltipState => {
       // For example, we don't want to show the tooltip when a dialog is closed
       // and Tabster programmatically restores focus to the trigger button.
       // See https://github.com/microsoft/fluentui/issues/27576
-      if (ev.detail?.isFocusedProgrammatically && !isNavigatingWithKeyboard) {
+      if (ev.detail?.isFocusedProgrammatically && !isNavigatingWithKeyboard()) {
         ignoreNextFocusEventRef.current = true;
       }
     }) as EventListener;

From 61b0ae7487a1e24a61b0f4990b4a2073d27bbe5c Mon Sep 17 00:00:00 2001
From: MidnightCrowing <110297461+MidnightCrowing@users.noreply.github.com>
Date: Thu, 16 Jan 2025 20:01:33 +0800
Subject: [PATCH 50/78] docs(public-docsite-v9): fix typo from "CCS variables"
 to "CSS variables" (#33675)

---
 apps/public-docsite-v9/src/Concepts/Theming.stories.mdx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/apps/public-docsite-v9/src/Concepts/Theming.stories.mdx b/apps/public-docsite-v9/src/Concepts/Theming.stories.mdx
index c79f39c86363bf..aae124ac7f8146 100644
--- a/apps/public-docsite-v9/src/Concepts/Theming.stories.mdx
+++ b/apps/public-docsite-v9/src/Concepts/Theming.stories.mdx
@@ -22,7 +22,7 @@ No matter what theme is used, the component styles are always the same. The only
 
 Those tokens are resolved to CSS variables. The `FluentProvider` component is responsible for setting the values of the CSS variables in DOM and changing them when the theme changes. When the theme is switched, only the variables are changed, all styles remain the same.
 
-Place a `<FluentProvider />` at the root of your app and pass a theme to the `theme` prop. The provider will render a `div` and set all tokens as CSS variables on that element. The provider also propagates CCS variables to React portals created with [Portal component](?path=/docs/components-portal--default).
+Place a `<FluentProvider />` at the root of your app and pass a theme to the `theme` prop. The provider will render a `div` and set all tokens as CSS variables on that element. The provider also propagates CSS variables to React portals created with [Portal component](?path=/docs/components-portal--default).
 
 ```jsx
 import { FluentProvider, teamsLightTheme } from '@fluentui/react-components';

From 9331bcc59d84d033784c73eab870155a02286ce5 Mon Sep 17 00:00:00 2001
From: Robert Penner <robertpenner@microsoft.com>
Date: Thu, 16 Jan 2025 09:21:07 -0500
Subject: [PATCH 51/78] refactor(Collapse): streamline atom functions (#33463)

---
 ...-67537ce1-b461-4bec-bbcb-61d9202e6632.json |   7 +
 .../library/src/atoms/fade-atom.ts            |  33 +++++
 .../src/components/Collapse/Collapse.ts       |  55 ++------
 .../src/components/Collapse/collapse-atoms.ts | 120 ++++++------------
 .../library/src/components/Fade/Fade.ts       |   5 +-
 5 files changed, 94 insertions(+), 126 deletions(-)
 create mode 100644 change/@fluentui-react-motion-components-preview-67537ce1-b461-4bec-bbcb-61d9202e6632.json
 create mode 100644 packages/react-components/react-motion-components-preview/library/src/atoms/fade-atom.ts

diff --git a/change/@fluentui-react-motion-components-preview-67537ce1-b461-4bec-bbcb-61d9202e6632.json b/change/@fluentui-react-motion-components-preview-67537ce1-b461-4bec-bbcb-61d9202e6632.json
new file mode 100644
index 00000000000000..970d564c51cda6
--- /dev/null
+++ b/change/@fluentui-react-motion-components-preview-67537ce1-b461-4bec-bbcb-61d9202e6632.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "refactor(Collapse): streamline motion atom functions",
+  "packageName": "@fluentui/react-motion-components-preview",
+  "email": "robertpenner@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-motion-components-preview/library/src/atoms/fade-atom.ts b/packages/react-components/react-motion-components-preview/library/src/atoms/fade-atom.ts
new file mode 100644
index 00000000000000..91b369be83ff71
--- /dev/null
+++ b/packages/react-components/react-motion-components-preview/library/src/atoms/fade-atom.ts
@@ -0,0 +1,33 @@
+import { AtomMotion, PresenceDirection, motionTokens } from '@fluentui/react-motion';
+
+interface FadeAtomParams {
+  direction: PresenceDirection;
+  duration: number;
+  easing?: string;
+  fromValue?: number;
+}
+
+/**
+ * Generates a motion atom object for a fade in or fade out.
+ * @param direction - The functional direction of the motion: 'enter' or 'exit'.
+ * @param duration - The duration of the motion in milliseconds.
+ * @param easing - The easing curve for the motion. Defaults to `motionTokens.curveLinear`.
+ * @param fromValue - The starting opacity value. Defaults to 0.
+ * @returns A motion atom object with opacity keyframes and the supplied duration and easing.
+ */
+export const fadeAtom = ({
+  direction,
+  duration,
+  easing = motionTokens.curveLinear,
+  fromValue = 0,
+}: FadeAtomParams): AtomMotion => {
+  const keyframes = [{ opacity: fromValue }, { opacity: 1 }];
+  if (direction === 'exit') {
+    keyframes.reverse();
+  }
+  return {
+    keyframes,
+    duration,
+    easing,
+  };
+};
diff --git a/packages/react-components/react-motion-components-preview/library/src/components/Collapse/Collapse.ts b/packages/react-components/react-motion-components-preview/library/src/components/Collapse/Collapse.ts
index 6aa4b7bb66d5dc..22c8862cc3b82f 100644
--- a/packages/react-components/react-motion-components-preview/library/src/components/Collapse/Collapse.ts
+++ b/packages/react-components/react-motion-components-preview/library/src/components/Collapse/Collapse.ts
@@ -1,14 +1,8 @@
 import { motionTokens, createPresenceComponent, AtomMotion } from '@fluentui/react-motion';
 import type { PresenceMotionFnCreator } from '../../types';
 import type { CollapseDelayedVariantParams, CollapseRuntimeParams, CollapseVariantParams } from './collapse-types';
-import {
-  sizeEnterAtom,
-  whitespaceEnterAtom,
-  opacityEnterAtom,
-  opacityExitAtom,
-  sizeExitAtom,
-  whitespaceExitAtom,
-} from './collapse-atoms';
+import { sizeEnterAtom, sizeExitAtom, whitespaceAtom } from './collapse-atoms';
+import { fadeAtom } from '../../atoms/fade-atom';
 
 /** Define a presence motion for collapse/expand that can stagger the size and opacity motions by a given delay. */
 export const createCollapseDelayedPresence: PresenceMotionFnCreator<
@@ -32,27 +26,16 @@ export const createCollapseDelayedPresence: PresenceMotionFnCreator<
     // ----- ENTER -----
     // The enter transition is an array of up to 3 motion atoms: size, whitespace and opacity.
     const enterAtoms: AtomMotion[] = [
-      sizeEnterAtom({
-        orientation,
-        duration: enterSizeDuration,
-        easing: enterEasing,
-        element,
-      }),
-      whitespaceEnterAtom({
-        orientation,
-        duration: enterSizeDuration,
-        easing: enterEasing,
-      }),
+      sizeEnterAtom({ orientation, duration: enterSizeDuration, easing: enterEasing, element }),
+      whitespaceAtom({ direction: 'enter', orientation, duration: enterSizeDuration, easing: enterEasing }),
     ];
     // Fade in only if animateOpacity is true. Otherwise, leave opacity unaffected.
     if (animateOpacity) {
-      enterAtoms.push(
-        opacityEnterAtom({
-          duration: enterOpacityDuration,
-          easing: enterEasing,
-          delay: enterDelay,
-        }),
-      );
+      enterAtoms.push({
+        ...fadeAtom({ direction: 'enter', duration: enterOpacityDuration, easing: enterEasing }),
+        delay: enterDelay,
+        fill: 'both',
+      });
     }
 
     // ----- EXIT -----
@@ -60,24 +43,12 @@ export const createCollapseDelayedPresence: PresenceMotionFnCreator<
     const exitAtoms: AtomMotion[] = [];
     // Fade out only if animateOpacity is true. Otherwise, leave opacity unaffected.
     if (animateOpacity) {
-      exitAtoms.push(
-        opacityExitAtom({
-          duration: exitOpacityDuration,
-          easing: exitEasing,
-        }),
-      );
+      exitAtoms.push(fadeAtom({ direction: 'exit', duration: exitOpacityDuration, easing: exitEasing }));
     }
     exitAtoms.push(
-      sizeExitAtom({
-        orientation,
-        duration: exitSizeDuration,
-        easing: exitEasing,
-        element,
-        delay: exitDelay,
-      }),
-    );
-    exitAtoms.push(
-      whitespaceExitAtom({
+      sizeExitAtom({ orientation, duration: exitSizeDuration, easing: exitEasing, element, delay: exitDelay }),
+      whitespaceAtom({
+        direction: 'exit',
         orientation,
         duration: exitSizeDuration,
         easing: exitEasing,
diff --git a/packages/react-components/react-motion-components-preview/library/src/components/Collapse/collapse-atoms.ts b/packages/react-components/react-motion-components-preview/library/src/components/Collapse/collapse-atoms.ts
index 0ce27aa7d91c87..391b8eb2a24023 100644
--- a/packages/react-components/react-motion-components-preview/library/src/components/Collapse/collapse-atoms.ts
+++ b/packages/react-components/react-motion-components-preview/library/src/components/Collapse/collapse-atoms.ts
@@ -1,5 +1,5 @@
-import { AtomMotion } from '@fluentui/react-motion/src/types';
-import type { CollapseOrientation } from './collapse-types';
+import { AtomMotion, PresenceDirection } from '@fluentui/react-motion';
+import { CollapseOrientation } from './collapse-types';
 
 // ----- SIZE -----
 
@@ -11,19 +11,21 @@ const sizeValuesForOrientation = (orientation: CollapseOrientation, element: Ele
   return { sizeName, overflowName, toSize };
 };
 
+interface SizeEnterAtomParams {
+  orientation: CollapseOrientation;
+  duration: number;
+  easing: string;
+  element: HTMLElement;
+  fromSize?: string;
+}
+
 export const sizeEnterAtom = ({
   orientation,
   duration,
   easing,
   element,
   fromSize = '0',
-}: {
-  orientation: CollapseOrientation;
-  duration: number;
-  easing: string;
-  element: HTMLElement;
-  fromSize?: string;
-}): AtomMotion => {
+}: SizeEnterAtomParams): AtomMotion => {
   const { sizeName, overflowName, toSize } = sizeValuesForOrientation(orientation, element);
 
   return {
@@ -37,6 +39,10 @@ export const sizeEnterAtom = ({
   };
 };
 
+interface SizeExitAtomParams extends SizeEnterAtomParams {
+  delay?: number;
+}
+
 export const sizeExitAtom = ({
   orientation,
   duration,
@@ -44,14 +50,7 @@ export const sizeExitAtom = ({
   element,
   delay = 0,
   fromSize = '0',
-}: {
-  orientation: CollapseOrientation;
-  duration: number;
-  easing: string;
-  element: HTMLElement;
-  delay?: number;
-  fromSize?: string;
-}): AtomMotion => {
+}: SizeExitAtomParams): AtomMotion => {
   const { sizeName, overflowName, toSize } = sizeValuesForOrientation(orientation, element);
 
   return {
@@ -88,82 +87,39 @@ const whitespaceValuesForOrientation = (orientation: CollapseOrientation) => {
   };
 };
 
-// Because a height of zero does not eliminate padding or margin,
-// we will create keyframes to animate them to zero.
-export const whitespaceEnterAtom = ({
-  orientation,
-  duration,
-  easing,
-}: {
+interface WhitespaceAtomParams {
+  direction: PresenceDirection;
   orientation: CollapseOrientation;
   duration: number;
   easing: string;
-}): AtomMotion => {
-  const { paddingStart, paddingEnd, marginStart, marginEnd } = whitespaceValuesForOrientation(orientation);
-  return {
-    // Animate from whitespace of zero to the current whitespace, by omitting the ending keyframe.
-    keyframes: [{ [paddingStart]: '0', [paddingEnd]: '0', [marginStart]: '0', [marginEnd]: '0', offset: 0 }],
-    duration,
-    easing,
-  };
-};
+  delay?: number;
+}
 
-export const whitespaceExitAtom = ({
+/**
+ * A collapse animates an element's height to zero,
+ but the zero height does not eliminate padding or margin in the box model.
+ So here we generate keyframes to animate those whitespace properties to zero.
+ */
+export const whitespaceAtom = ({
+  direction,
   orientation,
   duration,
   easing,
   delay = 0,
-}: {
-  orientation: CollapseOrientation;
-  duration: number;
-  easing: string;
-  delay?: number;
-}): AtomMotion => {
+}: WhitespaceAtomParams): AtomMotion => {
   const { paddingStart, paddingEnd, marginStart, marginEnd } = whitespaceValuesForOrientation(orientation);
-  return {
-    // Animate from the current whitespace to whitespace of zero, by using offset 1 and omitting the starting keyframe.
-    keyframes: [{ [paddingStart]: '0', [paddingEnd]: '0', [marginStart]: '0', [marginEnd]: '0', offset: 1 }],
+  // The keyframe with zero whitespace is at the start for enter and at the end for exit.
+  const offset = direction === 'enter' ? 0 : 1;
+  const keyframes = [{ [paddingStart]: '0', [paddingEnd]: '0', [marginStart]: '0', [marginEnd]: '0', offset }];
+
+  const atom: AtomMotion = {
+    keyframes,
     duration,
     easing,
-    fill: 'forwards',
     delay,
   };
+  if (direction === 'exit') {
+    atom.fill = 'forwards';
+  }
+  return atom;
 };
-
-// ----- OPACITY -----
-
-export const opacityEnterAtom = ({
-  duration,
-  easing,
-  delay = 0,
-  fromOpacity = 0,
-  toOpacity = 1,
-}: {
-  duration: number;
-  easing: string;
-  delay?: number;
-  fromOpacity?: number;
-  toOpacity?: number;
-}): AtomMotion => ({
-  keyframes: [{ opacity: fromOpacity }, { opacity: toOpacity }],
-  duration,
-  easing,
-  delay,
-  fill: 'both',
-});
-
-export const opacityExitAtom = ({
-  duration,
-  easing,
-  fromOpacity = 0,
-  toOpacity = 1,
-}: {
-  duration: number;
-  easing: string;
-  fromOpacity?: number;
-  toOpacity?: number;
-}): AtomMotion => ({
-  keyframes: [{ opacity: toOpacity }, { opacity: fromOpacity }],
-  duration,
-  easing,
-});
diff --git a/packages/react-components/react-motion-components-preview/library/src/components/Fade/Fade.ts b/packages/react-components/react-motion-components-preview/library/src/components/Fade/Fade.ts
index 03ca3ea60567a1..d373d235504b69 100644
--- a/packages/react-components/react-motion-components-preview/library/src/components/Fade/Fade.ts
+++ b/packages/react-components/react-motion-components-preview/library/src/components/Fade/Fade.ts
@@ -1,5 +1,6 @@
 import { motionTokens, createPresenceComponent } from '@fluentui/react-motion';
 import type { PresenceMotionCreator } from '../../types';
+import { fadeAtom } from '../../atoms/fade-atom';
 
 type FadeVariantParams = {
   /** Time (ms) for the enter transition (fade-in). Defaults to the `durationNormal` value (200 ms). */
@@ -22,8 +23,8 @@ export const createFadePresence: PresenceMotionCreator<FadeVariantParams> = ({
   exitDuration = enterDuration,
   exitEasing = enterEasing,
 } = {}) => ({
-  enter: { duration: enterDuration, easing: enterEasing, keyframes: [{ opacity: 0 }, { opacity: 1 }] },
-  exit: { duration: exitDuration, easing: exitEasing, keyframes: [{ opacity: 1 }, { opacity: 0 }] },
+  enter: fadeAtom({ direction: 'enter', duration: enterDuration, easing: enterEasing }),
+  exit: fadeAtom({ direction: 'exit', duration: exitDuration, easing: exitEasing }),
 });
 
 /** A React component that applies fade in/out transitions to its children. */

From 620ea3f1daa6a4cf9bb37961569f4756c3b3f95f Mon Sep 17 00:00:00 2001
From: Bernardo Sunderhus <bernardo.sunderhus@gmail.com>
Date: Thu, 16 Jan 2025 19:12:55 +0100
Subject: [PATCH 52/78] feature(react-tree): TreeRootReset component (#33663)

---
 ...-8e070f58-09e6-4a66-bd63-bbd13b27db88.json |   7 +
 ...-b452026f-0282-4a88-a922-34c2a983c77c.json |   7 +
 .../etc/react-components.api.md               |   3 +
 .../react-components/src/index.ts             |   1 +
 .../react-tree/library/etc/react-tree.api.md  |   3 +
 .../src/components/TreeProvider.cy.tsx        | 153 ++++++++++++++++++
 .../library/src/components/TreeProvider.tsx   |  10 ++
 .../library/src/hooks/useRovingTabIndexes.ts  |  19 ++-
 .../react-tree/library/src/index.ts           |   2 +-
 9 files changed, 198 insertions(+), 7 deletions(-)
 create mode 100644 change/@fluentui-react-components-8e070f58-09e6-4a66-bd63-bbd13b27db88.json
 create mode 100644 change/@fluentui-react-tree-b452026f-0282-4a88-a922-34c2a983c77c.json
 create mode 100644 packages/react-components/react-tree/library/src/components/TreeProvider.cy.tsx

diff --git a/change/@fluentui-react-components-8e070f58-09e6-4a66-bd63-bbd13b27db88.json b/change/@fluentui-react-components-8e070f58-09e6-4a66-bd63-bbd13b27db88.json
new file mode 100644
index 00000000000000..ddc6a6c41d1080
--- /dev/null
+++ b/change/@fluentui-react-components-8e070f58-09e6-4a66-bd63-bbd13b27db88.json
@@ -0,0 +1,7 @@
+{
+  "type": "minor",
+  "comment": "feature: TreeRootReset component",
+  "packageName": "@fluentui/react-components",
+  "email": "bernardo.sunderhus@gmail.com",
+  "dependentChangeType": "patch"
+}
diff --git a/change/@fluentui-react-tree-b452026f-0282-4a88-a922-34c2a983c77c.json b/change/@fluentui-react-tree-b452026f-0282-4a88-a922-34c2a983c77c.json
new file mode 100644
index 00000000000000..7e09b55e865d5d
--- /dev/null
+++ b/change/@fluentui-react-tree-b452026f-0282-4a88-a922-34c2a983c77c.json
@@ -0,0 +1,7 @@
+{
+  "type": "minor",
+  "comment": "feature: TreeRootReset component",
+  "packageName": "@fluentui/react-tree",
+  "email": "bernardo.sunderhus@gmail.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-components/etc/react-components.api.md b/packages/react-components/react-components/etc/react-components.api.md
index 75bc436038bc95..a64d3393804726 100644
--- a/packages/react-components/react-components/etc/react-components.api.md
+++ b/packages/react-components/react-components/etc/react-components.api.md
@@ -1368,6 +1368,7 @@ import { TreeOpenChangeData } from '@fluentui/react-tree';
 import { TreeOpenChangeEvent } from '@fluentui/react-tree';
 import { TreeProps } from '@fluentui/react-tree';
 import { TreeProvider } from '@fluentui/react-tree';
+import { TreeRootReset } from '@fluentui/react-tree';
 import { TreeSelectionValue } from '@fluentui/react-tree';
 import { TreeSlots } from '@fluentui/react-tree';
 import { TreeState } from '@fluentui/react-tree';
@@ -4552,6 +4553,8 @@ export { TreeProps }
 
 export { TreeProvider }
 
+export { TreeRootReset }
+
 export { TreeSelectionValue }
 
 export { TreeSlots }
diff --git a/packages/react-components/react-components/src/index.ts b/packages/react-components/react-components/src/index.ts
index dc4d8fbed60524..1c0315c6d29141 100644
--- a/packages/react-components/react-components/src/index.ts
+++ b/packages/react-components/react-components/src/index.ts
@@ -1306,6 +1306,7 @@ export {
   useTreeItem_unstable,
   useTreeStyles_unstable,
   useTree_unstable,
+  TreeRootReset,
 } from '@fluentui/react-tree';
 
 export type {
diff --git a/packages/react-components/react-tree/library/etc/react-tree.api.md b/packages/react-components/react-tree/library/etc/react-tree.api.md
index 1fbeac4b6638b2..419d5b136e4352 100644
--- a/packages/react-components/react-tree/library/etc/react-tree.api.md
+++ b/packages/react-components/react-tree/library/etc/react-tree.api.md
@@ -383,6 +383,9 @@ export const TreeProvider: {
     displayName: string;
 };
 
+// @public (undocumented)
+export const TreeRootReset: (props: TreeRootResetProps) => JSX.Element;
+
 // @public (undocumented)
 export type TreeSelectionValue = MultiSelectValue | SingleSelectValue;
 
diff --git a/packages/react-components/react-tree/library/src/components/TreeProvider.cy.tsx b/packages/react-components/react-tree/library/src/components/TreeProvider.cy.tsx
new file mode 100644
index 00000000000000..0b466e8aabbe76
--- /dev/null
+++ b/packages/react-components/react-tree/library/src/components/TreeProvider.cy.tsx
@@ -0,0 +1,153 @@
+import * as React from 'react';
+import { mount as mountBase } from '@cypress/react';
+import { Tree } from '../Tree';
+import { TreeItem, TreeItemProps } from '../TreeItem';
+import { TreeItemLayout } from '../TreeItemLayout';
+import { TreeRootReset } from './TreeProvider';
+import { Popover, PopoverTrigger, PopoverSurface } from '@fluentui/react-popover';
+import { Button } from '@fluentui/react-button';
+import { FluentProvider } from '@fluentui/react-provider';
+import { teamsLightTheme } from '@fluentui/react-theme';
+import { useRestoreFocusTarget } from '@fluentui/react-tabster';
+
+const mount = (element: JSX.Element) => {
+  mountBase(<FluentProvider theme={teamsLightTheme}>{element}</FluentProvider>);
+};
+
+describe('TreeRootReset', () => {
+  it('ensure that a subtree will be treated as a root tree', () => {
+    const handleOpenChange1 = cy.spy().as('handleOpenChange1');
+    const handleOpenChange2 = cy.spy().as('handleOpenChange2');
+
+    mount(
+      <Tree openItems={['item1']} onOpenChange={handleOpenChange1}>
+        <TreeItem value="item1" data-testid="tree-item" itemType="branch">
+          <TreeItemLayout
+            actions={
+              <>
+                <TreeRootReset>
+                  <Tree onOpenChange={handleOpenChange2}>
+                    <TreeItem data-testid="item1" id="item1" value="item1" itemType="branch">
+                      <TreeItemLayout>branch</TreeItemLayout>
+                      <Tree>
+                        <TreeItem data-testid="item2" value="item2" itemType="leaf">
+                          leaf
+                        </TreeItem>
+                      </Tree>
+                    </TreeItem>
+                  </Tree>
+                </TreeRootReset>
+              </>
+            }
+          />
+        </TreeItem>
+      </Tree>,
+    );
+    cy.get('[data-testid="item2"]').should('not.exist');
+    cy.get('[data-testid="tree-item"]').focus();
+    cy.get('[data-testid="item1"]').realClick();
+    cy.get('@handleOpenChange1').should('not.have.been.called');
+    cy.get('@handleOpenChange2').should('have.been.called');
+    cy.get('[data-testid="item2"]').should('exist');
+  });
+  it('ensures basic navigation between multiple trees', () => {
+    mount(<Actions />);
+    cy.get('[data-testid="item1"]').should('exist').focus();
+    cy.get('[data-testid="item2"]').should('not.exist');
+    cy.get('[data-testid="action-button"]').should('exist').realClick();
+    cy.get('[data-testid="item2"]').should('exist').focus().realPress('{esc}');
+    cy.get('[data-testid="action-button"]').should('be.focused').realPress(['Shift', 'Tab']);
+    cy.get('[data-testid="item1"]').should('exist').should('be.focused');
+  });
+});
+
+type CustomTreeItemProps = TreeItemProps;
+
+const CustomTreeItem = ({ children, ...props }: CustomTreeItemProps) => {
+  const focusTargetAttribute = useRestoreFocusTarget();
+  const [layoutChildren, subtree] = React.Children.toArray(children);
+
+  return (
+    <TreeItem aria-description="has actions" {...focusTargetAttribute} {...props}>
+      <TreeItemLayout
+        actions={
+          <>
+            <Popover>
+              <PopoverTrigger>
+                <Button data-testid="action-button" aria-label="Edit" appearance="subtle" icon={<div />} />
+              </PopoverTrigger>
+              <PopoverSurface>
+                <TreeRootReset>
+                  <Tree aria-label="foo">
+                    <TreeItem itemType="leaf">
+                      <TreeItemLayout>Foo</TreeItemLayout>
+                    </TreeItem>
+                    <TreeItem itemType="leaf">
+                      <TreeItemLayout>Foo</TreeItemLayout>
+                    </TreeItem>
+                    <TreeItem data-testid="item2" itemType="branch">
+                      <TreeItemLayout>Foo</TreeItemLayout>
+                      <Tree>
+                        <TreeItem itemType="leaf">
+                          <TreeItemLayout>Foo</TreeItemLayout>
+                        </TreeItem>
+                        <TreeItem itemType="leaf">
+                          <TreeItemLayout>Foo</TreeItemLayout>
+                        </TreeItem>
+                      </Tree>
+                    </TreeItem>
+                  </Tree>
+                </TreeRootReset>
+              </PopoverSurface>
+            </Popover>
+          </>
+        }
+      >
+        {layoutChildren}
+      </TreeItemLayout>
+      {subtree}
+    </TreeItem>
+  );
+};
+
+const Actions = () => {
+  return (
+    <Tree aria-label="Actions">
+      <CustomTreeItem data-testid="item1" itemType="branch">
+        item 1
+        <Tree>
+          <CustomTreeItem itemType="branch">
+            item 1-1
+            <Tree>
+              <CustomTreeItem itemType="leaf">item 1-1-1</CustomTreeItem>
+              <CustomTreeItem itemType="leaf">item 1-1-2</CustomTreeItem>
+              <CustomTreeItem itemType="leaf">item 1-1-3</CustomTreeItem>
+            </Tree>
+          </CustomTreeItem>
+          <CustomTreeItem itemType="leaf">item 1-2</CustomTreeItem>
+          <CustomTreeItem itemType="leaf">item 1-3</CustomTreeItem>
+        </Tree>
+      </CustomTreeItem>
+      <CustomTreeItem itemType="branch">
+        item 2
+        <Tree>
+          <CustomTreeItem itemType="branch">
+            item 2-1
+            <Tree>
+              <CustomTreeItem itemType="leaf">item 2-1-1</CustomTreeItem>
+            </Tree>
+          </CustomTreeItem>
+
+          <CustomTreeItem itemType="branch">
+            item 3
+            <Tree>
+              <CustomTreeItem itemType="leaf">item 3-1</CustomTreeItem>
+              <CustomTreeItem itemType="leaf">item 3-2</CustomTreeItem>
+              <CustomTreeItem itemType="leaf">item 3-3</CustomTreeItem>
+            </Tree>
+          </CustomTreeItem>
+        </Tree>
+      </CustomTreeItem>
+    </Tree>
+  );
+};
diff --git a/packages/react-components/react-tree/library/src/components/TreeProvider.tsx b/packages/react-components/react-tree/library/src/components/TreeProvider.tsx
index ea5e678ee3e387..7e7883e6cb5fbc 100644
--- a/packages/react-components/react-tree/library/src/components/TreeProvider.tsx
+++ b/packages/react-components/react-tree/library/src/components/TreeProvider.tsx
@@ -21,3 +21,13 @@ export const TreeProvider = (props: React.ProviderProps<TreeContextValue | Subtr
 };
 
 TreeProvider.displayName = 'TreeProvider';
+
+export type TreeRootResetProps = {
+  children?: React.ReactNode;
+};
+
+export const TreeRootReset = (props: TreeRootResetProps) => (
+  <SubtreeContext.Provider value={undefined as unknown as SubtreeContextValue}>
+    {props.children}
+  </SubtreeContext.Provider>
+);
diff --git a/packages/react-components/react-tree/library/src/hooks/useRovingTabIndexes.ts b/packages/react-components/react-tree/library/src/hooks/useRovingTabIndexes.ts
index 14d9bc448b178e..bbfe9bdb188c4d 100644
--- a/packages/react-components/react-tree/library/src/hooks/useRovingTabIndexes.ts
+++ b/packages/react-components/react-tree/library/src/hooks/useRovingTabIndexes.ts
@@ -2,7 +2,14 @@ import * as React from 'react';
 import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
 import { HTMLElementWalker } from '../utils/createHTMLElementWalker';
 import { useFocusedElementChange } from '@fluentui/react-tabster';
-import { elementContains } from '@fluentui/react-utilities';
+
+const findTreeItemRoot = (element: HTMLElement) => {
+  let parent = element.parentElement;
+  while (parent && parent.getAttribute('role') !== 'tree') {
+    parent = parent.parentElement;
+  }
+  return parent;
+};
 
 /**
  * @internal
@@ -14,11 +21,11 @@ export function useRovingTabIndex() {
   const { targetDocument } = useFluent();
 
   useFocusedElementChange(element => {
-    if (
-      element?.getAttribute('role') === 'treeitem' &&
-      walkerRef.current &&
-      elementContains(walkerRef.current.root, element)
-    ) {
+    if (element?.getAttribute('role') === 'treeitem' && walkerRef.current && walkerRef.current.root.contains(element)) {
+      const treeitemRoot = findTreeItemRoot(element);
+      if (walkerRef.current.root !== treeitemRoot) {
+        return;
+      }
       rove(element);
     }
   });
diff --git a/packages/react-components/react-tree/library/src/index.ts b/packages/react-components/react-tree/library/src/index.ts
index f018799865bba0..bb0478843dcf80 100644
--- a/packages/react-components/react-tree/library/src/index.ts
+++ b/packages/react-components/react-tree/library/src/index.ts
@@ -32,7 +32,7 @@ export {
 
 export type { FlatTreeSlots, FlatTreeProps, FlatTreeState } from './FlatTree';
 
-export { TreeProvider } from './components/TreeProvider';
+export { TreeProvider, TreeRootReset } from './components/TreeProvider';
 
 export {
   useTreeContext_unstable,

From e9706f78650b2a72e09dca1c5f69f23f4967f33b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kry=C5=A1tof=20Mat=C4=9Bjka?=
 <krystof.matejka@microsoft.com>
Date: Thu, 16 Jan 2025 19:41:42 +0100
Subject: [PATCH 53/78] fix(TagItemSuggestion v8): pass rest of the props to
 the underlying component (#32839)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Kryštof Matějka <kmatejka@microsoft.com>
Co-authored-by: Makoto Morimoto <Humberto.Morimoto@microsoft.com>
---
 ...entui-react-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json | 7 +++++++
 .../components/pickers/TagPicker/TagItemSuggestion.tsx   | 9 +++++++--
 2 files changed, 14 insertions(+), 2 deletions(-)
 create mode 100644 change/@fluentui-react-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json

diff --git a/change/@fluentui-react-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json b/change/@fluentui-react-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json
new file mode 100644
index 00000000000000..97c6822b1874fc
--- /dev/null
+++ b/change/@fluentui-react-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: Passing rest of ITagItemSuggestionProps to the underlying component.",
+  "packageName": "@fluentui/react",
+  "email": "kmatejka@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react/src/components/pickers/TagPicker/TagItemSuggestion.tsx b/packages/react/src/components/pickers/TagPicker/TagItemSuggestion.tsx
index 130e380acd0e6a..67d339b1bfa888 100644
--- a/packages/react/src/components/pickers/TagPicker/TagItemSuggestion.tsx
+++ b/packages/react/src/components/pickers/TagPicker/TagItemSuggestion.tsx
@@ -14,13 +14,18 @@ const getClassNames = classNamesFunction<ITagItemSuggestionStyleProps, ITagItemS
  * {@docCategory TagPicker}
  */
 export const TagItemSuggestionBase = (props: ITagItemSuggestionProps) => {
-  const { styles, theme, children } = props;
+  const { styles, theme, children, ...rest } = props;
 
   const classNames = getClassNames(styles, {
     theme: theme!,
   });
 
-  return <div className={classNames.suggestionTextOverflow}> {children} </div>;
+  return (
+    <div className={classNames.suggestionTextOverflow} {...rest}>
+      {' '}
+      {children}{' '}
+    </div>
+  );
 };
 
 export const TagItemSuggestion = styled<

From 6e8378b3d1ef9b27ed944b5eae855c59ce348836 Mon Sep 17 00:00:00 2001
From: "Kevin T. Coughlin" <706967+KevinTCoughlin@users.noreply.github.com>
Date: Thu, 16 Jan 2025 14:26:24 -0800
Subject: [PATCH 54/78] Remove border property containing typo from
 .ms-PositioningContainer-layerHost root (#32885)

Co-authored-by: Makoto Morimoto <Humberto.Morimoto@microsoft.com>
---
 ...luentui-react-6c85af8f-ca2c-49b6-9cde-63be43588f00.json | 7 +++++++
 .../PositioningContainer/PositioningContainer.styles.ts    | 1 -
 .../Coachmark/__snapshots__/Coachmark.test.tsx.snap        | 3 ---
 3 files changed, 7 insertions(+), 4 deletions(-)
 create mode 100644 change/@fluentui-react-6c85af8f-ca2c-49b6-9cde-63be43588f00.json

diff --git a/change/@fluentui-react-6c85af8f-ca2c-49b6-9cde-63be43588f00.json b/change/@fluentui-react-6c85af8f-ca2c-49b6-9cde-63be43588f00.json
new file mode 100644
index 00000000000000..531341022a7daa
--- /dev/null
+++ b/change/@fluentui-react-6c85af8f-ca2c-49b6-9cde-63be43588f00.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "Delete border property from ms-PositioningContainer-layerHost containing typo",
+  "packageName": "@fluentui/react",
+  "email": "706967+KevinTCoughlin@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react/src/components/Coachmark/PositioningContainer/PositioningContainer.styles.ts b/packages/react/src/components/Coachmark/PositioningContainer/PositioningContainer.styles.ts
index 9a937fa4728542..0b6c0b04ae5038 100644
--- a/packages/react/src/components/Coachmark/PositioningContainer/PositioningContainer.styles.ts
+++ b/packages/react/src/components/Coachmark/PositioningContainer/PositioningContainer.styles.ts
@@ -27,7 +27,6 @@ export const getClassNames = memoizeFunction((): IPositioningContainerNames => {
       {
         position: 'absolute',
         boxSizing: 'border-box',
-        border: '1px solid ${}',
         selectors: {
           [HighContrastSelector]: {
             border: '1px solid WindowText',
diff --git a/packages/react/src/components/Coachmark/__snapshots__/Coachmark.test.tsx.snap b/packages/react/src/components/Coachmark/__snapshots__/Coachmark.test.tsx.snap
index 35d2abd3f2213f..88104bf8a4a12f 100644
--- a/packages/react/src/components/Coachmark/__snapshots__/Coachmark.test.tsx.snap
+++ b/packages/react/src/components/Coachmark/__snapshots__/Coachmark.test.tsx.snap
@@ -39,7 +39,6 @@ exports[`Coachmark renders Coachmark (color properties) 1`] = `
           class=
               ms-PositioningContainer-layerHost
               {
-                border: 1px solid \${};
                 box-sizing: border-box;
                 outline: transparent;
                 position: absolute;
@@ -275,7 +274,6 @@ exports[`Coachmark renders Coachmark (correctly) 1`] = `
           class=
               ms-PositioningContainer-layerHost
               {
-                border: 1px solid \${};
                 box-sizing: border-box;
                 outline: transparent;
                 position: absolute;
@@ -513,7 +511,6 @@ exports[`Coachmark renders Coachmark (isCollapsed) 1`] = `
           class=
               ms-PositioningContainer-layerHost
               {
-                border: 1px solid \${};
                 box-sizing: border-box;
                 outline: transparent;
                 position: absolute;

From 24bd1b2e8063db6c121ee02425db564fbb762f5a Mon Sep 17 00:00:00 2001
From: Andrew Vineyard <andrewsdoing@gmail.com>
Date: Thu, 16 Jan 2025 17:50:39 -0600
Subject: [PATCH 55/78] Update styles-handbook.md with working URL (#33679)

---
 .../contributing/rfcs/react-components/styles-handbook.md       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/react-v9/contributing/rfcs/react-components/styles-handbook.md b/docs/react-v9/contributing/rfcs/react-components/styles-handbook.md
index 749b39684ef147..2b9cf9e008790c 100644
--- a/docs/react-v9/contributing/rfcs/react-components/styles-handbook.md
+++ b/docs/react-v9/contributing/rfcs/react-components/styles-handbook.md
@@ -962,7 +962,7 @@ function Checkbox(props) {
 }
 ```
 
-[fluent-colors]: https://react.fluentui.dev/?path=/docs/theme-colors--page
+[fluent-colors]: https://react.fluentui.dev/?path=/docs/theme-colors--docs
 [griffel]: https://griffel.js.org
 [griffel-aot]: https://griffel.js.org/react/ahead-of-time-compilation/introduction
 [griffel-atomic-css]: https://griffel.js.org/react/guides/atomic-css

From baf887d95f91874c814a7cae749c20e797f828be Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Fri, 17 Jan 2025 04:07:56 +0000
Subject: [PATCH 56/78] release: applying package updates - web-components

---
 ...-cfdeb418-e440-4904-9a73-4b8291c7c99d.json |  7 -----
 ...-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json |  7 -----
 ...-674e26a9-57d5-4147-bda1-e4a467529eaf.json |  7 -----
 ...-a03312db-25ed-42ac-8259-b9754b5afdd9.json |  7 -----
 .../chart-web-components/CHANGELOG.json       | 23 +++++++++++++++
 .../charts/chart-web-components/CHANGELOG.md  | 11 ++++++-
 .../charts/chart-web-components/package.json  |  4 +--
 packages/web-components/CHANGELOG.json        | 29 +++++++++++++++++++
 packages/web-components/CHANGELOG.md          | 12 +++++++-
 packages/web-components/package.json          |  2 +-
 10 files changed, 76 insertions(+), 33 deletions(-)
 delete mode 100644 change/@fluentui-chart-web-components-cfdeb418-e440-4904-9a73-4b8291c7c99d.json
 delete mode 100644 change/@fluentui-web-components-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json
 delete mode 100644 change/@fluentui-web-components-674e26a9-57d5-4147-bda1-e4a467529eaf.json
 delete mode 100644 change/@fluentui-web-components-a03312db-25ed-42ac-8259-b9754b5afdd9.json

diff --git a/change/@fluentui-chart-web-components-cfdeb418-e440-4904-9a73-4b8291c7c99d.json b/change/@fluentui-chart-web-components-cfdeb418-e440-4904-9a73-4b8291c7c99d.json
deleted file mode 100644
index cad856081e15fb..00000000000000
--- a/change/@fluentui-chart-web-components-cfdeb418-e440-4904-9a73-4b8291c7c99d.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: sync failed release pipeline with git",
-  "packageName": "@fluentui/chart-web-components",
-  "email": "martinhochel@microsoft.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-web-components-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json b/change/@fluentui-web-components-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json
deleted file mode 100644
index 99a9e9c5639d0d..00000000000000
--- a/change/@fluentui-web-components-49fd3f00-10b9-4573-a6ac-bce95c8f2fe5.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "prerelease",
-  "comment": "fix: revert logical properties in spinner to support rtl\"",
-  "packageName": "@fluentui/web-components",
-  "email": "rupertdavid@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-web-components-674e26a9-57d5-4147-bda1-e4a467529eaf.json b/change/@fluentui-web-components-674e26a9-57d5-4147-bda1-e4a467529eaf.json
deleted file mode 100644
index 812ad60eb4fcee..00000000000000
--- a/change/@fluentui-web-components-674e26a9-57d5-4147-bda1-e4a467529eaf.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "build tokens package before running e2e tests",
-  "packageName": "@fluentui/web-components",
-  "email": "863023+radium-v@users.noreply.github.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-web-components-a03312db-25ed-42ac-8259-b9754b5afdd9.json b/change/@fluentui-web-components-a03312db-25ed-42ac-8259-b9754b5afdd9.json
deleted file mode 100644
index df9f992ebe5ced..00000000000000
--- a/change/@fluentui-web-components-a03312db-25ed-42ac-8259-b9754b5afdd9.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "prerelease",
-  "comment": "fix: update disabled switch styles to GrayText for high-contrast mode",
-  "packageName": "@fluentui/web-components",
-  "email": "rupertdavid@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/packages/charts/chart-web-components/CHANGELOG.json b/packages/charts/chart-web-components/CHANGELOG.json
index 083c48da4b8382..0824e940714c8e 100644
--- a/packages/charts/chart-web-components/CHANGELOG.json
+++ b/packages/charts/chart-web-components/CHANGELOG.json
@@ -1,6 +1,29 @@
 {
   "name": "@fluentui/chart-web-components",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 04:07:40 GMT",
+      "tag": "@fluentui/chart-web-components_v0.0.0",
+      "version": "0.0.0",
+      "comments": {
+        "none": [
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/chart-web-components",
+            "commit": "408fe44060b746844a9c76c67391b18d76d1f26e",
+            "comment": "chore: sync failed release pipeline with git"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/chart-web-components",
+            "comment": "Bump @fluentui/web-components to v3.0.0-beta.77",
+            "commit": "24bd1b2e8063db6c121ee02425db564fbb762f5a"
+          }
+        ]
+      }
+    },
     {
       "date": "Tue, 14 Jan 2025 14:42:14 GMT",
       "tag": "@fluentui/chart-web-components_v0.0.0-alpha.2",
diff --git a/packages/charts/chart-web-components/CHANGELOG.md b/packages/charts/chart-web-components/CHANGELOG.md
index 19eff92c0072a1..c5f2184dfb5e5b 100644
--- a/packages/charts/chart-web-components/CHANGELOG.md
+++ b/packages/charts/chart-web-components/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/chart-web-components
 
-This log was last generated on Tue, 14 Jan 2025 14:42:14 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 04:07:40 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.0.0](https://github.com/microsoft/fluentui/tree/@fluentui/chart-web-components_v0.0.0)
+
+Fri, 17 Jan 2025 04:07:40 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/chart-web-components_v0.0.0-alpha.2..@fluentui/chart-web-components_v0.0.0)
+
+### Patches
+
+- Bump @fluentui/web-components to v3.0.0-beta.77 ([PR #33679](https://github.com/microsoft/fluentui/pull/33679) by beachball)
+
 ## [0.0.0-alpha.2](https://github.com/microsoft/fluentui/tree/@fluentui/chart-web-components_v0.0.0-alpha.2)
 
 Tue, 14 Jan 2025 14:42:14 GMT
diff --git a/packages/charts/chart-web-components/package.json b/packages/charts/chart-web-components/package.json
index 280ff647ca39fa..1ad8f593736763 100644
--- a/packages/charts/chart-web-components/package.json
+++ b/packages/charts/chart-web-components/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@fluentui/chart-web-components",
   "description": "A library of Fluent Chart Web Components",
-  "version": "0.0.0-alpha.2",
+  "version": "0.0.0",
   "author": {
     "name": "Microsoft"
   },
@@ -98,7 +98,7 @@
   "dependencies": {
     "@microsoft/fast-web-utilities": "^6.0.0",
     "@fluentui/tokens": "^1.0.0-alpha.21",
-    "@fluentui/web-components": "^3.0.0-beta.76",
+    "@fluentui/web-components": "^3.0.0-beta.77",
     "@types/d3-selection": "^3.0.0",
     "@types/d3-shape": "^3.0.0",
     "d3-selection": "^3.0.0",
diff --git a/packages/web-components/CHANGELOG.json b/packages/web-components/CHANGELOG.json
index 910eaf1123eb5e..862108c9a70571 100644
--- a/packages/web-components/CHANGELOG.json
+++ b/packages/web-components/CHANGELOG.json
@@ -1,6 +1,35 @@
 {
   "name": "@fluentui/web-components",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 04:07:40 GMT",
+      "tag": "@fluentui/web-components_v3.0.0-beta.77",
+      "version": "3.0.0-beta.77",
+      "comments": {
+        "prerelease": [
+          {
+            "author": "rupertdavid@microsoft.com",
+            "package": "@fluentui/web-components",
+            "commit": "00458f3bbe3f12c0cef556f8d8fd564ffa66983c",
+            "comment": "fix: revert logical properties in spinner to support rtl\""
+          },
+          {
+            "author": "rupertdavid@microsoft.com",
+            "package": "@fluentui/web-components",
+            "commit": "1e110d6492d33ca8959aaddc35e21cbd8992706b",
+            "comment": "fix: update disabled switch styles to GrayText for high-contrast mode"
+          }
+        ],
+        "none": [
+          {
+            "author": "863023+radium-v@users.noreply.github.com",
+            "package": "@fluentui/web-components",
+            "commit": "e7e2987a4b0c8c36984dc9732937e2e58fb8fb35",
+            "comment": "build tokens package before running e2e tests"
+          }
+        ]
+      }
+    },
     {
       "date": "Thu, 09 Jan 2025 04:07:00 GMT",
       "tag": "@fluentui/web-components_v3.0.0-beta.76",
diff --git a/packages/web-components/CHANGELOG.md b/packages/web-components/CHANGELOG.md
index baea4c5c33bbe3..470c51a4a5c90c 100644
--- a/packages/web-components/CHANGELOG.md
+++ b/packages/web-components/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/web-components
 
-This log was last generated on Thu, 09 Jan 2025 04:07:00 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 04:07:40 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [3.0.0-beta.77](https://github.com/microsoft/fluentui/tree/@fluentui/web-components_v3.0.0-beta.77)
+
+Fri, 17 Jan 2025 04:07:40 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/web-components_v3.0.0-beta.76..@fluentui/web-components_v3.0.0-beta.77)
+
+### Changes
+
+- fix: revert logical properties in spinner to support rtl" ([PR #33654](https://github.com/microsoft/fluentui/pull/33654) by rupertdavid@microsoft.com)
+- fix: update disabled switch styles to GrayText for high-contrast mode ([PR #33637](https://github.com/microsoft/fluentui/pull/33637) by rupertdavid@microsoft.com)
+
 ## [3.0.0-beta.76](https://github.com/microsoft/fluentui/tree/@fluentui/web-components_v3.0.0-beta.76)
 
 Thu, 09 Jan 2025 04:07:00 GMT 
diff --git a/packages/web-components/package.json b/packages/web-components/package.json
index 4b79588c2a395e..4328ee523c54d5 100644
--- a/packages/web-components/package.json
+++ b/packages/web-components/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@fluentui/web-components",
   "description": "A library of Fluent Web Components",
-  "version": "3.0.0-beta.76",
+  "version": "3.0.0-beta.77",
   "author": {
     "name": "Microsoft",
     "url": "https://discord.gg/FcSNfg4"

From 7026db8973fd90f6e58e40187797d03528650c12 Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Fri, 17 Jan 2025 07:21:52 +0000
Subject: [PATCH 57/78] release: applying package updates - react v8

---
 ...-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json |  7 -----
 ...-6c85af8f-ca2c-49b6-9cde-63be43588f00.json |  7 -----
 ...-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json |  7 -----
 ...-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json |  7 -----
 packages/azure-themes/CHANGELOG.json          | 15 +++++++++++
 packages/azure-themes/CHANGELOG.md            | 11 +++++++-
 packages/azure-themes/package.json            |  4 +--
 packages/charts/react-charting/CHANGELOG.json | 27 +++++++++++++++++++
 packages/charts/react-charting/CHANGELOG.md   | 13 ++++++++-
 packages/charts/react-charting/package.json   |  6 ++---
 packages/cra-template/package.json            |  2 +-
 packages/fluent2-theme/CHANGELOG.json         | 15 +++++++++++
 packages/fluent2-theme/CHANGELOG.md           | 11 +++++++-
 packages/fluent2-theme/package.json           |  4 +--
 packages/react-cards/CHANGELOG.json           | 15 +++++++++++
 packages/react-cards/CHANGELOG.md             | 11 +++++++-
 packages/react-cards/package.json             |  4 +--
 .../library/package.json                      |  4 +--
 packages/react-date-time/CHANGELOG.json       | 15 +++++++++++
 packages/react-date-time/CHANGELOG.md         | 11 +++++++-
 packages/react-date-time/package.json         |  4 +--
 .../react-docsite-components/CHANGELOG.json   | 21 +++++++++++++++
 .../react-docsite-components/CHANGELOG.md     | 12 ++++++++-
 .../react-docsite-components/package.json     |  6 ++---
 packages/react-examples/package.json          | 14 +++++-----
 packages/react-experiments/CHANGELOG.json     | 15 +++++++++++
 packages/react-experiments/CHANGELOG.md       | 11 +++++++-
 packages/react-experiments/package.json       |  4 +--
 packages/react-monaco-editor/CHANGELOG.json   | 21 +++++++++++++++
 packages/react-monaco-editor/CHANGELOG.md     | 12 ++++++++-
 packages/react-monaco-editor/package.json     |  6 ++---
 packages/react/CHANGELOG.json                 | 27 +++++++++++++++++++
 packages/react/CHANGELOG.md                   | 13 ++++++++-
 packages/react/package.json                   |  2 +-
 packages/storybook/package.json               |  6 ++---
 packages/theme-samples/CHANGELOG.json         | 15 +++++++++++
 packages/theme-samples/CHANGELOG.md           | 11 +++++++-
 packages/theme-samples/package.json           |  4 +--
 38 files changed, 327 insertions(+), 73 deletions(-)
 delete mode 100644 change/@fluentui-react-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json
 delete mode 100644 change/@fluentui-react-6c85af8f-ca2c-49b6-9cde-63be43588f00.json
 delete mode 100644 change/@fluentui-react-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json
 delete mode 100644 change/@fluentui-react-charting-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json

diff --git a/change/@fluentui-react-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json b/change/@fluentui-react-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json
deleted file mode 100644
index 97c6822b1874fc..00000000000000
--- a/change/@fluentui-react-04cc1ab9-345e-4196-a9fd-d0ad829eec9b.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: Passing rest of ITagItemSuggestionProps to the underlying component.",
-  "packageName": "@fluentui/react",
-  "email": "kmatejka@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-6c85af8f-ca2c-49b6-9cde-63be43588f00.json b/change/@fluentui-react-6c85af8f-ca2c-49b6-9cde-63be43588f00.json
deleted file mode 100644
index 531341022a7daa..00000000000000
--- a/change/@fluentui-react-6c85af8f-ca2c-49b6-9cde-63be43588f00.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "Delete border property from ms-PositioningContainer-layerHost containing typo",
-  "packageName": "@fluentui/react",
-  "email": "706967+KevinTCoughlin@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json b/change/@fluentui-react-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json
deleted file mode 100644
index a14b5ba95b418d..00000000000000
--- a/change/@fluentui-react-aeee29c3-70b1-47de-a1a6-ee1ec2c0597d.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "add missing data-id attribute to close button in TagItem",
-  "packageName": "@fluentui/react",
-  "email": "kmatejka@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-charting-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json b/change/@fluentui-react-charting-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json
deleted file mode 100644
index 63507f79520dc7..00000000000000
--- a/change/@fluentui-react-charting-cb76b3ea-9897-40ea-8f98-241f3265bb1a.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "Make Dark mode text visible",
-  "packageName": "@fluentui/react-charting",
-  "email": "74965306+Anush2303@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/packages/azure-themes/CHANGELOG.json b/packages/azure-themes/CHANGELOG.json
index 4aaf5704766b85..d422a264bc9375 100644
--- a/packages/azure-themes/CHANGELOG.json
+++ b/packages/azure-themes/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/azure-themes",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:32 GMT",
+      "tag": "@fluentui/azure-themes_v8.6.120",
+      "version": "8.6.120",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/azure-themes",
+            "comment": "Bump @fluentui/react to v8.122.7",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:23 GMT",
       "tag": "@fluentui/azure-themes_v8.6.119",
diff --git a/packages/azure-themes/CHANGELOG.md b/packages/azure-themes/CHANGELOG.md
index c5e0dc641af2fe..5599d162f0a4ee 100644
--- a/packages/azure-themes/CHANGELOG.md
+++ b/packages/azure-themes/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/azure-themes
 
-This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.6.120](https://github.com/microsoft/fluentui/tree/@fluentui/azure-themes_v8.6.120)
+
+Fri, 17 Jan 2025 07:21:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/azure-themes_v8.6.119..@fluentui/azure-themes_v8.6.120)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.7 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+
 ## [8.6.119](https://github.com/microsoft/fluentui/tree/@fluentui/azure-themes_v8.6.119)
 
 Mon, 13 Jan 2025 07:21:23 GMT 
diff --git a/packages/azure-themes/package.json b/packages/azure-themes/package.json
index 49ed3c4f1ba138..b6a061aef01ccc 100644
--- a/packages/azure-themes/package.json
+++ b/packages/azure-themes/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/azure-themes",
-  "version": "8.6.119",
+  "version": "8.6.120",
   "description": "Azure themes for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   }
diff --git a/packages/charts/react-charting/CHANGELOG.json b/packages/charts/react-charting/CHANGELOG.json
index 39fddc4b97a2dc..3865d8a3ef769e 100644
--- a/packages/charts/react-charting/CHANGELOG.json
+++ b/packages/charts/react-charting/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-charting",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:32 GMT",
+      "tag": "@fluentui/react-charting_v5.23.41",
+      "version": "5.23.41",
+      "comments": {
+        "patch": [
+          {
+            "author": "74965306+Anush2303@users.noreply.github.com",
+            "package": "@fluentui/react-charting",
+            "commit": "c26be3e3a85258c61111cf2dd5c19798d3a4e936",
+            "comment": "Make Dark mode text visible"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charting",
+            "comment": "Bump @fluentui/theme-samples to v8.7.196",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charting",
+            "comment": "Bump @fluentui/react to v8.122.7",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:22 GMT",
       "tag": "@fluentui/react-charting_v5.23.40",
diff --git a/packages/charts/react-charting/CHANGELOG.md b/packages/charts/react-charting/CHANGELOG.md
index 42e32365cd9654..b3da0add0090fb 100644
--- a/packages/charts/react-charting/CHANGELOG.md
+++ b/packages/charts/react-charting/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-charting
 
-This log was last generated on Mon, 13 Jan 2025 07:21:22 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [5.23.41](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.41)
+
+Fri, 17 Jan 2025 07:21:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charting_v5.23.40..@fluentui/react-charting_v5.23.41)
+
+### Patches
+
+- Make Dark mode text visible ([PR #33671](https://github.com/microsoft/fluentui/pull/33671) by 74965306+Anush2303@users.noreply.github.com)
+- Bump @fluentui/theme-samples to v8.7.196 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+- Bump @fluentui/react to v8.122.7 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+
 ## [5.23.40](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.40)
 
 Mon, 13 Jan 2025 07:21:22 GMT 
diff --git a/packages/charts/react-charting/package.json b/packages/charts/react-charting/package.json
index 80f4f6edff1ebd..808b802f2c80ab 100644
--- a/packages/charts/react-charting/package.json
+++ b/packages/charts/react-charting/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-charting",
-  "version": "5.23.40",
+  "version": "5.23.41",
   "description": "React web charting controls for Microsoft fluentui system.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -40,7 +40,7 @@
   },
   "dependencies": {
     "@fluentui/react-focus": "^8.9.20",
-    "@fluentui/theme-samples": "^8.7.195",
+    "@fluentui/theme-samples": "^8.7.196",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@types/d3-array": "^3.0.0",
     "@types/d3-axis": "^3.0.0",
@@ -66,7 +66,7 @@
     "tslib": "^2.1.0"
   },
   "peerDependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@types/react": ">=16.8.0 <19.0.0",
     "@types/react-dom": ">=16.8.0 <19.0.0",
     "react": ">=16.8.0 <19.0.0",
diff --git a/packages/cra-template/package.json b/packages/cra-template/package.json
index 53539c3f54f811..93d870af2b4e44 100644
--- a/packages/cra-template/package.json
+++ b/packages/cra-template/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/cra-template",
-  "version": "8.4.196",
+  "version": "8.4.197",
   "description": "Create React App template for Fluent UI React (@fluentui/react)",
   "repository": {
     "type": "git",
diff --git a/packages/fluent2-theme/CHANGELOG.json b/packages/fluent2-theme/CHANGELOG.json
index 5accf0e86228d6..d1bb9fd55ca5a1 100644
--- a/packages/fluent2-theme/CHANGELOG.json
+++ b/packages/fluent2-theme/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/fluent2-theme",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:32 GMT",
+      "tag": "@fluentui/fluent2-theme_v8.107.124",
+      "version": "8.107.124",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/fluent2-theme",
+            "comment": "Bump @fluentui/react to v8.122.7",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:23 GMT",
       "tag": "@fluentui/fluent2-theme_v8.107.123",
diff --git a/packages/fluent2-theme/CHANGELOG.md b/packages/fluent2-theme/CHANGELOG.md
index 669e0f54e84205..0c6911011eb685 100644
--- a/packages/fluent2-theme/CHANGELOG.md
+++ b/packages/fluent2-theme/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/fluent2-theme
 
-This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.107.124](https://github.com/microsoft/fluentui/tree/@fluentui/fluent2-theme_v8.107.124)
+
+Fri, 17 Jan 2025 07:21:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/fluent2-theme_v8.107.123..@fluentui/fluent2-theme_v8.107.124)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.7 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+
 ## [8.107.123](https://github.com/microsoft/fluentui/tree/@fluentui/fluent2-theme_v8.107.123)
 
 Mon, 13 Jan 2025 07:21:23 GMT 
diff --git a/packages/fluent2-theme/package.json b/packages/fluent2-theme/package.json
index c9bd931fde9043..6922e4d226a17b 100644
--- a/packages/fluent2-theme/package.json
+++ b/packages/fluent2-theme/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/fluent2-theme",
-  "version": "8.107.123",
+  "version": "8.107.124",
   "description": "A Fluent2 theme for Fluent UI React 8.x",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   }
diff --git a/packages/react-cards/CHANGELOG.json b/packages/react-cards/CHANGELOG.json
index 894fc0a4338fa7..55faad53754276 100644
--- a/packages/react-cards/CHANGELOG.json
+++ b/packages/react-cards/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-cards",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:32 GMT",
+      "tag": "@fluentui/react-cards_v0.205.196",
+      "version": "0.205.196",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-cards",
+            "comment": "Bump @fluentui/react to v8.122.7",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:23 GMT",
       "tag": "@fluentui/react-cards_v0.205.195",
diff --git a/packages/react-cards/CHANGELOG.md b/packages/react-cards/CHANGELOG.md
index 8842b2aa64790c..6772d275a15ad3 100644
--- a/packages/react-cards/CHANGELOG.md
+++ b/packages/react-cards/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-cards
 
-This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.205.196](https://github.com/microsoft/fluentui/tree/@fluentui/react-cards_v0.205.196)
+
+Fri, 17 Jan 2025 07:21:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-cards_v0.205.195..@fluentui/react-cards_v0.205.196)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.7 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+
 ## [0.205.195](https://github.com/microsoft/fluentui/tree/@fluentui/react-cards_v0.205.195)
 
 Mon, 13 Jan 2025 07:21:23 GMT 
diff --git a/packages/react-cards/package.json b/packages/react-cards/package.json
index d3b373b949b12f..1d983cc06104c4 100644
--- a/packages/react-cards/package.json
+++ b/packages/react-cards/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-cards",
-  "version": "0.205.195",
+  "version": "0.205.196",
   "description": "Deprecated experimental Card container components for Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -33,7 +33,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@fluentui/foundation-legacy": "^8.4.23",
     "@fluentui/set-version": "^8.2.23",
     "@microsoft/load-themed-styles": "^1.10.26",
diff --git a/packages/react-components/react-migration-v8-v9/library/package.json b/packages/react-components/react-migration-v8-v9/library/package.json
index c7cc7dd2fc481f..d5f844d5560978 100644
--- a/packages/react-components/react-migration-v8-v9/library/package.json
+++ b/packages/react-components/react-migration-v8-v9/library/package.json
@@ -19,8 +19,8 @@
   },
   "dependencies": {
     "@ctrl/tinycolor": "^3.3.4",
-    "@fluentui/fluent2-theme": "^8.107.123",
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/fluent2-theme": "^8.107.124",
+    "@fluentui/react": "^8.122.7",
     "@fluentui/react-components": "^9.57.0",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-hooks": "^8.8.16",
diff --git a/packages/react-date-time/CHANGELOG.json b/packages/react-date-time/CHANGELOG.json
index ae36148a7907cd..13d1d5535aa14a 100644
--- a/packages/react-date-time/CHANGELOG.json
+++ b/packages/react-date-time/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-date-time",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:32 GMT",
+      "tag": "@fluentui/react-date-time_v8.7.196",
+      "version": "8.7.196",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-date-time",
+            "comment": "Bump @fluentui/react to v8.122.7",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:23 GMT",
       "tag": "@fluentui/react-date-time_v8.7.195",
diff --git a/packages/react-date-time/CHANGELOG.md b/packages/react-date-time/CHANGELOG.md
index b49bc61fd8e02c..e5498181ef7b9c 100644
--- a/packages/react-date-time/CHANGELOG.md
+++ b/packages/react-date-time/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-date-time
 
-This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.7.196](https://github.com/microsoft/fluentui/tree/@fluentui/react-date-time_v8.7.196)
+
+Fri, 17 Jan 2025 07:21:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-date-time_v8.7.195..@fluentui/react-date-time_v8.7.196)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.7 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+
 ## [8.7.195](https://github.com/microsoft/fluentui/tree/@fluentui/react-date-time_v8.7.195)
 
 Mon, 13 Jan 2025 07:21:23 GMT 
diff --git a/packages/react-date-time/package.json b/packages/react-date-time/package.json
index f487bb5a933dac..dad5ed73ea5ba7 100644
--- a/packages/react-date-time/package.json
+++ b/packages/react-date-time/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-date-time",
-  "version": "8.7.195",
+  "version": "8.7.196",
   "description": "Date and time related React components for building experiences for Microsoft 365.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   },
diff --git a/packages/react-docsite-components/CHANGELOG.json b/packages/react-docsite-components/CHANGELOG.json
index 5d7a22a2596c23..25c7b12d0ca2af 100644
--- a/packages/react-docsite-components/CHANGELOG.json
+++ b/packages/react-docsite-components/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-docsite-components",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:32 GMT",
+      "tag": "@fluentui/react-docsite-components_v8.13.161",
+      "version": "8.13.161",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react to v8.122.7",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react-monaco-editor to v1.7.279",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:23 GMT",
       "tag": "@fluentui/react-docsite-components_v8.13.160",
diff --git a/packages/react-docsite-components/CHANGELOG.md b/packages/react-docsite-components/CHANGELOG.md
index 33839b07639803..0bcbda66e29a6b 100644
--- a/packages/react-docsite-components/CHANGELOG.md
+++ b/packages/react-docsite-components/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-docsite-components
 
-This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.13.161](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.161)
+
+Fri, 17 Jan 2025 07:21:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-docsite-components_v8.13.160..@fluentui/react-docsite-components_v8.13.161)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.7 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+- Bump @fluentui/react-monaco-editor to v1.7.279 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+
 ## [8.13.160](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.160)
 
 Mon, 13 Jan 2025 07:21:23 GMT 
diff --git a/packages/react-docsite-components/package.json b/packages/react-docsite-components/package.json
index f4ee726ea14112..846e8494ce15e2 100644
--- a/packages/react-docsite-components/package.json
+++ b/packages/react-docsite-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-docsite-components",
-  "version": "8.13.160",
+  "version": "8.13.161",
   "description": "Fluent UI React components for building documentation sites.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -35,14 +35,14 @@
     "react-dom": ">=16.8.0 <19.0.0"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@fluentui/theme": "^2.6.64",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/public-docsite-setup": "^0.3.34",
     "@fluentui/react-hooks": "^8.8.16",
     "@fluentui/set-version": "^8.2.23",
-    "@fluentui/react-monaco-editor": "^1.7.278",
+    "@fluentui/react-monaco-editor": "^1.7.279",
     "color-check": "0.0.2",
     "markdown-to-jsx": "^7.0.0",
     "office-ui-fabric-core": "^11.0.0",
diff --git a/packages/react-examples/package.json b/packages/react-examples/package.json
index 4b8954b9a8ddac..52d192909d0151 100644
--- a/packages/react-examples/package.json
+++ b/packages/react-examples/package.json
@@ -27,18 +27,18 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/azure-themes": "^8.6.119",
+    "@fluentui/azure-themes": "^8.6.120",
     "@fluentui/date-time-utilities": "^8.6.9",
     "@fluentui/dom-utilities": "^2.3.9",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/font-icons-mdl2": "^8.5.57",
     "@fluentui/foundation-legacy": "^8.4.23",
     "@fluentui/merge-styles": "^8.6.13",
-    "@fluentui/react": "^8.122.6",
-    "@fluentui/react-cards": "^0.205.195",
-    "@fluentui/react-charting": "^5.23.40",
-    "@fluentui/react-docsite-components": "^8.13.160",
-    "@fluentui/react-experiments": "^8.14.192",
+    "@fluentui/react": "^8.122.7",
+    "@fluentui/react-cards": "^0.205.196",
+    "@fluentui/react-charting": "^5.23.41",
+    "@fluentui/react-docsite-components": "^8.13.161",
+    "@fluentui/react-experiments": "^8.14.193",
     "@fluentui/react-file-type-icons": "^8.12.7",
     "@fluentui/react-focus": "^8.9.20",
     "@fluentui/react-hooks": "^8.8.16",
@@ -47,7 +47,7 @@
     "@fluentui/scheme-utilities": "^8.3.65",
     "@fluentui/style-utilities": "^8.11.6",
     "@fluentui/theme": "^2.6.64",
-    "@fluentui/theme-samples": "^8.7.195",
+    "@fluentui/theme-samples": "^8.7.196",
     "@fluentui/utilities": "^8.15.19",
     "@microsoft/load-themed-styles": "^1.10.26",
     "d3-fetch": "3.0.1",
diff --git a/packages/react-experiments/CHANGELOG.json b/packages/react-experiments/CHANGELOG.json
index 868b4ed9328a7a..25d945574899a8 100644
--- a/packages/react-experiments/CHANGELOG.json
+++ b/packages/react-experiments/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-experiments",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:32 GMT",
+      "tag": "@fluentui/react-experiments_v8.14.193",
+      "version": "8.14.193",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-experiments",
+            "comment": "Bump @fluentui/react to v8.122.7",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:23 GMT",
       "tag": "@fluentui/react-experiments_v8.14.192",
diff --git a/packages/react-experiments/CHANGELOG.md b/packages/react-experiments/CHANGELOG.md
index b60f783ca0d8a9..c4bcce1227cca6 100644
--- a/packages/react-experiments/CHANGELOG.md
+++ b/packages/react-experiments/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-experiments
 
-This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.14.193](https://github.com/microsoft/fluentui/tree/@fluentui/react-experiments_v8.14.193)
+
+Fri, 17 Jan 2025 07:21:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-experiments_v8.14.192..@fluentui/react-experiments_v8.14.193)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.7 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+
 ## [8.14.192](https://github.com/microsoft/fluentui/tree/@fluentui/react-experiments_v8.14.192)
 
 Mon, 13 Jan 2025 07:21:23 GMT 
diff --git a/packages/react-experiments/package.json b/packages/react-experiments/package.json
index f01f7b540cd0c9..c08698e4eb6eb4 100644
--- a/packages/react-experiments/package.json
+++ b/packages/react-experiments/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-experiments",
-  "version": "8.14.192",
+  "version": "8.14.193",
   "description": "Experimental React components for building experiences for Microsoft 365.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -38,7 +38,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@fluentui/theme": "^2.6.64",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
diff --git a/packages/react-monaco-editor/CHANGELOG.json b/packages/react-monaco-editor/CHANGELOG.json
index a9165e4ed2632c..3bc576576e9b58 100644
--- a/packages/react-monaco-editor/CHANGELOG.json
+++ b/packages/react-monaco-editor/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-monaco-editor",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:32 GMT",
+      "tag": "@fluentui/react-monaco-editor_v1.7.279",
+      "version": "1.7.279",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react to v8.122.7",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react-charting to v5.23.41",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:23 GMT",
       "tag": "@fluentui/react-monaco-editor_v1.7.278",
diff --git a/packages/react-monaco-editor/CHANGELOG.md b/packages/react-monaco-editor/CHANGELOG.md
index 347343e2e9ed51..c29dc163f96936 100644
--- a/packages/react-monaco-editor/CHANGELOG.md
+++ b/packages/react-monaco-editor/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-monaco-editor
 
-This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [1.7.279](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.279)
+
+Fri, 17 Jan 2025 07:21:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-monaco-editor_v1.7.278..@fluentui/react-monaco-editor_v1.7.279)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.7 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+- Bump @fluentui/react-charting to v5.23.41 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+
 ## [1.7.278](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.278)
 
 Mon, 13 Jan 2025 07:21:23 GMT 
diff --git a/packages/react-monaco-editor/package.json b/packages/react-monaco-editor/package.json
index 661f83943e8eef..92edf729901440 100644
--- a/packages/react-monaco-editor/package.json
+++ b/packages/react-monaco-editor/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-monaco-editor",
-  "version": "1.7.278",
+  "version": "1.7.279",
   "description": "Live React example editing using monaco",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -29,12 +29,12 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/monaco-editor": "^1.3.24",
     "@fluentui/react-hooks": "^8.8.16",
-    "@fluentui/react-charting": "^5.23.40",
+    "@fluentui/react-charting": "^5.23.41",
     "raw-loader": "4.0.2",
     "react-syntax-highlighter": "^10.1.3",
     "tslib": "^2.1.0"
diff --git a/packages/react/CHANGELOG.json b/packages/react/CHANGELOG.json
index 88716d9606fe0a..eb7da96614886e 100644
--- a/packages/react/CHANGELOG.json
+++ b/packages/react/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:31 GMT",
+      "tag": "@fluentui/react_v8.122.7",
+      "version": "8.122.7",
+      "comments": {
+        "patch": [
+          {
+            "author": "kmatejka@microsoft.com",
+            "package": "@fluentui/react",
+            "commit": "e9706f78650b2a72e09dca1c5f69f23f4967f33b",
+            "comment": "fix: Passing rest of ITagItemSuggestionProps to the underlying component."
+          },
+          {
+            "author": "706967+KevinTCoughlin@users.noreply.github.com",
+            "package": "@fluentui/react",
+            "commit": "6e8378b3d1ef9b27ed944b5eae855c59ce348836",
+            "comment": "Delete border property from ms-PositioningContainer-layerHost containing typo"
+          },
+          {
+            "author": "kmatejka@microsoft.com",
+            "package": "@fluentui/react",
+            "commit": "614e8b594da0eec4104f9fcaa034a4352fee5c74",
+            "comment": "add missing data-id attribute to close button in TagItem"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:22 GMT",
       "tag": "@fluentui/react_v8.122.6",
diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md
index 7d8b9d600a8490..8e1e2d1642a521 100644
--- a/packages/react/CHANGELOG.md
+++ b/packages/react/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react
 
-This log was last generated on Mon, 13 Jan 2025 07:21:22 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:31 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.122.7](https://github.com/microsoft/fluentui/tree/@fluentui/react_v8.122.7)
+
+Fri, 17 Jan 2025 07:21:31 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react_v8.122.6..@fluentui/react_v8.122.7)
+
+### Patches
+
+- fix: Passing rest of ITagItemSuggestionProps to the underlying component. ([PR #32839](https://github.com/microsoft/fluentui/pull/32839) by kmatejka@microsoft.com)
+- Delete border property from ms-PositioningContainer-layerHost containing typo ([PR #32885](https://github.com/microsoft/fluentui/pull/32885) by 706967+KevinTCoughlin@users.noreply.github.com)
+- add missing data-id attribute to close button in TagItem ([PR #31956](https://github.com/microsoft/fluentui/pull/31956) by kmatejka@microsoft.com)
+
 ## [8.122.6](https://github.com/microsoft/fluentui/tree/@fluentui/react_v8.122.6)
 
 Mon, 13 Jan 2025 07:21:22 GMT 
diff --git a/packages/react/package.json b/packages/react/package.json
index 8a452f08378d43..fe335a033141be 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react",
-  "version": "8.122.6",
+  "version": "8.122.7",
   "description": "Reusable React components for building web experiences.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/storybook/package.json b/packages/storybook/package.json
index 97be09debf8faf..fdace2fd7618c0 100644
--- a/packages/storybook/package.json
+++ b/packages/storybook/package.json
@@ -22,11 +22,11 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@fluentui/theme": "^2.6.64",
     "@storybook/addon-essentials": "7.6.20",
-    "@fluentui/azure-themes": "^8.6.119",
-    "@fluentui/theme-samples": "^8.7.195",
+    "@fluentui/azure-themes": "^8.6.120",
+    "@fluentui/theme-samples": "^8.7.196",
     "tslib": "^2.1.0"
   },
   "peerDependencies": {
diff --git a/packages/theme-samples/CHANGELOG.json b/packages/theme-samples/CHANGELOG.json
index 694a5edcd67cdf..ff0fa6af1a1f81 100644
--- a/packages/theme-samples/CHANGELOG.json
+++ b/packages/theme-samples/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/theme-samples",
   "entries": [
+    {
+      "date": "Fri, 17 Jan 2025 07:21:32 GMT",
+      "tag": "@fluentui/theme-samples_v8.7.196",
+      "version": "8.7.196",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/theme-samples",
+            "comment": "Bump @fluentui/react to v8.122.7",
+            "commit": "baf887d95f91874c814a7cae749c20e797f828be"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 13 Jan 2025 07:21:23 GMT",
       "tag": "@fluentui/theme-samples_v8.7.195",
diff --git a/packages/theme-samples/CHANGELOG.md b/packages/theme-samples/CHANGELOG.md
index e21be703fbb89f..6ed21c779e917d 100644
--- a/packages/theme-samples/CHANGELOG.md
+++ b/packages/theme-samples/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/theme-samples
 
-This log was last generated on Mon, 13 Jan 2025 07:21:23 GMT and should not be manually modified.
+This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.7.196](https://github.com/microsoft/fluentui/tree/@fluentui/theme-samples_v8.7.196)
+
+Fri, 17 Jan 2025 07:21:32 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/theme-samples_v8.7.195..@fluentui/theme-samples_v8.7.196)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.7 ([commit](https://github.com/microsoft/fluentui/commit/baf887d95f91874c814a7cae749c20e797f828be) by beachball)
+
 ## [8.7.195](https://github.com/microsoft/fluentui/tree/@fluentui/theme-samples_v8.7.195)
 
 Mon, 13 Jan 2025 07:21:23 GMT 
diff --git a/packages/theme-samples/package.json b/packages/theme-samples/package.json
index c89e224f28e127..d46cde211cdeaa 100644
--- a/packages/theme-samples/package.json
+++ b/packages/theme-samples/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/theme-samples",
-  "version": "8.7.195",
+  "version": "8.7.196",
   "description": "Sample themes for use with Fabric components.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -26,7 +26,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.6",
+    "@fluentui/react": "^8.122.7",
     "@fluentui/set-version": "^8.2.23",
     "@fluentui/scheme-utilities": "^8.3.65",
     "tslib": "^2.1.0"

From dc365b11fcca7eb0077460510eb78d93d3315ecd Mon Sep 17 00:00:00 2001
From: Anush Gupta <74965306+Anush2303@users.noreply.github.com>
Date: Fri, 17 Jan 2025 14:46:58 +0530
Subject: [PATCH 58/78] fix(react-charting): declarative chart bug fixes
 (#33567)

---
 ...-4aabb452-e7e3-47e3-9964-7a7c4814e759.json |   7 +
 .../components/AreaChart/AreaChart.base.tsx   |   4 +-
 .../DeclarativeChart/PlotlySchemaAdapter.ts   |  18 +-
 .../PlotlySchemaAdapterUT.test.tsx            |   6 +-
 .../DeclarativeChartRTL.test.tsx.snap         |   2 +-
 .../PlotlySchemaAdapterUT.test.tsx.snap       | 178 +++++++++---------
 6 files changed, 112 insertions(+), 103 deletions(-)
 create mode 100644 change/@fluentui-react-charting-4aabb452-e7e3-47e3-9964-7a7c4814e759.json

diff --git a/change/@fluentui-react-charting-4aabb452-e7e3-47e3-9964-7a7c4814e759.json b/change/@fluentui-react-charting-4aabb452-e7e3-47e3-9964-7a7c4814e759.json
new file mode 100644
index 00000000000000..157b74502e849c
--- /dev/null
+++ b/change/@fluentui-react-charting-4aabb452-e7e3-47e3-9964-7a7c4814e759.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "Declarative chart bug fixes",
+  "packageName": "@fluentui/react-charting",
+  "email": "74965306+Anush2303@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/charts/react-charting/src/components/AreaChart/AreaChart.base.tsx b/packages/charts/react-charting/src/components/AreaChart/AreaChart.base.tsx
index 300ef5a45656be..02933ecb66672e 100644
--- a/packages/charts/react-charting/src/components/AreaChart/AreaChart.base.tsx
+++ b/packages/charts/react-charting/src/components/AreaChart/AreaChart.base.tsx
@@ -450,7 +450,9 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
       });
       stackedData.push(currentStack);
     });
-    this._isMultiStackChart = stackedData && stackedData.length > 1 ? true : false;
+    this._isMultiStackChart = !!(this.props.legendProps?.selectedLegends
+      ? stackedData?.length >= 1
+      : stackedData?.length > 1);
     return {
       stackedData,
       maxOfYVal,
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
index d570f55a927c4e..bfdc4419d3ca55 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
@@ -24,10 +24,11 @@ import { IHorizontalBarChartWithAxisProps } from '../HorizontalBarChartWithAxis/
 import { ILineChartProps } from '../LineChart/index';
 import { IAreaChartProps } from '../AreaChart/index';
 import { IHeatMapChartProps } from '../HeatMapChart/index';
-import { DataVizPalette, getNextColor } from '../../utilities/colors';
+import { DataVizPalette, getColorFromToken, getNextColor } from '../../utilities/colors';
 import { GaugeChartVariant, IGaugeChartProps, IGaugeChartSegment } from '../GaugeChart/index';
 import { IGroupedVerticalBarChartProps } from '../GroupedVerticalBarChart/index';
 import { IVerticalBarChartProps } from '../VerticalBarChart/index';
+import { timeParse } from 'd3-time-format';
 
 const isDate = (value: any): boolean => !isNaN(Date.parse(value));
 const isNumber = (value: any): boolean => !isNaN(parseFloat(value)) && isFinite(value);
@@ -35,9 +36,10 @@ export const isDateArray = (array: any[]): boolean => isArrayOrTypedArray(array)
 export const isNumberArray = (array: any[]): boolean => isArrayOrTypedArray(array) && array.every(isNumber);
 export const isMonthArray = (array: any[]): boolean => {
   if (array && array.length > 0) {
-    const presentYear = new Date().getFullYear();
+    const parseFullMonth = timeParse('%B');
+    const parseShortMonth = timeParse('%b');
     return array.every(possiblyMonthValue => {
-      return isDate(`${possiblyMonthValue} 01, ${presentYear}`);
+      return parseFullMonth(possiblyMonthValue) !== null || parseShortMonth(possiblyMonthValue) !== null;
     });
   }
   return false;
@@ -147,7 +149,7 @@ export const transformPlotlyJsonToDonutProps = (
     height,
     innerRadius,
     hideLabels,
-    showLabelsInPercent: firstData.textinfo ? firstData.textinfo === 'percent' : true,
+    showLabelsInPercent: firstData.textinfo ? ['percent', 'label+percent'].includes(firstData.textinfo) : true,
     styles,
   };
 };
@@ -404,7 +406,9 @@ export const transformPlotlyJsonToHorizontalBarWithAxisProps = (
         };
       });
     })
-    .flat();
+    .flat()
+    //reversing the order to invert the Y bars order as required by plotly.
+    .reverse();
 
   const chartHeight: number = typeof layout.height === 'number' ? layout.height : 450;
   const margin: number = typeof layout.margin?.l === 'number' ? layout.margin?.l : 0;
@@ -579,11 +583,11 @@ export const transformPlotlyJsonToGaugeProps = (
     const diff = firstData.value - firstData.delta.reference;
     if (diff >= 0) {
       sublabel = `\u25B2 ${diff}`;
-      const color = getColor(firstData.delta.increasing?.color || '', colorMap, isDarkTheme);
+      const color = getColorFromToken(DataVizPalette.success, isDarkTheme);
       sublabelColor = color;
     } else {
       sublabel = `\u25BC ${Math.abs(diff)}`;
-      const color = getColor(firstData.delta.decreasing?.color || '', colorMap, isDarkTheme);
+      const color = getColorFromToken(DataVizPalette.error, isDarkTheme);
       sublabelColor = color;
     }
   }
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapterUT.test.tsx b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapterUT.test.tsx
index 174ca2d90161bd..b0764953469fac 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapterUT.test.tsx
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapterUT.test.tsx
@@ -102,11 +102,7 @@ describe('isMonthArray', () => {
     expect(isMonthArray([date, date.getDate() + 1, date.getDate() + 2])).toBe(false);
   });
 
-  test('Should return true when input array contains months data', () => {
-    expect(isMonthArray([10, 11, 1])).toBe(true);
-  });
-
-  test('Should return false when input array contains numeric data(apart from months 1 to 12)', () => {
+  test('Should return false when input array contains numeric data', () => {
     expect(isMonthArray([20, 30, 40])).toBe(false);
   });
 
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
index a4e8dfbfe3165e..bf5cdb41de7cbd 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
@@ -4187,7 +4187,7 @@ exports[`DeclarativeChart Should render gaugechart in DeclarativeChart 1`] = `
             class=
 
                 {
-                  fill: #9373c0;
+                  fill: #107c10;
                   font-size: 12px;
                   font-weight: 600;
                 }
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
index 2e2347d3576bc3..8966e3f55d1b98 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
@@ -384,7 +384,7 @@ Object {
   ],
   "styles": Object {
     "sublabel": Object {
-      "fill": "#f7adda",
+      "fill": "#54b054",
     },
   },
   "sublabel": "▲ 20",
@@ -2844,70 +2844,70 @@ Object {
   "chartTitle": "PHP Framework Popularity at Work - SitePoint, 2015",
   "data": Array [
     Object {
-      "color": "#cf87da",
-      "legend": "Laravel",
-      "x": 1659,
-      "y": "Laravel",
+      "color": "#4f6bed",
+      "legend": "Aura",
+      "x": 10,
+      "y": "Aura",
     },
     Object {
-      "color": "#dac157",
-      "legend": "Symfony2",
-      "x": 1067,
-      "y": "Symfony2",
+      "color": "#d0b232",
+      "legend": "Drupal",
+      "x": 11,
+      "y": "Drupal",
     },
     Object {
-      "color": "#637cef",
-      "legend": "Nette",
-      "x": 671,
-      "y": "Nette",
+      "color": "#c36bd1",
+      "legend": "TYPO3 Flow",
+      "x": 17,
+      "y": "TYPO3 Flow",
     },
     Object {
-      "color": "#e3008c",
-      "legend": "CodeIgniter",
-      "x": 597,
-      "y": "CodeIgniter",
+      "color": "#73aa24",
+      "legend": "FuelPHP",
+      "x": 25,
+      "y": "FuelPHP",
     },
     Object {
-      "color": "#2aa0a4",
-      "legend": "Yii 2",
-      "x": 504,
-      "y": "Yii 2",
+      "color": "#d77440",
+      "legend": "Kohana",
+      "x": 35,
+      "y": "Kohana",
     },
     Object {
-      "color": "#9373c0",
-      "legend": "PHPixie",
-      "x": 418,
-      "y": "PHPixie",
+      "color": "#4fa1e1",
+      "legend": "Typo 3",
+      "x": 35,
+      "y": "Typo 3",
     },
     Object {
-      "color": "#13a10e",
-      "legend": "Yii 1",
-      "x": 407,
-      "y": "Yii 1",
+      "color": "#27ac22",
+      "legend": "Simple MVC Framework",
+      "x": 42,
+      "y": "Simple MVC Framework",
     },
     Object {
-      "color": "#3a96dd",
-      "legend": "Zend Framework 2",
-      "x": 390,
-      "y": "Zend Framework 2",
+      "color": "#a083c9",
+      "legend": "Silex",
+      "x": 65,
+      "y": "Silex",
     },
     Object {
-      "color": "#ca5010",
-      "legend": "Company Internal Framework",
-      "x": 378,
-      "y": "Company Internal Framework",
+      "color": "#4cb4b7",
+      "legend": "Slim",
+      "x": 79,
+      "y": "Slim",
     },
     Object {
-      "color": "#57811b",
-      "legend": "Zend Framework 1",
-      "x": 274,
-      "y": "Zend Framework 1",
+      "color": "#ee5fb7",
+      "legend": "Phalcon",
+      "x": 169,
+      "y": "Phalcon",
     },
     Object {
-      "color": "#b146c2",
-      "legend": "CakePHP",
-      "x": 255,
-      "y": "CakePHP",
+      "color": "#93a4f4",
+      "legend": "We use a CMS for everything",
+      "x": 203,
+      "y": "We use a CMS for everything",
     },
     Object {
       "color": "#ae8c00",
@@ -2916,70 +2916,70 @@ Object {
       "y": "No Framework",
     },
     Object {
-      "color": "#93a4f4",
-      "legend": "We use a CMS for everything",
-      "x": 203,
-      "y": "We use a CMS for everything",
+      "color": "#b146c2",
+      "legend": "CakePHP",
+      "x": 255,
+      "y": "CakePHP",
     },
     Object {
-      "color": "#ee5fb7",
-      "legend": "Phalcon",
-      "x": 169,
-      "y": "Phalcon",
+      "color": "#57811b",
+      "legend": "Zend Framework 1",
+      "x": 274,
+      "y": "Zend Framework 1",
     },
     Object {
-      "color": "#4cb4b7",
-      "legend": "Slim",
-      "x": 79,
-      "y": "Slim",
+      "color": "#ca5010",
+      "legend": "Company Internal Framework",
+      "x": 378,
+      "y": "Company Internal Framework",
     },
     Object {
-      "color": "#a083c9",
-      "legend": "Silex",
-      "x": 65,
-      "y": "Silex",
+      "color": "#3a96dd",
+      "legend": "Zend Framework 2",
+      "x": 390,
+      "y": "Zend Framework 2",
     },
     Object {
-      "color": "#27ac22",
-      "legend": "Simple MVC Framework",
-      "x": 42,
-      "y": "Simple MVC Framework",
+      "color": "#13a10e",
+      "legend": "Yii 1",
+      "x": 407,
+      "y": "Yii 1",
     },
     Object {
-      "color": "#4fa1e1",
-      "legend": "Typo 3",
-      "x": 35,
-      "y": "Typo 3",
+      "color": "#9373c0",
+      "legend": "PHPixie",
+      "x": 418,
+      "y": "PHPixie",
     },
     Object {
-      "color": "#d77440",
-      "legend": "Kohana",
-      "x": 35,
-      "y": "Kohana",
+      "color": "#2aa0a4",
+      "legend": "Yii 2",
+      "x": 504,
+      "y": "Yii 2",
     },
     Object {
-      "color": "#73aa24",
-      "legend": "FuelPHP",
-      "x": 25,
-      "y": "FuelPHP",
+      "color": "#e3008c",
+      "legend": "CodeIgniter",
+      "x": 597,
+      "y": "CodeIgniter",
     },
     Object {
-      "color": "#c36bd1",
-      "legend": "TYPO3 Flow",
-      "x": 17,
-      "y": "TYPO3 Flow",
+      "color": "#637cef",
+      "legend": "Nette",
+      "x": 671,
+      "y": "Nette",
     },
     Object {
-      "color": "#d0b232",
-      "legend": "Drupal",
-      "x": 11,
-      "y": "Drupal",
+      "color": "#dac157",
+      "legend": "Symfony2",
+      "x": 1067,
+      "y": "Symfony2",
     },
     Object {
-      "color": "#4f6bed",
-      "legend": "Aura",
-      "x": 10,
-      "y": "Aura",
+      "color": "#cf87da",
+      "legend": "Laravel",
+      "x": 1659,
+      "y": "Laravel",
     },
   ],
   "secondaryYAxistitle": "",

From fd420e1e0b66e04c8a423cff3eea6d21d9434d2d Mon Sep 17 00:00:00 2001
From: Victor Genaev <vgenaev@gmail.com>
Date: Fri, 17 Jan 2025 12:53:47 +0100
Subject: [PATCH 59/78] chore: replace deprecation eslint plugin in favor of
 ts-eslint/no-deprecated (#33602)

---
 apps/chart-docsite/.eslintrc.json             |   2 +-
 apps/public-docsite-resources/.eslintrc.json  |   4 +-
 apps/public-docsite-v9/.eslintrc.json         |   4 +-
 apps/public-docsite/.eslintrc.json            |   4 +-
 apps/theming-designer/.eslintrc.json          |   4 +-
 apps/vr-tests-react-components/.eslintrc.json |   4 +-
 apps/vr-tests/.eslintrc.json                  |   4 +-
 ...-af108562-5adb-43f5-b0f2-06358f95ab65.json |   7 ++
 ...-fa5bccc0-99d9-46ae-8cc6-5fbdd18360cb.json |   7 ++
 ...-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json |   7 ++
 ...-05901292-a3b8-4d34-834a-8f5d74736e99.json |   7 ++
 ...-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json |   7 ++
 ...-f28e7eb2-d3a4-4060-95af-0c74756f900d.json |   7 ++
 ...-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json |   7 ++
 ...-b082df99-c014-4ba8-8523-fdc134b25bcb.json |   7 ++
 ...-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json |   7 ++
 ...-9cab8d3a-1bcd-4c03-8138-82520de36649.json |   7 ++
 ...-aa5b0252-40de-497c-88f5-377ada948719.json |   7 ++
 ...-1411f212-27ea-4335-bcd3-b210359b0bd1.json |   7 ++
 ...-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json |   7 ++
 ...-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json |   7 ++
 ...-4944bee5-948a-4649-87a1-8362f68d4635.json |   7 ++
 ...-14e136f0-eeb5-4113-8921-e732772e0a04.json |   7 ++
 ...-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json |   7 ++
 ...-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json |   7 ++
 ...-d79ea04c-0316-4c1e-9c1e-96710298947a.json |   7 ++
 ...-51e8bb80-2224-47a8-8a42-282214bcee42.json |   7 ++
 ...-045b67fd-ae48-4ed9-abbd-669235409ead.json |   7 ++
 ...-946876fa-b8f4-4e15-bf15-54f86a508654.json |   7 ++
 ...-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json |   7 ++
 ...-7795f18a-df86-480a-8546-efca47ef6069.json |   7 ++
 ...-02147114-2b1f-427d-a369-c495dcc060f7.json |   7 ++
 ...-7ff1890e-77cb-4078-be01-2673bb29a80b.json |   7 ++
 ...-59106324-2e52-43e5-b407-87f41706faa5.json |   7 ++
 ...-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json |   7 ++
 ...-041ffd34-f086-4af7-a72a-66dbbd56617b.json |   7 ++
 ...-c489edef-c7ee-4bf0-8f32-8565edccb381.json |   7 ++
 ...-a4a177a3-0514-4657-9fdd-a0e90d44e813.json |   7 ++
 ...-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json |   7 ++
 ...-287da350-699b-410f-bd97-7cb590731302.json |   7 ++
 ...-82544042-02b6-4262-91cd-e7f9fe24bad2.json |   7 ++
 ...-00dd23f0-89d0-486d-844f-30a880feb0f5.json |   7 ++
 ...-1e695416-a364-41c7-98b1-5cc336ce40ed.json |   7 ++
 ...-9d03e3c6-0e57-491d-bbb2-ff84af746057.json |   7 ++
 ...-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json |   7 ++
 package.json                                  |   1 -
 packages/charts/react-charting/src/Styling.ts |   6 +-
 .../charts/react-charting/src/Utilities.ts    |  14 ---
 .../components/DonutChart/DonutChart.base.tsx |   1 +
 .../HorizontalBarChart.base.tsx               |   1 +
 .../MultiStackedBarChart.base.tsx             |   1 +
 .../StackedBarChart/StackedBarChart.base.tsx  |   1 +
 .../VerticalStackedBarChart.base.tsx          |   2 +-
 .../src/utilities/SVGTooltipText.tsx          |   2 +-
 packages/codemods/.eslintrc.json              |   2 +-
 .../codeMods/utilities/helpers/propHelpers.ts |   2 +-
 packages/eslint-plugin/package.json           |   1 -
 packages/eslint-plugin/src/configs/core.js    |  15 +--
 packages/font-icons-mdl2/src/IconNames.ts     |   2 +-
 .../font-icons-mdl2/src/iconNames.test.ts     |   2 +-
 packages/font-icons-mdl2/src/index.ts         |   4 +-
 .../foundation-legacy/src/ThemeProvider.tsx   |   2 +-
 packages/keyboard-key/src/index.ts            |   4 +-
 packages/merge-styles/src/DeepPartial.ts      |   2 +-
 packages/merge-styles/src/IStyleSet.ts        |  10 +-
 packages/merge-styles/src/Stylesheet.ts       |   4 +-
 packages/merge-styles/src/index.ts            |   4 +-
 packages/react-cards/.eslintrc.json           |   2 +-
 .../src/components/Accordion/useAccordion.ts  |   2 +-
 .../useAccordionItemContextValues.ts          |   2 +-
 .../useActivedescendant.test.tsx              |   4 +-
 .../react-aria/library/src/button/index.ts    |   2 +-
 .../button/useARIAButtonShorthand.test.tsx    |   8 +-
 .../src/button/useARIAButtonShorthand.ts      |   4 +-
 .../react-aria/library/src/index.ts           |   2 +-
 .../react-avatar/library/src/Avatar.ts        |   2 +-
 .../library/src/components/Avatar/index.ts    |   2 +-
 .../react-avatar/library/src/index.ts         |   2 +-
 .../components/Combobox/renderCombobox.tsx    |   4 +-
 .../components/Dropdown/renderDropdown.tsx    |   4 +-
 .../library/src/contexts/ComboboxContext.ts   |   2 +-
 .../react-combobox/library/src/index.ts       |   2 +-
 .../react-components/src/index.ts             |  20 ++--
 .../react-components/src/unstable/index.ts    |   4 +-
 .../react-icons-compat/library/src/icon.ts    |   2 +-
 .../src/createElement.test.tsx                |  10 +-
 .../react-jsx-runtime/src/interop.test.tsx    |   8 +-
 .../src/jsx-runtime.test.tsx                  |  10 +-
 .../react-menu/library/src/Menu.ts            |   2 +-
 .../react-menu/library/src/MenuList.ts        |   2 +-
 .../library/src/components/Menu/index.ts      |   2 +-
 .../library/src/components/MenuList/index.ts  |   2 +-
 .../library/src/components/index.ts           |   2 +-
 .../react-menu/library/src/index.ts           |   4 +-
 .../components/MessageBar/MessageBar.test.tsx |  10 +-
 .../components/MessageBar/useMessageBar.ts    |   2 +-
 .../library/src/slots/presenceMotionSlot.tsx  |   2 +-
 .../src/components/Popover/usePopover.ts      |   2 +-
 .../react-positioning/src/usePositioning.ts   |   2 +-
 .../useFluentProviderThemeStyleTag.test.tsx   |   2 +-
 .../react-radio/library/src/contexts/index.ts |   2 +-
 .../react-radio/library/src/index.ts          |   2 +-
 .../src/preset/manager.ts                     |   6 +-
 .../react-switch/library/src/Switch.ts        |   2 +-
 .../library/src/components/Switch/index.ts    |   2 +-
 .../react-switch/library/src/index.ts         |   2 +-
 .../useDataGridHeaderCell.ts                  |   2 +-
 .../useTableSelectionCell.tsx                 |   2 +-
 .../src/components/Tab/useTabStyles.styles.ts |   2 +-
 .../react-tabster/src/index.ts                |   4 +-
 .../TreeItem/useTreeItemContextValues.ts      |   4 +-
 .../src/compose/deprecated/getSlots.test.tsx  |  26 ++---
 .../src/compose/deprecated/getSlots.ts        |  10 +-
 .../compose/deprecated/getSlotsNext.test.tsx  |  26 ++---
 .../src/compose/deprecated/getSlotsNext.ts    |  12 +-
 .../deprecated/resolveShorthand.test.tsx      |  16 +--
 .../compose/deprecated/resolveShorthand.ts    |   6 +-
 .../src/compose/getIntrinsicElementProps.ts   |   2 +-
 .../react-utilities/src/compose/index.ts      |  10 +-
 .../src/hooks/useOnClickOutside.ts            |   4 +-
 .../react-utilities/src/index.ts              |  14 +--
 .../react-utilities/src/ssr/canUseDOM.ts      |   2 +-
 .../src/utils/getNativeElementProps.test.ts   |  10 +-
 .../src/utils/getNativeElementProps.ts        |   2 +-
 .../react-utilities/src/utils/index.ts        |   2 +-
 .../react-conformance/src/isConformant.ts     |   2 +-
 packages/react-date-time/src/Calendar.ts      |   6 +-
 packages/react-date-time/src/DatePicker.ts    |   4 +-
 .../react-docsite-components/.eslintrc.json   |  12 +-
 .../Card/Card.Configure.Example.tsx           |   2 +-
 .../Card/Card.Horizontal.Example.tsx          |   2 +-
 .../Card/Card.Vertical.Example.tsx            |   2 +-
 .../Chiclet/Chiclet.Footer.Example.tsx        |   2 +-
 .../Chiclet/Chiclet.Xsmall.Footer.Example.tsx |   2 +-
 .../CollapsibleSection.Styled.Example.tsx     |   2 +-
 ...PeopleSuggestions.HeaderFooter.Example.tsx |   2 +-
 .../Slider/Slider.Example.tsx                 |   2 +-
 .../Slider/Slider.Vertical.Example.tsx        |   2 +-
 .../Theming.Schemes.Custom.Example.tsx        |   6 +-
 .../Theming.Schemes.Variant.Example.tsx       |   6 +-
 .../UnifiedPeoplePicker.WithEdit.Example.tsx  |   2 +-
 .../FocusZone/FocusZone.List.Example.tsx      |   2 +-
 .../react/Layer/Layer.Customized.Example.tsx  |   2 +-
 .../src/react/Modal/Modal.Basic.Example.tsx   |   2 +-
 .../react/Modal/Modal.Modeless.Example.tsx    |   2 +-
 .../Panel.HandleDismissTarget.Example.tsx     |   2 +-
 .../examples/PeoplePickerExampleData.ts       |   2 +-
 .../Pivot/Pivot.OverflowMenu.Example.tsx      |   2 +-
 .../ThemeGenerator/ThemeGenerator.doc.tsx     |   2 +-
 packages/react-experiments/src/Foundation.ts  |   4 +-
 packages/react-experiments/src/Styling.ts     |   6 +-
 packages/react-experiments/src/Utilities.ts   |  14 ---
 .../src/components/BAFAccordion/Accordion.tsx |   2 +-
 .../CollapsibleSection.state.tsx              |   6 +-
 .../FloatingSuggestions.tsx                   |   2 +-
 .../FolderCover/FolderCover.types.ts          |   2 +-
 .../SelectedItemsList/Items/CopyableItem.tsx  |   2 +-
 .../subcomponents/DefaultEditingItem.tsx      |   2 +-
 .../src/components/Sidebar/Sidebar.tsx        |   6 +-
 .../src/components/Slider/Slider.base.tsx     |   2 +-
 .../src/components/Slider/Slider.styles.tsx   |   2 +-
 .../src/components/Slider/Slider.test.tsx     |   2 +-
 .../src/components/Slider/Slider.tsx          |   2 +-
 .../src/components/Slider/Slider.types.ts     |   2 +-
 .../components/TilesList/TilesList.types.ts   |   2 +-
 .../UnifiedPicker/UnifiedPicker.tsx           |   8 +-
 .../src/components/FocusZone/FocusZone.tsx    |  46 ++++----
 .../react-hooks/src/useConstCallback.test.tsx |   2 +-
 .../react-hooks/src/useMountSync.test.tsx     |   2 +-
 .../src/utilities/getQueryParam.ts            |   2 +-
 packages/react/src/Icons.ts                   |   5 +-
 packages/react/src/Styling.ts                 |   3 -
 packages/react/src/Utilities.ts               |  14 ---
 .../components/ActivityItem/ActivityItem.tsx  |   6 +-
 .../src/components/Autofill/Autofill.tsx      |  10 +-
 .../src/components/Button/BaseButton.tsx      |  32 +++---
 .../react/src/components/Button/Button.tsx    |   2 +-
 .../src/components/Button/Button.types.ts     |   4 +-
 .../src/components/Calendar/Calendar.base.tsx |   4 +-
 .../Calendar/CalendarDay/CalendarDay.base.tsx |   2 +-
 .../CalendarMonth/CalendarMonth.base.tsx      |   2 +-
 .../CalendarYear/CalendarYear.base.tsx        |   6 +-
 .../CalendarDayGrid/CalendarGridDayCell.tsx   |  10 +-
 .../Callout/CalloutContent.base.tsx           |   2 +-
 .../src/components/Check/Check.styles.ts      |   2 +-
 .../components/Coachmark/Coachmark.base.tsx   |   6 +-
 .../ColorPicker/ColorPicker.base.tsx          |  12 +-
 .../ColorRectangle/ColorRectangle.base.tsx    |   2 +-
 .../ColorSlider/ColorSlider.base.tsx          |   8 +-
 .../ColorSlider/ColorSlider.styles.ts         |   2 +-
 .../src/components/ComboBox/ComboBox.tsx      |  22 ++--
 .../components/CommandBar/CommandBar.base.tsx |   4 +-
 .../ContextualMenu/ContextualMenu.base.tsx    |  48 ++++----
 .../ContextualMenu.classNames.ts              |   6 +-
 .../ContextualMenu/ContextualMenu.types.ts    |   8 +-
 .../ContextualMenuItem.base.tsx               |   4 +-
 .../ContextualMenuItem.test.tsx               |  12 +-
 .../ContextualMenuItem.types.ts               |   2 +-
 .../ContextualMenuAnchor.test.tsx             |   4 +-
 .../ContextualMenuAnchor.tsx                  |   2 +-
 .../ContextualMenuButton.test.tsx             |   4 +-
 .../ContextualMenuButton.tsx                  |   2 +-
 .../ContextualMenuItemWrapper.types.ts        |   2 +-
 .../ContextualMenuSplitButton.test.tsx        |   4 +-
 .../ContextualMenuSplitButton.tsx             |  10 +-
 .../src/components/ContextualMenu/index.ts    |   3 +-
 .../components/DatePicker/DatePicker.base.tsx |   2 +-
 .../DetailsList/DetailsColumn.base.tsx        |   4 +-
 .../DetailsList/DetailsHeader.base.tsx        |  12 +-
 .../DetailsList/DetailsList.base.tsx          |  18 +--
 .../DetailsList/DetailsRowCheck.tsx           |   4 +-
 .../src/components/Dialog/Dialog.base.tsx     |  12 +-
 .../src/components/Dialog/Dialog.styles.ts    |   2 +-
 .../src/components/Dialog/Dialog.types.ts     |   2 +-
 .../components/Dialog/DialogContent.base.tsx  |   4 +-
 .../Divider/VerticalDivider.base.tsx          |   2 +-
 .../Divider/VerticalDivider.classNames.ts     |   2 +-
 .../Divider/VerticalDivider.styles.ts         |   2 +-
 .../Divider/VerticalDivider.types.ts          |   2 +-
 .../DocumentCard/DocumentCard.base.tsx        |   4 +-
 .../DocumentCard/DocumentCardLogo.styles.ts   |   2 +-
 .../DocumentCard/DocumentCardPreview.base.tsx |   6 +-
 .../src/components/Dropdown/Dropdown.base.tsx |  20 ++--
 .../ExtendedPicker/BaseExtendedPicker.tsx     |   2 +-
 .../src/components/Fabric/Fabric.base.tsx     |   2 +-
 .../src/components/Fabric/Fabric.test.tsx     |   2 +-
 .../src/components/Facepile/Facepile.base.tsx |   2 +-
 .../FloatingPicker/BaseFloatingPicker.tsx     |   2 +-
 .../PeoplePickerItems/SelectedItemDefault.tsx |   2 +-
 .../Suggestions/SuggestionsStore.ts           |   2 +-
 .../FocusTrapZone/FocusTrapZone.tsx           |   4 +-
 .../GroupedList/GroupHeader.base.tsx          |   7 +-
 .../GroupedList/GroupSpacer.types.ts          |   2 +-
 .../GroupedList/GroupedList.base.tsx          |   2 +-
 .../GroupedList/GroupedListV2.base.tsx        |   3 +-
 .../HoverCard/ExpandingCard.base.tsx          |   2 +-
 .../components/HoverCard/HoverCard.base.tsx   |   6 +-
 .../HoverCard/PlainCard/PlainCard.base.tsx    |   2 +-
 .../react/src/components/Icon/Icon.base.tsx   |   4 +-
 .../react/src/components/Icon/Icon.styles.ts  |   2 +-
 .../react/src/components/Icon/Icon.types.ts   |   2 +-
 .../src/components/Keytip/Keytip.styles.ts    |   4 +-
 .../react/src/components/Layer/Layer.base.tsx |   6 +-
 .../react/src/components/Link/Link.test.tsx   |   2 +-
 .../components/MessageBar/MessageBar.base.tsx |   2 +-
 .../components/MessageBar/MessageBar.types.ts |   2 +-
 .../react/src/components/Modal/Modal.base.tsx |  18 +--
 .../src/components/Modal/Modal.styles.ts      |   2 +-
 .../react/src/components/Nav/Nav.base.tsx     |   6 +-
 .../react/src/components/Panel/Panel.base.tsx |   2 +-
 .../src/components/Persona/Persona.base.tsx   |   8 +-
 .../Persona/PersonaCoin/PersonaCoin.base.tsx  |  10 +-
 .../src/components/Persona/PersonaConsts.tsx  |   4 +-
 .../Persona/PersonaInitialsColor.ts           |   6 +-
 .../react/src/components/Pivot/Pivot.base.tsx |   4 +-
 packages/react/src/components/Popup/Popup.tsx |   4 +-
 .../ProgressIndicator.base.tsx                |   4 +-
 .../src/components/Rating/Rating.base.tsx     |   4 +-
 .../components/SearchBox/SearchBox.base.tsx   |   8 +-
 .../BaseSelectedItemsList.tsx                 |   2 +-
 .../SelectedPeopleList/Items/EditingItem.tsx  |   2 +-
 .../ShimmerCircle/ShimmerCircle.base.tsx      |   2 +-
 .../ShimmerCircle/ShimmerCircle.styles.ts     |   2 +-
 .../Shimmer/ShimmerGap/ShimmerGap.base.tsx    |   2 +-
 .../Shimmer/ShimmerGap/ShimmerGap.styles.ts   |   2 +-
 .../Shimmer/ShimmerLine/ShimmerLine.base.tsx  |   2 +-
 .../Shimmer/ShimmerLine/ShimmerLine.styles.ts |   2 +-
 .../react/src/components/Slider/useSlider.ts  |   4 +-
 .../components/SpinButton/SpinButton.base.tsx |   6 +-
 .../components/SpinButton/SpinButton.test.tsx |   2 +-
 .../src/components/Spinner/Spinner.base.tsx   |   4 +-
 .../src/components/Spinner/Spinner.types.ts   |   2 +-
 .../src/components/Stack/Stack.styles.ts      |   4 +-
 .../react/src/components/Stack/Stack.test.tsx |   2 +-
 packages/react/src/components/Stack/Stack.tsx |   2 +-
 .../ColorPickerGridCell.base.tsx              |   2 +-
 .../SwatchColorPicker.base.tsx                |  10 +-
 .../TeachingBubble/TeachingBubble.base.tsx    |   4 +-
 .../TeachingBubbleContent.base.tsx            |   4 +-
 .../MaskedTextField/MaskedTextField.tsx       |   8 +-
 .../components/TextField/TextField.base.tsx   |   2 +-
 .../src/components/TimePicker/TimePicker.tsx  |   2 +-
 .../src/components/Toggle/Toggle.base.tsx     |   6 +-
 .../components/Tooltip/TooltipHost.base.tsx   |   4 +-
 .../WeeklyDayPicker/WeeklyDayPicker.base.tsx  |   4 +-
 .../src/components/pickers/BasePicker.tsx     |  12 +-
 .../PeoplePickerItem.types.ts                 |   2 +-
 .../PeoplePickerItems/SelectedItemDefault.tsx |   2 +-
 packages/react/src/index.ts                   | 103 ++----------------
 .../utilities/ButtonGrid/ButtonGrid.base.tsx  |   4 +-
 .../utilities/DraggableZone/DraggableZone.tsx |   2 +-
 .../ThemeProvider/makeStyles.test.tsx         |  10 +-
 .../src/utilities/ThemeProvider/makeStyles.ts |   4 +-
 .../ThemeProvider/useThemeProviderClasses.tsx |   2 +-
 .../contextualMenu/contextualMenuUtility.ts   |   2 +-
 .../decorators/withResponsiveMode.test.tsx    |   2 +-
 .../decorators/withResponsiveMode.tsx         |   2 +-
 .../src/utilities/positioning/positioning.ts  |  14 +--
 .../positioning/positioning.types.ts          |   1 -
 .../src/utilities/selection/SelectionZone.tsx |  12 +-
 packages/set-version/.eslintrc.json           |  11 +-
 packages/style-utilities/src/index.ts         |   6 +-
 .../src/styles/CommonStyles.ts                |   4 +-
 .../style-utilities/src/utilities/icons.ts    |   2 +-
 .../theme/src/utilities/makeSemanticColors.ts |   6 +-
 packages/utilities/src/BaseComponent.test.tsx |   4 +-
 packages/utilities/src/BaseComponent.ts       |   6 +-
 packages/utilities/src/EventGroup.test.ts     |   4 +-
 packages/utilities/src/EventGroup.ts          |   2 +-
 .../src/customizations/Customizer.test.tsx    |   2 +-
 .../src/customizations/customizable.test.tsx  |   2 +-
 packages/utilities/src/dom.ts                 |   2 +-
 packages/utilities/src/dom/canUseDOM.ts       |   2 +-
 packages/utilities/src/dom/raiseClick.ts      |   4 +-
 packages/utilities/src/index.ts               |  28 ++---
 .../src/initializeFocusRects.test.ts          |   2 +-
 .../utilities/src/initializeFocusRects.ts     |   2 +-
 packages/utilities/src/math.ts                |   4 +-
 packages/utilities/src/styled.test.tsx        |   2 +-
 packages/utilities/src/useFocusRects.ts       |   4 +-
 packages/webpack-utilities/.eslintrc.json     |  11 +-
 scripts/executors/src/generate-ui.ts          |   2 +-
 scripts/tasks/src/index.ts                    |   5 -
 syncpack.config.js                            |   1 -
 yarn.lock                                     |  11 +-
 325 files changed, 954 insertions(+), 823 deletions(-)
 create mode 100644 change/@fluentui-codemods-af108562-5adb-43f5-b0f2-06358f95ab65.json
 create mode 100644 change/@fluentui-eslint-plugin-fa5bccc0-99d9-46ae-8cc6-5fbdd18360cb.json
 create mode 100644 change/@fluentui-font-icons-mdl2-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json
 create mode 100644 change/@fluentui-foundation-legacy-05901292-a3b8-4d34-834a-8f5d74736e99.json
 create mode 100644 change/@fluentui-keyboard-key-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json
 create mode 100644 change/@fluentui-merge-styles-f28e7eb2-d3a4-4060-95af-0c74756f900d.json
 create mode 100644 change/@fluentui-react-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json
 create mode 100644 change/@fluentui-react-accordion-b082df99-c014-4ba8-8523-fdc134b25bcb.json
 create mode 100644 change/@fluentui-react-aria-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json
 create mode 100644 change/@fluentui-react-avatar-9cab8d3a-1bcd-4c03-8138-82520de36649.json
 create mode 100644 change/@fluentui-react-charting-aa5b0252-40de-497c-88f5-377ada948719.json
 create mode 100644 change/@fluentui-react-color-picker-preview-1411f212-27ea-4335-bcd3-b210359b0bd1.json
 create mode 100644 change/@fluentui-react-combobox-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json
 create mode 100644 change/@fluentui-react-components-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json
 create mode 100644 change/@fluentui-react-conformance-4944bee5-948a-4649-87a1-8362f68d4635.json
 create mode 100644 change/@fluentui-react-date-time-14e136f0-eeb5-4113-8921-e732772e0a04.json
 create mode 100644 change/@fluentui-react-experiments-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json
 create mode 100644 change/@fluentui-react-focus-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json
 create mode 100644 change/@fluentui-react-icons-compat-d79ea04c-0316-4c1e-9c1e-96710298947a.json
 create mode 100644 change/@fluentui-react-menu-51e8bb80-2224-47a8-8a42-282214bcee42.json
 create mode 100644 change/@fluentui-react-message-bar-045b67fd-ae48-4ed9-abbd-669235409ead.json
 create mode 100644 change/@fluentui-react-monaco-editor-946876fa-b8f4-4e15-bf15-54f86a508654.json
 create mode 100644 change/@fluentui-react-motion-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json
 create mode 100644 change/@fluentui-react-motion-components-preview-7795f18a-df86-480a-8546-efca47ef6069.json
 create mode 100644 change/@fluentui-react-popover-02147114-2b1f-427d-a369-c495dcc060f7.json
 create mode 100644 change/@fluentui-react-positioning-7ff1890e-77cb-4078-be01-2673bb29a80b.json
 create mode 100644 change/@fluentui-react-radio-59106324-2e52-43e5-b407-87f41706faa5.json
 create mode 100644 change/@fluentui-react-switch-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json
 create mode 100644 change/@fluentui-react-table-041ffd34-f086-4af7-a72a-66dbbd56617b.json
 create mode 100644 change/@fluentui-react-tabs-c489edef-c7ee-4bf0-8f32-8565edccb381.json
 create mode 100644 change/@fluentui-react-tabster-a4a177a3-0514-4657-9fdd-a0e90d44e813.json
 create mode 100644 change/@fluentui-react-tooltip-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json
 create mode 100644 change/@fluentui-react-tree-287da350-699b-410f-bd97-7cb590731302.json
 create mode 100644 change/@fluentui-react-utilities-82544042-02b6-4262-91cd-e7f9fe24bad2.json
 create mode 100644 change/@fluentui-react-virtualizer-00dd23f0-89d0-486d-844f-30a880feb0f5.json
 create mode 100644 change/@fluentui-style-utilities-1e695416-a364-41c7-98b1-5cc336ce40ed.json
 create mode 100644 change/@fluentui-theme-9d03e3c6-0e57-491d-bbb2-ff84af746057.json
 create mode 100644 change/@fluentui-utilities-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json

diff --git a/apps/chart-docsite/.eslintrc.json b/apps/chart-docsite/.eslintrc.json
index 45462ffe5954dc..a75719fd243047 100644
--- a/apps/chart-docsite/.eslintrc.json
+++ b/apps/chart-docsite/.eslintrc.json
@@ -4,7 +4,7 @@
   "rules": {
     "@typescript-eslint/no-explicit-any": "off",
     "@typescript-eslint/jsx-no-bind": "off",
-    "deprecation/deprecation": "off",
+    "@typescript-eslint/no-deprecated": "off",
     "import/no-extraneous-dependencies": ["error", { "packageDir": [".", "../.."] }]
   }
 }
diff --git a/apps/public-docsite-resources/.eslintrc.json b/apps/public-docsite-resources/.eslintrc.json
index b9cc959897e9b2..9fc74280fa19bb 100644
--- a/apps/public-docsite-resources/.eslintrc.json
+++ b/apps/public-docsite-resources/.eslintrc.json
@@ -5,7 +5,7 @@
     "@typescript-eslint/no-explicit-any": "off",
     "@typescript-eslint/explicit-member-accessibility": "off",
     "@typescript-eslint/member-ordering": "off",
-    "deprecation/deprecation": "off",
-    "no-restricted-globals": "off"
+    "no-restricted-globals": "off",
+    "@typescript-eslint/no-deprecated": "off"
   }
 }
diff --git a/apps/public-docsite-v9/.eslintrc.json b/apps/public-docsite-v9/.eslintrc.json
index 45462ffe5954dc..21b3d1e6a45479 100644
--- a/apps/public-docsite-v9/.eslintrc.json
+++ b/apps/public-docsite-v9/.eslintrc.json
@@ -4,7 +4,7 @@
   "rules": {
     "@typescript-eslint/no-explicit-any": "off",
     "@typescript-eslint/jsx-no-bind": "off",
-    "deprecation/deprecation": "off",
-    "import/no-extraneous-dependencies": ["error", { "packageDir": [".", "../.."] }]
+    "import/no-extraneous-dependencies": ["error", { "packageDir": [".", "../.."] }],
+    "@typescript-eslint/no-deprecated": "off"
   }
 }
diff --git a/apps/public-docsite/.eslintrc.json b/apps/public-docsite/.eslintrc.json
index 4a1010d7c11d98..6a0ccc21bb36a8 100644
--- a/apps/public-docsite/.eslintrc.json
+++ b/apps/public-docsite/.eslintrc.json
@@ -3,10 +3,10 @@
   "root": true,
   "rules": {
     "@typescript-eslint/no-explicit-any": "off",
-    "deprecation/deprecation": "off",
     "import/no-webpack-loader-syntax": "off", // ok in this project
     "prefer-const": "off",
     "react/jsx-no-bind": "off",
-    "no-restricted-globals": "off"
+    "no-restricted-globals": "off",
+    "@typescript-eslint/no-deprecated": "off"
   }
 }
diff --git a/apps/theming-designer/.eslintrc.json b/apps/theming-designer/.eslintrc.json
index 0d9ca4c10f823d..5ad87795c4a5b2 100644
--- a/apps/theming-designer/.eslintrc.json
+++ b/apps/theming-designer/.eslintrc.json
@@ -3,8 +3,8 @@
   "root": true,
   "rules": {
     "@typescript-eslint/no-explicit-any": "off",
-    "deprecation/deprecation": "off",
     "prefer-const": "off",
-    "no-restricted-globals": "off"
+    "no-restricted-globals": "off",
+    "@typescript-eslint/no-deprecated": "off"
   }
 }
diff --git a/apps/vr-tests-react-components/.eslintrc.json b/apps/vr-tests-react-components/.eslintrc.json
index 3301180702eb44..deda75964dbfd1 100644
--- a/apps/vr-tests-react-components/.eslintrc.json
+++ b/apps/vr-tests-react-components/.eslintrc.json
@@ -7,8 +7,8 @@
     "@typescript-eslint/no-explicit-any": "off",
     "@typescript-eslint/naming-convention": "off",
     "@typescript-eslint/jsx-no-bind": "off",
-    "deprecation/deprecation": "off",
     "import/no-extraneous-dependencies": ["error", { "packageDir": [".", "../.."] }],
-    "@nx/workspace-no-restricted-globals": "off"
+    "@nx/workspace-no-restricted-globals": "off",
+    "@typescript-eslint/no-deprecated": "off"
   }
 }
diff --git a/apps/vr-tests/.eslintrc.json b/apps/vr-tests/.eslintrc.json
index 54ac641d7b3bfc..5f50754feeb77e 100644
--- a/apps/vr-tests/.eslintrc.json
+++ b/apps/vr-tests/.eslintrc.json
@@ -4,8 +4,8 @@
   "rules": {
     "@typescript-eslint/no-explicit-any": "off",
     "@typescript-eslint/jsx-no-bind": "off",
-    "deprecation/deprecation": "off",
     "import/no-extraneous-dependencies": ["error", { "packageDir": [".", "../.."] }],
-    "no-restricted-globals": "off"
+    "no-restricted-globals": "off",
+    "@typescript-eslint/no-deprecated": "off"
   }
 }
diff --git a/change/@fluentui-codemods-af108562-5adb-43f5-b0f2-06358f95ab65.json b/change/@fluentui-codemods-af108562-5adb-43f5-b0f2-06358f95ab65.json
new file mode 100644
index 00000000000000..e59c56d1811400
--- /dev/null
+++ b/change/@fluentui-codemods-af108562-5adb-43f5-b0f2-06358f95ab65.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/codemods",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-eslint-plugin-fa5bccc0-99d9-46ae-8cc6-5fbdd18360cb.json b/change/@fluentui-eslint-plugin-fa5bccc0-99d9-46ae-8cc6-5fbdd18360cb.json
new file mode 100644
index 00000000000000..ddfba557f6a9a4
--- /dev/null
+++ b/change/@fluentui-eslint-plugin-fa5bccc0-99d9-46ae-8cc6-5fbdd18360cb.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/eslint-plugin",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-font-icons-mdl2-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json b/change/@fluentui-font-icons-mdl2-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json
new file mode 100644
index 00000000000000..6ac801eaac0088
--- /dev/null
+++ b/change/@fluentui-font-icons-mdl2-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/font-icons-mdl2",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-foundation-legacy-05901292-a3b8-4d34-834a-8f5d74736e99.json b/change/@fluentui-foundation-legacy-05901292-a3b8-4d34-834a-8f5d74736e99.json
new file mode 100644
index 00000000000000..b7ada786f9ef0a
--- /dev/null
+++ b/change/@fluentui-foundation-legacy-05901292-a3b8-4d34-834a-8f5d74736e99.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/foundation-legacy",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-keyboard-key-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json b/change/@fluentui-keyboard-key-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json
new file mode 100644
index 00000000000000..34089c5205b9cf
--- /dev/null
+++ b/change/@fluentui-keyboard-key-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/keyboard-key",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-merge-styles-f28e7eb2-d3a4-4060-95af-0c74756f900d.json b/change/@fluentui-merge-styles-f28e7eb2-d3a4-4060-95af-0c74756f900d.json
new file mode 100644
index 00000000000000..252227e0745e4d
--- /dev/null
+++ b/change/@fluentui-merge-styles-f28e7eb2-d3a4-4060-95af-0c74756f900d.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/merge-styles",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json b/change/@fluentui-react-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json
new file mode 100644
index 00000000000000..31063dd50b8723
--- /dev/null
+++ b/change/@fluentui-react-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-accordion-b082df99-c014-4ba8-8523-fdc134b25bcb.json b/change/@fluentui-react-accordion-b082df99-c014-4ba8-8523-fdc134b25bcb.json
new file mode 100644
index 00000000000000..ae55ba19bba18f
--- /dev/null
+++ b/change/@fluentui-react-accordion-b082df99-c014-4ba8-8523-fdc134b25bcb.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-accordion",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-aria-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json b/change/@fluentui-react-aria-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json
new file mode 100644
index 00000000000000..dc9f1971ad978a
--- /dev/null
+++ b/change/@fluentui-react-aria-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-aria",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-avatar-9cab8d3a-1bcd-4c03-8138-82520de36649.json b/change/@fluentui-react-avatar-9cab8d3a-1bcd-4c03-8138-82520de36649.json
new file mode 100644
index 00000000000000..9d3bbebf5cb5e1
--- /dev/null
+++ b/change/@fluentui-react-avatar-9cab8d3a-1bcd-4c03-8138-82520de36649.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-avatar",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-charting-aa5b0252-40de-497c-88f5-377ada948719.json b/change/@fluentui-react-charting-aa5b0252-40de-497c-88f5-377ada948719.json
new file mode 100644
index 00000000000000..cb303b57fb9e0b
--- /dev/null
+++ b/change/@fluentui-react-charting-aa5b0252-40de-497c-88f5-377ada948719.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-charting",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-color-picker-preview-1411f212-27ea-4335-bcd3-b210359b0bd1.json b/change/@fluentui-react-color-picker-preview-1411f212-27ea-4335-bcd3-b210359b0bd1.json
new file mode 100644
index 00000000000000..6e323e0af85625
--- /dev/null
+++ b/change/@fluentui-react-color-picker-preview-1411f212-27ea-4335-bcd3-b210359b0bd1.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-color-picker-preview",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-combobox-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json b/change/@fluentui-react-combobox-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json
new file mode 100644
index 00000000000000..793132b08fa9f9
--- /dev/null
+++ b/change/@fluentui-react-combobox-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-combobox",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-components-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json b/change/@fluentui-react-components-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json
new file mode 100644
index 00000000000000..6c9209a8e0effa
--- /dev/null
+++ b/change/@fluentui-react-components-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-components",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-conformance-4944bee5-948a-4649-87a1-8362f68d4635.json b/change/@fluentui-react-conformance-4944bee5-948a-4649-87a1-8362f68d4635.json
new file mode 100644
index 00000000000000..58fe9ad666bf04
--- /dev/null
+++ b/change/@fluentui-react-conformance-4944bee5-948a-4649-87a1-8362f68d4635.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-conformance",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-date-time-14e136f0-eeb5-4113-8921-e732772e0a04.json b/change/@fluentui-react-date-time-14e136f0-eeb5-4113-8921-e732772e0a04.json
new file mode 100644
index 00000000000000..62abe8ca9a7ab9
--- /dev/null
+++ b/change/@fluentui-react-date-time-14e136f0-eeb5-4113-8921-e732772e0a04.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-date-time",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-experiments-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json b/change/@fluentui-react-experiments-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json
new file mode 100644
index 00000000000000..74c5f58ffe8cf0
--- /dev/null
+++ b/change/@fluentui-react-experiments-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-experiments",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-focus-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json b/change/@fluentui-react-focus-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json
new file mode 100644
index 00000000000000..2961f1f4a9d0ae
--- /dev/null
+++ b/change/@fluentui-react-focus-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-focus",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-icons-compat-d79ea04c-0316-4c1e-9c1e-96710298947a.json b/change/@fluentui-react-icons-compat-d79ea04c-0316-4c1e-9c1e-96710298947a.json
new file mode 100644
index 00000000000000..3fb672d36efa9b
--- /dev/null
+++ b/change/@fluentui-react-icons-compat-d79ea04c-0316-4c1e-9c1e-96710298947a.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-icons-compat",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-menu-51e8bb80-2224-47a8-8a42-282214bcee42.json b/change/@fluentui-react-menu-51e8bb80-2224-47a8-8a42-282214bcee42.json
new file mode 100644
index 00000000000000..369c63a243bb20
--- /dev/null
+++ b/change/@fluentui-react-menu-51e8bb80-2224-47a8-8a42-282214bcee42.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-menu",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-message-bar-045b67fd-ae48-4ed9-abbd-669235409ead.json b/change/@fluentui-react-message-bar-045b67fd-ae48-4ed9-abbd-669235409ead.json
new file mode 100644
index 00000000000000..f62fce2bae66b0
--- /dev/null
+++ b/change/@fluentui-react-message-bar-045b67fd-ae48-4ed9-abbd-669235409ead.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-message-bar",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-monaco-editor-946876fa-b8f4-4e15-bf15-54f86a508654.json b/change/@fluentui-react-monaco-editor-946876fa-b8f4-4e15-bf15-54f86a508654.json
new file mode 100644
index 00000000000000..cce342d863249c
--- /dev/null
+++ b/change/@fluentui-react-monaco-editor-946876fa-b8f4-4e15-bf15-54f86a508654.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-monaco-editor",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-motion-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json b/change/@fluentui-react-motion-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json
new file mode 100644
index 00000000000000..57cfdd1c1b62b2
--- /dev/null
+++ b/change/@fluentui-react-motion-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-motion",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-motion-components-preview-7795f18a-df86-480a-8546-efca47ef6069.json b/change/@fluentui-react-motion-components-preview-7795f18a-df86-480a-8546-efca47ef6069.json
new file mode 100644
index 00000000000000..36a3d3b7e344cc
--- /dev/null
+++ b/change/@fluentui-react-motion-components-preview-7795f18a-df86-480a-8546-efca47ef6069.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-motion-components-preview",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-popover-02147114-2b1f-427d-a369-c495dcc060f7.json b/change/@fluentui-react-popover-02147114-2b1f-427d-a369-c495dcc060f7.json
new file mode 100644
index 00000000000000..7c818960694aea
--- /dev/null
+++ b/change/@fluentui-react-popover-02147114-2b1f-427d-a369-c495dcc060f7.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-popover",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-positioning-7ff1890e-77cb-4078-be01-2673bb29a80b.json b/change/@fluentui-react-positioning-7ff1890e-77cb-4078-be01-2673bb29a80b.json
new file mode 100644
index 00000000000000..fa917f363eb6e0
--- /dev/null
+++ b/change/@fluentui-react-positioning-7ff1890e-77cb-4078-be01-2673bb29a80b.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-positioning",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-radio-59106324-2e52-43e5-b407-87f41706faa5.json b/change/@fluentui-react-radio-59106324-2e52-43e5-b407-87f41706faa5.json
new file mode 100644
index 00000000000000..85b8c6c078c718
--- /dev/null
+++ b/change/@fluentui-react-radio-59106324-2e52-43e5-b407-87f41706faa5.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-radio",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-switch-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json b/change/@fluentui-react-switch-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json
new file mode 100644
index 00000000000000..e6327946c49fac
--- /dev/null
+++ b/change/@fluentui-react-switch-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-switch",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-table-041ffd34-f086-4af7-a72a-66dbbd56617b.json b/change/@fluentui-react-table-041ffd34-f086-4af7-a72a-66dbbd56617b.json
new file mode 100644
index 00000000000000..9855003d9f9cca
--- /dev/null
+++ b/change/@fluentui-react-table-041ffd34-f086-4af7-a72a-66dbbd56617b.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-table",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-tabs-c489edef-c7ee-4bf0-8f32-8565edccb381.json b/change/@fluentui-react-tabs-c489edef-c7ee-4bf0-8f32-8565edccb381.json
new file mode 100644
index 00000000000000..add9f9f3024781
--- /dev/null
+++ b/change/@fluentui-react-tabs-c489edef-c7ee-4bf0-8f32-8565edccb381.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-tabs",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-tabster-a4a177a3-0514-4657-9fdd-a0e90d44e813.json b/change/@fluentui-react-tabster-a4a177a3-0514-4657-9fdd-a0e90d44e813.json
new file mode 100644
index 00000000000000..8e5d56c1248819
--- /dev/null
+++ b/change/@fluentui-react-tabster-a4a177a3-0514-4657-9fdd-a0e90d44e813.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-tabster",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-tooltip-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json b/change/@fluentui-react-tooltip-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json
new file mode 100644
index 00000000000000..c1ea720b6a9e45
--- /dev/null
+++ b/change/@fluentui-react-tooltip-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-tooltip",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-tree-287da350-699b-410f-bd97-7cb590731302.json b/change/@fluentui-react-tree-287da350-699b-410f-bd97-7cb590731302.json
new file mode 100644
index 00000000000000..712df07693df6e
--- /dev/null
+++ b/change/@fluentui-react-tree-287da350-699b-410f-bd97-7cb590731302.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-tree",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-utilities-82544042-02b6-4262-91cd-e7f9fe24bad2.json b/change/@fluentui-react-utilities-82544042-02b6-4262-91cd-e7f9fe24bad2.json
new file mode 100644
index 00000000000000..6b1ae1f1853dd9
--- /dev/null
+++ b/change/@fluentui-react-utilities-82544042-02b6-4262-91cd-e7f9fe24bad2.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-utilities",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-virtualizer-00dd23f0-89d0-486d-844f-30a880feb0f5.json b/change/@fluentui-react-virtualizer-00dd23f0-89d0-486d-844f-30a880feb0f5.json
new file mode 100644
index 00000000000000..556a8a1950726c
--- /dev/null
+++ b/change/@fluentui-react-virtualizer-00dd23f0-89d0-486d-844f-30a880feb0f5.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/react-virtualizer",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-style-utilities-1e695416-a364-41c7-98b1-5cc336ce40ed.json b/change/@fluentui-style-utilities-1e695416-a364-41c7-98b1-5cc336ce40ed.json
new file mode 100644
index 00000000000000..56b5682720cded
--- /dev/null
+++ b/change/@fluentui-style-utilities-1e695416-a364-41c7-98b1-5cc336ce40ed.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/style-utilities",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-theme-9d03e3c6-0e57-491d-bbb2-ff84af746057.json b/change/@fluentui-theme-9d03e3c6-0e57-491d-bbb2-ff84af746057.json
new file mode 100644
index 00000000000000..1afa956ec2955e
--- /dev/null
+++ b/change/@fluentui-theme-9d03e3c6-0e57-491d-bbb2-ff84af746057.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/theme",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-utilities-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json b/change/@fluentui-utilities-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json
new file mode 100644
index 00000000000000..463e5c9a6e8735
--- /dev/null
+++ b/change/@fluentui-utilities-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json
@@ -0,0 +1,7 @@
+{
+  "type": "none",
+  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
+  "packageName": "@fluentui/utilities",
+  "email": "vgenaev@gmail.com",
+  "dependentChangeType": "none"
+}
diff --git a/package.json b/package.json
index 77c06c19c1c95f..b05c90218db7e1 100644
--- a/package.json
+++ b/package.json
@@ -231,7 +231,6 @@
     "eslint-config-airbnb": "18.2.1",
     "eslint-config-prettier": "8.3.0",
     "eslint-import-resolver-typescript": "3.6.1",
-    "eslint-plugin-deprecation": "3.0.0",
     "eslint-plugin-es": "4.1.0",
     "eslint-plugin-import": "2.29.1",
     "eslint-plugin-jest": "28.8.0",
diff --git a/packages/charts/react-charting/src/Styling.ts b/packages/charts/react-charting/src/Styling.ts
index 31e6ed2005a051..563a5a90452e3b 100644
--- a/packages/charts/react-charting/src/Styling.ts
+++ b/packages/charts/react-charting/src/Styling.ts
@@ -6,7 +6,7 @@ export {
   DefaultEffects,
   DefaultFontStyles,
   DefaultPalette,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   EdgeChromiumHighContrastSelector,
   FontClassNames,
   FontSizes,
@@ -39,11 +39,11 @@ export {
   createTheme,
   focusClear,
   fontFace,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getEdgeChromiumNoHighContrastAdjustSelector,
   getFadedOverflowStyle,
   getFocusOutlineStyle,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getFocusStyle,
   getGlobalClassNames,
   getHighContrastNoAdjustStyle,
diff --git a/packages/charts/react-charting/src/Utilities.ts b/packages/charts/react-charting/src/Utilities.ts
index 0850eaa19b0634..82dae884afcb13 100644
--- a/packages/charts/react-charting/src/Utilities.ts
+++ b/packages/charts/react-charting/src/Utilities.ts
@@ -1,10 +1,8 @@
 export {
   Async,
   AutoScroll,
-  // eslint-disable-next-line deprecation/deprecation
   BaseComponent,
   Customizations,
-  // eslint-disable-next-line deprecation/deprecation
   Customizer,
   CustomizerContext,
   DATA_IS_SCROLLABLE_ATTRIBUTE,
@@ -87,7 +85,6 @@ export {
   getRTL,
   getRTLSafeKeyCode,
   getRect,
-  // eslint-disable-next-line deprecation/deprecation
   getResourceUrl,
   getScrollbarWidth,
   getVirtualParent,
@@ -99,11 +96,9 @@ export {
   hoistStatics,
   htmlElementProperties,
   iframeProperties,
-  // eslint-disable-next-line deprecation/deprecation
   imageProperties,
   imgProperties,
   initializeComponentRef,
-  // eslint-disable-next-line deprecation/deprecation
   initializeFocusRects,
   inputProperties,
   isControlled,
@@ -135,7 +130,6 @@ export {
   optionProperties,
   portalContainsElement,
   precisionRound,
-  // eslint-disable-next-line deprecation/deprecation
   raiseClick,
   removeIndex,
   replaceElement,
@@ -145,15 +139,12 @@ export {
   safeRequestAnimationFrame,
   safeSetTimeout,
   selectProperties,
-  // eslint-disable-next-line deprecation/deprecation
   setBaseUrl,
   setFocusVisibility,
-  // eslint-disable-next-line deprecation/deprecation
   setLanguage,
   setMemoizeWeakMap,
   setPortalAttribute,
   setRTL,
-  // eslint-disable-next-line deprecation/deprecation
   setSSR,
   setVirtualParent,
   setWarningCallback,
@@ -184,7 +175,6 @@ export type {
   ICancelable,
   IChangeDescription,
   IChangeEventCallback,
-  // eslint-disable-next-line deprecation/deprecation
   IClassNames,
   IClassNamesFunctionOptions,
   IComponentAs,
@@ -207,7 +197,6 @@ export type {
   IPerfData,
   IPerfMeasurement,
   IPerfSummary,
-  // eslint-disable-next-line deprecation/deprecation
   IPoint,
   IPropsWithStyles,
   IRectangle,
@@ -226,13 +215,10 @@ export type {
   IStyleFunctionOrObject,
   IVirtualElement,
   IWarnControlledUsageParams,
-  // eslint-disable-next-line deprecation/deprecation
   Omit,
   Point,
   RefObject,
-  // eslint-disable-next-line deprecation/deprecation
   Settings,
-  // eslint-disable-next-line deprecation/deprecation
   SettingsFunction,
   StyleFunction,
 } from '@fluentui/react/lib/Utilities';
diff --git a/packages/charts/react-charting/src/components/DonutChart/DonutChart.base.tsx b/packages/charts/react-charting/src/components/DonutChart/DonutChart.base.tsx
index 79c4414e3307ab..5fc0da02192505 100644
--- a/packages/charts/react-charting/src/components/DonutChart/DonutChart.base.tsx
+++ b/packages/charts/react-charting/src/components/DonutChart/DonutChart.base.tsx
@@ -178,6 +178,7 @@ export class DonutChartBase extends React.Component<IDonutChartProps, IDonutChar
           hidden={!(!this.props.hideTooltip && this.state.showHover)}
           id={this._calloutId}
           onDismiss={this._closeCallout}
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           preventDismissOnLostFocus={true}
           /** Keep the callout updated with details of focused/hovered arc */
           shouldUpdateWhenHidden={true}
diff --git a/packages/charts/react-charting/src/components/HorizontalBarChart/HorizontalBarChart.base.tsx b/packages/charts/react-charting/src/components/HorizontalBarChart/HorizontalBarChart.base.tsx
index e772604c570007..50db899116eac8 100644
--- a/packages/charts/react-charting/src/components/HorizontalBarChart/HorizontalBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/HorizontalBarChart/HorizontalBarChart.base.tsx
@@ -163,6 +163,7 @@ export class HorizontalBarChartBase extends React.Component<IHorizontalBarChartP
           directionalHint={DirectionalHint.topAutoEdge}
           id={this._calloutId}
           onDismiss={this._closeCallout}
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           preventDismissOnLostFocus={true}
           {...this.props.calloutProps!}
           {...getAccessibleDataObject(this.state.callOutAccessibilityData)}
diff --git a/packages/charts/react-charting/src/components/StackedBarChart/MultiStackedBarChart.base.tsx b/packages/charts/react-charting/src/components/StackedBarChart/MultiStackedBarChart.base.tsx
index 44e426a05f7118..2b23989b914a2e 100644
--- a/packages/charts/react-charting/src/components/StackedBarChart/MultiStackedBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/StackedBarChart/MultiStackedBarChart.base.tsx
@@ -148,6 +148,7 @@ export class MultiStackedBarChartBase extends React.Component<IMultiStackedBarCh
             directionalHint={DirectionalHint.topAutoEdge}
             id={this._calloutId}
             onDismiss={this._closeCallout}
+            // eslint-disable-next-line @typescript-eslint/no-deprecated
             preventDismissOnLostFocus={true}
             /** Keep the callout updated with details of focused/hovered bar */
             shouldUpdateWhenHidden={true}
diff --git a/packages/charts/react-charting/src/components/StackedBarChart/StackedBarChart.base.tsx b/packages/charts/react-charting/src/components/StackedBarChart/StackedBarChart.base.tsx
index 8faedf374fb215..5b4fce09229138 100644
--- a/packages/charts/react-charting/src/components/StackedBarChart/StackedBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/StackedBarChart/StackedBarChart.base.tsx
@@ -172,6 +172,7 @@ export class StackedBarChartBase extends React.Component<IStackedBarChartProps,
                   directionalHint={DirectionalHint.topAutoEdge}
                   id={this._calloutId}
                   onDismiss={this._closeCallout}
+                  // eslint-disable-next-line @typescript-eslint/no-deprecated
                   preventDismissOnLostFocus={true}
                   /** Keep the callout updated with details of focused/hovered bar */
                   shouldUpdateWhenHidden={true}
diff --git a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
index bae69324657ec7..5577c5829b4a35 100644
--- a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
@@ -524,7 +524,7 @@ export class VerticalStackedBarChartBase
     this._barWidth = getBarWidth(this.props.barWidth, this.props.maxBarWidth);
     const { theme } = this.props;
     const { palette } = theme!;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     this._colors = this.props.colors || [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];
     this._xAxisType = getTypeOfAxis(this.props.data[0].xAxisPoint, true) as XAxisTypes;
     this._lineObject = this._getFormattedLineData(this.props.data);
diff --git a/packages/charts/react-charting/src/utilities/SVGTooltipText.tsx b/packages/charts/react-charting/src/utilities/SVGTooltipText.tsx
index eb625317a5465b..d130fee6d592e7 100644
--- a/packages/charts/react-charting/src/utilities/SVGTooltipText.tsx
+++ b/packages/charts/react-charting/src/utilities/SVGTooltipText.tsx
@@ -252,7 +252,7 @@ export class SVGTooltipText
   };
 
   private _onTooltipKeyDown = (ev: React.KeyboardEvent<SVGElement>): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if ((ev.which === KeyCodes.escape || ev.ctrlKey) && this.state.isTooltipVisible) {
       this._hideTooltip();
       ev.stopPropagation();
diff --git a/packages/codemods/.eslintrc.json b/packages/codemods/.eslintrc.json
index 3659e1a174fbb0..554b7ea5d198a2 100644
--- a/packages/codemods/.eslintrc.json
+++ b/packages/codemods/.eslintrc.json
@@ -9,7 +9,7 @@
         "@typescript-eslint/no-explicit-any": "off",
         "@typescript-eslint/naming-convention": "off",
         "import/no-extraneous-dependencies": "off",
-        "deprecation/deprecation": "off"
+        "@typescript-eslint/no-deprecated": "off"
       }
     }
   ]
diff --git a/packages/codemods/src/codeMods/utilities/helpers/propHelpers.ts b/packages/codemods/src/codeMods/utilities/helpers/propHelpers.ts
index 5c2d951a2a3b0d..814aaa3a9ee055 100644
--- a/packages/codemods/src/codeMods/utilities/helpers/propHelpers.ts
+++ b/packages/codemods/src/codeMods/utilities/helpers/propHelpers.ts
@@ -255,7 +255,7 @@ function tryInsertExistingDecomposedProp(oldProp: string, statement: VariableSta
   const decompObject = statement.getFirstDescendantByKind(SyntaxKind.ObjectBindingPattern);
   if (decompObject) {
     let objectText = decompObject.getText();
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     objectText = objectText.substr(0, 1) + ` ${oldProp},` + objectText.substr(1);
     decompObject.replaceWithText(objectText);
     return true;
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index 797cd8dce675b5..87282caa800235 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -19,7 +19,6 @@
     "eslint-config-airbnb": "^18.2.1",
     "eslint-config-prettier": "^8.3.0",
     "eslint-import-resolver-typescript": "^3.6.1",
-    "eslint-plugin-deprecation": "^3.0.0",
     "eslint-plugin-import": "^2.29.1",
     "eslint-plugin-jest": "^28.6.0",
     "eslint-plugin-jsdoc": "^48.7.0",
diff --git a/packages/eslint-plugin/src/configs/core.js b/packages/eslint-plugin/src/configs/core.js
index 72bbfac84c0783..879695816f13ee 100644
--- a/packages/eslint-plugin/src/configs/core.js
+++ b/packages/eslint-plugin/src/configs/core.js
@@ -14,16 +14,7 @@ const config = {
     'prettier',
   ],
   parser: '@typescript-eslint/parser',
-  plugins: [
-    'import',
-    '@fluentui',
-    '@rnx-kit',
-    '@typescript-eslint',
-    'deprecation',
-    'jest',
-    'jsdoc',
-    ...__internal.plugins,
-  ],
+  plugins: ['import', '@fluentui', '@rnx-kit', '@typescript-eslint', 'jest', 'jsdoc', ...__internal.plugins],
   settings: {
     'import/resolver': {
       // @see https://github.com/alexgorbatchev/eslint-import-resolver-typescript#configuration
@@ -248,7 +239,7 @@ const typeAwareRules = {
   /**
    * plugin: https://github.com/gund/eslint-plugin-deprecation
    */
-  'deprecation/deprecation': 'error',
+  '@typescript-eslint/no-deprecated': 'error',
 };
 
 /**
@@ -318,7 +309,7 @@ const getOverrides = () => [
   {
     files: 'src/**/*.deprecated.test.{ts,tsx}',
     rules: {
-      'deprecation/deprecation': 'off', // the purpose of these tests
+      '@typescript-eslint/no-deprecated': 'off',
     },
   },
   {
diff --git a/packages/font-icons-mdl2/src/IconNames.ts b/packages/font-icons-mdl2/src/IconNames.ts
index 3041a5bc2ca612..371cf9f7253cc6 100644
--- a/packages/font-icons-mdl2/src/IconNames.ts
+++ b/packages/font-icons-mdl2/src/IconNames.ts
@@ -1805,5 +1805,5 @@ export const enum IconNames {
   SizeLegacy = 'SizeLegacy',
 }
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export type IconNamesInput = keyof typeof IconNames;
diff --git a/packages/font-icons-mdl2/src/iconNames.test.ts b/packages/font-icons-mdl2/src/iconNames.test.ts
index 022c8aeddd4f51..a73a638b33f498 100644
--- a/packages/font-icons-mdl2/src/iconNames.test.ts
+++ b/packages/font-icons-mdl2/src/iconNames.test.ts
@@ -1,6 +1,6 @@
 import { IconNames, IconNamesInput } from './IconNames';
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 declare const allIconNamesValues: IconNames;
 
 function validateIconNamesValues(allowedIconNamesValues: IconNamesInput): void {
diff --git a/packages/font-icons-mdl2/src/index.ts b/packages/font-icons-mdl2/src/index.ts
index de32b506be3675..afaf1c0f9de156 100644
--- a/packages/font-icons-mdl2/src/index.ts
+++ b/packages/font-icons-mdl2/src/index.ts
@@ -69,9 +69,9 @@ export function initializeIcons(
   registerIconAliases();
 }
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 export type { IconNamesInput } from './IconNames';
 export { IconNames } from './IconNames';
-/* eslint-enable deprecation/deprecation */
+/* eslint-enable @typescript-eslint/no-deprecated */
 
 import './version';
diff --git a/packages/foundation-legacy/src/ThemeProvider.tsx b/packages/foundation-legacy/src/ThemeProvider.tsx
index e28335d078e2da..12a572e8f2e3fc 100644
--- a/packages/foundation-legacy/src/ThemeProvider.tsx
+++ b/packages/foundation-legacy/src/ThemeProvider.tsx
@@ -25,6 +25,6 @@ export const ThemeProvider: React.FunctionComponent<IThemeProviderProps> = (prop
     return getThemedContext(context, scheme, theme);
   };
 
-  // eslint-disable-next-line react/jsx-no-bind, deprecation/deprecation
+  // eslint-disable-next-line react/jsx-no-bind, @typescript-eslint/no-deprecated
   return <Customizer {...rest} contextTransform={contextTransform} />;
 };
diff --git a/packages/keyboard-key/src/index.ts b/packages/keyboard-key/src/index.ts
index 8120aad882e9f6..da8e3ae8b3269d 100644
--- a/packages/keyboard-key/src/index.ts
+++ b/packages/keyboard-key/src/index.ts
@@ -182,7 +182,7 @@ const isObject = (val: any): val is KeyboardEventLike => {
  */
 export function getCode(eventOrKey: Partial<KeyboardEventLike> | string): number | undefined {
   if (isObject(eventOrKey)) {
-    // eslint-disable-next-line deprecation/deprecation, @typescript-eslint/no-explicit-any
+    // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-explicit-any
     return eventOrKey.keyCode || eventOrKey.which || (keyboardKey as any)[eventOrKey.key as string];
   }
   // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -204,7 +204,7 @@ export function getKey(eventOrCode: Partial<KeyboardEventLike> | number): string
     return event.key;
   }
 
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   let name = codes[(isEvent ? event.keyCode || event.which : eventOrCode) as number];
 
   if (Array.isArray(name)) {
diff --git a/packages/merge-styles/src/DeepPartial.ts b/packages/merge-styles/src/DeepPartial.ts
index ca351bd5feb541..f2e7ad6463bc4f 100644
--- a/packages/merge-styles/src/DeepPartial.ts
+++ b/packages/merge-styles/src/DeepPartial.ts
@@ -3,7 +3,7 @@
  * @deprecated - This type will hit infinite type instantiation recursion. Please use {@link DeepPartialV2}
  */
 export type DeepPartial<T> = {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   [P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends object ? DeepPartial<T[P]> : T[P];
 };
 
diff --git a/packages/merge-styles/src/IStyleSet.ts b/packages/merge-styles/src/IStyleSet.ts
index 7f6c20b407d46a..8a9274af481f5d 100644
--- a/packages/merge-styles/src/IStyleSet.ts
+++ b/packages/merge-styles/src/IStyleSet.ts
@@ -12,9 +12,9 @@ export type Diff<T extends keyof any, U extends keyof any> = ({ [P in T]: P } &
 /**
  * @deprecated Use the version provided by TypeScript instead.
  */
-// eslint-disable-next-line deprecation/deprecation, @typescript-eslint/naming-convention
+// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/naming-convention
 type _Omit<U, K extends keyof U> = Pick<U, Diff<keyof U, K>>;
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export type { _Omit as Omit };
 
 /**
@@ -40,7 +40,7 @@ export interface IStyleSetBase {
  * property.
  */
 export type IStyleSet<TStyleSet extends IStyleSetBase = { [key: string]: any }> = {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   [P in keyof _Omit<TStyleSet, 'subComponentStyles'>]: IStyle;
 } & {
   subComponentStyles?: { [P in keyof TStyleSet['subComponentStyles']]: IStyleFunctionOrObject<any, any> };
@@ -50,7 +50,7 @@ export type IStyleSet<TStyleSet extends IStyleSetBase = { [key: string]: any }>
  * A concatenated style set differs from `IStyleSet` in that subComponentStyles will always be a style function.
  */
 export type IConcatenatedStyleSet<TStyleSet extends IStyleSetBase> = {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   [P in keyof _Omit<TStyleSet, 'subComponentStyles'>]: IStyle;
 } & {
   subComponentStyles?: { [P in keyof TStyleSet['subComponentStyles']]: IStyleFunction<any, any> };
@@ -61,7 +61,7 @@ export type IConcatenatedStyleSet<TStyleSet extends IStyleSetBase> = {
  * into a class name. Additionally, all subComponentStyles are style functions.
  */
 export type IProcessedStyleSet<TStyleSet extends IStyleSetBase> = {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   [P in keyof _Omit<TStyleSet, 'subComponentStyles'>]: string;
 } & {
   subComponentStyles: {
diff --git a/packages/merge-styles/src/Stylesheet.ts b/packages/merge-styles/src/Stylesheet.ts
index 4ffe12028d9a4f..0130f878d479a0 100644
--- a/packages/merge-styles/src/Stylesheet.ts
+++ b/packages/merge-styles/src/Stylesheet.ts
@@ -347,9 +347,9 @@ export class Stylesheet {
       this._rules.push(rule);
     }
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (this._config.onInsertRule) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       this._config.onInsertRule(rule);
     }
 
diff --git a/packages/merge-styles/src/index.ts b/packages/merge-styles/src/index.ts
index 273d88371f2fd0..72d6836a34aac8 100644
--- a/packages/merge-styles/src/index.ts
+++ b/packages/merge-styles/src/index.ts
@@ -6,10 +6,10 @@ export type { IKeyframes } from './IKeyframes';
 
 export type { IStyleFunction, IStyleFunctionOrObject } from './IStyleFunction';
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export type { DeepPartial } from './DeepPartial';
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export type { IConcatenatedStyleSet, IProcessedStyleSet, IStyleSet, IStyleSetBase, Omit } from './IStyleSet';
 
 export type {
diff --git a/packages/react-cards/.eslintrc.json b/packages/react-cards/.eslintrc.json
index fcffc3d29ca9e6..4c0d4b83a6d43a 100644
--- a/packages/react-cards/.eslintrc.json
+++ b/packages/react-cards/.eslintrc.json
@@ -9,7 +9,7 @@
       "files": "**/*.{ts,tsx}",
       "rules": {
         // The components in this package are all deprecated
-        "deprecation/deprecation": "off"
+        "@typescript-eslint/no-deprecated": "off"
       }
     }
   ]
diff --git a/packages/react-components/react-accordion/library/src/components/Accordion/useAccordion.ts b/packages/react-components/react-accordion/library/src/components/Accordion/useAccordion.ts
index 2901ae3fa5b778..38ee613568d58f 100644
--- a/packages/react-components/react-accordion/library/src/components/Accordion/useAccordion.ts
+++ b/packages/react-components/react-accordion/library/src/components/Accordion/useAccordion.ts
@@ -20,7 +20,7 @@ export const useAccordion_unstable = <Value = AccordionItemValue>(
     multiple = false,
     collapsible = false,
     onToggle,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     navigation,
   } = props;
   const [openItems, setOpenItems] = useControllableState({
diff --git a/packages/react-components/react-accordion/library/src/components/AccordionItem/useAccordionItemContextValues.ts b/packages/react-components/react-accordion/library/src/components/AccordionItem/useAccordionItemContextValues.ts
index 48aa5b3207e9f9..801e3580b89ef8 100644
--- a/packages/react-components/react-accordion/library/src/components/AccordionItem/useAccordionItemContextValues.ts
+++ b/packages/react-components/react-accordion/library/src/components/AccordionItem/useAccordionItemContextValues.ts
@@ -3,7 +3,7 @@ import type { AccordionItemContextValues, AccordionItemState } from './Accordion
 import { AccordionItemContextValue } from '../../contexts/accordionItem';
 
 export function useAccordionItemContextValues_unstable(state: AccordionItemState): AccordionItemContextValues {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { disabled, open, value, onHeaderClick } = state;
   const accordionItem = React.useMemo<AccordionItemContextValue>(
     () => ({ disabled, open, value, onHeaderClick }),
diff --git a/packages/react-components/react-aria/library/src/activedescendant/useActivedescendant.test.tsx b/packages/react-components/react-aria/library/src/activedescendant/useActivedescendant.test.tsx
index 45ceea2b591653..b8f8fe07cc8312 100644
--- a/packages/react-components/react-aria/library/src/activedescendant/useActivedescendant.test.tsx
+++ b/packages/react-components/react-aria/library/src/activedescendant/useActivedescendant.test.tsx
@@ -272,7 +272,7 @@ describe('useActivedescendant', () => {
       const { getByRole } = render(<Test imperativeRef={imperativeRef} />);
 
       // there should not be a last active descendant yet
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       expect(imperativeRef.current?.focusLastActive()).toBeFalsy();
 
       imperativeRef.current?.focus('option-3');
@@ -281,7 +281,7 @@ describe('useActivedescendant', () => {
       imperativeRef.current?.blur();
       expect(imperativeRef.current?.active()).toBeUndefined();
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       expect(imperativeRef.current?.focusLastActive()).toBeTruthy();
       expect(imperativeRef.current?.active()).toBe('option-3');
 
diff --git a/packages/react-components/react-aria/library/src/button/index.ts b/packages/react-components/react-aria/library/src/button/index.ts
index a4eca5f0101884..39a345a2417328 100644
--- a/packages/react-components/react-aria/library/src/button/index.ts
+++ b/packages/react-components/react-aria/library/src/button/index.ts
@@ -1,5 +1,5 @@
 export { useARIAButtonProps } from './useARIAButtonProps';
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export { useARIAButtonShorthand } from './useARIAButtonShorthand';
 export type {
   ARIAButtonAlteredProps,
diff --git a/packages/react-components/react-aria/library/src/button/useARIAButtonShorthand.test.tsx b/packages/react-components/react-aria/library/src/button/useARIAButtonShorthand.test.tsx
index a2d40caa9ccce4..64438aec8bedc7 100644
--- a/packages/react-components/react-aria/library/src/button/useARIAButtonShorthand.test.tsx
+++ b/packages/react-components/react-aria/library/src/button/useARIAButtonShorthand.test.tsx
@@ -5,22 +5,22 @@ describe('useARIAButtonShorthands', () => {
   it('should return shorthands', () => {
     const {
       result: { current: buttonShorthand },
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
     } = renderHook(() => useARIAButtonShorthand({ as: 'button' }, { required: true }));
     expect(buttonShorthand.as).toBe('button');
     const {
       result: { current: buttonShorthand2 },
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
     } = renderHook(() => useARIAButtonShorthand({ as: undefined }, { required: true }));
     expect(buttonShorthand2.as).toBe(undefined);
     const {
       result: { current: anchorShorthand },
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
     } = renderHook(() => useARIAButtonShorthand({ as: 'a' }, { required: true }));
     expect(anchorShorthand.as).toBe('a');
     const {
       result: { current: divShorthand },
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
     } = renderHook(() => useARIAButtonShorthand({ as: 'div' }, { required: true }));
     expect(divShorthand.as).toBe('div');
   });
diff --git a/packages/react-components/react-aria/library/src/button/useARIAButtonShorthand.ts b/packages/react-components/react-aria/library/src/button/useARIAButtonShorthand.ts
index b5b18bae1c3146..9d8b64067a863e 100644
--- a/packages/react-components/react-aria/library/src/button/useARIAButtonShorthand.ts
+++ b/packages/react-components/react-aria/library/src/button/useARIAButtonShorthand.ts
@@ -14,9 +14,9 @@ import type { ARIAButtonProps, ARIAButtonSlotProps, ARIAButtonType } from './typ
  * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases
  * where no attribute addition is required.
  */
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export const useARIAButtonShorthand: ResolveShorthandFunction<ARIAButtonSlotProps> = (value, options) => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const shorthand = resolveShorthand(value, options);
   const shorthandARIAButton = useARIAButtonProps<ARIAButtonType, ARIAButtonProps>(shorthand?.as ?? 'button', shorthand);
   return shorthand && shorthandARIAButton;
diff --git a/packages/react-components/react-aria/library/src/index.ts b/packages/react-components/react-aria/library/src/index.ts
index 45a9dc54c4afdd..ad3356f83b1de0 100644
--- a/packages/react-components/react-aria/library/src/index.ts
+++ b/packages/react-components/react-aria/library/src/index.ts
@@ -1,5 +1,5 @@
 export {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   useARIAButtonShorthand,
   useARIAButtonProps,
 } from './button/index';
diff --git a/packages/react-components/react-avatar/library/src/Avatar.ts b/packages/react-components/react-avatar/library/src/Avatar.ts
index 8ca97c6548782f..642b24efddd5c4 100644
--- a/packages/react-components/react-avatar/library/src/Avatar.ts
+++ b/packages/react-components/react-avatar/library/src/Avatar.ts
@@ -3,7 +3,7 @@ export type {
   AvatarProps,
   AvatarShape,
   AvatarSize,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   AvatarSizes,
   AvatarSlots,
   AvatarState,
diff --git a/packages/react-components/react-avatar/library/src/components/Avatar/index.ts b/packages/react-components/react-avatar/library/src/components/Avatar/index.ts
index e797bdbe9904cd..410a795a32eb43 100644
--- a/packages/react-components/react-avatar/library/src/components/Avatar/index.ts
+++ b/packages/react-components/react-avatar/library/src/components/Avatar/index.ts
@@ -3,7 +3,7 @@ export type {
   AvatarProps,
   AvatarShape,
   AvatarSize,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   AvatarSizes,
   AvatarSlots,
   AvatarState,
diff --git a/packages/react-components/react-avatar/library/src/index.ts b/packages/react-components/react-avatar/library/src/index.ts
index af3c17671056a6..6575eeafb28f75 100644
--- a/packages/react-components/react-avatar/library/src/index.ts
+++ b/packages/react-components/react-avatar/library/src/index.ts
@@ -11,7 +11,7 @@ export type {
   AvatarSlots,
   AvatarState,
   AvatarShape,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   AvatarSizes,
   AvatarSize,
 } from './Avatar';
diff --git a/packages/react-components/react-combobox/library/src/components/Combobox/renderCombobox.tsx b/packages/react-components/react-combobox/library/src/components/Combobox/renderCombobox.tsx
index b0a5796ec06ca7..5702e653d61545 100644
--- a/packages/react-components/react-combobox/library/src/components/Combobox/renderCombobox.tsx
+++ b/packages/react-components/react-combobox/library/src/components/Combobox/renderCombobox.tsx
@@ -18,7 +18,7 @@ export const renderCombobox_unstable = (state: ComboboxState, contextValues: Com
     <state.root>
       <ActiveDescendantContextProvider value={contextValues.activeDescendant}>
         <ListboxProvider value={contextValues.listbox}>
-          {/*eslint-disable-next-line deprecation/deprecation*/}
+          {/*eslint-disable-next-line @typescript-eslint/no-deprecated*/}
           <ComboboxContext.Provider value={contextValues.combobox}>
             <state.input />
             {state.clearIcon && <state.clearIcon />}
@@ -31,7 +31,7 @@ export const renderCombobox_unstable = (state: ComboboxState, contextValues: Com
                   <state.listbox />
                 </Portal>
               ))}
-            {/*eslint-disable-next-line deprecation/deprecation*/}
+            {/*eslint-disable-next-line @typescript-eslint/no-deprecated*/}
           </ComboboxContext.Provider>
         </ListboxProvider>
       </ActiveDescendantContextProvider>
diff --git a/packages/react-components/react-combobox/library/src/components/Dropdown/renderDropdown.tsx b/packages/react-components/react-combobox/library/src/components/Dropdown/renderDropdown.tsx
index 130540c32d52fe..69238109c1ef71 100644
--- a/packages/react-components/react-combobox/library/src/components/Dropdown/renderDropdown.tsx
+++ b/packages/react-components/react-combobox/library/src/components/Dropdown/renderDropdown.tsx
@@ -19,7 +19,7 @@ export const renderDropdown_unstable = (state: DropdownState, contextValues: Dro
     <state.root>
       <ActiveDescendantContextProvider value={contextValues.activeDescendant}>
         <ListboxContext.Provider value={contextValues.listbox}>
-          {/*eslint-disable-next-line deprecation/deprecation*/}
+          {/*eslint-disable-next-line @typescript-eslint/no-deprecated*/}
           <ComboboxContext.Provider value={contextValues.combobox}>
             <state.button>
               {state.button.children}
@@ -34,7 +34,7 @@ export const renderDropdown_unstable = (state: DropdownState, contextValues: Dro
                   <state.listbox />
                 </Portal>
               ))}
-            {/*eslint-disable-next-line deprecation/deprecation*/}
+            {/*eslint-disable-next-line @typescript-eslint/no-deprecated*/}
           </ComboboxContext.Provider>
         </ListboxContext.Provider>
       </ActiveDescendantContextProvider>
diff --git a/packages/react-components/react-combobox/library/src/contexts/ComboboxContext.ts b/packages/react-components/react-combobox/library/src/contexts/ComboboxContext.ts
index 1d96af9f998140..128877010abdf7 100644
--- a/packages/react-components/react-combobox/library/src/contexts/ComboboxContext.ts
+++ b/packages/react-components/react-combobox/library/src/contexts/ComboboxContext.ts
@@ -50,5 +50,5 @@ export const ComboboxContext = createContext<ComboboxContextValue>({
  * @see ListboxProvider
  * @see useListboxContext_unstable
  */
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export const ComboboxProvider = ComboboxContext.Provider;
diff --git a/packages/react-components/react-combobox/library/src/index.ts b/packages/react-components/react-combobox/library/src/index.ts
index 1ca229c8b342dd..66637ff8ccf367 100644
--- a/packages/react-components/react-combobox/library/src/index.ts
+++ b/packages/react-components/react-combobox/library/src/index.ts
@@ -1,4 +1,4 @@
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export { ComboboxProvider } from './contexts/ComboboxContext';
 export type { ComboboxContextValue } from './contexts/ComboboxContext';
 export { ListboxProvider, useListboxContext_unstable } from './contexts/ListboxContext';
diff --git a/packages/react-components/react-components/src/index.ts b/packages/react-components/react-components/src/index.ts
index 1c0315c6d29141..8c37965039c6c1 100644
--- a/packages/react-components/react-components/src/index.ts
+++ b/packages/react-components/react-components/src/index.ts
@@ -103,19 +103,19 @@ export {
 export type { AnnounceContextValue } from '@fluentui/react-shared-contexts';
 export {
   // getNativeElementProps is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getNativeElementProps,
   getIntrinsicElementProps,
   getPartitionedNativeProps,
   // getSlots is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getSlots,
   slot,
   assertSlots,
   IdPrefixProvider,
   resetIdsForTests,
   // resolveShorthand is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   resolveShorthand,
   SSRProvider,
   useAnimationFrame,
@@ -134,10 +134,10 @@ export type {
   ComponentState,
   ForwardRefComponent,
   // ResolveShorthandFunction is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ResolveShorthandFunction,
   // ResolveShorthandOptions is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ResolveShorthandOptions,
   Slot,
   SlotOptions,
@@ -241,7 +241,7 @@ export type {
   AvatarNamedColor,
   AvatarProps,
   // AvatarSizes is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   AvatarSizes,
   AvatarSize,
   AvatarSlots,
@@ -374,7 +374,7 @@ export {
   optionGroupClassNames,
   useOptionGroupStyles_unstable,
   useOptionGroup_unstable,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ComboboxProvider,
   useComboboxContextValues,
   ListboxProvider,
@@ -562,7 +562,7 @@ export type {
   MenuOpenChangeData,
   MenuOpenEvent,
   // MenuOpenEvents is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   MenuOpenEvents,
   MenuPopoverProps,
   MenuPopoverSlots,
@@ -578,7 +578,7 @@ export type {
   MenuTriggerState,
   SelectableHandler,
   // UninitializedMenuListState is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   UninitializedMenuListState,
 } from '@fluentui/react-menu';
 export {
@@ -630,7 +630,7 @@ export {
   renderRadio_unstable,
   renderRadioGroup_unstable,
   useRadio_unstable,
-  useRadioGroupContext_unstable, // eslint-disable-line deprecation/deprecation
+  useRadioGroupContext_unstable, // eslint-disable-line @typescript-eslint/no-deprecated
   useRadioGroupContextValue_unstable,
   useRadioGroupContextValues,
   useRadioGroup_unstable,
diff --git a/packages/react-components/react-components/src/unstable/index.ts b/packages/react-components/react-components/src/unstable/index.ts
index 97cbbb4f339bda..b821e46f85ef9c 100644
--- a/packages/react-components/react-components/src/unstable/index.ts
+++ b/packages/react-components/react-components/src/unstable/index.ts
@@ -7,7 +7,7 @@
 // - use/consume `*-preview` packages directly for preview/unstable Fluent UI core controls early access
 // =====================================================================================================
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 export {
   Alert,
   alertClassNames,
@@ -37,7 +37,7 @@ export type {
   InfoLabelSlots,
   InfoLabelState,
 } from '@fluentui/react-infobutton';
-/* eslint-enable deprecation/deprecation */
+/* eslint-enable @typescript-eslint/no-deprecated */
 
 export {
   Virtualizer,
diff --git a/packages/react-components/react-icons-compat/library/src/icon.ts b/packages/react-components/react-icons-compat/library/src/icon.ts
index 9c64d247c04927..47e689293d0e31 100644
--- a/packages/react-components/react-icons-compat/library/src/icon.ts
+++ b/packages/react-components/react-icons-compat/library/src/icon.ts
@@ -171,7 +171,7 @@ export function getIcon(name?: string): IconRecord | undefined {
         }
       }
     } else {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (!options.disableWarnings && options.warnOnMissingIcons) {
         // eslint-disable-next-line no-console
         console.warn(
diff --git a/packages/react-components/react-jsx-runtime/src/createElement.test.tsx b/packages/react-components/react-jsx-runtime/src/createElement.test.tsx
index 59cd16ff8b906e..3b670e327d6f50 100644
--- a/packages/react-components/react-jsx-runtime/src/createElement.test.tsx
+++ b/packages/react-components/react-jsx-runtime/src/createElement.test.tsx
@@ -77,12 +77,12 @@ describe('createElement with getSlotsNext', () => {
         const state: TestComponentState = {
           components: { slot: 'div' },
 
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           slot: resolveShorthand(props.slot, {
             defaultProps: { children: 'Default Children', id: 'slot' },
           }),
         };
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const { slots, slotProps } = getSlotsNext<TestComponentSlots>(state);
 
         return <slots.slot {...slotProps.slot} />;
@@ -120,12 +120,12 @@ describe('createElement with getSlotsNext', () => {
         const state: TestComponentState = {
           components: { inner: 'div', outer: 'div' },
 
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           inner: resolveShorthand(props.inner, { defaultProps: { id: 'inner' } }),
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           outer: resolveShorthand(props.outer, { defaultProps: { id: 'outer' } }),
         };
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const { slots, slotProps } = getSlotsNext<TestComponentSlots>(state);
 
         return (
diff --git a/packages/react-components/react-jsx-runtime/src/interop.test.tsx b/packages/react-components/react-jsx-runtime/src/interop.test.tsx
index d6c46a016b4ef4..24d2f754c91f99 100644
--- a/packages/react-components/react-jsx-runtime/src/interop.test.tsx
+++ b/packages/react-components/react-jsx-runtime/src/interop.test.tsx
@@ -19,7 +19,7 @@ describe('resolveShorthand with assertSlots', () => {
       const TestComponent = (props: TestComponentProps) => {
         const state: TestComponentState = {
           components: { someSlot: 'div' },
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           someSlot: resolveShorthand(props.someSlot, {
             required: true,
             defaultProps: { children: 'Default Children', id: 'slot' },
@@ -64,9 +64,9 @@ describe('resolveShorthand with assertSlots', () => {
       const TestComponent = (props: TestComponentProps) => {
         const state: TestComponentState = {
           components: { outer: 'div', inner: 'div' },
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           inner: resolveShorthand(props.inner, { defaultProps: { id: 'inner' }, required: true }),
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           outer: resolveShorthand(props.outer, { defaultProps: { id: 'outer' }, required: true }),
         };
         assertSlots<TestComponentSlots>(state);
@@ -125,7 +125,7 @@ describe('resolveShorthand with assertSlots', () => {
       const TestComponent = (props: TestComponentProps) => {
         const state: TestComponentState = {
           components: { slot: 'div' },
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           slot: resolveShorthand(props.slot, { required: true }),
         };
         assertSlots<TestComponentSlots>(state);
diff --git a/packages/react-components/react-jsx-runtime/src/jsx-runtime.test.tsx b/packages/react-components/react-jsx-runtime/src/jsx-runtime.test.tsx
index 66d5a5343aa3ca..ed8b53687fcabe 100644
--- a/packages/react-components/react-jsx-runtime/src/jsx-runtime.test.tsx
+++ b/packages/react-components/react-jsx-runtime/src/jsx-runtime.test.tsx
@@ -71,12 +71,12 @@ describe('createElement with getSlotsNext', () => {
         const state: TestComponentState = {
           components: { slot: 'div' },
 
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           slot: resolveShorthand(props.slot, {
             defaultProps: { children: 'Default Children', id: 'slot' },
           }),
         };
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const { slots, slotProps } = getSlotsNext<TestComponentSlots>(state);
 
         return <slots.slot {...slotProps.slot} />;
@@ -114,12 +114,12 @@ describe('createElement with getSlotsNext', () => {
         const state: TestComponentState = {
           components: { inner: 'div', outer: 'div' },
 
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           inner: resolveShorthand(props.inner, { defaultProps: { id: 'inner' } }),
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           outer: resolveShorthand(props.outer, { defaultProps: { id: 'outer' } }),
         };
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const { slots, slotProps } = getSlotsNext<TestComponentSlots>(state);
 
         return (
diff --git a/packages/react-components/react-menu/library/src/Menu.ts b/packages/react-components/react-menu/library/src/Menu.ts
index a1d64d15e3ae75..4a6cc2cb8481fd 100644
--- a/packages/react-components/react-menu/library/src/Menu.ts
+++ b/packages/react-components/react-menu/library/src/Menu.ts
@@ -2,7 +2,7 @@ export type {
   MenuContextValues,
   MenuOpenChangeData,
   MenuOpenEvent,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   MenuOpenEvents,
   MenuProps,
   MenuSlots,
diff --git a/packages/react-components/react-menu/library/src/MenuList.ts b/packages/react-components/react-menu/library/src/MenuList.ts
index 5869d3b2473fcc..bdf7061fb1a954 100644
--- a/packages/react-components/react-menu/library/src/MenuList.ts
+++ b/packages/react-components/react-menu/library/src/MenuList.ts
@@ -5,7 +5,7 @@ export type {
   MenuListProps,
   MenuListSlots,
   MenuListState,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   UninitializedMenuListState,
 } from './components/MenuList/index';
 export {
diff --git a/packages/react-components/react-menu/library/src/components/Menu/index.ts b/packages/react-components/react-menu/library/src/components/Menu/index.ts
index 0830f525ad16ad..f8f52e39aa00d2 100644
--- a/packages/react-components/react-menu/library/src/components/Menu/index.ts
+++ b/packages/react-components/react-menu/library/src/components/Menu/index.ts
@@ -3,7 +3,7 @@ export type {
   MenuContextValues,
   MenuOpenChangeData,
   MenuOpenEvent,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   MenuOpenEvents,
   MenuProps,
   MenuSlots,
diff --git a/packages/react-components/react-menu/library/src/components/MenuList/index.ts b/packages/react-components/react-menu/library/src/components/MenuList/index.ts
index 66b24f6405c9a2..eb018a4ed49ead 100644
--- a/packages/react-components/react-menu/library/src/components/MenuList/index.ts
+++ b/packages/react-components/react-menu/library/src/components/MenuList/index.ts
@@ -6,7 +6,7 @@ export type {
   MenuListProps,
   MenuListSlots,
   MenuListState,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   UninitializedMenuListState,
 } from './MenuList.types';
 export { renderMenuList_unstable } from './renderMenuList';
diff --git a/packages/react-components/react-menu/library/src/components/index.ts b/packages/react-components/react-menu/library/src/components/index.ts
index 778a42b08abe47..eb7e7cd5f0785b 100644
--- a/packages/react-components/react-menu/library/src/components/index.ts
+++ b/packages/react-components/react-menu/library/src/components/index.ts
@@ -13,7 +13,7 @@ export type {
   MenuListProps,
   MenuListSlots,
   MenuListState,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   UninitializedMenuListState,
 } from './MenuList/index';
 export {
diff --git a/packages/react-components/react-menu/library/src/index.ts b/packages/react-components/react-menu/library/src/index.ts
index 85019a022946d0..1d2d53e93f1fa0 100644
--- a/packages/react-components/react-menu/library/src/index.ts
+++ b/packages/react-components/react-menu/library/src/index.ts
@@ -12,7 +12,7 @@ export type {
   MenuOpenChangeData,
   MenuOpenEvent,
   // MenuOpenEvents is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   MenuOpenEvents,
   MenuProps,
   MenuSlots,
@@ -83,7 +83,7 @@ export type {
   MenuListSlots,
   MenuListState,
   // UninitializedMenuListState is deprecated but removing it would be a breaking change
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   UninitializedMenuListState,
 } from './MenuList';
 export {
diff --git a/packages/react-components/react-message-bar/library/src/components/MessageBar/MessageBar.test.tsx b/packages/react-components/react-message-bar/library/src/components/MessageBar/MessageBar.test.tsx
index 056dce8a52bfdf..bd108f6054cab9 100644
--- a/packages/react-components/react-message-bar/library/src/components/MessageBar/MessageBar.test.tsx
+++ b/packages/react-components/react-message-bar/library/src/components/MessageBar/MessageBar.test.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
 import { render } from '@testing-library/react';
 import { isConformant } from '../../testing/isConformant';
 import { MessageBar } from './MessageBar';
-import { AnnounceProvider_unstable } from '@fluentui/react-shared-contexts';
+import { AnnounceProvider } from '@fluentui/react-shared-contexts';
 import { MessageBarBody } from '../MessageBarBody/MessageBarBody';
 import { MessageBarTitle } from '../MessageBarTitle/MessageBarTitle';
 import { MessageBarActions } from '../MessageBarActions/MessageBarActions';
@@ -67,13 +67,13 @@ describe('MessageBar', () => {
   ])('should announce %s with %s intent', (politeness, intent) => {
     const announce = jest.fn();
     render(
-      <AnnounceProvider_unstable value={{ announce }}>
+      <AnnounceProvider value={{ announce }}>
         <MessageBar intent={intent}>
           <MessageBarBody>
             <MessageBarTitle>Title</MessageBarTitle>Body
           </MessageBarBody>
         </MessageBar>
-      </AnnounceProvider_unstable>,
+      </AnnounceProvider>,
     );
 
     expect(announce).toHaveBeenCalledTimes(1);
@@ -86,7 +86,7 @@ describe('MessageBar', () => {
   it('should announce actions', () => {
     const announce = jest.fn();
     render(
-      <AnnounceProvider_unstable value={{ announce }}>
+      <AnnounceProvider value={{ announce }}>
         <MessageBar>
           <MessageBarBody>
             <MessageBarTitle>Title</MessageBarTitle>Body
@@ -96,7 +96,7 @@ describe('MessageBar', () => {
             <button>Action 2</button>
           </MessageBarActions>
         </MessageBar>
-      </AnnounceProvider_unstable>,
+      </AnnounceProvider>,
     );
 
     expect(announce).toHaveBeenCalledTimes(1);
diff --git a/packages/react-components/react-message-bar/library/src/components/MessageBar/useMessageBar.ts b/packages/react-components/react-message-bar/library/src/components/MessageBar/useMessageBar.ts
index 1c6145749da4fa..7ab387059a5841 100644
--- a/packages/react-components/react-message-bar/library/src/components/MessageBar/useMessageBar.ts
+++ b/packages/react-components/react-message-bar/library/src/components/MessageBar/useMessageBar.ts
@@ -21,7 +21,7 @@ export const useMessageBar_unstable = (props: MessageBarProps, ref: React.Ref<HT
   const autoReflow = layout === 'auto';
   const { ref: reflowRef, reflowing } = useMessageBarReflow(autoReflow);
   const computedLayout = autoReflow ? (reflowing ? 'multiline' : 'singleline') : layout;
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { className: transitionClassName, nodeRef } = useMessageBarTransitionContext();
   const actionsRef = React.useRef<HTMLDivElement | null>(null);
   const bodyRef = React.useRef<HTMLDivElement | null>(null);
diff --git a/packages/react-components/react-motion/library/src/slots/presenceMotionSlot.tsx b/packages/react-components/react-motion/library/src/slots/presenceMotionSlot.tsx
index 5c85af9d4b9b79..54f108e3b66c74 100644
--- a/packages/react-components/react-motion/library/src/slots/presenceMotionSlot.tsx
+++ b/packages/react-components/react-motion/library/src/slots/presenceMotionSlot.tsx
@@ -42,7 +42,7 @@ export function presenceMotionSlot<MotionParams extends Record<string, MotionPar
     defaultProps: PresenceMotionSlotRenderProps & MotionParams;
   },
 ): SlotComponentType<PresenceMotionSlotRenderProps & MotionParams> {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { as, children, ...rest } = motion ?? {};
 
   if (process.env.NODE_ENV !== 'production') {
diff --git a/packages/react-components/react-popover/library/src/components/Popover/usePopover.ts b/packages/react-components/react-popover/library/src/components/Popover/usePopover.ts
index 67e026e21b30c2..2ab6254edfee08 100644
--- a/packages/react-components/react-popover/library/src/components/Popover/usePopover.ts
+++ b/packages/react-components/react-popover/library/src/components/Popover/usePopover.ts
@@ -129,7 +129,7 @@ export const usePopover_unstable = (props: PopoverProps): PopoverState => {
   return {
     ...initialState,
     ...positioningRefs,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     inertTrapFocus: props.inertTrapFocus ?? (props.legacyTrapFocus === undefined ? false : !props.legacyTrapFocus),
     popoverTrigger,
     popoverSurface,
diff --git a/packages/react-components/react-positioning/src/usePositioning.ts b/packages/react-components/react-positioning/src/usePositioning.ts
index 8dd68e3434ecfa..28280848b1a078 100644
--- a/packages/react-components/react-positioning/src/usePositioning.ts
+++ b/packages/react-components/react-positioning/src/usePositioning.ts
@@ -173,7 +173,7 @@ function usePositioningOptions(options: PositioningOptions) {
     pinned,
     position,
     unstable_disableTether: disableTether,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     positionFixed,
     strategy,
     overflowBoundaryPadding,
diff --git a/packages/react-components/react-provider/library/src/components/FluentProvider/useFluentProviderThemeStyleTag.test.tsx b/packages/react-components/react-provider/library/src/components/FluentProvider/useFluentProviderThemeStyleTag.test.tsx
index 4f59835acae0a4..9ddac75eeec9df 100644
--- a/packages/react-components/react-provider/library/src/components/FluentProvider/useFluentProviderThemeStyleTag.test.tsx
+++ b/packages/react-components/react-provider/library/src/components/FluentProvider/useFluentProviderThemeStyleTag.test.tsx
@@ -111,7 +111,7 @@ describe('useFluentProviderThemeStyleTag', () => {
 
     expect(targetDocument.body.querySelector('style')).toBeNull();
     expect(targetDocument.head.querySelectorAll('style').length).toBe(1);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(targetDocument.createElement).toHaveBeenCalledTimes(0);
   });
 });
diff --git a/packages/react-components/react-radio/library/src/contexts/index.ts b/packages/react-components/react-radio/library/src/contexts/index.ts
index 54f7374332d554..8616aab3210787 100644
--- a/packages/react-components/react-radio/library/src/contexts/index.ts
+++ b/packages/react-components/react-radio/library/src/contexts/index.ts
@@ -2,7 +2,7 @@ export {
   RadioGroupContext,
   RadioGroupProvider,
   useRadioGroupContextValue_unstable,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   useRadioGroupContext_unstable,
 } from './RadioGroupContext';
 export { useRadioGroupContextValues } from './useRadioGroupContextValues';
diff --git a/packages/react-components/react-radio/library/src/index.ts b/packages/react-components/react-radio/library/src/index.ts
index ffddc5faeeb928..68d15286c7fd13 100644
--- a/packages/react-components/react-radio/library/src/index.ts
+++ b/packages/react-components/react-radio/library/src/index.ts
@@ -18,6 +18,6 @@ export type { RadioProps, RadioSlots, RadioState, RadioOnChangeData } from './Ra
 export {
   RadioGroupProvider,
   useRadioGroupContextValues,
-  useRadioGroupContext_unstable, // eslint-disable-line deprecation/deprecation
+  useRadioGroupContext_unstable, // eslint-disable-line @typescript-eslint/no-deprecated
   useRadioGroupContextValue_unstable,
 } from './contexts/index';
diff --git a/packages/react-components/react-storybook-addon/src/preset/manager.ts b/packages/react-components/react-storybook-addon/src/preset/manager.ts
index 8ad58779eb9d57..bfa487a41be5a6 100644
--- a/packages/react-components/react-storybook-addon/src/preset/manager.ts
+++ b/packages/react-components/react-storybook-addon/src/preset/manager.ts
@@ -8,20 +8,20 @@ import { DirectionSwitch } from '../components/DirectionSwitch';
 addons.register(ADDON_ID, () => {
   addons.add(THEME_ID, {
     title: 'Fluent Theme Picker',
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     type: types.TOOL,
     match: ({ viewMode }) => !!(viewMode && viewMode.match(/^(story|docs)$/)),
     render: ThemePicker,
   });
   addons.add(DIR_ID, {
     title: 'Direction Switch',
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     type: types.TOOL,
     match: ({ viewMode }) => !!(viewMode && viewMode.match(/^(story|docs)$/)),
     render: DirectionSwitch,
   });
   addons.add(STRICT_MODE_ID, {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     type: types.TOOL,
     title: 'React Strict Mode',
     match: ({ viewMode }) => !!(viewMode && viewMode.match(/^(story|docs)$/)),
diff --git a/packages/react-components/react-switch/library/src/Switch.ts b/packages/react-components/react-switch/library/src/Switch.ts
index 4ca85158f1edd1..bbdd746cfad93b 100644
--- a/packages/react-components/react-switch/library/src/Switch.ts
+++ b/packages/react-components/react-switch/library/src/Switch.ts
@@ -2,7 +2,7 @@ export type { SwitchOnChangeData, SwitchProps, SwitchSlots, SwitchState } from '
 export {
   Switch,
   renderSwitch_unstable,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   switchClassName,
   switchClassNames,
   useSwitchStyles_unstable,
diff --git a/packages/react-components/react-switch/library/src/components/Switch/index.ts b/packages/react-components/react-switch/library/src/components/Switch/index.ts
index d94c2b603d131e..4853a54d26424c 100644
--- a/packages/react-components/react-switch/library/src/components/Switch/index.ts
+++ b/packages/react-components/react-switch/library/src/components/Switch/index.ts
@@ -3,7 +3,7 @@ export type { SwitchOnChangeData, SwitchProps, SwitchSlots, SwitchState } from '
 export { renderSwitch_unstable } from './renderSwitch';
 export { useSwitch_unstable } from './useSwitch';
 export {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   switchClassName,
   switchClassNames,
   useSwitchStyles_unstable,
diff --git a/packages/react-components/react-switch/library/src/index.ts b/packages/react-components/react-switch/library/src/index.ts
index 6ca6e3524f037b..b2ae66ee66258d 100644
--- a/packages/react-components/react-switch/library/src/index.ts
+++ b/packages/react-components/react-switch/library/src/index.ts
@@ -1,7 +1,7 @@
 export {
   Switch,
   renderSwitch_unstable,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   switchClassName,
   switchClassNames,
   useSwitchStyles_unstable,
diff --git a/packages/react-components/react-table/library/src/components/DataGridHeaderCell/useDataGridHeaderCell.ts b/packages/react-components/react-table/library/src/components/DataGridHeaderCell/useDataGridHeaderCell.ts
index ab2fc0cebe2416..285f4cf3532033 100644
--- a/packages/react-components/react-table/library/src/components/DataGridHeaderCell/useDataGridHeaderCell.ts
+++ b/packages/react-components/react-table/library/src/components/DataGridHeaderCell/useDataGridHeaderCell.ts
@@ -42,7 +42,7 @@ export const useDataGridHeaderCell_unstable = (
     return ctx.columnSizing_unstable.getTableHeaderCellProps;
   });
 
-  // eslint-disable-next-line deprecation/deprecation -- prefer HTMLTableCellElement
+  // eslint-disable-next-line @typescript-eslint/no-deprecated -- prefer HTMLTableCellElement
   const onClick = useEventCallback((e: React.MouseEvent<HTMLTableHeaderCellElement>) => {
     if (sortable) {
       toggleColumnSort(e, columnId);
diff --git a/packages/react-components/react-table/library/src/components/TableSelectionCell/useTableSelectionCell.tsx b/packages/react-components/react-table/library/src/components/TableSelectionCell/useTableSelectionCell.tsx
index d76634b1cb03d7..3770b04f5b33f3 100644
--- a/packages/react-components/react-table/library/src/components/TableSelectionCell/useTableSelectionCell.tsx
+++ b/packages/react-components/react-table/library/src/components/TableSelectionCell/useTableSelectionCell.tsx
@@ -26,7 +26,7 @@ export const useTableSelectionCell_unstable = (
     type = 'checkbox',
     checked = false,
     subtle = false,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     hidden = false,
     invisible = false,
   } = props;
diff --git a/packages/react-components/react-tabs/library/src/components/Tab/useTabStyles.styles.ts b/packages/react-components/react-tabs/library/src/components/Tab/useTabStyles.styles.ts
index c6d3116d6c22cf..7c04731829d2c7 100644
--- a/packages/react-components/react-tabs/library/src/components/Tab/useTabStyles.styles.ts
+++ b/packages/react-components/react-tabs/library/src/components/Tab/useTabStyles.styles.ts
@@ -717,7 +717,7 @@ export const useTabContentStyles_unstable = (state: TabState): TabState => {
     );
     // FIXME: this is a deprecated API
     // should be removed in the next major version
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     state.contentReservedSpaceClassName = state.contentReservedSpace.className;
   }
 
diff --git a/packages/react-components/react-tabster/src/index.ts b/packages/react-components/react-tabster/src/index.ts
index 879248bc4af1e6..2b5585db39a3de 100644
--- a/packages/react-components/react-tabster/src/index.ts
+++ b/packages/react-components/react-tabster/src/index.ts
@@ -64,10 +64,10 @@ export {
   /** @deprecated (Do not use! Exposed by mistake and will be removed in the next major version.)  */
   TabsterTypes6_0_1_DoNotUse as TabsterTypes,
   /** @deprecated Use element.dispatchEvent(new GroupperMoveFocusEvent({ action: GroupperMoveFocusActions.Escape })) */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   dispatchGroupperMoveFocusEvent,
   /** @deprecated Use element.dispatchEvent(new MoverMoveFocusEvent({ key: MoverKeys.ArrowDown })) */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   dispatchMoverMoveFocusEvent,
 };
 
diff --git a/packages/react-components/react-tree/library/src/components/TreeItem/useTreeItemContextValues.ts b/packages/react-components/react-tree/library/src/components/TreeItem/useTreeItemContextValues.ts
index ba9330ef3b28b1..fc200e42d76857 100644
--- a/packages/react-components/react-tree/library/src/components/TreeItem/useTreeItemContextValues.ts
+++ b/packages/react-components/react-tree/library/src/components/TreeItem/useTreeItemContextValues.ts
@@ -11,9 +11,9 @@ export function useTreeItemContextValues_unstable(state: TreeItemState): TreeIte
     expandIconRef,
     actionsRef,
     treeItemRef,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     isActionsVisible,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     isAsideVisible,
     selectionRef,
     checked,
diff --git a/packages/react-components/react-utilities/src/compose/deprecated/getSlots.test.tsx b/packages/react-components/react-utilities/src/compose/deprecated/getSlots.test.tsx
index 7ccb934d93a74b..139f83bd1b4eb9 100644
--- a/packages/react-components/react-utilities/src/compose/deprecated/getSlots.test.tsx
+++ b/packages/react-components/react-utilities/src/compose/deprecated/getSlots.test.tsx
@@ -9,7 +9,7 @@ describe('getSlots', () => {
 
   it('returns provided component type for root if the as prop is not provided', () => {
     type Slots = { root: Slot<'div'> };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(getSlots<Slots>({ root: {}, components: { root: 'div' } })).toEqual({
       slots: { root: 'div' },
       slotProps: { root: {} },
@@ -18,7 +18,7 @@ describe('getSlots', () => {
 
   it('returns root slot as a span with no props', () => {
     type Slots = { root: Slot<'div', 'span'> };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(getSlots<Slots>({ root: { as: 'span' }, components: { root: 'div' } })).toEqual({
       slots: { root: 'span' },
       slotProps: { root: {} },
@@ -29,7 +29,7 @@ describe('getSlots', () => {
     type Slots = { root: Slot<'button'> };
     const invalidProp = { href: 'href' } as React.ButtonHTMLAttributes<HTMLButtonElement>;
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlots<Slots>({ root: { as: 'button', id: 'id', ...invalidProp }, components: { root: 'button' } }),
     ).toEqual({
       slots: { root: 'button' },
@@ -39,7 +39,7 @@ describe('getSlots', () => {
 
   it('returns root slot as an anchor, leaving the href intact', () => {
     type Slots = { root: Slot<'a'> };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(getSlots<Slots>({ root: { as: 'a', id: 'id', href: 'href' }, components: { root: 'a' } })).toEqual({
       slots: { root: 'a' },
       slotProps: { root: { id: 'id', href: 'href' } },
@@ -52,7 +52,7 @@ describe('getSlots', () => {
       icon: Slot<typeof Foo>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlots<Slots>({
         icon: {},
         components: { root: 'div', icon: Foo },
@@ -70,7 +70,7 @@ describe('getSlots', () => {
       icon: Slot<'button'>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlots<Slots>({
         components: { icon: 'button', root: 'div' },
         root: { as: 'span' },
@@ -88,7 +88,7 @@ describe('getSlots', () => {
       icon: Slot<'a'>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlots<Slots>({
         root: { as: 'div' },
         components: { root: 'div', icon: 'a' },
@@ -106,7 +106,7 @@ describe('getSlots', () => {
       icon: Slot<'a'> | Slot<typeof Foo>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlots<Slots>({
         components: { root: 'div', icon: Foo },
         root: { as: 'div' },
@@ -124,7 +124,7 @@ describe('getSlots', () => {
       icon: Slot<'a'>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlots<Slots>({
         components: { root: 'div', icon: Foo },
         root: { as: 'div' },
@@ -143,12 +143,12 @@ describe('getSlots', () => {
     };
     const renderFunction = (C: React.ElementType, p: {}) => <C {...p} />;
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlots<Slots>({
         components: { root: 'div', icon: Foo },
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         root: resolveShorthand({ as: 'div' }, { required: true }),
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         icon: resolveShorthand({ id: 'bar', children: renderFunction }),
       }),
     ).toEqual({
@@ -164,7 +164,7 @@ describe('getSlots', () => {
       icon?: Slot<'a'>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlots<Slots>({
         root: { as: 'div' },
         components: { root: 'div', input: 'input', icon: 'a' },
diff --git a/packages/react-components/react-utilities/src/compose/deprecated/getSlots.ts b/packages/react-components/react-utilities/src/compose/deprecated/getSlots.ts
index 0a3c64a7bd3349..c75947a2bc85b6 100644
--- a/packages/react-components/react-utilities/src/compose/deprecated/getSlots.ts
+++ b/packages/react-components/react-utilities/src/compose/deprecated/getSlots.ts
@@ -59,23 +59,23 @@ export type ObjectSlotProps<S extends SlotPropsRecord> = {
 export function getSlots<R extends SlotPropsRecord>(
   state: ComponentState<R>,
 ): {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   slots: Slots<R>;
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   slotProps: ObjectSlotProps<R>;
 } {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const slots = {} as Slots<R>;
   const slotProps = {} as R;
 
   const slotNames: (keyof R)[] = Object.keys(state.components);
   for (const slotName of slotNames) {
     const [slot, props] = getSlot(state, slotName);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     slots[slotName] = slot as Slots<R>[typeof slotName];
     slotProps[slotName] = props;
   }
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return { slots, slotProps: slotProps as unknown as ObjectSlotProps<R> };
 }
 
diff --git a/packages/react-components/react-utilities/src/compose/deprecated/getSlotsNext.test.tsx b/packages/react-components/react-utilities/src/compose/deprecated/getSlotsNext.test.tsx
index 054a02b7a6d6bd..73fdf5ae2a7aeb 100644
--- a/packages/react-components/react-utilities/src/compose/deprecated/getSlotsNext.test.tsx
+++ b/packages/react-components/react-utilities/src/compose/deprecated/getSlotsNext.test.tsx
@@ -16,7 +16,7 @@ describe('getSlotsNext', () => {
   it('returns provided component type for root if the as prop is not provided', () => {
     type Slots = { root: Slot<'div'> };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         root: resolveShorthandMock<ExtractSlotProps<Slots['root']>>({}),
         components: { root: 'div' },
@@ -30,7 +30,7 @@ describe('getSlotsNext', () => {
   it('returns root slot as a span with no props', () => {
     type Slots = { root: Slot<'div', 'span'> };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         root: resolveShorthandMock<ExtractSlotProps<Slots['root']>>({ as: 'span' }),
         components: { root: 'div' },
@@ -45,7 +45,7 @@ describe('getSlotsNext', () => {
     type Slots = { root: Slot<'button'> };
     const invalidProp = { href: 'href' } as React.ButtonHTMLAttributes<HTMLButtonElement>;
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         root: resolveShorthandMock<ExtractSlotProps<Slots['root']>>({ as: 'button', id: 'id', ...invalidProp }),
         components: { root: 'button' },
@@ -59,7 +59,7 @@ describe('getSlotsNext', () => {
   it('returns root slot as an anchor, leaving the href intact', () => {
     type Slots = { root: Slot<'a'> };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         root: resolveShorthandMock<ExtractSlotProps<Slots['root']>>({ as: 'a', id: 'id', href: 'href' }),
         components: { root: 'a' },
@@ -76,7 +76,7 @@ describe('getSlotsNext', () => {
       icon: Slot<typeof Foo>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         icon: resolveShorthandMock<ExtractSlotProps<Slots['icon']>>({}),
         components: { root: 'div', icon: Foo },
@@ -97,7 +97,7 @@ describe('getSlotsNext', () => {
       icon: Slot<'button'>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         components: { icon: 'button', root: 'div' },
         root: resolveShorthandMock<ExtractSlotProps<Slots['root']>>({ as: 'span' }),
@@ -118,7 +118,7 @@ describe('getSlotsNext', () => {
       icon: Slot<'a'>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         root: resolveShorthandMock<ExtractSlotProps<Slots['root']>>({ as: 'div' }),
         components: { root: 'div', icon: 'a' },
@@ -143,7 +143,7 @@ describe('getSlotsNext', () => {
       icon: Slot<'a'> | Slot<typeof Foo>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         components: { root: 'div', icon: Foo },
         root: resolveShorthandMock<ExtractSlotProps<Slots['root']>>({ as: 'div' }),
@@ -169,7 +169,7 @@ describe('getSlotsNext', () => {
     };
     const renderIcon = (C: React.ElementType, p: {}) => <C {...p} />;
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         components: { root: 'div', icon: Foo },
         root: resolveShorthandMock<ExtractSlotProps<Slots['root']>>({ as: 'div' }),
@@ -191,12 +191,12 @@ describe('getSlotsNext', () => {
     };
     const renderFunction = (C: React.ElementType, p: {}) => <C {...p} />;
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         components: { root: 'div', icon: Foo },
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         root: resolveShorthand<ExtractSlotProps<Slots['root']>>({ as: 'div' }, { required: true }),
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         icon: resolveShorthand<ExtractSlotProps<Slots['icon']>>({ id: 'bar', children: renderFunction }),
       }),
     ).toEqual({
@@ -219,7 +219,7 @@ describe('getSlotsNext', () => {
       icon?: Slot<'a'>;
     };
     expect(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getSlotsNext<Slots>({
         root: resolveShorthandMock<ExtractSlotProps<Slots['root']>>({ as: 'div' }),
         components: { root: 'div', input: 'input', icon: 'a' },
diff --git a/packages/react-components/react-utilities/src/compose/deprecated/getSlotsNext.ts b/packages/react-components/react-utilities/src/compose/deprecated/getSlotsNext.ts
index 0bd1a54b951cd0..9889ea0654fdf7 100644
--- a/packages/react-components/react-utilities/src/compose/deprecated/getSlotsNext.ts
+++ b/packages/react-components/react-utilities/src/compose/deprecated/getSlotsNext.ts
@@ -15,24 +15,24 @@ import { ObjectSlotProps, Slots } from './getSlots';
 export function getSlotsNext<R extends SlotPropsRecord>(
   state: ComponentState<R>,
 ): {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   slots: Slots<R>;
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   slotProps: ObjectSlotProps<R>;
 } {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const slots = {} as Slots<R>;
   const slotProps = {} as R;
 
   const slotNames: (keyof R)[] = Object.keys(state.components);
   for (const slotName of slotNames) {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const [slot, props] = getSlotNext(state, slotName);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     slots[slotName] = slot as Slots<R>[typeof slotName];
     slotProps[slotName] = props;
   }
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return { slots, slotProps: slotProps as unknown as ObjectSlotProps<R> };
 }
 
diff --git a/packages/react-components/react-utilities/src/compose/deprecated/resolveShorthand.test.tsx b/packages/react-components/react-utilities/src/compose/deprecated/resolveShorthand.test.tsx
index 2def23a8ed38cf..ecb2332f10a71e 100644
--- a/packages/react-components/react-utilities/src/compose/deprecated/resolveShorthand.test.tsx
+++ b/packages/react-components/react-utilities/src/compose/deprecated/resolveShorthand.test.tsx
@@ -13,7 +13,7 @@ type TestProps = {
 describe('resolveShorthand', () => {
   it('resolves a string', () => {
     const props: TestProps = { slotA: 'hello' };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const resolvedProps = resolveShorthand(props.slotA);
 
     expect(resolvedProps).toEqual({
@@ -23,7 +23,7 @@ describe('resolveShorthand', () => {
 
   it('resolves a JSX element', () => {
     const props: TestProps = { slotA: <div>hello</div> };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const resolvedProps = resolveShorthand(props.slotA);
 
     expect(resolvedProps).toEqual({
@@ -33,7 +33,7 @@ describe('resolveShorthand', () => {
 
   it('resolves a number', () => {
     const props: TestProps = { slotA: 42 };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const resolvedProps = resolveShorthand(props.slotA);
 
     expect(resolvedProps).toEqual({
@@ -44,7 +44,7 @@ describe('resolveShorthand', () => {
   it('resolves an object as its copy', () => {
     const slotA = {};
     const props: TestProps = { slotA };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const resolvedProps = resolveShorthand(props.slotA);
 
     expect(resolvedProps).toEqual({});
@@ -54,15 +54,15 @@ describe('resolveShorthand', () => {
   it('resolves "null" without creating a child element', () => {
     const props: TestProps = { slotA: null, slotB: null };
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(resolveShorthand(props.slotA)).toEqual(undefined);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(resolveShorthand(null, { required: true })).toEqual(undefined);
   });
 
   it('resolves undefined without creating a child element', () => {
     const props: TestProps = { slotA: undefined };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const resolvedProps = resolveShorthand(props.slotA);
 
     expect(resolvedProps).toEqual(undefined);
@@ -70,7 +70,7 @@ describe('resolveShorthand', () => {
 
   it('resolves to empty object creating a child element', () => {
     const props: TestProps = { slotA: undefined };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const resolvedProps = resolveShorthand(props.slotA, { required: true });
 
     expect(resolvedProps).toEqual({});
diff --git a/packages/react-components/react-utilities/src/compose/deprecated/resolveShorthand.ts b/packages/react-components/react-utilities/src/compose/deprecated/resolveShorthand.ts
index d6c5063ed58b61..5ba28a48fe71c7 100644
--- a/packages/react-components/react-utilities/src/compose/deprecated/resolveShorthand.ts
+++ b/packages/react-components/react-utilities/src/compose/deprecated/resolveShorthand.ts
@@ -12,9 +12,9 @@ export type ResolveShorthandOptions<Props, Required extends boolean = false> = R
  * @deprecated use slot.always or slot.optional combined with assertSlots instead
  */
 export type ResolveShorthandFunction<Props extends UnknownSlotProps = UnknownSlotProps> = {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   <P extends Props>(value: P | SlotShorthandValue | undefined, options: ResolveShorthandOptions<P, true>): P;
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   <P extends Props>(value: P | SlotShorthandValue | null | undefined, options?: ResolveShorthandOptions<P, boolean>):
     | P
     | undefined;
@@ -29,7 +29,7 @@ export type ResolveShorthandFunction<Props extends UnknownSlotProps = UnknownSlo
  *
  * @deprecated use slot.always or slot.optional combined with assertSlots instead
  */
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export const resolveShorthand: ResolveShorthandFunction<UnknownSlotProps> = (value, options) =>
   slot.optional<UnknownSlotProps>(value, {
     ...options,
diff --git a/packages/react-components/react-utilities/src/compose/getIntrinsicElementProps.ts b/packages/react-components/react-utilities/src/compose/getIntrinsicElementProps.ts
index 93fdc5ab0674e5..65de47f02e09c9 100644
--- a/packages/react-components/react-utilities/src/compose/getIntrinsicElementProps.ts
+++ b/packages/react-components/react-utilities/src/compose/getIntrinsicElementProps.ts
@@ -23,7 +23,7 @@ export const getIntrinsicElementProps = <
   /** List of native props to exclude from the returned value */
   excludedPropNames?: ExcludedPropKeys[],
 ) => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return getNativeElementProps<
     DistributiveOmit<Props, Exclude<keyof Props, keyof HTMLAttributes | keyof UnknownSlotProps> | ExcludedPropKeys>
   >(props.as ?? tagName, props, excludedPropNames);
diff --git a/packages/react-components/react-utilities/src/compose/index.ts b/packages/react-components/react-utilities/src/compose/index.ts
index 20252d1d3a38cf..fb6f26f68e14b7 100644
--- a/packages/react-components/react-utilities/src/compose/index.ts
+++ b/packages/react-components/react-utilities/src/compose/index.ts
@@ -26,15 +26,15 @@ export { isSlot } from './isSlot';
 export { assertSlots } from './assertSlots';
 export { getIntrinsicElementProps } from './getIntrinsicElementProps';
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export type { ObjectSlotProps, Slots } from './deprecated/getSlots';
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export { getSlots } from './deprecated/getSlots';
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export type { ResolveShorthandFunction, ResolveShorthandOptions } from './deprecated/resolveShorthand';
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export { resolveShorthand } from './deprecated/resolveShorthand';
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export { getSlotsNext } from './deprecated/getSlotsNext';
 
 export { slot };
diff --git a/packages/react-components/react-utilities/src/hooks/useOnClickOutside.ts b/packages/react-components/react-utilities/src/hooks/useOnClickOutside.ts
index 1ae1f9b3e5f1bc..a5f410ec4f354d 100644
--- a/packages/react-components/react-utilities/src/hooks/useOnClickOutside.ts
+++ b/packages/react-components/react-utilities/src/hooks/useOnClickOutside.ts
@@ -121,11 +121,11 @@ export const useOnClickOutside = (options: UseOnClickOrScrollOutsideOptions) =>
 const getWindowEvent = (target: Node | Window | null | undefined): Event | undefined => {
   if (target) {
     if (typeof (target as Window).window === 'object' && (target as Window).window === target) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       return target.event;
     }
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     return (target as Node).ownerDocument?.defaultView?.event ?? undefined;
   }
 
diff --git a/packages/react-components/react-utilities/src/index.ts b/packages/react-components/react-utilities/src/index.ts
index 61a014c8ed2473..2377571564989e 100644
--- a/packages/react-components/react-utilities/src/index.ts
+++ b/packages/react-components/react-utilities/src/index.ts
@@ -1,12 +1,12 @@
 export {
   slot,
   isSlot,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getSlots,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getSlotsNext,
   assertSlots,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   resolveShorthand,
   isResolvedShorthand,
   getIntrinsicElementProps,
@@ -18,12 +18,12 @@ export type {
   ComponentProps,
   ComponentState,
   ForwardRefComponent,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ResolveShorthandFunction,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ResolveShorthandOptions,
   Slot,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   Slots,
   SlotClassNames,
   SlotPropsRecord,
@@ -60,7 +60,7 @@ export { canUseDOM, useIsSSR, SSRProvider } from './ssr/index';
 
 export {
   clamp,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getNativeElementProps,
   getPartitionedNativeProps,
   getRTLSafeKey,
diff --git a/packages/react-components/react-utilities/src/ssr/canUseDOM.ts b/packages/react-components/react-utilities/src/ssr/canUseDOM.ts
index 867f967c05b549..84ce6190c2fc4c 100644
--- a/packages/react-components/react-utilities/src/ssr/canUseDOM.ts
+++ b/packages/react-components/react-utilities/src/ssr/canUseDOM.ts
@@ -7,7 +7,7 @@ export function canUseDOM(): boolean {
     typeof window !== 'undefined' &&
     !!(
       window.document &&
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       window.document.createElement
     )
     /* eslint-enable @nx/workspace-no-restricted-globals */
diff --git a/packages/react-components/react-utilities/src/utils/getNativeElementProps.test.ts b/packages/react-components/react-utilities/src/utils/getNativeElementProps.test.ts
index 7ba810c13f01b4..a30a5be6720e67 100644
--- a/packages/react-components/react-utilities/src/utils/getNativeElementProps.test.ts
+++ b/packages/react-components/react-utilities/src/utils/getNativeElementProps.test.ts
@@ -2,21 +2,21 @@ import { getNativeElementProps } from './getNativeElementProps';
 
 describe('getNativeElementProps', () => {
   it('can filter native element properties', () => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(getNativeElementProps('div', { id: '123', checked: true })).toEqual({ id: '123' });
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(getNativeElementProps('input', { id: '123', checked: true })).toEqual({ id: '123', checked: true });
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(getNativeElementProps('input', { id: '123', checked: true }, ['id'])).toEqual({ checked: true });
   });
 
   it('includes `as` as a native prop', () => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(getNativeElementProps('div', { as: 'span' })).toEqual({ as: 'span' });
   });
 
   it('excludes props regardless of the allowed', () => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     expect(getNativeElementProps('div', { as: 'span' }, ['as'])).toEqual({});
   });
 });
diff --git a/packages/react-components/react-utilities/src/utils/getNativeElementProps.ts b/packages/react-components/react-utilities/src/utils/getNativeElementProps.ts
index c6205e6ed6a528..83960f3c0f7579 100644
--- a/packages/react-components/react-utilities/src/utils/getNativeElementProps.ts
+++ b/packages/react-components/react-utilities/src/utils/getNativeElementProps.ts
@@ -101,7 +101,7 @@ export const getPartitionedNativeProps = <
 }) => {
   return {
     root: { style: props.style, className: props.className },
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     primary: getNativeElementProps<Omit<Props, ExcludedPropKeys>>(primarySlotTagName, props, [
       ...(excludedPropNames || []),
       'style',
diff --git a/packages/react-components/react-utilities/src/utils/index.ts b/packages/react-components/react-utilities/src/utils/index.ts
index 0f8340201b76ac..29a60eb017f136 100644
--- a/packages/react-components/react-utilities/src/utils/index.ts
+++ b/packages/react-components/react-utilities/src/utils/index.ts
@@ -1,6 +1,6 @@
 export { clamp } from './clamp';
 export {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getNativeElementProps,
   getPartitionedNativeProps,
 } from './getNativeElementProps';
diff --git a/packages/react-conformance/src/isConformant.ts b/packages/react-conformance/src/isConformant.ts
index ae8754414c1435..b7c27558ed3a8b 100644
--- a/packages/react-conformance/src/isConformant.ts
+++ b/packages/react-conformance/src/isConformant.ts
@@ -15,7 +15,7 @@ export function isConformant<TProps = {}>(...testInfo: Partial<IsConformantOptio
     disabledTests = [],
     extraTests,
     tsConfig,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     tsconfigDir,
     disableTypeTests,
   } = mergedOptions;
diff --git a/packages/react-date-time/src/Calendar.ts b/packages/react-date-time/src/Calendar.ts
index c324c90de538b5..ab257cb0200442 100644
--- a/packages/react-date-time/src/Calendar.ts
+++ b/packages/react-date-time/src/Calendar.ts
@@ -6,7 +6,7 @@ export {
   FirstWeekOfYear,
   defaultCalendarNavigationIcons,
   defaultCalendarStrings,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   defaultDayPickerStrings,
 } from '@fluentui/react/lib/Calendar';
 export type {
@@ -19,9 +19,9 @@ export type {
   ICalendarDayProps,
   ICalendarDayStyleProps,
   ICalendarDayStyles,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ICalendarFormatDateCallbacks,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ICalendarIconStrings,
   ICalendarMonth,
   ICalendarMonthProps,
diff --git a/packages/react-date-time/src/DatePicker.ts b/packages/react-date-time/src/DatePicker.ts
index 6fe5758c453b6e..0788eb347df958 100644
--- a/packages/react-date-time/src/DatePicker.ts
+++ b/packages/react-date-time/src/DatePicker.ts
@@ -6,9 +6,9 @@ export {
 } from '@fluentui/react/lib/DatePicker';
 export type {
   ICalendar,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ICalendarFormatDateCallbacks,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ICalendarIconStrings,
   ICalendarNavigationIcons,
   ICalendarProps,
diff --git a/packages/react-docsite-components/.eslintrc.json b/packages/react-docsite-components/.eslintrc.json
index ec2a316fd41b8f..99f51edd9d841a 100644
--- a/packages/react-docsite-components/.eslintrc.json
+++ b/packages/react-docsite-components/.eslintrc.json
@@ -2,7 +2,15 @@
   "extends": ["plugin:@fluentui/eslint-plugin/react--legacy"],
   "root": true,
   "rules": {
-    "deprecation/deprecation": "off",
     "no-restricted-globals": "off"
-  }
+  },
+  "overrides": [
+    {
+      "files": "**/*.{ts,tsx}",
+      "rules": {
+        // The components in this package are all deprecated
+        "@typescript-eslint/no-deprecated": "off"
+      }
+    }
+  ]
 }
diff --git a/packages/react-examples/src/react-cards/Card/Card.Configure.Example.tsx b/packages/react-examples/src/react-cards/Card/Card.Configure.Example.tsx
index 41d361293f475b..7b567cc65bd149 100644
--- a/packages/react-examples/src/react-cards/Card/Card.Configure.Example.tsx
+++ b/packages/react-examples/src/react-cards/Card/Card.Configure.Example.tsx
@@ -20,7 +20,7 @@ import {
   ITextStyles,
 } from '@fluentui/react';
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 
 export type FilledSectionKey = '0' | '1' | '2' | '3';
 
diff --git a/packages/react-examples/src/react-cards/Card/Card.Horizontal.Example.tsx b/packages/react-examples/src/react-cards/Card/Card.Horizontal.Example.tsx
index c6dcddeece1c83..4772ebe8231d5c 100644
--- a/packages/react-examples/src/react-cards/Card/Card.Horizontal.Example.tsx
+++ b/packages/react-examples/src/react-cards/Card/Card.Horizontal.Example.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
 import { Card, ICardTokens, ICardSectionStyles, ICardSectionTokens } from '@fluentui/react-cards';
 import { FontWeights, Icon, IIconStyles, Image, Stack, IStackTokens, Text, ITextStyles } from '@fluentui/react';
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 
 const alertClicked = (): void => {
   alert('Clicked');
diff --git a/packages/react-examples/src/react-cards/Card/Card.Vertical.Example.tsx b/packages/react-examples/src/react-cards/Card/Card.Vertical.Example.tsx
index c6af4631cb2c6c..6b12b903ecbd88 100644
--- a/packages/react-examples/src/react-cards/Card/Card.Vertical.Example.tsx
+++ b/packages/react-examples/src/react-cards/Card/Card.Vertical.Example.tsx
@@ -14,7 +14,7 @@ import {
   ITextStyles,
 } from '@fluentui/react';
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 
 const alertClicked = (): void => {
   alert('Clicked');
diff --git a/packages/react-examples/src/react-experiments/Chiclet/Chiclet.Footer.Example.tsx b/packages/react-examples/src/react-experiments/Chiclet/Chiclet.Footer.Example.tsx
index 7e2091f14b53b8..879b2c9677a2a2 100644
--- a/packages/react-examples/src/react-experiments/Chiclet/Chiclet.Footer.Example.tsx
+++ b/packages/react-examples/src/react-experiments/Chiclet/Chiclet.Footer.Example.tsx
@@ -63,7 +63,7 @@ export const ChicletFooterExample: React.FunctionComponent<{}> = () => {
   );
 };
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export interface IFooterComponent extends React.Props<FooterComponent> {
   buttonProps: IButtonProps[];
   activities: string;
diff --git a/packages/react-examples/src/react-experiments/Chiclet/Chiclet.Xsmall.Footer.Example.tsx b/packages/react-examples/src/react-experiments/Chiclet/Chiclet.Xsmall.Footer.Example.tsx
index 75e67ce3d8789d..23b55119737203 100644
--- a/packages/react-examples/src/react-experiments/Chiclet/Chiclet.Xsmall.Footer.Example.tsx
+++ b/packages/react-examples/src/react-experiments/Chiclet/Chiclet.Xsmall.Footer.Example.tsx
@@ -65,7 +65,7 @@ class FooterComponent extends React.Component<IFooterComponent, {}> {
   }
 }
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 interface IFooterComponent extends React.Props<FooterComponent> {
   buttonProps: IButtonProps[];
   attachProps: IIconProps;
diff --git a/packages/react-examples/src/react-experiments/CollapsibleSection/CollapsibleSection.Styled.Example.tsx b/packages/react-examples/src/react-experiments/CollapsibleSection/CollapsibleSection.Styled.Example.tsx
index 3dceaeca9974ff..eb0edca0abe397 100644
--- a/packages/react-examples/src/react-experiments/CollapsibleSection/CollapsibleSection.Styled.Example.tsx
+++ b/packages/react-examples/src/react-experiments/CollapsibleSection/CollapsibleSection.Styled.Example.tsx
@@ -12,7 +12,7 @@ import {
 } from '@fluentui/react-experiments/lib/CollapsibleSection';
 
 // Workaround to prevent errors on usage of Customizer in this file, without disabling all deprecation checks
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 const Customizer = DeprecatedCustomizer;
 
 const getPropStyles: ICollapsibleSectionComponent['styles'] = (props, theme): ICollapsibleSectionStylesReturnType => ({
diff --git a/packages/react-examples/src/react-experiments/FloatingPeopleSuggestions/FloatingPeopleSuggestions.HeaderFooter.Example.tsx b/packages/react-examples/src/react-experiments/FloatingPeopleSuggestions/FloatingPeopleSuggestions.HeaderFooter.Example.tsx
index 6706413884d65d..c0d5348f6b14e8 100644
--- a/packages/react-examples/src/react-experiments/FloatingPeopleSuggestions/FloatingPeopleSuggestions.HeaderFooter.Example.tsx
+++ b/packages/react-examples/src/react-experiments/FloatingPeopleSuggestions/FloatingPeopleSuggestions.HeaderFooter.Example.tsx
@@ -186,7 +186,7 @@ export const FloatingPeopleSuggestionsHeaderFooterExample = (): JSX.Element => {
   };
 
   const _onInputKeyDown = (ev: React.KeyboardEvent<Autofill | HTMLElement>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const keyCode = ev.which;
     switch (keyCode) {
       case KeyCodes.enter:
diff --git a/packages/react-examples/src/react-experiments/Slider/Slider.Example.tsx b/packages/react-examples/src/react-experiments/Slider/Slider.Example.tsx
index c21925e3cd828f..34a0dbd5649078 100644
--- a/packages/react-examples/src/react-experiments/Slider/Slider.Example.tsx
+++ b/packages/react-examples/src/react-experiments/Slider/Slider.Example.tsx
@@ -3,7 +3,7 @@ import { Slider as DeprecatedSlider } from '@fluentui/react-experiments';
 import { IStackTokens, Stack } from '@fluentui/react';
 
 // Workaround to prevent errors on usage of Slider, without disabling all deprecation checks
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 const Slider = DeprecatedSlider;
 
 export interface ISliderBasicExampleState {
diff --git a/packages/react-examples/src/react-experiments/Slider/Slider.Vertical.Example.tsx b/packages/react-examples/src/react-experiments/Slider/Slider.Vertical.Example.tsx
index 0bad5853589d4d..55b8ad528e4536 100644
--- a/packages/react-examples/src/react-experiments/Slider/Slider.Vertical.Example.tsx
+++ b/packages/react-examples/src/react-experiments/Slider/Slider.Vertical.Example.tsx
@@ -3,7 +3,7 @@ import { Slider as DeprecatedSlider } from '@fluentui/react-experiments';
 import { IStackTokens, Stack } from '@fluentui/react/lib/Stack';
 
 // Workaround to prevent errors on usage of Slider, without disabling all deprecation checks
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 const Slider = DeprecatedSlider;
 
 export interface ISliderVerticalExampleState {
diff --git a/packages/react-examples/src/react-experiments/Theming/Theming.Schemes.Custom.Example.tsx b/packages/react-examples/src/react-experiments/Theming/Theming.Schemes.Custom.Example.tsx
index 841b24ed2754e1..20fc4b40d5b335 100644
--- a/packages/react-examples/src/react-experiments/Theming/Theming.Schemes.Custom.Example.tsx
+++ b/packages/react-examples/src/react-experiments/Theming/Theming.Schemes.Custom.Example.tsx
@@ -26,7 +26,7 @@ import { CollapsibleSectionRecursiveExample } from '@fluentui/react-examples/lib
 import { ThemeProvider as DeprecatedThemeProvider } from '@fluentui/foundation-legacy';
 
 // Workaround to prevent errors on usage of ThemeProvider, without disabling all deprecation checks
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 const ThemeProvider = DeprecatedThemeProvider;
 
 const regionStyles: IStackComponent['styles'] = (props, theme): IStackStylesReturnType => ({
@@ -186,7 +186,7 @@ export class ThemingSchemesCustomExample extends React.Component<{}, IThemingExa
   };
 
   public render(): JSX.Element {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     return <Customizer settings={{ theme: schemeThemeCustom }}>{this._renderSchemedComponents()}</Customizer>;
   }
 
@@ -270,7 +270,7 @@ export class ThemingSchemesCustomExample extends React.Component<{}, IThemingExa
   };
 }
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 const onCommandClick = (ev: any, item?: ICommandBarItemProps) => console.log(item && (item.text || item.name));
 const items: ICommandBarItemProps[] = [
   {
diff --git a/packages/react-examples/src/react-experiments/Theming/Theming.Schemes.Variant.Example.tsx b/packages/react-examples/src/react-experiments/Theming/Theming.Schemes.Variant.Example.tsx
index bb9dff394be382..10b3cd60487376 100644
--- a/packages/react-examples/src/react-experiments/Theming/Theming.Schemes.Variant.Example.tsx
+++ b/packages/react-examples/src/react-experiments/Theming/Theming.Schemes.Variant.Example.tsx
@@ -25,7 +25,7 @@ import { CollapsibleSectionRecursiveExample } from '@fluentui/react-examples/lib
 import { ThemeProvider as DeprecatedThemeProvider } from '@fluentui/foundation-legacy';
 
 // Workaround to prevent errors on usage of ThemeProvider, without disabling all deprecation checks
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 const ThemeProvider = DeprecatedThemeProvider;
 
 const regionStyles: IStackComponent['styles'] = (props, theme): IStackStylesReturnType => ({
@@ -65,7 +65,7 @@ export class ThemingSchemesVariantExample extends React.Component<{}, IThemingEx
   };
 
   public render(): JSX.Element {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     return <Customizer settings={{ theme: schemeThemeVariants }}>{this._renderSchemedComponents()}</Customizer>;
   }
 
@@ -149,7 +149,7 @@ export class ThemingSchemesVariantExample extends React.Component<{}, IThemingEx
   };
 }
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 const onCommandClick = (ev: any, item?: ICommandBarItemProps) => console.log(item && (item.text || item.name));
 const items: ICommandBarItemProps[] = [
   {
diff --git a/packages/react-examples/src/react-experiments/UnifiedPeoplePicker/UnifiedPeoplePicker.WithEdit.Example.tsx b/packages/react-examples/src/react-experiments/UnifiedPeoplePicker/UnifiedPeoplePicker.WithEdit.Example.tsx
index c7222cbccc2ab8..ac6d30760a83b2 100644
--- a/packages/react-examples/src/react-experiments/UnifiedPeoplePicker/UnifiedPeoplePicker.WithEdit.Example.tsx
+++ b/packages/react-examples/src/react-experiments/UnifiedPeoplePicker/UnifiedPeoplePicker.WithEdit.Example.tsx
@@ -339,7 +339,7 @@ export const UnifiedPeoplePickerWithEditExample = (): JSX.Element => {
 
   const _onKeyDown = React.useCallback(
     (ev: React.KeyboardEvent<HTMLDivElement>) => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (ev.ctrlKey && ev.which === KeyCodes.k) {
         ev.preventDefault();
         // If the input has text, resolve that
diff --git a/packages/react-examples/src/react-focus/FocusZone/FocusZone.List.Example.tsx b/packages/react-examples/src/react-focus/FocusZone/FocusZone.List.Example.tsx
index 9db97e849c0e36..c427bac6bb8fcb 100644
--- a/packages/react-examples/src/react-focus/FocusZone/FocusZone.List.Example.tsx
+++ b/packages/react-examples/src/react-focus/FocusZone/FocusZone.List.Example.tsx
@@ -75,6 +75,6 @@ export const FocusZoneListExample: React.FunctionComponent = () => {
 };
 
 function _shouldEnterInnerZone(ev: React.KeyboardEvent<HTMLElement>): boolean {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return ev.which === getRTLSafeKeyCode(KeyCodes.right);
 }
diff --git a/packages/react-examples/src/react/Layer/Layer.Customized.Example.tsx b/packages/react-examples/src/react/Layer/Layer.Customized.Example.tsx
index bb5bbf2982854b..2d45414d553559 100644
--- a/packages/react-examples/src/react/Layer/Layer.Customized.Example.tsx
+++ b/packages/react-examples/src/react/Layer/Layer.Customized.Example.tsx
@@ -25,7 +25,7 @@ export const LayerCustomizedExample: React.FunctionComponent = () => {
       </p>
       <Toggle label="Show panel" inlineLabel checked={isPanelOpen} onChange={isPanelOpen ? dismissPanel : showPanel} />
       <Toggle label="Trap panel" inlineLabel checked={trapPanel} onChange={toggleTrapPanel} />
-      {/* eslint-disable-next-line deprecation/deprecation */}
+      {/* eslint-disable-next-line @typescript-eslint/no-deprecated */}
       <Customizer scopedSettings={scopedSettings}>
         {isPanelOpen && (
           <Panel
diff --git a/packages/react-examples/src/react/Modal/Modal.Basic.Example.tsx b/packages/react-examples/src/react/Modal/Modal.Basic.Example.tsx
index 39987fa4b2a44d..1a50f77aede05a 100644
--- a/packages/react-examples/src/react/Modal/Modal.Basic.Example.tsx
+++ b/packages/react-examples/src/react/Modal/Modal.Basic.Example.tsx
@@ -124,7 +124,7 @@ const contentStyles = mergeStyleSets({
     alignItems: 'stretch',
   },
   header: [
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     theme.fonts.xLargePlus,
     {
       flex: '1 1 auto',
diff --git a/packages/react-examples/src/react/Modal/Modal.Modeless.Example.tsx b/packages/react-examples/src/react/Modal/Modal.Modeless.Example.tsx
index 81063cc7214eb3..503d3d1f23bef6 100644
--- a/packages/react-examples/src/react/Modal/Modal.Modeless.Example.tsx
+++ b/packages/react-examples/src/react/Modal/Modal.Modeless.Example.tsx
@@ -84,7 +84,7 @@ const contentStyles = mergeStyleSets({
     alignItems: 'stretch',
   },
   header: [
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     theme.fonts.xLargePlus,
     {
       flex: '1 1 auto',
diff --git a/packages/react-examples/src/react/Panel/Panel.HandleDismissTarget.Example.tsx b/packages/react-examples/src/react/Panel/Panel.HandleDismissTarget.Example.tsx
index c831c39c66c85e..caffe1aa46267d 100644
--- a/packages/react-examples/src/react/Panel/Panel.HandleDismissTarget.Example.tsx
+++ b/packages/react-examples/src/react/Panel/Panel.HandleDismissTarget.Example.tsx
@@ -19,7 +19,7 @@ export const PanelHandleDismissTargetExample: React.FunctionComponent = () => {
 
       // Demonstrates how to do different things depending on how which element dismissed the panel
       console.log('Close button clicked or light dismissed.');
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       const srcElement = ev.nativeEvent.srcElement as Element | null;
       if (srcElement && srcElement.className.indexOf('ms-Button-icon') !== -1) {
         console.log('Close button clicked.');
diff --git a/packages/react-examples/src/react/PeoplePicker/examples/PeoplePickerExampleData.ts b/packages/react-examples/src/react/PeoplePicker/examples/PeoplePickerExampleData.ts
index 26dd8d3a774818..2aaf840c3b4151 100644
--- a/packages/react-examples/src/react/PeoplePicker/examples/PeoplePickerExampleData.ts
+++ b/packages/react-examples/src/react/PeoplePicker/examples/PeoplePickerExampleData.ts
@@ -1,7 +1,7 @@
 import { IPersonaProps, PersonaPresence } from '@fluentui/react/lib/Persona';
 import { TestImages } from '@fluentui/example-data';
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 
 /** @deprecated Use the version from `@fluentui/example-data` instead. */
 export const people: (IPersonaProps & { key: string | number })[] = [
diff --git a/packages/react-examples/src/react/Pivot/Pivot.OverflowMenu.Example.tsx b/packages/react-examples/src/react/Pivot/Pivot.OverflowMenu.Example.tsx
index a770f91e5c8001..006b89f2bd3e7e 100644
--- a/packages/react-examples/src/react/Pivot/Pivot.OverflowMenu.Example.tsx
+++ b/packages/react-examples/src/react/Pivot/Pivot.OverflowMenu.Example.tsx
@@ -14,7 +14,7 @@ export const PivotOverflowMenuExample: React.FunctionComponent = () => {
         <Toggle label="linkFormat" offText="links" onText="tabs" checked={tabs} onChange={toggleTabs} />
         <Toggle label="direction" offText="ltr" onText="rtl" checked={rtl} onChange={toggleRtl} />
       </div>
-      {/* eslint-disable-next-line deprecation/deprecation */}
+      {/* eslint-disable-next-line @typescript-eslint/no-deprecated */}
       <Fabric dir={rtl ? 'rtl' : 'ltr'}>
         <Pivot
           aria-label="Pivot Overflow Menu Example"
diff --git a/packages/react-examples/src/react/ThemeGenerator/ThemeGenerator.doc.tsx b/packages/react-examples/src/react/ThemeGenerator/ThemeGenerator.doc.tsx
index 62102345cddb76..dbe8101b6923c7 100644
--- a/packages/react-examples/src/react/ThemeGenerator/ThemeGenerator.doc.tsx
+++ b/packages/react-examples/src/react/ThemeGenerator/ThemeGenerator.doc.tsx
@@ -289,7 +289,7 @@ export class ThemeGeneratorPage extends React.Component<{}, IThemeGeneratorPageS
 
     const contrastRatio = getContrastRatio(bgc, fgc);
     let contrastRatioString = String(contrastRatio);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     contrastRatioString = contrastRatioString.substr(0, contrastRatioString.indexOf('.') + 3);
     if (contrastRatio < 4.5) {
       contrastRatioString = '**' + contrastRatioString + '**';
diff --git a/packages/react-experiments/src/Foundation.ts b/packages/react-experiments/src/Foundation.ts
index dfe2afe37e74a7..9bf082389c5d77 100644
--- a/packages/react-experiments/src/Foundation.ts
+++ b/packages/react-experiments/src/Foundation.ts
@@ -1,5 +1,5 @@
 export {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   ThemeProvider,
   createComponent,
   createFactory,
@@ -22,7 +22,7 @@ export type {
   IHTMLElementSlot,
   IHTMLSlot,
   IProcessedSlotProps,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   IPropsWithChildren,
   ISlot,
   ISlotCreator,
diff --git a/packages/react-experiments/src/Styling.ts b/packages/react-experiments/src/Styling.ts
index 31e6ed2005a051..563a5a90452e3b 100644
--- a/packages/react-experiments/src/Styling.ts
+++ b/packages/react-experiments/src/Styling.ts
@@ -6,7 +6,7 @@ export {
   DefaultEffects,
   DefaultFontStyles,
   DefaultPalette,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   EdgeChromiumHighContrastSelector,
   FontClassNames,
   FontSizes,
@@ -39,11 +39,11 @@ export {
   createTheme,
   focusClear,
   fontFace,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getEdgeChromiumNoHighContrastAdjustSelector,
   getFadedOverflowStyle,
   getFocusOutlineStyle,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getFocusStyle,
   getGlobalClassNames,
   getHighContrastNoAdjustStyle,
diff --git a/packages/react-experiments/src/Utilities.ts b/packages/react-experiments/src/Utilities.ts
index 0850eaa19b0634..82dae884afcb13 100644
--- a/packages/react-experiments/src/Utilities.ts
+++ b/packages/react-experiments/src/Utilities.ts
@@ -1,10 +1,8 @@
 export {
   Async,
   AutoScroll,
-  // eslint-disable-next-line deprecation/deprecation
   BaseComponent,
   Customizations,
-  // eslint-disable-next-line deprecation/deprecation
   Customizer,
   CustomizerContext,
   DATA_IS_SCROLLABLE_ATTRIBUTE,
@@ -87,7 +85,6 @@ export {
   getRTL,
   getRTLSafeKeyCode,
   getRect,
-  // eslint-disable-next-line deprecation/deprecation
   getResourceUrl,
   getScrollbarWidth,
   getVirtualParent,
@@ -99,11 +96,9 @@ export {
   hoistStatics,
   htmlElementProperties,
   iframeProperties,
-  // eslint-disable-next-line deprecation/deprecation
   imageProperties,
   imgProperties,
   initializeComponentRef,
-  // eslint-disable-next-line deprecation/deprecation
   initializeFocusRects,
   inputProperties,
   isControlled,
@@ -135,7 +130,6 @@ export {
   optionProperties,
   portalContainsElement,
   precisionRound,
-  // eslint-disable-next-line deprecation/deprecation
   raiseClick,
   removeIndex,
   replaceElement,
@@ -145,15 +139,12 @@ export {
   safeRequestAnimationFrame,
   safeSetTimeout,
   selectProperties,
-  // eslint-disable-next-line deprecation/deprecation
   setBaseUrl,
   setFocusVisibility,
-  // eslint-disable-next-line deprecation/deprecation
   setLanguage,
   setMemoizeWeakMap,
   setPortalAttribute,
   setRTL,
-  // eslint-disable-next-line deprecation/deprecation
   setSSR,
   setVirtualParent,
   setWarningCallback,
@@ -184,7 +175,6 @@ export type {
   ICancelable,
   IChangeDescription,
   IChangeEventCallback,
-  // eslint-disable-next-line deprecation/deprecation
   IClassNames,
   IClassNamesFunctionOptions,
   IComponentAs,
@@ -207,7 +197,6 @@ export type {
   IPerfData,
   IPerfMeasurement,
   IPerfSummary,
-  // eslint-disable-next-line deprecation/deprecation
   IPoint,
   IPropsWithStyles,
   IRectangle,
@@ -226,13 +215,10 @@ export type {
   IStyleFunctionOrObject,
   IVirtualElement,
   IWarnControlledUsageParams,
-  // eslint-disable-next-line deprecation/deprecation
   Omit,
   Point,
   RefObject,
-  // eslint-disable-next-line deprecation/deprecation
   Settings,
-  // eslint-disable-next-line deprecation/deprecation
   SettingsFunction,
   StyleFunction,
 } from '@fluentui/react/lib/Utilities';
diff --git a/packages/react-experiments/src/components/BAFAccordion/Accordion.tsx b/packages/react-experiments/src/components/BAFAccordion/Accordion.tsx
index 5b06a20205cf0b..e5255d8906397f 100644
--- a/packages/react-experiments/src/components/BAFAccordion/Accordion.tsx
+++ b/packages/react-experiments/src/components/BAFAccordion/Accordion.tsx
@@ -33,7 +33,7 @@ export class Accordion extends React.Component<IAccordionProps, IAccordionState>
   }
 
   public render(): JSX.Element {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { onRenderMenu, className, buttonAs, onClick, ...other } = this.props;
     let { menuIconProps } = this.props;
 
diff --git a/packages/react-experiments/src/components/CollapsibleSection/CollapsibleSection.state.tsx b/packages/react-experiments/src/components/CollapsibleSection/CollapsibleSection.state.tsx
index f15391003754a6..2bf28ff5450275 100644
--- a/packages/react-experiments/src/components/CollapsibleSection/CollapsibleSection.state.tsx
+++ b/packages/react-experiments/src/components/CollapsibleSection/CollapsibleSection.state.tsx
@@ -37,12 +37,12 @@ export const useCollapsibleSectionState: ICollapsibleSectionComponent['state'] =
       const collapseKey = getRTL() ? KeyCodes.right : KeyCodes.left;
       const expandKey = getRTL() ? KeyCodes.left : KeyCodes.right;
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (ev.which === collapseKey && !collapsed) {
         setCollapsed(true);
         ev.preventDefault();
         ev.stopPropagation();
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
       } else if (ev.which === expandKey && collapsed) {
         setCollapsed(false);
         ev.preventDefault();
@@ -58,7 +58,7 @@ export const useCollapsibleSectionState: ICollapsibleSectionComponent['state'] =
     // If left/right keypress originates from text input or text area inside collapsible section,
     // ignore the event.
     if (
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       ev.which === rootKey &&
       ev.target !== titleElementRef.current &&
       titleElementRef.current &&
diff --git a/packages/react-experiments/src/components/FloatingSuggestions/FloatingSuggestions.tsx b/packages/react-experiments/src/components/FloatingSuggestions/FloatingSuggestions.tsx
index 2f9ff8c273ef55..da5d15c9d3a223 100644
--- a/packages/react-experiments/src/components/FloatingSuggestions/FloatingSuggestions.tsx
+++ b/packages/react-experiments/src/components/FloatingSuggestions/FloatingSuggestions.tsx
@@ -250,7 +250,7 @@ export class FloatingSuggestions<TItem extends {}>
     ) {
       return;
     }
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const keyCode = ev.which;
     switch (keyCode) {
       case KeyCodes.escape:
diff --git a/packages/react-experiments/src/components/FolderCover/FolderCover.types.ts b/packages/react-experiments/src/components/FolderCover/FolderCover.types.ts
index a93109a9ccf976..15272a3f247347 100644
--- a/packages/react-experiments/src/components/FolderCover/FolderCover.types.ts
+++ b/packages/react-experiments/src/components/FolderCover/FolderCover.types.ts
@@ -38,6 +38,6 @@ export interface IFolderCoverProps extends IBaseProps, React.HTMLAttributes<HTML
   /**
    * The children to pass into the content area of the folder cover.
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   children?: React.Props<{}>['children'] | ((childrenProps: IFolderCoverChildrenProps) => JSX.Element | null);
 }
diff --git a/packages/react-experiments/src/components/SelectedItemsList/Items/CopyableItem.tsx b/packages/react-experiments/src/components/SelectedItemsList/Items/CopyableItem.tsx
index 8b5f20ec850154..119fedcd7636e9 100644
--- a/packages/react-experiments/src/components/SelectedItemsList/Items/CopyableItem.tsx
+++ b/packages/react-experiments/src/components/SelectedItemsList/Items/CopyableItem.tsx
@@ -26,7 +26,7 @@ export const CopyableItem = <T extends any>(
           // Try to copy the text directly to the clipboard
           copyInput.value = copyText;
           copyInput.select();
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           if (!document.execCommand('copy')) {
             // The command failed. Fallback to the method below.
             throw new Error();
diff --git a/packages/react-experiments/src/components/SelectedItemsList/Items/subcomponents/DefaultEditingItem.tsx b/packages/react-experiments/src/components/SelectedItemsList/Items/subcomponents/DefaultEditingItem.tsx
index d63f095f6f7084..664dee16f9b0e2 100644
--- a/packages/react-experiments/src/components/SelectedItemsList/Items/subcomponents/DefaultEditingItem.tsx
+++ b/packages/react-experiments/src/components/SelectedItemsList/Items/subcomponents/DefaultEditingItem.tsx
@@ -195,7 +195,7 @@ export const DefaultEditingItemInner = <TItem extends any>(
 
   const _onInputKeyDown = React.useCallback(
     (ev: React.KeyboardEvent<HTMLInputElement>): void => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       const keyCode = ev.which;
       switch (keyCode) {
         case KeyCodes.backspace:
diff --git a/packages/react-experiments/src/components/Sidebar/Sidebar.tsx b/packages/react-experiments/src/components/Sidebar/Sidebar.tsx
index 8fc07723bb21bf..73cf681c0e082c 100644
--- a/packages/react-experiments/src/components/Sidebar/Sidebar.tsx
+++ b/packages/react-experiments/src/components/Sidebar/Sidebar.tsx
@@ -154,7 +154,7 @@ export class Sidebar extends React.Component<ISidebarProps, ISidebarState> imple
     }
 
     const ButtonAs = this._getButtonAs(item);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const name = item.text || item.name;
 
     return (
@@ -204,7 +204,7 @@ export class Sidebar extends React.Component<ISidebarProps, ISidebarState> imple
     }
 
     const ButtonAs = this._getButtonAs(item);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const name = item.text || item.name;
 
     return (
@@ -268,7 +268,7 @@ export class Sidebar extends React.Component<ISidebarProps, ISidebarState> imple
       return child;
     });
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const name = item.text || item.name;
 
     if (name) {
diff --git a/packages/react-experiments/src/components/Slider/Slider.base.tsx b/packages/react-experiments/src/components/Slider/Slider.base.tsx
index 6da62030cbce49..d2b0ecf25ffbee 100644
--- a/packages/react-experiments/src/components/Slider/Slider.base.tsx
+++ b/packages/react-experiments/src/components/Slider/Slider.base.tsx
@@ -15,7 +15,7 @@ import { DirectionalHint } from '@fluentui/react/lib/Callout';
 import { Async, EventGroup, FocusRects } from '@fluentui/utilities';
 import type { ISliderProps, ISlider, ISliderStyleProps, ISliderStyles, ISliderMarks } from './Slider.types';
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 
 /** @deprecated */
 export interface ISliderState {
diff --git a/packages/react-experiments/src/components/Slider/Slider.styles.tsx b/packages/react-experiments/src/components/Slider/Slider.styles.tsx
index ce9ba0f30375a6..aaa839bebfa53e 100644
--- a/packages/react-experiments/src/components/Slider/Slider.styles.tsx
+++ b/packages/react-experiments/src/components/Slider/Slider.styles.tsx
@@ -3,7 +3,7 @@ import { getRTL } from '@fluentui/utilities';
 import type { ISliderStyleProps, ISliderStyles } from './Slider.types';
 import type { IRawStyle } from '../../Styling';
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 
 const tickLabelSpacing = 13;
 
diff --git a/packages/react-experiments/src/components/Slider/Slider.test.tsx b/packages/react-experiments/src/components/Slider/Slider.test.tsx
index 8a19df4636b969..3b545995fcc0f1 100644
--- a/packages/react-experiments/src/components/Slider/Slider.test.tsx
+++ b/packages/react-experiments/src/components/Slider/Slider.test.tsx
@@ -9,7 +9,7 @@ import { ONKEYDOWN_TIMEOUT_DURATION } from './Slider.base';
 import { KeyCodes } from '../../Utilities';
 import type { ISlider } from './Slider.types';
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 
 describe('Slider', () => {
   it('renders correctly', () => {
diff --git a/packages/react-experiments/src/components/Slider/Slider.tsx b/packages/react-experiments/src/components/Slider/Slider.tsx
index a4294f8fc02bfc..9742c6b25fa0c5 100644
--- a/packages/react-experiments/src/components/Slider/Slider.tsx
+++ b/packages/react-experiments/src/components/Slider/Slider.tsx
@@ -4,7 +4,7 @@ import { SliderBase } from './Slider.base';
 import { getStyles } from './Slider.styles';
 import type { ISliderProps, ISliderStyleProps, ISliderStyles } from './Slider.types';
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 
 /**
  * @deprecated This component was experimental and is not longer being developed on, nor will it be supported in the
diff --git a/packages/react-experiments/src/components/Slider/Slider.types.ts b/packages/react-experiments/src/components/Slider/Slider.types.ts
index 01d2cdbd705902..483058e5becf3d 100644
--- a/packages/react-experiments/src/components/Slider/Slider.types.ts
+++ b/packages/react-experiments/src/components/Slider/Slider.types.ts
@@ -3,7 +3,7 @@ import { SliderBase } from './Slider.base';
 import type { IStyle, ITheme } from '../../Styling';
 import type { IStyleFunctionOrObject, IRefObject } from '../../Utilities';
 
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 
 /**
  * @deprecated
diff --git a/packages/react-experiments/src/components/TilesList/TilesList.types.ts b/packages/react-experiments/src/components/TilesList/TilesList.types.ts
index 3d34844e09c8ff..0e51d4bcd60745 100644
--- a/packages/react-experiments/src/components/TilesList/TilesList.types.ts
+++ b/packages/react-experiments/src/components/TilesList/TilesList.types.ts
@@ -135,7 +135,7 @@ export interface ITilesGridSegment<TItem> {
 
 export interface ITilesListProps<TItem>
   extends IBaseProps,
-    React.Props<TilesList<TItem>>, // eslint-disable-line deprecation/deprecation
+    React.Props<TilesList<TItem>>, // eslint-disable-line @typescript-eslint/no-deprecated
     React.HTMLAttributes<HTMLDivElement> {
   /**
    * An array of items to assign to the list.
diff --git a/packages/react-experiments/src/components/UnifiedPicker/UnifiedPicker.tsx b/packages/react-experiments/src/components/UnifiedPicker/UnifiedPicker.tsx
index 383ffa43be53cd..3f844b461e1903 100644
--- a/packages/react-experiments/src/components/UnifiedPicker/UnifiedPicker.tsx
+++ b/packages/react-experiments/src/components/UnifiedPicker/UnifiedPicker.tsx
@@ -332,19 +332,19 @@ export const UnifiedPicker = <T extends {}>(props: IUnifiedPickerProps<T>): JSX.
       // Allow the caller to handle the key down
       onKeyDown?.(ev);
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (ev.ctrlKey && ev.which === KeyCodes.a) {
         selectAll();
       }
 
       // This is a temporary work around, it has localization issues
       // we plan on rewriting how this works in the future
-      /* eslint-disable deprecation/deprecation */
+      /* eslint-disable @typescript-eslint/no-deprecated */
       const isDel = ev.which === KeyCodes.del;
       const isCut = (ev.shiftKey && isDel) || (ev.ctrlKey && ev.which === KeyCodes.x);
       const isBackspace = ev.which === KeyCodes.backspace;
       const isCopy = ev.ctrlKey && ev.which === KeyCodes.c;
-      /* eslint-enable deprecation/deprecation */
+      /* eslint-enable @typescript-eslint/no-deprecated */
       const needToCopy = isCut || isCopy;
       const needToDelete =
         (isBackspace && selectedItems.length > 0) || ((isCut || isDel) && focusedItemIndices.length > 0);
@@ -421,7 +421,7 @@ export const UnifiedPicker = <T extends {}>(props: IUnifiedPickerProps<T>): JSX.
   const _onInputKeyDown = React.useCallback(
     (ev: React.KeyboardEvent<Autofill | HTMLElement>) => {
       if (isSuggestionsShown) {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const keyCode = ev.which;
         switch (keyCode) {
           case KeyCodes.escape:
diff --git a/packages/react-focus/src/components/FocusZone/FocusZone.tsx b/packages/react-focus/src/components/FocusZone/FocusZone.tsx
index de7e797019cab6..7d83edd178e8d9 100644
--- a/packages/react-focus/src/components/FocusZone/FocusZone.tsx
+++ b/packages/react-focus/src/components/FocusZone/FocusZone.tsx
@@ -62,7 +62,7 @@ function raiseClickFromKeyboardEvent(target: Element, ev?: React.KeyboardEvent<H
   } else {
     // eslint-disable-next-line no-restricted-globals
     event = document.createEvent('MouseEvents');
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     event.initMouseEvent(
       'click',
       ev ? ev.bubbles : false,
@@ -172,7 +172,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
    * for ref counting to work correctly!
    */
   private static _onKeyDownCapture(ev: KeyboardEvent): void {
-    // eslint-disable-next-line deprecation/deprecation, @fluentui/deprecated-keyboard-event-props
+    // eslint-disable-next-line @typescript-eslint/no-deprecated, @fluentui/deprecated-keyboard-event-props
     if (ev.which === KeyCodes.tab) {
       _outerZones.forEach((zone: FocusZone) => zone._updateTabIndexes());
     }
@@ -238,9 +238,9 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
 
       if (this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'string') {
         this._activeElement = this._getDocument().querySelector(this.props.defaultTabbableElement) as HTMLElement;
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
       } else if (this.props.defaultActiveElement) {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         this._activeElement = this._getDocument().querySelector(this.props.defaultActiveElement) as HTMLElement;
       }
 
@@ -306,7 +306,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
   }
 
   public render(): React.ReactNode {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { as: tag, elementType, rootProps, ariaDescribedBy, ariaLabelledBy, className } = this.props;
     const divProps = getNativeProps(this.props, htmlElementProperties);
 
@@ -338,7 +338,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
         // be replaced so that className is passed to getRootClass and is included there so
         // the class names will always be in the same order.
         className={css(getRootClass(), className)}
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         ref={this._mergedRef(this.props.elementRef, this._root)}
         data-focuszone-id={this._id}
         // eslint-disable-next-line react/jsx-no-bind
@@ -427,7 +427,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
    * @returns True if focus could be set to an active element, false if no operation was taken.
    */
   public focusElement(element: HTMLElement, forceAlignment?: boolean): boolean {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { onBeforeFocus, shouldReceiveFocus } = this.props;
 
     if ((shouldReceiveFocus && !shouldReceiveFocus(element)) || (onBeforeFocus && !onBeforeFocus(element))) {
@@ -487,10 +487,10 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
 
     const {
       onActiveElementChanged,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       doNotAllowFocusEventToPropagate,
       stopFocusPropagation,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       onFocusNotification,
       onFocus,
       shouldFocusInnerElementWhenReceivedFocus,
@@ -671,7 +671,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
       return;
     }
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { direction, disabled, isInnerZoneKeystroke, pagingSupportDisabled, shouldEnterInnerZone } = this.props;
 
     if (disabled) {
@@ -722,7 +722,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
     } else if (ev.altKey) {
       return;
     } else {
-      // eslint-disable-next-line @fluentui/deprecated-keyboard-event-props, deprecation/deprecation
+      // eslint-disable-next-line @fluentui/deprecated-keyboard-event-props, @typescript-eslint/no-deprecated
       switch (ev.which) {
         case KeyCodes.space:
           if (this._shouldRaiseClicksOnSpace && this._tryInvokeClickForFocusable(ev.target as HTMLElement, ev)) {
@@ -778,7 +778,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
 
         case KeyCodes.tab:
           if (
-            // eslint-disable-next-line deprecation/deprecation
+            // eslint-disable-next-line @typescript-eslint/no-deprecated
             this.props.allowTabKey ||
             this.props.handleTabKey === FocusZoneTabbableElements.all ||
             (this.props.handleTabKey === FocusZoneTabbableElements.inputOnly &&
@@ -924,7 +924,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
 
   private _moveFocus(
     isForward: boolean,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     getDistanceFromCenter: (activeRect: ClientRect, targetRect: ClientRect) => number,
     ev?: Event,
     useDefaultWrap: boolean = true,
@@ -955,7 +955,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
       if (isBidirectional) {
         if (element) {
           const targetRect = element.getBoundingClientRect();
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           const elementDistance = getDistanceFromCenter(activeRect as ClientRect, targetRect);
 
           if (elementDistance === -1 && candidateDistance === -1) {
@@ -1005,11 +1005,11 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
 
   private _moveFocusDown(): boolean {
     let targetTop = -1;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;
 
     if (
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       this._moveFocus(true, (activeRect: ClientRect, targetRect: ClientRect) => {
         let distance = -1;
         // ClientRect values can be floats that differ by very small fractions of a decimal.
@@ -1048,11 +1048,11 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
 
   private _moveFocusUp(): boolean {
     let targetTop = -1;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;
 
     if (
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       this._moveFocus(false, (activeRect: ClientRect, targetRect: ClientRect) => {
         let distance = -1;
         // ClientRect values can be floats that differ by very small fractions of a decimal.
@@ -1094,7 +1094,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
     if (
       this._moveFocus(
         getRTL(theme),
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         (activeRect: ClientRect, targetRect: ClientRect) => {
           let distance = -1;
           let topBottomComparison;
@@ -1137,7 +1137,7 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
     if (
       this._moveFocus(
         !getRTL(theme),
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         (activeRect: ClientRect, targetRect: ClientRect) => {
           let distance = -1;
           let topBottomComparison;
@@ -1177,12 +1177,12 @@ export class FocusZone extends React.Component<IFocusZoneProps> implements IFocu
 
   private _getHorizontalDistanceFromCenter = (
     isForward: boolean,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     activeRect: ClientRect,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     targetRect: ClientRect,
   ): number => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;
     // ClientRect values can be floats that differ by very small fractions of a decimal.
     // If the difference between top and bottom are within a pixel then we should treat
diff --git a/packages/react-hooks/src/useConstCallback.test.tsx b/packages/react-hooks/src/useConstCallback.test.tsx
index 0e7df950273550..aea43bcac40b3e 100644
--- a/packages/react-hooks/src/useConstCallback.test.tsx
+++ b/packages/react-hooks/src/useConstCallback.test.tsx
@@ -1,4 +1,4 @@
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 import * as React from 'react';
 import { mount } from 'enzyme';
 import { useConstCallback } from './useConstCallback';
diff --git a/packages/react-hooks/src/useMountSync.test.tsx b/packages/react-hooks/src/useMountSync.test.tsx
index 8cd46d1b4cff90..08722c994e177a 100644
--- a/packages/react-hooks/src/useMountSync.test.tsx
+++ b/packages/react-hooks/src/useMountSync.test.tsx
@@ -7,7 +7,7 @@ describe('useMountSync', () => {
     const onMount = jest.fn();
 
     const TestComponent: React.FunctionComponent = () => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       useMountSync(() => {
         onMount();
       });
diff --git a/packages/react-monaco-editor/src/utilities/getQueryParam.ts b/packages/react-monaco-editor/src/utilities/getQueryParam.ts
index 028858691935f5..0837e5ef2833ed 100644
--- a/packages/react-monaco-editor/src/utilities/getQueryParam.ts
+++ b/packages/react-monaco-editor/src/utilities/getQueryParam.ts
@@ -10,7 +10,7 @@ export function getQueryParam(name: string, url?: string): string | null {
   url = url || (win ? win.location.href : '');
   // Manually get the query string in case it's after the hash (possible with hash routing)
   const queryIndex = url.indexOf('?');
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const query = queryIndex !== -1 ? url.substr(queryIndex) : '';
 
   const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`);
diff --git a/packages/react/src/Icons.ts b/packages/react/src/Icons.ts
index 599092ba2b673d..03d3957842437a 100644
--- a/packages/react/src/Icons.ts
+++ b/packages/react/src/Icons.ts
@@ -1,6 +1,3 @@
 export { initializeIcons } from '@fluentui/font-icons-mdl2';
 
-export type {
-  // eslint-disable-next-line deprecation/deprecation
-  IconNames,
-} from '@fluentui/font-icons-mdl2';
+export type { IconNames } from '@fluentui/font-icons-mdl2';
diff --git a/packages/react/src/Styling.ts b/packages/react/src/Styling.ts
index 4dd00c1d37dee2..70fd768411455e 100644
--- a/packages/react/src/Styling.ts
+++ b/packages/react/src/Styling.ts
@@ -7,7 +7,6 @@ export {
   DefaultEffects,
   DefaultFontStyles,
   DefaultPalette,
-  // eslint-disable-next-line deprecation/deprecation
   EdgeChromiumHighContrastSelector,
   FontClassNames,
   FontSizes,
@@ -39,11 +38,9 @@ export {
   createFontStyles,
   focusClear,
   fontFace,
-  // eslint-disable-next-line deprecation/deprecation
   getEdgeChromiumNoHighContrastAdjustSelector,
   getFadedOverflowStyle,
   getFocusOutlineStyle,
-  // eslint-disable-next-line deprecation/deprecation
   getFocusStyle,
   getGlobalClassNames,
   getHighContrastNoAdjustStyle,
diff --git a/packages/react/src/Utilities.ts b/packages/react/src/Utilities.ts
index b01024409bbe23..d7dd63e523e347 100644
--- a/packages/react/src/Utilities.ts
+++ b/packages/react/src/Utilities.ts
@@ -2,10 +2,8 @@ import './version';
 export {
   Async,
   AutoScroll,
-  // eslint-disable-next-line deprecation/deprecation
   BaseComponent,
   Customizations,
-  // eslint-disable-next-line deprecation/deprecation
   Customizer,
   CustomizerContext,
   DATA_IS_SCROLLABLE_ATTRIBUTE,
@@ -92,7 +90,6 @@ export {
   getRTL,
   getRTLSafeKeyCode,
   getRect,
-  // eslint-disable-next-line deprecation/deprecation
   getResourceUrl,
   getScrollbarWidth,
   getVirtualParent,
@@ -104,11 +101,9 @@ export {
   hoistStatics,
   htmlElementProperties,
   iframeProperties,
-  // eslint-disable-next-line deprecation/deprecation
   imageProperties,
   imgProperties,
   initializeComponentRef,
-  // eslint-disable-next-line deprecation/deprecation
   initializeFocusRects,
   inputProperties,
   isControlled,
@@ -142,7 +137,6 @@ export {
   optionProperties,
   portalContainsElement,
   precisionRound,
-  // eslint-disable-next-line deprecation/deprecation
   raiseClick,
   removeDirectionalKeyCode,
   removeIndex,
@@ -153,15 +147,12 @@ export {
   safeRequestAnimationFrame,
   safeSetTimeout,
   selectProperties,
-  // eslint-disable-next-line deprecation/deprecation
   setBaseUrl,
   setFocusVisibility,
-  // eslint-disable-next-line deprecation/deprecation
   setLanguage,
   setMemoizeWeakMap,
   setPortalAttribute,
   setRTL,
-  // eslint-disable-next-line deprecation/deprecation
   setSSR,
   setVirtualParent,
   setWarningCallback,
@@ -203,7 +194,6 @@ export type {
   ICancelable,
   IChangeDescription,
   IChangeEventCallback,
-  // eslint-disable-next-line deprecation/deprecation
   IClassNames,
   IClassNamesFunctionOptions,
   IComponentAs,
@@ -227,7 +217,6 @@ export type {
   IPerfData,
   IPerfMeasurement,
   IPerfSummary,
-  // eslint-disable-next-line deprecation/deprecation
   IPoint,
   IPropsWithStyles,
   IReactProps,
@@ -247,13 +236,10 @@ export type {
   IStyleFunctionOrObject,
   IVirtualElement,
   IWarnControlledUsageParams,
-  // eslint-disable-next-line deprecation/deprecation
   Omit,
   Point,
   RefObject,
-  // eslint-disable-next-line deprecation/deprecation
   Settings,
-  // eslint-disable-next-line deprecation/deprecation
   SettingsFunction,
   ShadowConfigHook,
   StyleFunction,
diff --git a/packages/react/src/components/ActivityItem/ActivityItem.tsx b/packages/react/src/components/ActivityItem/ActivityItem.tsx
index be14dc32000938..09bffc407073da 100644
--- a/packages/react/src/components/ActivityItem/ActivityItem.tsx
+++ b/packages/react/src/components/ActivityItem/ActivityItem.tsx
@@ -57,7 +57,7 @@ export class ActivityItem extends React.Component<IActivityItemProps, {}> {
   private _onRenderActivityDescription = (props: IActivityItemProps): JSX.Element | null => {
     const classNames = this._getClassNames(props);
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const activityDescription = props.activityDescription || props.activityDescriptionText;
 
     if (activityDescription) {
@@ -70,7 +70,7 @@ export class ActivityItem extends React.Component<IActivityItemProps, {}> {
   private _onRenderComments = (props: IActivityItemProps): JSX.Element | null => {
     const classNames = this._getClassNames(props);
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const comments = props.comments || props.commentText;
 
     if (!props.isCompact && comments) {
@@ -117,7 +117,7 @@ export class ActivityItem extends React.Component<IActivityItemProps, {}> {
               {...person}
               key={person.key || index}
               className={classNames.activityPersona}
-              // eslint-disable-next-line deprecation/deprecation
+              // eslint-disable-next-line @typescript-eslint/no-deprecated
               size={showSize16Personas ? PersonaSize.size16 : PersonaSize.size32}
               style={style}
             />,
diff --git a/packages/react/src/components/Autofill/Autofill.tsx b/packages/react/src/components/Autofill/Autofill.tsx
index 5b5ebb4a3635fd..903d5625301414 100644
--- a/packages/react/src/components/Autofill/Autofill.tsx
+++ b/packages/react/src/components/Autofill/Autofill.tsx
@@ -40,9 +40,9 @@ export class Autofill extends React.Component<IAutofillProps, IAutofillState> im
   private _async: Async;
 
   public static getDerivedStateFromProps(props: IAutofillProps, state: IAutofillState): IAutofillState | null {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (props.updateValueInWillReceiveProps) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       const updatedInputValue = props.updateValueInWillReceiveProps();
       // Don't update if we have a null value or the value isn't changing
       // the value should still update if an empty string is passed in
@@ -247,7 +247,7 @@ export class Autofill extends React.Component<IAutofillProps, IAutofillState> im
     // Right now typing does not have isComposing, once that has been fixed any should be removed.
 
     if (!(ev.nativeEvent as any).isComposing) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       switch (ev.which) {
         case KeyCodes.backspace:
           this._autoFillEnabled = false;
@@ -263,7 +263,7 @@ export class Autofill extends React.Component<IAutofillProps, IAutofillState> im
           break;
         default:
           if (!this._autoFillEnabled) {
-            // eslint-disable-next-line deprecation/deprecation
+            // eslint-disable-next-line @typescript-eslint/no-deprecated
             if (this.props.enableAutofillOnKeyPress!.indexOf(ev.which) !== -1) {
               this._autoFillEnabled = true;
             }
@@ -339,7 +339,7 @@ export class Autofill extends React.Component<IAutofillProps, IAutofillState> im
       return;
     }
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { onInputChange, onInputValueChange } = this.props;
     if (onInputChange) {
       newValue = onInputChange?.(newValue, composing) || '';
diff --git a/packages/react/src/components/Button/BaseButton.tsx b/packages/react/src/components/Button/BaseButton.tsx
index 94d0917462d5d7..478609d9822197 100644
--- a/packages/react/src/components/Button/BaseButton.tsx
+++ b/packages/react/src/components/Button/BaseButton.tsx
@@ -127,7 +127,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
       disabled,
       allowDisabledFocus,
       primaryDisabled,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       secondaryText = this.props.description,
       href,
       iconProps,
@@ -181,7 +181,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
     const tag = renderAsAnchor ? 'a' : 'button';
 
     const nativeProps = getNativeProps(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       assign(renderAsAnchor ? {} : { type: 'button' }, this.props.rootProps, this.props),
       renderAsAnchor ? anchorProperties : buttonProperties,
       [
@@ -230,7 +230,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
 
     const buttonProps = assign(nativeProps, {
       className: this._classNames.root,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       ref: this._mergedRef(this.props.elementRef, this._buttonElement),
       disabled: isPrimaryButtonDisabled && !allowDisabledFocus,
       onKeyDown: this._onKeyDown,
@@ -320,7 +320,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
       onRenderIcon = this._onRenderIcon,
       onRenderAriaDescription = this._onRenderAriaDescription,
       onRenderChildren = this._onRenderChildren,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       onRenderMenu = this._onRenderMenu,
       onRenderMenuIcon = this._onRenderMenuIcon,
       disabled,
@@ -385,7 +385,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
    */
   private _shouldRenderMenu() {
     const { menuHidden } = this.state;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { persistMenu, renderPersistedMenuHiddenOnMount } = this.props;
 
     if (!menuHidden) {
@@ -428,7 +428,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
     const {
       text,
       children,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       secondaryText = this.props.description,
       onRenderText = this._onRenderText,
       onRenderDescription = this._onRenderDescription,
@@ -486,7 +486,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
   };
 
   private _onRenderDescription = (props: IButtonProps) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { secondaryText = this.props.description } = props;
 
     // ms-Button-description is only shown when the button type is compound.
@@ -741,7 +741,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
 
   private _onKeyDown = (ev: React.KeyboardEvent<HTMLDivElement | HTMLAnchorElement | HTMLButtonElement>) => {
     // explicity cancelling event so click won't fire after this
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (this.props.disabled && (ev.which === KeyCodes.enter || ev.which === KeyCodes.space)) {
       ev.preventDefault();
       ev.stopPropagation();
@@ -765,9 +765,9 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
   private _onKeyPress = (
     ev: React.KeyboardEvent<HTMLDivElement | HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>,
   ) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (!this.props.disabled && this.props.onKeyPress !== undefined) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       this.props.onKeyPress(ev); // not cancelling event because it's not disabled
     }
   };
@@ -801,7 +801,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
   };
 
   private _onSplitButtonContainerKeyDown = (ev: React.KeyboardEvent<HTMLDivElement>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {
       if (this._buttonElement.current) {
         this._buttonElement.current.click();
@@ -822,9 +822,9 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
       this.props.onKeyDown(ev);
     }
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const isUp = ev.which === KeyCodes.up;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const isDown = ev.which === KeyCodes.down;
 
     if (!ev.defaultPrevented && this._isValidMenuOpenKey(ev)) {
@@ -838,7 +838,7 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
       ev.stopPropagation();
     }
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {
       // We manually set the focus visibility to true if opening via Enter or Space to account for the scenario where
       // a user clicks on the button, closes the menu and then opens it via keyboard. In this scenario our default logic
@@ -923,10 +923,10 @@ export class BaseButton extends React.Component<IBaseButtonProps, IBaseButtonSta
     ev: React.KeyboardEvent<HTMLDivElement | HTMLAnchorElement | HTMLButtonElement>,
   ): boolean {
     if (this.props.menuTriggerKeyCode) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       return ev.which === this.props.menuTriggerKeyCode;
     } else if (this.props.menuProps) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       return ev.which === KeyCodes.down && (ev.altKey || ev.metaKey);
     }
 
diff --git a/packages/react/src/components/Button/Button.tsx b/packages/react/src/components/Button/Button.tsx
index 0d5d40b7e22f46..1116ee9954380a 100644
--- a/packages/react/src/components/Button/Button.tsx
+++ b/packages/react/src/components/Button/Button.tsx
@@ -27,7 +27,7 @@ export class Button extends React.Component<IButtonProps, {}> {
   public render(): JSX.Element {
     const props = this.props;
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (props.buttonType) {
       case ButtonType.command:
         return <ActionButton {...props} />;
diff --git a/packages/react/src/components/Button/Button.types.ts b/packages/react/src/components/Button/Button.types.ts
index 99831ea88ca2ac..98c852b824789d 100644
--- a/packages/react/src/components/Button/Button.types.ts
+++ b/packages/react/src/components/Button/Button.types.ts
@@ -42,12 +42,12 @@ export interface IButton {
 /**
  * {@docCategory Button}
  */
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 export interface IButtonProps
   extends React.AllHTMLAttributes<
     HTMLAnchorElement | HTMLButtonElement | HTMLDivElement | BaseButton | Button | HTMLSpanElement
   > {
-  /* eslint-enable deprecation/deprecation */
+  /* eslint-enable @typescript-eslint/no-deprecated */
   /**
    * Optional callback to access the `IButton` interface. Use this instead of `ref` for accessing
    * the public methods and properties of the component.
diff --git a/packages/react/src/components/Calendar/Calendar.base.tsx b/packages/react/src/components/Calendar/Calendar.base.tsx
index 7063088c48fe72..8fbb84984bd1be 100644
--- a/packages/react/src/components/Calendar/Calendar.base.tsx
+++ b/packages/react/src/components/Calendar/Calendar.base.tsx
@@ -228,7 +228,7 @@ export const CalendarBase: React.FunctionComponent<ICalendarProps> = React.forwa
 
     const onButtonKeyDown = (callback: () => void): ((ev: React.KeyboardEvent<HTMLButtonElement>) => void) => {
       return (ev: React.KeyboardEvent<HTMLButtonElement>) => {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         switch (ev.which) {
           case KeyCodes.enter:
           case KeyCodes.space:
@@ -239,7 +239,7 @@ export const CalendarBase: React.FunctionComponent<ICalendarProps> = React.forwa
     };
 
     const onDatePickerPopupKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       switch (ev.which) {
         case KeyCodes.enter:
           ev.preventDefault();
diff --git a/packages/react/src/components/Calendar/CalendarDay/CalendarDay.base.tsx b/packages/react/src/components/Calendar/CalendarDay/CalendarDay.base.tsx
index 6d3d8d20887dc5..617a9c1e5d0f02 100644
--- a/packages/react/src/components/Calendar/CalendarDay/CalendarDay.base.tsx
+++ b/packages/react/src/components/Calendar/CalendarDay/CalendarDay.base.tsx
@@ -184,7 +184,7 @@ CalendarDayNavigationButtons.displayName = 'CalendarDayNavigationButtons';
 const onButtonKeyDown =
   (callback?: () => void): ((ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => void) =>
   (ev: React.KeyboardEvent<HTMLButtonElement>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.enter:
         callback?.();
diff --git a/packages/react/src/components/Calendar/CalendarMonth/CalendarMonth.base.tsx b/packages/react/src/components/Calendar/CalendarMonth/CalendarMonth.base.tsx
index beec6b01e027cc..c4ba11411400fb 100644
--- a/packages/react/src/components/Calendar/CalendarMonth/CalendarMonth.base.tsx
+++ b/packages/react/src/components/Calendar/CalendarMonth/CalendarMonth.base.tsx
@@ -347,7 +347,7 @@ function isCurrentMonth(month: number, year: number, today: Date): boolean {
 
 function onButtonKeyDown(callback: () => void): (ev: React.KeyboardEvent<HTMLButtonElement>) => void {
   return (ev: React.KeyboardEvent<HTMLButtonElement>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.enter:
         callback();
diff --git a/packages/react/src/components/Calendar/CalendarYear/CalendarYear.base.tsx b/packages/react/src/components/Calendar/CalendarYear/CalendarYear.base.tsx
index f571407ed56c62..fc919642228fb7 100644
--- a/packages/react/src/components/Calendar/CalendarYear/CalendarYear.base.tsx
+++ b/packages/react/src/components/Calendar/CalendarYear/CalendarYear.base.tsx
@@ -78,7 +78,7 @@ const CalendarYearGridCell: React.FunctionComponent<ICalendarYearGridCellProps>
   };
 
   const onKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.enter) {
       onSelectYear?.(year);
     }
@@ -246,7 +246,7 @@ const CalendarYearNavArrow: React.FunctionComponent<ICalendarYearNavArrowProps>
   };
 
   const onKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.enter) {
       onNavigate();
     }
@@ -308,7 +308,7 @@ const CalendarYearTitle: React.FunctionComponent<ICalendarYearHeaderProps> = pro
   };
 
   const onHeaderKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {
       onHeaderSelect();
     }
diff --git a/packages/react/src/components/CalendarDayGrid/CalendarGridDayCell.tsx b/packages/react/src/components/CalendarDayGrid/CalendarGridDayCell.tsx
index 34ba32188bf104..2cc7ec9f334f50 100644
--- a/packages/react/src/components/CalendarDayGrid/CalendarGridDayCell.tsx
+++ b/packages/react/src/components/CalendarDayGrid/CalendarGridDayCell.tsx
@@ -44,18 +44,18 @@ export const CalendarGridDayCell: React.FunctionComponent<ICalendarGridDayCellPr
     let targetDate: Date | undefined = undefined;
     let direction = 1; // by default search forward
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.up) {
       targetDate = addWeeks(date, -1);
       direction = -1;
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
     } else if (ev.which === KeyCodes.down) {
       targetDate = addWeeks(date, 1);
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
     } else if (ev.which === getRTLSafeKeyCode(KeyCodes.left)) {
       targetDate = addDays(date, -1);
       direction = -1;
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
     } else if (ev.which === getRTLSafeKeyCode(KeyCodes.right)) {
       targetDate = addDays(date, 1);
     }
@@ -193,7 +193,7 @@ export const CalendarGridDayCell: React.FunctionComponent<ICalendarGridDayCellPr
   };
 
   const onDayKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.enter) {
       onSelectDate?.(day.originalDate);
     } else {
diff --git a/packages/react/src/components/Callout/CalloutContent.base.tsx b/packages/react/src/components/Callout/CalloutContent.base.tsx
index 9355bc972c5159..89550932965a2f 100644
--- a/packages/react/src/components/Callout/CalloutContent.base.tsx
+++ b/packages/react/src/components/Callout/CalloutContent.base.tsx
@@ -492,7 +492,7 @@ export const CalloutContentBase: React.FunctionComponent<ICalloutProps> = React.
       backgroundColor,
       calloutMaxHeight,
       onScroll,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       shouldRestoreFocus = true,
       target,
       hidden,
diff --git a/packages/react/src/components/Check/Check.styles.ts b/packages/react/src/components/Check/Check.styles.ts
index c721df0c45a9f5..96f5e3ffea913d 100644
--- a/packages/react/src/components/Check/Check.styles.ts
+++ b/packages/react/src/components/Check/Check.styles.ts
@@ -12,7 +12,7 @@ export const CheckGlobalClassNames = {
 };
 
 export const getStyles = (props: ICheckStyleProps): ICheckStyles => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { height = props.checkBoxHeight || '18px', checked, className, theme } = props;
 
   const { palette, semanticColors, fonts } = theme;
diff --git a/packages/react/src/components/Coachmark/Coachmark.base.tsx b/packages/react/src/components/Coachmark/Coachmark.base.tsx
index b9baad61890973..a6b2a25b62c6e1 100644
--- a/packages/react/src/components/Coachmark/Coachmark.base.tsx
+++ b/packages/react/src/components/Coachmark/Coachmark.base.tsx
@@ -215,9 +215,9 @@ function useListeners(
     (e: KeyboardEvent) => {
       // Open coachmark if user presses ALT + C (arbitrary keypress for now)
       if (
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         (e.altKey && e.which === KeyCodes.c) ||
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         (e.which === KeyCodes.enter && translateAnimationContainer.current?.contains?.(e.target as Node))
       ) {
         openCoachmark();
@@ -582,7 +582,7 @@ function getBounds(
 }
 
 function isInsideElement(
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   targetElementRect: ClientRect,
   mouseX: number,
   mouseY: number,
diff --git a/packages/react/src/components/ColorPicker/ColorPicker.base.tsx b/packages/react/src/components/ColorPicker/ColorPicker.base.tsx
index 689124806e30dc..fbcff3c608998d 100644
--- a/packages/react/src/components/ColorPicker/ColorPicker.base.tsx
+++ b/packages/react/src/components/ColorPicker/ColorPicker.base.tsx
@@ -120,7 +120,7 @@ export class ColorPickerBase extends React.Component<IColorPickerProps, IColorPi
       alphaSliderHidden: 'alphaType',
     });
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (strings.hue) {
       // warnDeprecations can't handle nested deprecated props
       warn("ColorPicker property 'strings.hue' was used but has been deprecated. Use 'strings.hueAriaLabel' instead.");
@@ -138,14 +138,14 @@ export class ColorPickerBase extends React.Component<IColorPickerProps, IColorPi
     const defaultStrings = ColorPickerBase.defaultProps.strings as Required<IColorPickerStrings>;
 
     this._textLabels = {
-      /* eslint-disable deprecation/deprecation */
+      /* eslint-disable @typescript-eslint/no-deprecated */
       r: props.redLabel || strings.red || defaultStrings.red,
       g: props.greenLabel || strings.green || defaultStrings.green,
       b: props.blueLabel || strings.blue || defaultStrings.blue,
       a: props.alphaLabel || strings.alpha || defaultStrings.alpha,
       hex: props.hexLabel || strings.hex || defaultStrings.hex,
       t: strings.transparency || defaultStrings.transparency,
-      /* eslint-enable deprecation/deprecation */
+      /* eslint-enable @typescript-eslint/no-deprecated */
     };
 
     this._strings = {
@@ -180,7 +180,7 @@ export class ColorPickerBase extends React.Component<IColorPickerProps, IColorPi
       className,
       styles,
       alphaType,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       alphaSliderHidden = alphaType === 'none',
       tooltipProps,
     } = props;
@@ -218,7 +218,7 @@ export class ColorPickerBase extends React.Component<IColorPickerProps, IColorPi
               <ColorSlider
                 className="is-hue"
                 type="hue"
-                // eslint-disable-next-line deprecation/deprecation
+                // eslint-disable-next-line @typescript-eslint/no-deprecated
                 ariaLabel={strings.hue || strings.hueAriaLabel}
                 value={color.h}
                 onChange={this._onHChanged}
@@ -347,7 +347,7 @@ export class ColorPickerBase extends React.Component<IColorPickerProps, IColorPi
     const isHex = component === 'hex';
     const isAlpha = component === 'a';
     const isTransparency = component === 't';
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     newValue = (newValue || '').substr(0, isHex ? MAX_HEX_LENGTH : MAX_RGBA_LENGTH);
 
     // Ignore what the user typed if it contains invalid characters
diff --git a/packages/react/src/components/ColorPicker/ColorRectangle/ColorRectangle.base.tsx b/packages/react/src/components/ColorPicker/ColorRectangle/ColorRectangle.base.tsx
index d8ef8bbed0d9c0..001274abfe37a4 100644
--- a/packages/react/src/components/ColorPicker/ColorRectangle/ColorRectangle.base.tsx
+++ b/packages/react/src/components/ColorPicker/ColorRectangle/ColorRectangle.base.tsx
@@ -135,7 +135,7 @@ export class ColorRectangleBase
 
     // Intentionally DO NOT flip the color picker in RTL: its orientation is not very meaningful,
     // and getting all the math and styles flipped correctly is tricky
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.up: {
         this._isAdjustingSaturation = false;
diff --git a/packages/react/src/components/ColorPicker/ColorSlider/ColorSlider.base.tsx b/packages/react/src/components/ColorPicker/ColorSlider/ColorSlider.base.tsx
index b107f7974bf355..986b5c76283817 100644
--- a/packages/react/src/components/ColorPicker/ColorSlider/ColorSlider.base.tsx
+++ b/packages/react/src/components/ColorPicker/ColorSlider/ColorSlider.base.tsx
@@ -41,7 +41,7 @@ export class ColorSliderBase extends React.Component<IColorSliderProps, IColorSl
       maxValue: 'type',
       minValue: 'type',
     });
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (this._type !== 'hue' && !(props.overlayColor || props.overlayStyle)) {
       warn(`ColorSlider: 'overlayColor' is required when 'type' is "alpha" or "transparency"`);
     }
@@ -83,7 +83,7 @@ export class ColorSliderBase extends React.Component<IColorSliderProps, IColorSl
     const type = this._type;
     const maxValue = this._maxValue;
     const {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       overlayStyle,
       overlayColor,
       theme,
@@ -139,7 +139,7 @@ export class ColorSliderBase extends React.Component<IColorSliderProps, IColorSl
   }
 
   private get _type(): IColorSliderProps['type'] {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { isAlpha, type = isAlpha ? 'alpha' : 'hue' } = this.props;
     return type;
   }
@@ -155,7 +155,7 @@ export class ColorSliderBase extends React.Component<IColorSliderProps, IColorSl
 
     // Intentionally DO NOT flip the color picker in RTL: its orientation is not very meaningful,
     // and getting all the math and styles flipped correctly is tricky
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.left: {
         currentValue -= increment;
diff --git a/packages/react/src/components/ColorPicker/ColorSlider/ColorSlider.styles.ts b/packages/react/src/components/ColorPicker/ColorSlider/ColorSlider.styles.ts
index 01d3da0548c9e5..00f9ed6d3d1e35 100644
--- a/packages/react/src/components/ColorPicker/ColorSlider/ColorSlider.styles.ts
+++ b/packages/react/src/components/ColorPicker/ColorSlider/ColorSlider.styles.ts
@@ -25,7 +25,7 @@ const alphaStyle = {
 };
 
 export const getStyles = (props: IColorSliderStyleProps): IColorSliderStyles => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { theme, className, type = 'hue', isAlpha: useAlphaBackground = type !== 'hue' } = props;
   const { palette, effects } = theme;
 
diff --git a/packages/react/src/components/ComboBox/ComboBox.tsx b/packages/react/src/components/ComboBox/ComboBox.tsx
index e342c4b6798a35..9b6823d72a6d7d 100644
--- a/packages/react/src/components/ComboBox/ComboBox.tsx
+++ b/packages/react/src/components/ComboBox/ComboBox.tsx
@@ -1233,7 +1233,7 @@ class ComboBoxInternal extends React.Component<IComboBoxInternalProps, IComboBox
    * OnBlur handler. Set the focused state to false
    * and submit any pending value
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   private _onBlur = (event: React.FocusEvent<HTMLElement | Autofill | BaseButton | Button>): void => {
     const doc = getDocumentEx(this.context);
     // Do nothing if the blur is coming from something
@@ -2108,7 +2108,7 @@ class ComboBoxInternal extends React.Component<IComboBoxInternalProps, IComboBox
 
     let index = this._getPendingSelectedIndex(false /* includeCurrentPendingValue */);
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.enter:
         if (this._autofill.current && this._autofill.current.inputElement) {
@@ -2231,7 +2231,7 @@ class ComboBoxInternal extends React.Component<IComboBoxInternalProps, IComboBox
 
         // If end, update the values to respond to END
         // which goes to the last selectable option
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         if (ev.which === KeyCodes.end) {
           index = currentOptions.length;
           directionToSearch = SearchDirection.backward;
@@ -2250,19 +2250,19 @@ class ComboBoxInternal extends React.Component<IComboBoxInternalProps, IComboBox
       default:
         /* eslint-enable no-fallthrough */
         // are we processing a function key? if so bail out
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         if (ev.which >= 112 /* F1 */ && ev.which <= 123 /* F12 */) {
           return;
         }
 
         // If we get here and we got either and ALT key
         // or meta key, let the event propagate
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         if (ev.keyCode === KeyCodes.alt || ev.key === 'Meta' /* && isOpen */) {
           return;
         }
 
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         if (allowParentArrowNavigation && (ev.keyCode === KeyCodes.left || ev.keyCode === KeyCodes.right)) {
           return;
         }
@@ -2306,7 +2306,7 @@ class ComboBoxInternal extends React.Component<IComboBoxInternalProps, IComboBox
       return;
     }
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.space:
         // If we are not allowing freeform or free input, and autoComplete is off
@@ -2389,11 +2389,11 @@ class ComboBoxInternal extends React.Component<IComboBoxInternalProps, IComboBox
       // of the event unless we have a tab, escape, or function key
       if (
         ev !== null &&
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         ev.which !== KeyCodes.tab &&
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         ev.which !== KeyCodes.escape &&
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         (ev.which < 112 /* F1 */ || ev.which > 123) /* F12 */
       ) {
         ev.stopPropagation();
@@ -2618,6 +2618,6 @@ function getPreviewText(item: IComboBoxOption): string {
  * Returns true if the key for the event is alt (Mac option) or meta (Mac command).
  */
 function isAltOrMeta(ev: React.KeyboardEvent<HTMLElement | Autofill>): boolean {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return ev.which === KeyCodes.alt || ev.key === 'Meta';
 }
diff --git a/packages/react/src/components/CommandBar/CommandBar.base.tsx b/packages/react/src/components/CommandBar/CommandBar.base.tsx
index eaee893cf0d677..42b273d37e153b 100644
--- a/packages/react/src/components/CommandBar/CommandBar.base.tsx
+++ b/packages/react/src/components/CommandBar/CommandBar.base.tsx
@@ -166,7 +166,7 @@ export class CommandBarBase extends React.Component<ICommandBarProps, {}> implem
       return item.onRender(item, () => undefined);
     }
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const itemText = item.text || item.name;
     const commandButtonProps: ICommandBarItemProps = {
       allowDisabledFocus: true,
@@ -213,7 +213,7 @@ export class CommandBarBase extends React.Component<ICommandBarProps, {}> implem
   private _onButtonClick(item: ICommandBarItemProps): (ev: React.MouseEvent<HTMLButtonElement>) => void {
     return ev => {
       // inactive is deprecated. remove check in 7.0
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (item.inactive) {
         return;
       }
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenu.base.tsx b/packages/react/src/components/ContextualMenu/ContextualMenu.base.tsx
index c457e42be1a7fd..d29bbe64054d87 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenu.base.tsx
+++ b/packages/react/src/components/ContextualMenu/ContextualMenu.base.tsx
@@ -98,7 +98,7 @@ export function getSubmenuItems(
 ): IContextualMenuItem[] | undefined {
   const target = options?.target;
 
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const items = item.subMenuProps ? item.subMenuProps.items : item.items;
 
   if (items) {
@@ -356,7 +356,7 @@ function useKeyHandlers(
   const shouldCloseSubMenu = (ev: React.KeyboardEvent<HTMLElement>): boolean => {
     const submenuCloseKey = getRTL(theme) ? KeyCodes.right : KeyCodes.left;
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which !== submenuCloseKey || !isSubMenu) {
       return false;
     }
@@ -369,10 +369,10 @@ function useKeyHandlers(
 
   const shouldHandleKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {
     return (
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       ev.which === KeyCodes.escape ||
       shouldCloseSubMenu(ev) ||
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       (ev.which === KeyCodes.up && (ev.altKey || ev.metaKey))
     );
   };
@@ -383,7 +383,7 @@ function useKeyHandlers(
     lastKeyDownWasAltOrMeta.current = isAltOrMeta(ev);
 
     // On Mac, pressing escape dismisses all levels of native context menus
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const dismissAllMenus = ev.which === KeyCodes.escape && (isMac() || isIOS());
 
     return keyHandler(ev, shouldHandleKeyDown, dismissAllMenus);
@@ -421,9 +421,9 @@ function useKeyHandlers(
     // If we have a modifier key being pressed, we do not want to move focus.
     // Otherwise, handle up and down keys.
     const hasModifier = !!(ev.altKey || ev.metaKey);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const isUp = ev.which === KeyCodes.up;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const isDown = ev.which === KeyCodes.down;
     if (!hasModifier && (isUp || isDown)) {
       const elementToFocus = isUp
@@ -443,7 +443,7 @@ function useKeyHandlers(
 
     if (
       !item.disabled &&
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       (ev.which === openKey || ev.which === KeyCodes.enter || (ev.which === KeyCodes.down && (ev.altKey || ev.metaKey)))
     ) {
       openSubMenu(item, ev.currentTarget as HTMLElement);
@@ -780,7 +780,7 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
 
     const onDefaultRenderMenuList = (
       menuListProps: IContextualMenuListProps,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       menuClassNames: IProcessedStyleSet<IContextualMenuStyles> | IContextualMenuClassNames,
       defaultRender?: IRenderFunction<IContextualMenuListProps>,
     ): JSX.Element => {
@@ -825,13 +825,13 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
       totalItemCount: number,
       hasCheckmarks: boolean,
       hasIcons: boolean,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       menuClassNames: IProcessedStyleSet<IContextualMenuStyles> | IContextualMenuClassNames,
     ): JSX.Element => {
       const renderedItems: React.ReactNode[] = [];
       const iconProps = item.iconProps || { iconName: 'None' };
       const {
-        getItemClassNames, // eslint-disable-line deprecation/deprecation
+        getItemClassNames, // eslint-disable-line @typescript-eslint/no-deprecated
         itemProps,
       } = item;
       const styles = itemProps ? itemProps.styles : undefined;
@@ -841,7 +841,7 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
       const dividerClassName = item.itemType === ContextualMenuItemType.Divider ? item.className : undefined;
       const subMenuIconClassName = item.submenuIconProps ? item.submenuIconProps.className : '';
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       let itemClassNames: IMenuItemClassNames;
 
       // IContextualMenuItem#getItemClassNames for backwards compatibility
@@ -883,7 +883,7 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
         );
       }
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (item.text === '-' || item.name === '-') {
         item.itemType = ContextualMenuItemType.Divider;
       }
@@ -925,7 +925,7 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
 
     const defaultMenuItemRenderer = (
       item: IContextualMenuItemRenderProps,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       menuClassNames: IProcessedStyleSet<IContextualMenuStyles> | IContextualMenuClassNames,
     ): React.ReactNode => {
       const { index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons } = item;
@@ -942,9 +942,9 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
 
     const renderSectionItem = (
       sectionItem: IContextualMenuItem,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       itemClassNames: IMenuItemClassNames,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       menuClassNames: IProcessedStyleSet<IContextualMenuStyles> | IContextualMenuClassNames,
       index: number,
       hasCheckmarks: boolean,
@@ -1033,7 +1033,7 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
     const renderListItem = (
       content: React.ReactNode,
       key: string | number,
-      classNames: IMenuItemClassNames, // eslint-disable-line deprecation/deprecation
+      classNames: IMenuItemClassNames, // eslint-disable-line @typescript-eslint/no-deprecated
       title?: string,
     ) => {
       return (
@@ -1045,7 +1045,7 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
 
     const renderSeparator = (
       index: number,
-      classNames: IMenuItemClassNames, // eslint-disable-line deprecation/deprecation
+      classNames: IMenuItemClassNames, // eslint-disable-line @typescript-eslint/no-deprecated
       top?: boolean,
       fromSection?: boolean,
     ): React.ReactNode => {
@@ -1064,7 +1064,7 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
 
     const renderNormalItem = (
       item: IContextualMenuItem,
-      classNames: IMenuItemClassNames, // eslint-disable-line deprecation/deprecation
+      classNames: IMenuItemClassNames, // eslint-disable-line @typescript-eslint/no-deprecated
       index: number,
       focusableElementIndex: number,
       totalItemCount: number,
@@ -1142,9 +1142,9 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
 
     const renderHeaderMenuItem = (
       item: IContextualMenuItem,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       itemClassNames: IMenuItemClassNames,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       menuClassNames: IProcessedStyleSet<IContextualMenuStyles> | IContextualMenuClassNames,
       index: number,
       hasCheckmarks: boolean,
@@ -1164,7 +1164,7 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
       const divHtmlProperties =
         itemProps && getNativeProps<React.HTMLAttributes<HTMLDivElement>>(itemProps, divProperties);
       return (
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         <div id={id} className={menuClassNames.header} {...divHtmlProperties} style={item.style}>
           <ChildrenRenderer
             item={item}
@@ -1212,7 +1212,7 @@ export const ContextualMenuBase: React.FunctionComponent<IContextualMenuProps> =
         defaultRender?: IRenderFunction<IContextualMenuListProps>,
       ) => onDefaultRenderMenuList(menuListProps, classNames, defaultRender),
       focusZoneProps,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       getMenuClassNames,
     } = props;
 
@@ -1374,7 +1374,7 @@ ContextualMenuBase.displayName = 'ContextualMenuBase';
  * Returns true if the key for the event is alt (Mac option) or meta (Mac command).
  */
 function isAltOrMeta(ev: React.KeyboardEvent<HTMLElement>): boolean {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return ev.which === KeyCodes.alt || ev.key === 'Meta';
 }
 
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenu.classNames.ts b/packages/react/src/components/ContextualMenu/ContextualMenu.classNames.ts
index 5f7fc8247bebe6..8e06f9b6710854 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenu.classNames.ts
+++ b/packages/react/src/components/ContextualMenu/ContextualMenu.classNames.ts
@@ -50,10 +50,10 @@ const CONTEXTUAL_SPLIT_MENU_MINWIDTH = '28px';
 const MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);
 
 export const getSplitButtonVerticalDividerClassNames = memoizeFunction(
-  /* eslint-disable deprecation/deprecation */
+  /* eslint-disable @typescript-eslint/no-deprecated */
   (theme: ITheme): IVerticalDividerClassNames => {
     return mergeStyleSets(getDividerClassNames(theme), {
-      /* eslint-enable deprecation/deprecation */
+      /* eslint-enable @typescript-eslint/no-deprecated */
       wrapper: {
         position: 'absolute',
         right: 28, // width of the splitMenu based on the padding plus icon fontSize
@@ -267,7 +267,7 @@ export const getItemStyles = (props: IContextualMenuItemStyleProps): IContextual
     className,
   } = props;
 
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return getItemClassNames(
     theme,
     disabled,
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenu.types.ts b/packages/react/src/components/ContextualMenu/ContextualMenu.types.ts
index d4daf4a6ff9ea3..90d202fb5d2ac1 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenu.types.ts
+++ b/packages/react/src/components/ContextualMenu/ContextualMenu.types.ts
@@ -50,7 +50,7 @@ export interface IContextualMenu {}
 export interface IContextualMenuProps
   extends IBaseProps<IContextualMenu>,
     React.RefAttributes<HTMLDivElement>,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     IWithResponsiveModeState {
   /**
    * Optional callback to access the IContextualMenu interface. Use this instead of ref for accessing
@@ -232,7 +232,7 @@ export interface IContextualMenuProps
    * Method to provide the classnames to style the contextual menu.
    * @deprecated Use `styles` instead to leverage mergeStyles API.
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getMenuClassNames?: (theme: ITheme, className?: string) => IContextualMenuClassNames;
 
   /** Custom render function for a submenu. */
@@ -466,7 +466,7 @@ export interface IContextualMenuItem {
     iconClassName?: string,
     subMenuClassName?: string,
     primaryDisabled?: boolean,
-  ) => // eslint-disable-next-line deprecation/deprecation
+  ) => // eslint-disable-next-line @typescript-eslint/no-deprecated
   IMenuItemClassNames;
 
   /**
@@ -479,7 +479,7 @@ export interface IContextualMenuItem {
    * Default value is the `getSplitButtonVerticalDividerClassNames` func defined in `ContextualMenu.classnames.ts`.
    * @defaultvalue getSplitButtonVerticalDividerClassNames
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getSplitButtonVerticalDividerClassNames?: (theme: ITheme) => IVerticalDividerClassNames;
 
   /**
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItem.base.tsx b/packages/react/src/components/ContextualMenu/ContextualMenuItem.base.tsx
index bc1d1e70003d46..12512ae28e9f99 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItem.base.tsx
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItem.base.tsx
@@ -42,11 +42,11 @@ const renderCheckMarkIcon = ({ onCheckmarkClick, item, classNames }: IContextual
 };
 
 const renderItemName = ({ item, classNames }: IContextualMenuItemProps) => {
-  /* eslint-disable deprecation/deprecation */
+  /* eslint-disable @typescript-eslint/no-deprecated */
   if (item.text || item.name) {
     return <span className={classNames.label}>{item.text || item.name}</span>;
   }
-  /* eslint-enable deprecation/deprecation */
+  /* eslint-enable @typescript-eslint/no-deprecated */
   return null;
 };
 
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItem.test.tsx b/packages/react/src/components/ContextualMenu/ContextualMenuItem.test.tsx
index 96e327c93c5314..ae509c0a94decc 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItem.test.tsx
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItem.test.tsx
@@ -12,7 +12,7 @@ describe('ContextMenuItemChildren', () => {
   describe('when a checkmark icon', () => {
     let onCheckmarkClick: jest.Mock;
     let menuItem: IContextualMenuItem;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     let menuClassNames: IMenuItemClassNames;
     let wrapper: ShallowWrapper<IContextualMenuItemProps, {}>;
 
@@ -52,7 +52,7 @@ describe('ContextMenuItemChildren', () => {
   describe('when hide checkmark icon for toggle command', () => {
     let onCheckmarkClick: jest.Mock;
     let menuItem: IContextualMenuItem;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     let menuClassNames: IMenuItemClassNames;
     let wrapper: ShallowWrapper<IContextualMenuItemProps, {}>;
 
@@ -96,7 +96,7 @@ describe('ContextMenuItemChildren', () => {
   describe('when it has icons', () => {
     describe('when it has iconProps', () => {
       let menuItem: IContextualMenuItem;
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       let menuClassNames: IMenuItemClassNames;
       let wrapper: ShallowWrapper<IContextualMenuItemProps, {}>;
 
@@ -116,7 +116,7 @@ describe('ContextMenuItemChildren', () => {
 
     describe('when it doesnt have iconProps', () => {
       let menuItem: IContextualMenuItem;
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       let menuClassNames: IMenuItemClassNames;
       let wrapper: ShallowWrapper<IContextualMenuItemProps, {}>;
 
@@ -137,7 +137,7 @@ describe('ContextMenuItemChildren', () => {
 
   describe('when it has a sub menu', () => {
     let menuItem: IContextualMenuItem;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     let menuClassNames: IMenuItemClassNames;
     let wrapper: ShallowWrapper<IContextualMenuItemProps, {}>;
 
@@ -157,7 +157,7 @@ describe('ContextMenuItemChildren', () => {
   });
 });
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 function getMenuItemClassNames(): IMenuItemClassNames {
   return {
     item: 'item',
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItem.types.ts b/packages/react/src/components/ContextualMenu/ContextualMenuItem.types.ts
index 7a282139185ef2..87717484ba4bdb 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItem.types.ts
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItem.types.ts
@@ -59,7 +59,7 @@ export interface IContextualMenuItemProps extends React.HTMLAttributes<IContextu
   /**
    * Classnames for different aspects of a menu item
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   classNames: IMenuItemClassNames;
 
   /**
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.test.tsx b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.test.tsx
index f7c040ac89bd3c..df9e586cbfdade 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.test.tsx
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.test.tsx
@@ -8,7 +8,7 @@ import type { IMenuItemClassNames } from '../ContextualMenu.classNames';
 describe('ContextualMenuButton', () => {
   describe('creates a normal button', () => {
     let menuItem: IContextualMenuItem;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     let menuClassNames: IMenuItemClassNames;
 
     beforeEach(() => {
@@ -77,7 +77,7 @@ describe('ContextualMenuButton', () => {
   });
 });
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 function getMenuItemClassNames(): IMenuItemClassNames {
   return {
     item: 'item',
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.tsx b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.tsx
index 1332938bf43c39..0229de4526a7ba 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.tsx
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.tsx
@@ -102,7 +102,7 @@ export class ContextualMenuAnchor extends ContextualMenuItemWrapper {
               aria-posinset={focusableElementIndex + 1}
               aria-setsize={totalItemCount}
               aria-disabled={isItemDisabled(item)}
-              // eslint-disable-next-line deprecation/deprecation
+              // eslint-disable-next-line @typescript-eslint/no-deprecated
               style={item.style}
               onClick={this._onItemClick}
               onMouseEnter={this._onItemMouseEnter}
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.test.tsx b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.test.tsx
index 0d7dd4aa6a0ec9..d7af3d0b3944ea 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.test.tsx
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.test.tsx
@@ -8,7 +8,7 @@ import type { IMenuItemClassNames } from '../ContextualMenu.classNames';
 describe('ContextualMenuButton', () => {
   describe('creates a normal button', () => {
     let menuItem: IContextualMenuItem;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     let menuClassNames: IMenuItemClassNames;
 
     beforeEach(() => {
@@ -108,7 +108,7 @@ describe('ContextualMenuButton', () => {
   });
 });
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 function getMenuItemClassNames(): IMenuItemClassNames {
   return {
     item: 'item',
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.tsx b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.tsx
index 2e0110c0294b9c..deb0f288f57adb 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.tsx
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.tsx
@@ -103,7 +103,7 @@ export class ContextualMenuButton extends ContextualMenuItemWrapper {
         (itemRole === 'menuitemcheckbox' || itemRole === 'menuitemradio') && canCheck ? !!isChecked : undefined,
       'aria-selected': itemRole === 'menuitem' && canCheck ? !!isChecked : undefined,
       role: itemRole,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       style: item.style,
     };
 
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.types.ts b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.types.ts
index ded2c689bd511f..4f396f47e4c98c 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.types.ts
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.types.ts
@@ -19,7 +19,7 @@ export interface IContextualMenuItemWrapperProps extends React.ClassAttributes<I
   /**
    * CSS class to apply to the context menu.
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   classNames: IMenuItemClassNames;
 
   /**
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.test.tsx b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.test.tsx
index ea0abb5a5675fb..4974f5e1a67012 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.test.tsx
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.test.tsx
@@ -8,7 +8,7 @@ import type { IMenuItemClassNames } from '../ContextualMenu.classNames';
 describe('ContextualMenuSplitButton', () => {
   describe('creates a normal split button', () => {
     let menuItem: IContextualMenuItem;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     let menuClassNames: IMenuItemClassNames;
 
     beforeEach(() => {
@@ -53,7 +53,7 @@ describe('ContextualMenuSplitButton', () => {
   });
 });
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 function getMenuItemClassNames(): IMenuItemClassNames {
   return {
     item: 'item',
diff --git a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.tsx b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.tsx
index cc31624a6acadb..451765bcf0b6cf 100644
--- a/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.tsx
+++ b/packages/react/src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.tsx
@@ -136,7 +136,7 @@ export class ContextualMenuSplitButton extends ContextualMenuItemWrapper {
 
   protected _onItemKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
     const { item, onItemKeyDown } = this.props;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.enter) {
       this._executeItemClick(ev);
       ev.preventDefault();
@@ -161,7 +161,7 @@ export class ContextualMenuSplitButton extends ContextualMenuItemWrapper {
 
   private _renderSplitPrimaryButton(
     item: IContextualMenuItem,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     classNames: IMenuItemClassNames,
     index: number,
     hasCheckmarks: boolean,
@@ -172,11 +172,11 @@ export class ContextualMenuSplitButton extends ContextualMenuItemWrapper {
     const itemProps: IContextualMenuItem = {
       key: item.key,
       disabled: isItemDisabled(item) || item.primaryDisabled,
-      /* eslint-disable deprecation/deprecation */
+      /* eslint-disable @typescript-eslint/no-deprecated */
       name: item.name,
       text: item.text || item.name,
       secondaryText: item.secondaryText,
-      /* eslint-enable deprecation/deprecation */
+      /* eslint-enable @typescript-eslint/no-deprecated */
       className: classNames.splitPrimary,
       canCheck: item.canCheck,
       isChecked: item.isChecked,
@@ -214,7 +214,7 @@ export class ContextualMenuSplitButton extends ContextualMenuItemWrapper {
 
   private _renderSplitIconButton(
     item: IContextualMenuItem,
-    classNames: IMenuItemClassNames, // eslint-disable-line deprecation/deprecation
+    classNames: IMenuItemClassNames, // eslint-disable-line @typescript-eslint/no-deprecated
     index: number,
     keytipAttributes: any,
   ) {
diff --git a/packages/react/src/components/ContextualMenu/index.ts b/packages/react/src/components/ContextualMenu/index.ts
index 8af110d1a174a0..3271595d5d54f5 100644
--- a/packages/react/src/components/ContextualMenu/index.ts
+++ b/packages/react/src/components/ContextualMenu/index.ts
@@ -6,9 +6,8 @@ export * from './ContextualMenuItem.base';
 export * from './ContextualMenuItem.types';
 export { getMenuItemStyles } from './ContextualMenu.cnstyles';
 export {
-  // eslint-disable-next-line deprecation/deprecation
   getItemClassNames as getContextualMenuItemClassNames,
   getItemStyles as getContextualMenuItemStyles,
 } from './ContextualMenu.classNames';
-// eslint-disable-next-line deprecation/deprecation
+
 export type { IContextualMenuClassNames, IMenuItemClassNames } from './ContextualMenu.classNames';
diff --git a/packages/react/src/components/DatePicker/DatePicker.base.tsx b/packages/react/src/components/DatePicker/DatePicker.base.tsx
index 57412493d53eb0..17e37f7ffee89b 100644
--- a/packages/react/src/components/DatePicker/DatePicker.base.tsx
+++ b/packages/react/src/components/DatePicker/DatePicker.base.tsx
@@ -344,7 +344,7 @@ export const DatePickerBase: React.FunctionComponent<IDatePickerProps> = React.f
   };
 
   const onTextFieldKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.enter:
         ev.preventDefault();
diff --git a/packages/react/src/components/DetailsList/DetailsColumn.base.tsx b/packages/react/src/components/DetailsList/DetailsColumn.base.tsx
index 2fdd35162ea6f1..813de6d01e08b5 100644
--- a/packages/react/src/components/DetailsList/DetailsColumn.base.tsx
+++ b/packages/react/src/components/DetailsList/DetailsColumn.base.tsx
@@ -371,11 +371,11 @@ export class DetailsColumnBase extends React.Component<IDetailsColumnProps> {
   };
 
   private _updateHeaderDragInfo = (itemIndex: number, event?: MouseEvent) => {
-    /* eslint-disable deprecation/deprecation */
+    /* eslint-disable @typescript-eslint/no-deprecated */
     if (this.props.setDraggedItemIndex) {
       this.props.setDraggedItemIndex(itemIndex);
     }
-    /* eslint-enable deprecation/deprecation */
+    /* eslint-enable @typescript-eslint/no-deprecated */
     if (this.props.updateDragInfo) {
       this.props.updateDragInfo({ itemIndex }, event);
     }
diff --git a/packages/react/src/components/DetailsList/DetailsHeader.base.tsx b/packages/react/src/components/DetailsList/DetailsHeader.base.tsx
index d53de17bcfe6ab..7d96fc6898d74f 100644
--- a/packages/react/src/components/DetailsList/DetailsHeader.base.tsx
+++ b/packages/react/src/components/DetailsList/DetailsHeader.base.tsx
@@ -413,10 +413,10 @@ export class DetailsHeaderBase
             targetIndex,
           };
           columnReorderProps.onColumnDrop(dragDropDetails);
-          /* eslint-disable deprecation/deprecation */
+          /* eslint-disable @typescript-eslint/no-deprecated */
         } else if (columnReorderProps.handleColumnReorder) {
           columnReorderProps.handleColumnReorder(this._draggedColumnIndex, targetIndex);
-          /* eslint-enable deprecation/deprecation */
+          /* eslint-enable @typescript-eslint/no-deprecated */
         }
       }
     }
@@ -773,7 +773,7 @@ export class DetailsHeaderBase
     const columnIndex = Number(columnIndexAttr);
 
     if (!columnResizeDetails) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (ev.which === KeyCodes.enter) {
         this.setState({
           columnResizeDetails: {
@@ -788,7 +788,7 @@ export class DetailsHeaderBase
     } else {
       let increment: number | undefined;
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (ev.which === KeyCodes.enter) {
         this.setState({
           columnResizeDetails: undefined,
@@ -796,10 +796,10 @@ export class DetailsHeaderBase
 
         ev.preventDefault();
         ev.stopPropagation();
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
       } else if (ev.which === KeyCodes.left) {
         increment = getRTL(this.props.theme) ? 1 : -1;
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
       } else if (ev.which === KeyCodes.right) {
         increment = getRTL(this.props.theme) ? -1 : 1;
       }
diff --git a/packages/react/src/components/DetailsList/DetailsList.base.tsx b/packages/react/src/components/DetailsList/DetailsList.base.tsx
index 3102537a9234b6..ddf29a64d3d212 100644
--- a/packages/react/src/components/DetailsList/DetailsList.base.tsx
+++ b/packages/react/src/components/DetailsList/DetailsList.base.tsx
@@ -141,11 +141,11 @@ const DetailsListInner: React.ComponentType<IDetailsListInnerProps> = (
     selectionMode = selection.mode,
     selectionPreservedOnEmptyClick,
     selectionZoneProps,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     ariaLabel,
     ariaLabelForGrid,
     rowElementEventMap,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     shouldApplyApplicationRole = false,
     getKey,
     listProps,
@@ -593,7 +593,7 @@ const DetailsListInner: React.ComponentType<IDetailsListInnerProps> = (
 
   const isRightArrow = React.useCallback(
     (event: React.KeyboardEvent<HTMLElement>) => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       return event.which === getRTLSafeKeyCode(KeyCodes.right, theme);
     },
     [theme],
@@ -657,7 +657,7 @@ const DetailsListInner: React.ComponentType<IDetailsListInnerProps> = (
 
   const onHeaderKeyDown = React.useCallback(
     (ev: React.KeyboardEvent<HTMLElement>): void => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (ev.which === KeyCodes.down) {
         if (focusZoneRef.current && focusZoneRef.current.focus()) {
           // select the first item in list after down arrow key event
@@ -676,7 +676,7 @@ const DetailsListInner: React.ComponentType<IDetailsListInnerProps> = (
 
   const onContentKeyDown = React.useCallback(
     (ev: React.KeyboardEvent<HTMLElement>): void => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (ev.which === KeyCodes.up && !ev.altKey) {
         if (headerRef.current && headerRef.current.focus()) {
           ev.preventDefault();
@@ -918,10 +918,10 @@ export class DetailsListBase extends React.Component<IDetailsListProps, IDetails
             targetIndex,
           };
           columnReorderOptions.onColumnDrop(dragDropDetails);
-          /* eslint-disable deprecation/deprecation */
+          /* eslint-disable @typescript-eslint/no-deprecated */
         } else if (columnReorderOptions.handleColumnReorder) {
           columnReorderOptions.handleColumnReorder(draggedIndex, targetIndex);
-          /* eslint-enable deprecation/deprecation */
+          /* eslint-enable @typescript-eslint/no-deprecated */
         }
       }
     }
@@ -1345,7 +1345,7 @@ export class DetailsListBase extends React.Component<IDetailsListProps, IDetails
         ...this._columnOverrides[column.key],
       };
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (!(baseColumn.isCollapsible || baseColumn.isCollapsable)) {
         minimumWidth += getPaddedWidth(baseColumn, props);
       }
@@ -1368,7 +1368,7 @@ export class DetailsListBase extends React.Component<IDetailsListProps, IDetails
       const minWidth = column.minWidth || MIN_COLUMN_WIDTH;
       const overflowWidth = totalWidth - availableWidth;
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (column.calculatedWidth! - minWidth >= overflowWidth || !(column.isCollapsible || column.isCollapsable)) {
         const originalWidth = column.calculatedWidth!;
         if (minimumWidth < availableWidth) {
diff --git a/packages/react/src/components/DetailsList/DetailsRowCheck.tsx b/packages/react/src/components/DetailsList/DetailsRowCheck.tsx
index 67c404e0f9c6f4..1fc85ff4bc6cd4 100644
--- a/packages/react/src/components/DetailsList/DetailsRowCheck.tsx
+++ b/packages/react/src/components/DetailsList/DetailsRowCheck.tsx
@@ -60,7 +60,7 @@ const DetailsRowCheckBase: React.FunctionComponent<IDetailsRowCheckProps> = prop
     <div
       {...buttonProps}
       role={checkRole}
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       className={css(classNames.root, classNames.check)}
       aria-checked={selected}
       data-selection-toggle={true}
@@ -70,7 +70,7 @@ const DetailsRowCheckBase: React.FunctionComponent<IDetailsRowCheckProps> = prop
       {onRenderCheckbox(detailsCheckboxProps)}
     </div>
   ) : (
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     <div {...divProps} className={css(classNames.root, classNames.check)} />
   );
 };
diff --git a/packages/react/src/components/Dialog/Dialog.base.tsx b/packages/react/src/components/Dialog/Dialog.base.tsx
index 16856684294365..34f7185188ad3b 100644
--- a/packages/react/src/components/Dialog/Dialog.base.tsx
+++ b/packages/react/src/components/Dialog/Dialog.base.tsx
@@ -27,7 +27,7 @@ const DefaultDialogContentProps: IDialogContentProps = {
   topButtonsProps: [],
 };
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 @withResponsiveMode
 export class DialogBase extends React.Component<IDialogProps, {}> {
   public static defaultProps: IDialogProps = {
@@ -67,7 +67,7 @@ export class DialogBase extends React.Component<IDialogProps, {}> {
   public render(): JSX.Element {
     const props = this.props;
     const {
-      /* eslint-disable deprecation/deprecation */
+      /* eslint-disable @typescript-eslint/no-deprecated */
       className,
       containerClassName,
       contentClassName,
@@ -90,7 +90,7 @@ export class DialogBase extends React.Component<IDialogProps, {}> {
       title,
       topButtonsProps,
       type,
-      /* eslint-enable deprecation/deprecation */
+      /* eslint-enable @typescript-eslint/no-deprecated */
       minWidth,
       maxWidth,
       modalProps,
@@ -142,7 +142,7 @@ export class DialogBase extends React.Component<IDialogProps, {}> {
       ...props.dialogContentProps,
       draggableHeaderClassName: dialogDraggableClassName,
       titleProps: {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         id: props.dialogContentProps?.titleId || this._defaultTitleTextId,
         ...props.dialogContentProps?.titleProps,
       },
@@ -179,7 +179,7 @@ export class DialogBase extends React.Component<IDialogProps, {}> {
   }
 
   private _getSubTextId = (): string | undefined => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { ariaDescribedById, modalProps, dialogContentProps, subText } = this.props;
     let id = (modalProps && modalProps.subtitleAriaId) || ariaDescribedById;
 
@@ -191,7 +191,7 @@ export class DialogBase extends React.Component<IDialogProps, {}> {
   };
 
   private _getTitleTextId = (): string | undefined => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { ariaLabelledById, modalProps, dialogContentProps, title } = this.props;
     let id = (modalProps && modalProps.titleAriaId) || ariaLabelledById;
 
diff --git a/packages/react/src/components/Dialog/Dialog.styles.ts b/packages/react/src/components/Dialog/Dialog.styles.ts
index 0870266ded3697..8e46df0c425ff7 100644
--- a/packages/react/src/components/Dialog/Dialog.styles.ts
+++ b/packages/react/src/components/Dialog/Dialog.styles.ts
@@ -8,7 +8,7 @@ const GlobalClassNames = {
 export const getStyles = (props: IDialogStyleProps): IDialogStyles => {
   const {
     className,
-    containerClassName, // eslint-disable-line deprecation/deprecation
+    containerClassName, // eslint-disable-line @typescript-eslint/no-deprecated
     dialogDefaultMinWidth = '288px',
     dialogDefaultMaxWidth = '340px',
     hidden,
diff --git a/packages/react/src/components/Dialog/Dialog.types.ts b/packages/react/src/components/Dialog/Dialog.types.ts
index f3544a5c0d5995..7936c9f13a7e49 100644
--- a/packages/react/src/components/Dialog/Dialog.types.ts
+++ b/packages/react/src/components/Dialog/Dialog.types.ts
@@ -20,7 +20,7 @@ export interface IDialog {}
  */
 export interface IDialogProps
   extends React.ClassAttributes<DialogBase>,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     IWithResponsiveModeState,
     IAccessiblePopupProps {
   children?: React.ReactNode;
diff --git a/packages/react/src/components/Dialog/DialogContent.base.tsx b/packages/react/src/components/Dialog/DialogContent.base.tsx
index 4f3eabbe3f9066..9db6078f82c21d 100644
--- a/packages/react/src/components/Dialog/DialogContent.base.tsx
+++ b/packages/react/src/components/Dialog/DialogContent.base.tsx
@@ -13,7 +13,7 @@ const DialogFooterType = ((<DialogFooter />) as React.ReactElement<IDialogFooter
 
 const COMPONENT_NAME = 'DialogContent';
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 @withResponsiveMode
 export class DialogContentBase extends React.Component<IDialogContentProps, {}> {
   public static defaultProps: IDialogContentProps = {
@@ -41,7 +41,7 @@ export class DialogContentBase extends React.Component<IDialogContentProps, {}>
       subTextId,
       subText,
       titleProps = {},
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       titleId,
       title,
       type,
diff --git a/packages/react/src/components/Divider/VerticalDivider.base.tsx b/packages/react/src/components/Divider/VerticalDivider.base.tsx
index 16d14aa3d9d19c..cac56ddde068e0 100644
--- a/packages/react/src/components/Divider/VerticalDivider.base.tsx
+++ b/packages/react/src/components/Divider/VerticalDivider.base.tsx
@@ -12,7 +12,7 @@ export const VerticalDividerBase: React.FunctionComponent<IVerticalDividerProps>
   HTMLDivElement,
   IVerticalDividerProps
 >((props, ref) => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { styles, theme, getClassNames: deprecatedGetClassNames, className } = props;
   const classNames = getClassNames(styles, { theme, getClassNames: deprecatedGetClassNames, className });
   return (
diff --git a/packages/react/src/components/Divider/VerticalDivider.classNames.ts b/packages/react/src/components/Divider/VerticalDivider.classNames.ts
index 03e0b7eb32193d..961511a8a75674 100644
--- a/packages/react/src/components/Divider/VerticalDivider.classNames.ts
+++ b/packages/react/src/components/Divider/VerticalDivider.classNames.ts
@@ -7,7 +7,7 @@ import type { IVerticalDividerClassNames } from './VerticalDivider.types';
  * @deprecated use getStyles exported from VerticalDivider.styles.ts
  */
 export const getDividerClassNames = memoizeFunction(
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   (theme: ITheme): IVerticalDividerClassNames => {
     return mergeStyleSets({
       wrapper: {
diff --git a/packages/react/src/components/Divider/VerticalDivider.styles.ts b/packages/react/src/components/Divider/VerticalDivider.styles.ts
index 166a0fa3a97cd8..8f86e4d5456181 100644
--- a/packages/react/src/components/Divider/VerticalDivider.styles.ts
+++ b/packages/react/src/components/Divider/VerticalDivider.styles.ts
@@ -4,7 +4,7 @@ import type { IStyleFunction } from '../../Utilities';
 export const getStyles: IStyleFunction<IVerticalDividerPropsStyles, IVerticalDividerStyles> = (
   props: IVerticalDividerPropsStyles,
 ): IVerticalDividerStyles => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { theme, getClassNames, className } = props;
 
   if (!theme) {
diff --git a/packages/react/src/components/Divider/VerticalDivider.types.ts b/packages/react/src/components/Divider/VerticalDivider.types.ts
index 44ea500f5c450b..388f106d72d554 100644
--- a/packages/react/src/components/Divider/VerticalDivider.types.ts
+++ b/packages/react/src/components/Divider/VerticalDivider.types.ts
@@ -11,7 +11,7 @@ export interface IVerticalDividerProps extends React.HTMLAttributes<HTMLElement>
    * Optional function to generate the class names for the divider for custom styling
    * @deprecated Use `styles` instead.
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getClassNames?: (theme: ITheme) => IVerticalDividerClassNames;
   /**
    * The theme that should be used to render the vertical divider.
diff --git a/packages/react/src/components/DocumentCard/DocumentCard.base.tsx b/packages/react/src/components/DocumentCard/DocumentCard.base.tsx
index 78bbf79439ba1e..3f6ce4bb9f67e1 100644
--- a/packages/react/src/components/DocumentCard/DocumentCard.base.tsx
+++ b/packages/react/src/components/DocumentCard/DocumentCard.base.tsx
@@ -48,7 +48,7 @@ export class DocumentCardBase extends React.Component<IDocumentCardProps, any> i
   }
 
   public render(): JSX.Element {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { onClick, onClickHref, children, type, accentColor, styles, theme, className } = this.props;
     const nativeProps = getNativeProps<React.HTMLAttributes<HTMLDivElement>>(this.props, divProperties, [
       'className',
@@ -104,7 +104,7 @@ export class DocumentCardBase extends React.Component<IDocumentCardProps, any> i
   };
 
   private _onKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {
       this._onAction(ev);
     }
diff --git a/packages/react/src/components/DocumentCard/DocumentCardLogo.styles.ts b/packages/react/src/components/DocumentCard/DocumentCardLogo.styles.ts
index 68e00221a5f5e4..b6beaba76e5984 100644
--- a/packages/react/src/components/DocumentCard/DocumentCardLogo.styles.ts
+++ b/packages/react/src/components/DocumentCard/DocumentCardLogo.styles.ts
@@ -15,7 +15,7 @@ export const getStyles = (props: IDocumentCardLogoStyleProps): IDocumentCardLogo
     root: [
       classNames.root,
       {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         fontSize: fonts.xxLargePlus.fontSize,
         color: palette.themePrimary,
         display: 'block',
diff --git a/packages/react/src/components/DocumentCard/DocumentCardPreview.base.tsx b/packages/react/src/components/DocumentCard/DocumentCardPreview.base.tsx
index 8fbaa6c86ae175..a3ca9f83a62f6c 100644
--- a/packages/react/src/components/DocumentCard/DocumentCardPreview.base.tsx
+++ b/packages/react/src/components/DocumentCard/DocumentCardPreview.base.tsx
@@ -46,13 +46,13 @@ export class DocumentCardPreviewBase extends React.Component<IDocumentCardPrevie
       preview = this._renderPreviewImage(previewImages[0]);
 
       // Override the border color if an accent color was provided
-      /* eslint-disable deprecation/deprecation */
+      /* eslint-disable @typescript-eslint/no-deprecated */
       if (previewImages[0].accentColor) {
         style = {
           borderBottomColor: previewImages[0].accentColor,
         };
       }
-      /* eslint-enable deprecation/deprecation */
+      /* eslint-enable @typescript-eslint/no-deprecated */
     }
 
     return (
@@ -127,7 +127,7 @@ export class DocumentCardPreviewBase extends React.Component<IDocumentCardPrevie
         />
         <Link
           className={this._classNames.fileListLink}
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           href={file.url}
           {...file.linkProps}
         >
diff --git a/packages/react/src/components/Dropdown/Dropdown.base.tsx b/packages/react/src/components/Dropdown/Dropdown.base.tsx
index 70498f5ac23212..574a5bd22d686b 100644
--- a/packages/react/src/components/Dropdown/Dropdown.base.tsx
+++ b/packages/react/src/components/Dropdown/Dropdown.base.tsx
@@ -57,7 +57,7 @@ const COMPONENT_NAME = 'Dropdown';
 const getClassNames = classNamesFunction<IDropdownStyleProps, IDropdownStyles>();
 
 /** Internal only props interface to support mixing in responsive mode */
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 interface IDropdownInternalProps extends Omit<IDropdownProps, 'ref'>, IWithResponsiveModeState {
   hoisted: {
     rootRef: React.RefObject<HTMLDivElement>;
@@ -146,7 +146,7 @@ function useSelectedItemsState({
         if (searchKey != null) {
           return option.key === searchKey;
         } else {
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           return !!option.selected || !!option.isSelected;
         }
       });
@@ -324,7 +324,7 @@ class DropdownInternal extends React.Component<IDropdownInternalProps, IDropdown
       hoisted: { selectedIndices },
     } = props;
     const { isOpen, calloutRenderEdge, hasFocus } = this.state;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const onRenderPlaceholder = props.onRenderPlaceholder || props.onRenderPlaceHolder || this._getPlaceholder;
 
     // If our cached options are out of date update our cache
@@ -492,7 +492,7 @@ class DropdownInternal extends React.Component<IDropdownInternalProps, IDropdown
     checked?: boolean,
     multiSelect?: boolean,
   ) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { onChange, onChanged } = this.props;
     if (onChange || onChanged) {
       // for single-select, option passed in will always be selected.
@@ -506,7 +506,7 @@ class DropdownInternal extends React.Component<IDropdownInternalProps, IDropdown
 
   /** Get either props.placeholder (new name) or props.placeHolder (old name) */
   private _getPlaceholder = (): string | undefined => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     return this.props.placeholder || this.props.placeHolder;
   };
 
@@ -1048,7 +1048,7 @@ class DropdownInternal extends React.Component<IDropdownInternalProps, IDropdown
     const containsExpandCollapseModifier = ev.altKey || ev.metaKey;
     const isOpen = this.state.isOpen;
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.enter:
         this.setState({
@@ -1136,7 +1136,7 @@ class DropdownInternal extends React.Component<IDropdownInternalProps, IDropdown
         return;
       }
     }
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.space:
         this.setState({
@@ -1159,7 +1159,7 @@ class DropdownInternal extends React.Component<IDropdownInternalProps, IDropdown
    * Returns true if the key for the event is alt (Mac option) or meta (Mac command).
    */
   private _isAltOrMeta(ev: React.KeyboardEvent<HTMLElement>): boolean {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     return ev.which === KeyCodes.alt || ev.key === 'Meta';
   }
 
@@ -1187,7 +1187,7 @@ class DropdownInternal extends React.Component<IDropdownInternalProps, IDropdown
     this._lastKeyDownWasAltOrMeta = this._isAltOrMeta(ev);
     const containsExpandCollapseModifier = ev.altKey || ev.metaKey;
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.up:
         if (containsExpandCollapseModifier) {
@@ -1298,7 +1298,7 @@ class DropdownInternal extends React.Component<IDropdownInternalProps, IDropdown
    */
   private _isDisabled: () => boolean | undefined = () => {
     let { disabled } = this.props;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { isDisabled } = this.props;
 
     // Remove this deprecation workaround at 1.0.0
diff --git a/packages/react/src/components/ExtendedPicker/BaseExtendedPicker.tsx b/packages/react/src/components/ExtendedPicker/BaseExtendedPicker.tsx
index 557be878741ecc..5807f75fcbb5f9 100644
--- a/packages/react/src/components/ExtendedPicker/BaseExtendedPicker.tsx
+++ b/packages/react/src/components/ExtendedPicker/BaseExtendedPicker.tsx
@@ -193,7 +193,7 @@ export class BaseExtendedPicker<T extends {}, P extends IBaseExtendedPickerProps
   // This is protected because we may expect the backspace key to work differently in a different kind of picker.
   // This lets the subclass override it and provide it's own onBackspace. For an example see the BasePickerListBelow
   protected onBackspace = (ev: React.KeyboardEvent<HTMLElement>): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which !== KeyCodes.backspace) {
       return;
     }
diff --git a/packages/react/src/components/Fabric/Fabric.base.tsx b/packages/react/src/components/Fabric/Fabric.base.tsx
index 9d42d03677541e..5ede2ddd12d90b 100644
--- a/packages/react/src/components/Fabric/Fabric.base.tsx
+++ b/packages/react/src/components/Fabric/Fabric.base.tsx
@@ -72,7 +72,7 @@ function useRenderedContent(
   if (needsTheme) {
     // Disabling ThemeProvider here because theme doesn't need to be re-provided by ThemeProvider if dir has changed.
     renderedContent = (
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       <Customizer settings={{ theme: getFabricTheme(theme, dir === 'rtl') }}>{renderedContent}</Customizer>
     );
   }
diff --git a/packages/react/src/components/Fabric/Fabric.test.tsx b/packages/react/src/components/Fabric/Fabric.test.tsx
index 8b428b5c6eecb8..8f2c71837058e2 100644
--- a/packages/react/src/components/Fabric/Fabric.test.tsx
+++ b/packages/react/src/components/Fabric/Fabric.test.tsx
@@ -1,4 +1,4 @@
-/* eslint-disable deprecation/deprecation */
+/* eslint-disable @typescript-eslint/no-deprecated */
 import * as React from 'react';
 import { create } from '@fluentui/test-utilities';
 //import { Customizer } from '@fluentui/utilities';
diff --git a/packages/react/src/components/Facepile/Facepile.base.tsx b/packages/react/src/components/Facepile/Facepile.base.tsx
index bb412e7c22bba2..a082851ab6fe6a 100644
--- a/packages/react/src/components/Facepile/Facepile.base.tsx
+++ b/packages/react/src/components/Facepile/Facepile.base.tsx
@@ -40,7 +40,7 @@ export class FacepileBase extends React.Component<IFacepileProps, {}> {
   public render(): JSX.Element {
     let { overflowButtonProps } = this.props;
     const {
-      chevronButtonProps, // eslint-disable-line deprecation/deprecation
+      chevronButtonProps, // eslint-disable-line @typescript-eslint/no-deprecated
       maxDisplayablePersonas,
       personas,
       overflowPersonas,
diff --git a/packages/react/src/components/FloatingPicker/BaseFloatingPicker.tsx b/packages/react/src/components/FloatingPicker/BaseFloatingPicker.tsx
index 1e15c290f237d9..4738d7d5a967c7 100644
--- a/packages/react/src/components/FloatingPicker/BaseFloatingPicker.tsx
+++ b/packages/react/src/components/FloatingPicker/BaseFloatingPicker.tsx
@@ -253,7 +253,7 @@ export class BaseFloatingPicker<T extends {}, P extends IBaseFloatingPickerProps
     ) {
       return;
     }
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const keyCode = ev.which;
     switch (keyCode) {
       case KeyCodes.escape:
diff --git a/packages/react/src/components/FloatingPicker/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx b/packages/react/src/components/FloatingPicker/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx
index 7941c82a0c237e..4a7d441ff24df8 100644
--- a/packages/react/src/components/FloatingPicker/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx
+++ b/packages/react/src/components/FloatingPicker/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx
@@ -39,7 +39,7 @@ export const SelectedItemDefault: (props: IPeoplePickerItemProps) => JSX.Element
         <Persona
           {...item}
           presence={item.presence !== undefined ? item.presence : PersonaPresence.none}
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           size={PersonaSize.size28}
         />
       </div>
diff --git a/packages/react/src/components/FloatingPicker/Suggestions/SuggestionsStore.ts b/packages/react/src/components/FloatingPicker/Suggestions/SuggestionsStore.ts
index 893ced2fa91f77..972f279e6da5dd 100644
--- a/packages/react/src/components/FloatingPicker/Suggestions/SuggestionsStore.ts
+++ b/packages/react/src/components/FloatingPicker/Suggestions/SuggestionsStore.ts
@@ -54,7 +54,7 @@ export class SuggestionsStore<T> {
             ? this.getAriaLabel(suggestion)
             : (suggestion as any as ITag).name ||
               (<IPersonaProps>suggestion).text ||
-              // eslint-disable-next-line deprecation/deprecation
+              // eslint-disable-next-line @typescript-eslint/no-deprecated
               (<IPersonaProps>suggestion).primaryText,
       };
     }
diff --git a/packages/react/src/components/FocusTrapZone/FocusTrapZone.tsx b/packages/react/src/components/FocusTrapZone/FocusTrapZone.tsx
index 8fa3eabcd97117..e99993f9249e4c 100644
--- a/packages/react/src/components/FocusTrapZone/FocusTrapZone.tsx
+++ b/packages/react/src/components/FocusTrapZone/FocusTrapZone.tsx
@@ -87,10 +87,10 @@ export const FocusTrapZone: React.FunctionComponent<IFocusTrapZoneProps> & {
     disableFirstFocus,
     forceFocusInsideTrap,
     focusPreviouslyFocusedInnerElement,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     firstFocusableSelector,
     firstFocusableTarget,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     disableRestoreFocus = props.ignoreExternalFocusing,
     isClickableOutsideFocusTrap,
     enableAriaHiddenSiblings,
diff --git a/packages/react/src/components/GroupedList/GroupHeader.base.tsx b/packages/react/src/components/GroupedList/GroupHeader.base.tsx
index c519260c424ae2..9dbec7301ebc7b 100644
--- a/packages/react/src/components/GroupedList/GroupHeader.base.tsx
+++ b/packages/react/src/components/GroupedList/GroupHeader.base.tsx
@@ -66,12 +66,13 @@ export class GroupHeaderBase extends React.Component<IGroupHeaderProps, IGroupHe
       viewport,
       selectionMode,
       loadingText,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       isSelected = false,
       selected = false,
       indentWidth,
       onRenderGroupHeaderCheckbox,
       isCollapsedGroupSelectVisible = true,
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       expandButtonProps,
       expandButtonIcon,
       selectAllButtonProps,
@@ -210,9 +211,9 @@ export class GroupHeaderBase extends React.Component<IGroupHeaderProps, IGroupHe
     }
 
     if (!ev.defaultPrevented) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       const shouldOpen = this.state.isCollapsed && ev.which === getRTLSafeKeyCode(KeyCodes.right, this.props.theme);
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       const shouldClose = !this.state.isCollapsed && ev.which === getRTLSafeKeyCode(KeyCodes.left, this.props.theme);
       if (shouldClose || shouldOpen) {
         this._toggleCollapse();
diff --git a/packages/react/src/components/GroupedList/GroupSpacer.types.ts b/packages/react/src/components/GroupedList/GroupSpacer.types.ts
index c8ee753815cf59..09e60e70898b43 100644
--- a/packages/react/src/components/GroupedList/GroupSpacer.types.ts
+++ b/packages/react/src/components/GroupedList/GroupSpacer.types.ts
@@ -13,7 +13,7 @@ export interface IGroupSpacerProps {
   /**
    * @deprecated Unused. Will be removed in \>= 7.0
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   styles?: IStyleFunctionOrObject<IGroupSpacerStyleProps, IGroupSpacerStyles>;
 
   /** Count of spacer(s) */
diff --git a/packages/react/src/components/GroupedList/GroupedList.base.tsx b/packages/react/src/components/GroupedList/GroupedList.base.tsx
index 557c8bb695377a..ccc831276d1085 100644
--- a/packages/react/src/components/GroupedList/GroupedList.base.tsx
+++ b/packages/react/src/components/GroupedList/GroupedList.base.tsx
@@ -356,7 +356,7 @@ export class GroupedListBase extends React.Component<IGroupedListProps, IGrouped
   };
 
   private _isInnerZoneKeystroke = (ev: React.KeyboardEvent<HTMLElement>): boolean => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     return ev.which === getRTLSafeKeyCode(KeyCodes.right);
   };
 
diff --git a/packages/react/src/components/GroupedList/GroupedListV2.base.tsx b/packages/react/src/components/GroupedList/GroupedListV2.base.tsx
index c146f58278cd67..6ee3a2e130ca76 100644
--- a/packages/react/src/components/GroupedList/GroupedListV2.base.tsx
+++ b/packages/react/src/components/GroupedList/GroupedListV2.base.tsx
@@ -199,7 +199,7 @@ const setGroupsCollapsedState = (groups: IGroup[] | undefined, isCollapsed: bool
 };
 
 const isInnerZoneKeystroke = (ev: React.KeyboardEvent<HTMLElement>): boolean => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return ev.which === getRTLSafeKeyCode(KeyCodes.right);
 };
 
@@ -285,7 +285,6 @@ export const GroupedListV2FC: React.FC<IGroupedListV2Props> = props => {
   const [version, setVersion] = React.useState({});
   const [toggleVersion, setToggleVersion] = React.useState({});
 
-  // eslint-disable-next-line deprecation/deprecation
   const { shouldEnterInnerZone = isInnerZoneKeystroke } = focusZoneProps;
 
   const listView = React.useMemo(() => {
diff --git a/packages/react/src/components/HoverCard/ExpandingCard.base.tsx b/packages/react/src/components/HoverCard/ExpandingCard.base.tsx
index b199cb0361d295..3e8ec1a8c373a7 100644
--- a/packages/react/src/components/HoverCard/ExpandingCard.base.tsx
+++ b/packages/react/src/components/HoverCard/ExpandingCard.base.tsx
@@ -70,7 +70,7 @@ export class ExpandingCardBase extends React.Component<IExpandingCardProps, IExp
   }
 
   private _onKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.escape) {
       this.props.onLeave && this.props.onLeave(ev);
     }
diff --git a/packages/react/src/components/HoverCard/HoverCard.base.tsx b/packages/react/src/components/HoverCard/HoverCard.base.tsx
index 7f93ef0c5283ec..fb059fd0223086 100644
--- a/packages/react/src/components/HoverCard/HoverCard.base.tsx
+++ b/packages/react/src/components/HoverCard/HoverCard.base.tsx
@@ -193,7 +193,7 @@ export class HoverCardBase extends React.Component<IHoverCardProps, IHoverCardSt
 
   // Show HoverCard
   private _cardOpen = (ev: MouseEvent): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (this._shouldBlockHoverCard() || (ev.type === 'keydown' && !(ev.which === this.props.openHotKey))) {
       return;
     }
@@ -239,13 +239,13 @@ export class HoverCardBase extends React.Component<IHoverCardProps, IHoverCardSt
         return;
       }
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (ev.type === 'keydown' && ev.which !== KeyCodes.escape) {
         return;
       }
 
       // Dismiss if not sticky and currentTarget is the same element that mouse last entered
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (!this.props.sticky && (this._currentMouseTarget === ev.currentTarget || ev.which === KeyCodes.escape)) {
         this.dismiss(true);
       }
diff --git a/packages/react/src/components/HoverCard/PlainCard/PlainCard.base.tsx b/packages/react/src/components/HoverCard/PlainCard/PlainCard.base.tsx
index d45d7e4a40205e..3b4e8a1326e88d 100644
--- a/packages/react/src/components/HoverCard/PlainCard/PlainCard.base.tsx
+++ b/packages/react/src/components/HoverCard/PlainCard/PlainCard.base.tsx
@@ -33,7 +33,7 @@ export class PlainCardBase extends React.Component<IPlainCardProps, {}> {
   }
 
   private _onKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.escape) {
       this.props.onLeave && this.props.onLeave(ev);
     }
diff --git a/packages/react/src/components/Icon/Icon.base.tsx b/packages/react/src/components/Icon/Icon.base.tsx
index 2010c045978299..5e4505ecec16ab 100644
--- a/packages/react/src/components/Icon/Icon.base.tsx
+++ b/packages/react/src/components/Icon/Icon.base.tsx
@@ -31,7 +31,7 @@ export class IconBase extends React.Component<IIconProps, IIconState> {
     const { children, className, styles, iconName, imageErrorAs, theme } = this.props;
     const isPlaceholder = typeof iconName === 'string' && iconName.length === 0;
     const isImage =
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       !!this.props.imageProps || this.props.iconType === IconType.image || this.props.iconType === IconType.Image;
     const iconContent = getIconContent(iconName) || {};
     const { iconClassName, children: iconContentChildren, mergeImageProps } = iconContent;
@@ -55,7 +55,7 @@ export class IconBase extends React.Component<IIconProps, IIconState> {
     };
     const ImageType = (imageLoadError && imageErrorAs) || Image;
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const ariaLabel = this.props['aria-label'] || this.props.ariaLabel;
     const accessibleName = imageProps.alt || ariaLabel || this.props.title;
     const hasName = !!(
diff --git a/packages/react/src/components/Icon/Icon.styles.ts b/packages/react/src/components/Icon/Icon.styles.ts
index d7c6c5a4b285e6..f683a57403007b 100644
--- a/packages/react/src/components/Icon/Icon.styles.ts
+++ b/packages/react/src/components/Icon/Icon.styles.ts
@@ -34,7 +34,7 @@ export const getStyles = (props: IIconStyleProps): IIconStyles => {
       iconClassName,
       className,
       styles && styles.root,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       styles && styles.imageContainer,
     ],
   };
diff --git a/packages/react/src/components/Icon/Icon.types.ts b/packages/react/src/components/Icon/Icon.types.ts
index c06b7133f2019d..0f6ed6ef687259 100644
--- a/packages/react/src/components/Icon/Icon.types.ts
+++ b/packages/react/src/components/Icon/Icon.types.ts
@@ -51,7 +51,7 @@ export interface IIconProps extends IBaseProps, React.HTMLAttributes<HTMLElement
    * The type of icon to render (image or icon font).
    * @deprecated Inferred based on the presence of `imageProps`
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   iconType?: IconType;
 
   /**
diff --git a/packages/react/src/components/Keytip/Keytip.styles.ts b/packages/react/src/components/Keytip/Keytip.styles.ts
index 1fa198cb8d5912..949f48cd1d020f 100644
--- a/packages/react/src/components/Keytip/Keytip.styles.ts
+++ b/packages/react/src/components/Keytip/Keytip.styles.ts
@@ -69,9 +69,9 @@ export const getCalloutOffsetStyles = (
     return mergeStyleSets(getCalloutStyles(props), {
       root: [
         {
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           marginLeft: offset.left || offset.x,
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           marginTop: offset.top || offset.y,
         },
       ],
diff --git a/packages/react/src/components/Layer/Layer.base.tsx b/packages/react/src/components/Layer/Layer.base.tsx
index bb27be81db9ea2..497e29148870c0 100644
--- a/packages/react/src/components/Layer/Layer.base.tsx
+++ b/packages/react/src/components/Layer/Layer.base.tsx
@@ -79,7 +79,7 @@ export const LayerBase: React.FunctionComponent<ILayerProps> = React.forwardRef<
       hostId,
       insertFirst,
       onLayerDidMount = () => undefined,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       onLayerMounted = () => undefined,
       onLayerWillUnmount,
       styles,
@@ -216,7 +216,7 @@ export const LayerBase: React.FunctionComponent<ILayerProps> = React.forwardRef<
         {layerRef.current &&
           ReactDOM.createPortal(
             <FocusRectsProvider layerRoot providerRef={fabricRef}>
-              {/* eslint-disable deprecation/deprecation */}
+              {/* eslint-disable @typescript-eslint/no-deprecated */}
               <Fabric
                 {...(!eventBubblingEnabled && getFilteredEvents())}
                 {...fabricProps}
@@ -225,7 +225,7 @@ export const LayerBase: React.FunctionComponent<ILayerProps> = React.forwardRef<
               >
                 {children}
               </Fabric>
-              {/* eslint-enable deprecation/deprecation */}
+              {/* eslint-enable @typescript-eslint/no-deprecated */}
             </FocusRectsProvider>,
             layerRef.current,
           )}
diff --git a/packages/react/src/components/Link/Link.test.tsx b/packages/react/src/components/Link/Link.test.tsx
index 853e913af8a7c7..91439b8b7eb3ac 100644
--- a/packages/react/src/components/Link/Link.test.tsx
+++ b/packages/react/src/components/Link/Link.test.tsx
@@ -96,7 +96,7 @@ describe('Link', () => {
     expect(
       /ms-Link($| )/.test(
         ReactDOM.renderToStaticMarkup(
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           <Customizer settings={{ theme: NoClassNamesTheme }}>
             <Link href="helloworld.html">My Link</Link>
           </Customizer>,
diff --git a/packages/react/src/components/MessageBar/MessageBar.base.tsx b/packages/react/src/components/MessageBar/MessageBar.base.tsx
index 708771114cce56..e8e6d8731dca75 100644
--- a/packages/react/src/components/MessageBar/MessageBar.base.tsx
+++ b/packages/react/src/components/MessageBar/MessageBar.base.tsx
@@ -50,7 +50,7 @@ export const MessageBarBase: React.FunctionComponent<IMessageBarProps> = React.f
     actions,
     className,
     children,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     overflowButtonAriaLabel,
     dismissIconProps,
     styles,
diff --git a/packages/react/src/components/MessageBar/MessageBar.types.ts b/packages/react/src/components/MessageBar/MessageBar.types.ts
index 46ca8f89d30b7a..e41a2ed4d72f31 100644
--- a/packages/react/src/components/MessageBar/MessageBar.types.ts
+++ b/packages/react/src/components/MessageBar/MessageBar.types.ts
@@ -41,7 +41,7 @@ export interface IMessageBarProps extends React.HTMLAttributes<HTMLElement>, Rea
    * If null, we don't show a dismiss button.
    * @defaultvalue null
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   onDismiss?: (ev?: React.MouseEvent<HTMLElement | BaseButton | Button>) => any;
 
   /**
diff --git a/packages/react/src/components/Modal/Modal.base.tsx b/packages/react/src/components/Modal/Modal.base.tsx
index 627d401fc44e1e..795344ab95720c 100644
--- a/packages/react/src/components/Modal/Modal.base.tsx
+++ b/packages/react/src/components/Modal/Modal.base.tsx
@@ -105,7 +105,7 @@ export const ModalBase: React.FunctionComponent<IModalProps> = React.forwardRef<
       firstFocusableSelector,
       focusTrapZoneProps,
       forceFocusInsideTrap,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       disableRestoreFocus = props.ignoreExternalFocusing,
       isBlocking,
       isAlert,
@@ -121,12 +121,12 @@ export const ModalBase: React.FunctionComponent<IModalProps> = React.forwardRef<
       theme,
       topOffsetFixed,
       responsiveMode,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       onLayerDidMount,
       isModeless,
       dragOptions,
       onDismissed,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       enableAriaHiddenSiblings,
       popupProps,
     } = props;
@@ -278,7 +278,7 @@ export const ModalBase: React.FunctionComponent<IModalProps> = React.forwardRef<
       // We need a global handleKeyDown event when we are in the move mode so that we can
       // handle the key presses and the components inside the modal do not get the events
       const handleKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         if (ev.altKey && ev.ctrlKey && ev.keyCode === KeyCodes.space) {
           // CTRL + ALT + SPACE is handled during keyUp
           ev.preventDefault();
@@ -286,13 +286,13 @@ export const ModalBase: React.FunctionComponent<IModalProps> = React.forwardRef<
           return;
         }
 
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const newLocal = ev.altKey || ev.keyCode === KeyCodes.escape;
         if (isModalMenuOpen && newLocal) {
           setModalMenuClose();
         }
 
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         if (internalState.isInKeyboardMoveMode && (ev.keyCode === KeyCodes.escape || ev.keyCode === KeyCodes.enter)) {
           internalState.isInKeyboardMoveMode = false;
           ev.preventDefault();
@@ -303,7 +303,7 @@ export const ModalBase: React.FunctionComponent<IModalProps> = React.forwardRef<
           let handledEvent = true;
           const delta = getMoveDelta(ev);
 
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           switch (ev.keyCode) {
             /* eslint-disable no-fallthrough */
             case KeyCodes.escape:
@@ -364,7 +364,7 @@ export const ModalBase: React.FunctionComponent<IModalProps> = React.forwardRef<
       const handleKeyUp = (ev: React.KeyboardEvent<HTMLElement>): void => {
         // Needs to handle the CTRL + ALT + SPACE key during keyup due to FireFox bug:
         // https://bugzilla.mozilla.org/show_bug.cgi?id=1220143
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         if (ev.altKey && ev.ctrlKey && ev.keyCode === KeyCodes.space) {
           if (elementContains(internalState.scrollableContent, ev.target as HTMLElement)) {
             toggleModalMenuOpen();
@@ -433,7 +433,7 @@ export const ModalBase: React.FunctionComponent<IModalProps> = React.forwardRef<
         }
         disableRestoreFocus={focusTrapZoneProps?.disableRestoreFocus ?? disableRestoreFocus}
         forceFocusInsideTrap={(focusTrapZoneProps?.forceFocusInsideTrap ?? forceFocusInsideTrap) && !isModeless}
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         firstFocusableSelector={focusTrapZoneProps?.firstFocusableSelector || firstFocusableSelector}
         focusPreviouslyFocusedInnerElement={focusTrapZoneProps?.focusPreviouslyFocusedInnerElement ?? true}
         onBlur={internalState.isInKeyboardMoveMode ? handleExitKeyboardMoveMode : undefined}
diff --git a/packages/react/src/components/Modal/Modal.styles.ts b/packages/react/src/components/Modal/Modal.styles.ts
index 574c85d2202d07..6094cd02d63c16 100644
--- a/packages/react/src/components/Modal/Modal.styles.ts
+++ b/packages/react/src/components/Modal/Modal.styles.ts
@@ -116,7 +116,7 @@ export const getStyles = (props: IModalStyleProps): IModalStyles => {
       padding: '3px 0px',
     },
     keyboardMoveIcon: {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       fontSize: fonts.xLargePlus.fontSize,
       width: '24px',
     },
diff --git a/packages/react/src/components/Nav/Nav.base.tsx b/packages/react/src/components/Nav/Nav.base.tsx
index 189df5ae062ec9..1eff274bd87165 100644
--- a/packages/react/src/components/Nav/Nav.base.tsx
+++ b/packages/react/src/components/Nav/Nav.base.tsx
@@ -148,7 +148,7 @@ export class NavBase extends React.Component<INavProps, INavState> implements IN
 
   private _renderCompositeLink(link: INavLink, linkIndex: number, nestingLevel: number): React.ReactElement<{}> {
     const divProps: React.HTMLProps<HTMLDivElement> = { ...getNativeProps(link, divProperties, ['onClick']) };
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { expandButtonAriaLabel, styles, groups, theme } = this.props;
     const classNames = getClassNames(styles!, {
       theme: theme!,
@@ -254,7 +254,7 @@ export class NavBase extends React.Component<INavProps, INavState> implements IN
   };
 
   private _renderGroupHeader = (group: IRenderGroupHeaderProps): React.ReactElement<{}> => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { styles, groups, theme, expandButtonAriaLabel } = this.props;
 
     const { isExpanded } = group;
@@ -267,7 +267,7 @@ export class NavBase extends React.Component<INavProps, INavState> implements IN
     });
 
     // respect deprecated collapseAriaLabel, but default to expandAriaLabel for both states
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const collapseAriaLabel = group.collapseAriaLabel ?? group.expandAriaLabel;
     const label = (isExpanded ? collapseAriaLabel : group.expandAriaLabel) || expandButtonAriaLabel;
 
diff --git a/packages/react/src/components/Panel/Panel.base.tsx b/packages/react/src/components/Panel/Panel.base.tsx
index cf1ab7e072740f..527285aa738ab5 100644
--- a/packages/react/src/components/Panel/Panel.base.tsx
+++ b/packages/react/src/components/Panel/Panel.base.tsx
@@ -157,7 +157,7 @@ export class PanelBase extends React.Component<IPanelProps, IPanelState> impleme
     const {
       className = '',
       elementToFocusOnDismiss,
-      /* eslint-disable deprecation/deprecation */
+      /* eslint-disable @typescript-eslint/no-deprecated */
       firstFocusableSelector,
       focusTrapZoneProps,
       forceFocusInsideTrap,
diff --git a/packages/react/src/components/Persona/Persona.base.tsx b/packages/react/src/components/Persona/Persona.base.tsx
index 92bf285c051bfb..9a5086b9935328 100644
--- a/packages/react/src/components/Persona/Persona.base.tsx
+++ b/packages/react/src/components/Persona/Persona.base.tsx
@@ -44,7 +44,7 @@ export const PersonaBase: React.FunctionComponent<IPersonaProps> = React.forward
      * Deprecation helper for getting text.
      */
     const getText = (): string => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       return props.text || props.primaryText || '';
     };
 
@@ -130,7 +130,7 @@ export const PersonaBase: React.FunctionComponent<IPersonaProps> = React.forward
       initialsTextColor,
       isOutOfOffice,
       onPhotoLoadingStateChange,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       onRenderCoin,
       onRenderInitials,
       presence,
@@ -192,14 +192,14 @@ export const PersonaBase: React.FunctionComponent<IPersonaProps> = React.forward
       >
         {onRenderPersonaCoin(personaCoinProps, onRenderPersonaCoin)}
         {
-          /* eslint-disable deprecation/deprecation */
+          /* eslint-disable @typescript-eslint/no-deprecated */
 
           (!hidePersonaDetails ||
             size === PersonaSize.size8 ||
             size === PersonaSize.size10 ||
             size === PersonaSize.tiny) &&
             personaDetails
-          /* eslint-enable deprecation/deprecation */
+          /* eslint-enable @typescript-eslint/no-deprecated */
         }
       </div>
     );
diff --git a/packages/react/src/components/Persona/PersonaCoin/PersonaCoin.base.tsx b/packages/react/src/components/Persona/PersonaCoin/PersonaCoin.base.tsx
index d9444f3443acc5..5fdd51988bed2d 100644
--- a/packages/react/src/components/Persona/PersonaCoin/PersonaCoin.base.tsx
+++ b/packages/react/src/components/Persona/PersonaCoin/PersonaCoin.base.tsx
@@ -106,15 +106,15 @@ export const PersonaCoinBase: React.FunctionComponent<IPersonaCoinProps> = React
     initialsColor,
     initialsTextColor,
     isOutOfOffice,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     onRenderCoin = renderCoin,
-    // eslint-disable-next-line deprecation/deprecation
+
     onRenderPersonaCoin = onRenderCoin,
     onRenderInitials = renderPersonaCoinInitials,
     presence,
     presenceTitle,
     presenceColors,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     primaryText,
     showInitialsUntilImageLoads,
     text,
@@ -155,7 +155,7 @@ export const PersonaCoinBase: React.FunctionComponent<IPersonaCoinProps> = React
     <div role="presentation" {...divProps} className={classNames.coin} ref={forwardedRef}>
       {
         // Render PersonaCoin if size is not size8. size10 and tiny need to removed after a deprecation cleanup.
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         size !== PersonaSize.size8 && size !== PersonaSize.size10 && size !== PersonaSize.tiny ? (
           <div role="presentation" {...divCoinProps} className={classNames.imageArea} style={coinSizeStyle}>
             {shouldRenderInitials && (
@@ -234,7 +234,7 @@ const renderPersonaCoinInitials = ({
   allowPhoneInitials,
   showUnknownPersonaCoin,
   text,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   primaryText,
   theme,
 }: IPersonaCoinProps): JSX.Element => {
diff --git a/packages/react/src/components/Persona/PersonaConsts.tsx b/packages/react/src/components/Persona/PersonaConsts.tsx
index 325fc33468c915..6376682b9e9615 100644
--- a/packages/react/src/components/Persona/PersonaConsts.tsx
+++ b/packages/react/src/components/Persona/PersonaConsts.tsx
@@ -38,7 +38,7 @@ export namespace personaPresenceSize {
 // TODO: remove the deprecated parts in a future major release.
 export const sizeBoolean = (size: PersonaSize) => ({
   isSize8: size === PersonaSize.size8,
-  /* eslint-disable deprecation/deprecation */
+  /* eslint-disable @typescript-eslint/no-deprecated */
   isSize10: size === PersonaSize.size10 || size === PersonaSize.tiny,
   isSize16: size === PersonaSize.size16,
   isSize24: size === PersonaSize.size24 || size === PersonaSize.extraExtraSmall,
@@ -67,7 +67,7 @@ export const sizeToPixels: { [key: number]: number } = {
   [PersonaSize.size16]: 16, // TODO: deprecated (not in the design specs)
   [PersonaSize.size24]: 24,
   [PersonaSize.size28]: 28, // TODO: deprecated (not in the design specs)
-  /* eslint-enable deprecation/deprecation */
+  /* eslint-enable @typescript-eslint/no-deprecated */
   [PersonaSize.size32]: 32,
   [PersonaSize.size40]: 40,
   [PersonaSize.size48]: 48,
diff --git a/packages/react/src/components/Persona/PersonaInitialsColor.ts b/packages/react/src/components/Persona/PersonaInitialsColor.ts
index f5fe9c45f87656..c16169c8497995 100644
--- a/packages/react/src/components/Persona/PersonaInitialsColor.ts
+++ b/packages/react/src/components/Persona/PersonaInitialsColor.ts
@@ -77,7 +77,7 @@ function personaInitialsColorToHexCode(personaInitialsColor: PersonaInitialsColo
       return '#5C2E91';
     case PersonaInitialsColor.orange:
       return '#CA5010';
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     case PersonaInitialsColor.red:
       return '#EE1111';
     case PersonaInitialsColor.lightRed:
@@ -100,7 +100,7 @@ function personaInitialsColorToHexCode(personaInitialsColor: PersonaInitialsColo
       return '#8E562E';
     case PersonaInitialsColor.coolGray:
       return '#69797E';
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     case PersonaInitialsColor.black:
       return '#1D1D1D';
     case PersonaInitialsColor.gray:
@@ -120,7 +120,7 @@ export function initialsColorPropToColorCode(props: IPersonaProps): string {
  * @returns Hex color string prefixed with #
  */
 export function getPersonaInitialsColor(props: Pick<IPersonaProps, 'primaryText' | 'text' | 'initialsColor'>): string {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { primaryText, text } = props;
   let { initialsColor } = props;
   let initialsColorCode: string;
diff --git a/packages/react/src/components/Pivot/Pivot.base.tsx b/packages/react/src/components/Pivot/Pivot.base.tsx
index 9f62ca73599905..70d18af3bc30aa 100644
--- a/packages/react/src/components/Pivot/Pivot.base.tsx
+++ b/packages/react/src/components/Pivot/Pivot.base.tsx
@@ -41,7 +41,7 @@ const getLinkItems = (props: IPivotProps, pivotId: string): PivotLinkCollection
 
   React.Children.forEach(React.Children.toArray(props.children), (child: React.ReactNode, index: number) => {
     if (isPivotItem(child)) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       const { linkText, ...pivotItemProps } = child.props;
       const itemKey = child.props.itemKey || index.toString();
       result.links.push({
@@ -177,7 +177,7 @@ export const PivotBase: React.FunctionComponent<IPivotProps> = React.forwardRef<
     };
 
     const onKeyDown = (itemKey: string, ev: React.KeyboardEvent<HTMLElement>): void => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (ev.which === KeyCodes.enter) {
         ev.preventDefault();
         updateSelectedItem(itemKey);
diff --git a/packages/react/src/components/Popup/Popup.tsx b/packages/react/src/components/Popup/Popup.tsx
index a55f2e0ab4de38..6d035cb80aecff 100644
--- a/packages/react/src/components/Popup/Popup.tsx
+++ b/packages/react/src/components/Popup/Popup.tsx
@@ -123,7 +123,7 @@ function useRestoreFocus(props: IPopupProps, root: React.RefObject<HTMLDivElemen
 }
 
 function useHideSiblingNodes(props: IPopupProps, root: React.RefObject<HTMLDivElement | undefined>) {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const shouldHideSiblings = String(props['aria-modal']).toLowerCase() === 'true' && props.enableAriaHiddenSiblings;
 
   React.useEffect(() => {
@@ -157,7 +157,7 @@ export const Popup: React.FunctionComponent<IPopupProps> = React.forwardRef<HTML
 
     const onKeyDown = React.useCallback(
       (ev: React.KeyboardEvent<HTMLElement> | KeyboardEvent): void => {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         switch (ev.which) {
           case KeyCodes.escape:
             if (onDismiss) {
diff --git a/packages/react/src/components/ProgressIndicator/ProgressIndicator.base.tsx b/packages/react/src/components/ProgressIndicator/ProgressIndicator.base.tsx
index fe8573e7780827..1e38e297b1471e 100644
--- a/packages/react/src/components/ProgressIndicator/ProgressIndicator.base.tsx
+++ b/packages/react/src/components/ProgressIndicator/ProgressIndicator.base.tsx
@@ -38,7 +38,7 @@ export class ProgressIndicatorBase extends React.Component<IProgressIndicatorPro
     const {
       barHeight,
       className,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       label = this.props.title, // Fall back to deprecated value.
       description,
       styles,
@@ -91,7 +91,7 @@ export class ProgressIndicatorBase extends React.Component<IProgressIndicatorPro
       barHeight,
       className,
       description,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       label = this.props.title,
       styles,
       theme,
diff --git a/packages/react/src/components/Rating/Rating.base.tsx b/packages/react/src/components/Rating/Rating.base.tsx
index 09f69fba190e00..a1c2573c007ee6 100644
--- a/packages/react/src/components/Rating/Rating.base.tsx
+++ b/packages/react/src/components/Rating/Rating.base.tsx
@@ -92,7 +92,7 @@ export const RatingBase: React.FunctionComponent<IRatingProps> = React.forwardRe
       disabled,
       getAriaLabel,
       styles,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       min: minFromProps = props.allowZeroStars ? 0 : 1,
       max = 5,
       readOnly,
@@ -146,7 +146,7 @@ export const RatingBase: React.FunctionComponent<IRatingProps> = React.forwardRe
       };
 
       const onStarKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const { which } = event;
         let newRating = starNum;
         switch (which) {
diff --git a/packages/react/src/components/SearchBox/SearchBox.base.tsx b/packages/react/src/components/SearchBox/SearchBox.base.tsx
index 6113e66fde8a0e..6a7cb27d61ca6e 100644
--- a/packages/react/src/components/SearchBox/SearchBox.base.tsx
+++ b/packages/react/src/components/SearchBox/SearchBox.base.tsx
@@ -41,9 +41,9 @@ export const SearchBoxBase: React.FunctionComponent<ISearchBoxProps> = React.for
     disabled,
     underlined,
     styles,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     labelText,
-    // eslint-disable-next-line deprecation/deprecation
+
     placeholder = labelText,
     theme,
     clearButtonProps = defaultClearButtonProps,
@@ -57,7 +57,7 @@ export const SearchBoxBase: React.FunctionComponent<ISearchBoxProps> = React.for
     iconProps,
     role,
     onChange,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     onChanged,
   } = props;
 
@@ -156,7 +156,7 @@ export const SearchBoxBase: React.FunctionComponent<ISearchBoxProps> = React.for
   };
 
   const onKeyDown = (ev: React.KeyboardEvent<HTMLInputElement>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.escape:
         customOnEscape?.(ev);
diff --git a/packages/react/src/components/SelectedItemsList/BaseSelectedItemsList.tsx b/packages/react/src/components/SelectedItemsList/BaseSelectedItemsList.tsx
index 45391a414cc160..bd5e3dc7a13838 100644
--- a/packages/react/src/components/SelectedItemsList/BaseSelectedItemsList.tsx
+++ b/packages/react/src/components/SelectedItemsList/BaseSelectedItemsList.tsx
@@ -225,7 +225,7 @@ export class BaseSelectedItemsList<T extends {}, P extends IBaseSelectedItemsLis
         // Try to copy the text directly to the clipboard
         copyInput.value = copyText;
         copyInput.select();
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         if (!doc.execCommand('copy')) {
           // The command failed. Fallback to the method below.
           throw new Error();
diff --git a/packages/react/src/components/SelectedItemsList/SelectedPeopleList/Items/EditingItem.tsx b/packages/react/src/components/SelectedItemsList/SelectedPeopleList/Items/EditingItem.tsx
index a2d4b68ae27a03..837bbdfc24ec3b 100644
--- a/packages/react/src/components/SelectedItemsList/SelectedPeopleList/Items/EditingItem.tsx
+++ b/packages/react/src/components/SelectedItemsList/SelectedPeopleList/Items/EditingItem.tsx
@@ -116,7 +116,7 @@ export class EditingItem extends React.Component<IEditingSelectedPeopleItemProps
   };
 
   private _onInputKeyDown(ev: React.KeyboardEvent<HTMLInputElement>): void {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.backspace || ev.which === KeyCodes.del) {
       ev.stopPropagation();
     }
diff --git a/packages/react/src/components/Shimmer/ShimmerCircle/ShimmerCircle.base.tsx b/packages/react/src/components/Shimmer/ShimmerCircle/ShimmerCircle.base.tsx
index 1c0185c4bd4438..f47d36a9ad13e5 100644
--- a/packages/react/src/components/Shimmer/ShimmerCircle/ShimmerCircle.base.tsx
+++ b/packages/react/src/components/Shimmer/ShimmerCircle/ShimmerCircle.base.tsx
@@ -5,7 +5,7 @@ import type { IShimmerCircleProps, IShimmerCircleStyleProps, IShimmerCircleStyle
 const getClassNames = classNamesFunction<IShimmerCircleStyleProps, IShimmerCircleStyles>();
 
 export const ShimmerCircleBase: React.FunctionComponent<IShimmerCircleProps> = props => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { height, styles, borderStyle, theme } = props;
   const classNames = getClassNames(styles!, {
     theme: theme!,
diff --git a/packages/react/src/components/Shimmer/ShimmerCircle/ShimmerCircle.styles.ts b/packages/react/src/components/Shimmer/ShimmerCircle/ShimmerCircle.styles.ts
index 590bbfc3e61ef7..f8fe47cfe5a5ee 100644
--- a/packages/react/src/components/Shimmer/ShimmerCircle/ShimmerCircle.styles.ts
+++ b/packages/react/src/components/Shimmer/ShimmerCircle/ShimmerCircle.styles.ts
@@ -8,7 +8,7 @@ const GlobalClassNames = {
 };
 
 export function getStyles(props: IShimmerCircleStyleProps): IShimmerCircleStyles {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { height, borderStyle, theme } = props;
 
   const { semanticColors } = theme;
diff --git a/packages/react/src/components/Shimmer/ShimmerGap/ShimmerGap.base.tsx b/packages/react/src/components/Shimmer/ShimmerGap/ShimmerGap.base.tsx
index 08b0b83fa88e0f..2d75b1da5c8d4f 100644
--- a/packages/react/src/components/Shimmer/ShimmerGap/ShimmerGap.base.tsx
+++ b/packages/react/src/components/Shimmer/ShimmerGap/ShimmerGap.base.tsx
@@ -8,7 +8,7 @@ const getClassNames = classNamesFunction<IShimmerGapStyleProps, IShimmerGapStyle
  * {@docCategory Shimmer}
  */
 export const ShimmerGapBase: React.FunctionComponent<IShimmerGapProps> = props => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { height, styles, width = '10px', borderStyle, theme } = props;
 
   const classNames = getClassNames(styles!, {
diff --git a/packages/react/src/components/Shimmer/ShimmerGap/ShimmerGap.styles.ts b/packages/react/src/components/Shimmer/ShimmerGap/ShimmerGap.styles.ts
index d9d1ae91ff1a19..cf8dbddba30dd0 100644
--- a/packages/react/src/components/Shimmer/ShimmerGap/ShimmerGap.styles.ts
+++ b/packages/react/src/components/Shimmer/ShimmerGap/ShimmerGap.styles.ts
@@ -7,7 +7,7 @@ const GlobalClassNames = {
 };
 
 export function getStyles(props: IShimmerGapStyleProps): IShimmerGapStyles {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { height, borderStyle, theme } = props;
 
   const { semanticColors } = theme;
diff --git a/packages/react/src/components/Shimmer/ShimmerLine/ShimmerLine.base.tsx b/packages/react/src/components/Shimmer/ShimmerLine/ShimmerLine.base.tsx
index 511e6c8634cc16..2d3e1bd6285058 100644
--- a/packages/react/src/components/Shimmer/ShimmerLine/ShimmerLine.base.tsx
+++ b/packages/react/src/components/Shimmer/ShimmerLine/ShimmerLine.base.tsx
@@ -8,7 +8,7 @@ const getClassNames = classNamesFunction<IShimmerLineStyleProps, IShimmerLineSty
  * {@docCategory Shimmer}
  */
 export const ShimmerLineBase: React.FunctionComponent<IShimmerLineProps> = props => {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { height, styles, width = '100%', borderStyle, theme } = props;
 
   const classNames = getClassNames(styles!, {
diff --git a/packages/react/src/components/Shimmer/ShimmerLine/ShimmerLine.styles.ts b/packages/react/src/components/Shimmer/ShimmerLine/ShimmerLine.styles.ts
index e4096b4831f661..aab86f77cb1686 100644
--- a/packages/react/src/components/Shimmer/ShimmerLine/ShimmerLine.styles.ts
+++ b/packages/react/src/components/Shimmer/ShimmerLine/ShimmerLine.styles.ts
@@ -11,7 +11,7 @@ const GlobalClassNames = {
 };
 
 export function getStyles(props: IShimmerLineStyleProps): IShimmerLineStyles {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const { height, borderStyle, theme } = props;
 
   const { semanticColors } = theme;
diff --git a/packages/react/src/components/Slider/useSlider.ts b/packages/react/src/components/Slider/useSlider.ts
index bdb30715087204..e72d0f4eaa5af6 100644
--- a/packages/react/src/components/Slider/useSlider.ts
+++ b/packages/react/src/components/Slider/useSlider.ts
@@ -216,7 +216,7 @@ export const useSlider = (props: ISliderProps, ref: React.ForwardedRef<HTMLDivEl
       ? internalState.latestLowerValue
       : internalState.latestValue;
     let diff = 0;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (event.which) {
       case getRTLSafeKeyCode(KeyCodes.left, props.theme):
       case KeyCodes.down:
@@ -266,7 +266,7 @@ export const useSlider = (props: ISliderProps, ref: React.ForwardedRef<HTMLDivEl
   };
 
   const calculateCurrentSteps = (event: DragChangeEvent) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const sliderPositionRect: ClientRect = sliderLine.current!.getBoundingClientRect();
     const sliderLength: number = !props.vertical ? sliderPositionRect.width : sliderPositionRect.height;
     const stepLength: number = sliderLength / steps;
diff --git a/packages/react/src/components/SpinButton/SpinButton.base.tsx b/packages/react/src/components/SpinButton/SpinButton.base.tsx
index 5fc5c254c85b73..816d0a275931d5 100644
--- a/packages/react/src/components/SpinButton/SpinButton.base.tsx
+++ b/packages/react/src/components/SpinButton/SpinButton.base.tsx
@@ -345,7 +345,7 @@ export const SpinButtonBase: React.FunctionComponent<ISpinButtonProps> = React.f
   const handleKeyDown = (ev: React.KeyboardEvent<HTMLInputElement>): void => {
     // eat the up and down arrow keys to keep focus in the spinButton
     // (especially when a spinButton is inside of a FocusZone)
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.up || ev.which === KeyCodes.down || ev.which === KeyCodes.enter) {
       ev.preventDefault();
       ev.stopPropagation();
@@ -357,7 +357,7 @@ export const SpinButtonBase: React.FunctionComponent<ISpinButtonProps> = React.f
 
     let spinDirection = KeyboardSpinDirection.notSpinning;
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.up:
         spinDirection = KeyboardSpinDirection.up;
@@ -386,7 +386,7 @@ export const SpinButtonBase: React.FunctionComponent<ISpinButtonProps> = React.f
   /** Stop spinning on keyUp if the up or down arrow key fired this event */
   const handleKeyUp = React.useCallback(
     (ev: React.KeyboardEvent<HTMLElement>): void => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (disabled || ev.which === KeyCodes.up || ev.which === KeyCodes.down) {
         stop();
         return;
diff --git a/packages/react/src/components/SpinButton/SpinButton.test.tsx b/packages/react/src/components/SpinButton/SpinButton.test.tsx
index 2c2f3023494586..1715d792d89359 100644
--- a/packages/react/src/components/SpinButton/SpinButton.test.tsx
+++ b/packages/react/src/components/SpinButton/SpinButton.test.tsx
@@ -696,7 +696,7 @@ describe('SpinButton', () => {
       const onChange = jest.fn();
       let keyCode: number | undefined;
       const onValidate = jest.fn((value: string, event?: React.SyntheticEvent) => {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         keyCode = (event as React.KeyboardEvent).which;
         return value;
       });
diff --git a/packages/react/src/components/Spinner/Spinner.base.tsx b/packages/react/src/components/Spinner/Spinner.base.tsx
index 710ddf11a44794..81ba20450cff1c 100644
--- a/packages/react/src/components/Spinner/Spinner.base.tsx
+++ b/packages/react/src/components/Spinner/Spinner.base.tsx
@@ -13,7 +13,7 @@ export class SpinnerBase extends React.Component<ISpinnerProps, any> {
   };
 
   public render() {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const { type, size, ariaLabel, ariaLive, styles, label, theme, className, labelPosition } = this.props;
     const statusMessage = ariaLabel;
     const nativeProps = getNativeProps<React.HTMLAttributes<HTMLDivElement>>(this.props, divProperties, ['size']);
@@ -23,7 +23,7 @@ export class SpinnerBase extends React.Component<ISpinnerProps, any> {
     // finally goes away we should delete this.
     let styleSize = size;
     if (styleSize === undefined && type !== undefined) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       styleSize = type === SpinnerType.large ? SpinnerSize.large : SpinnerSize.medium;
     }
 
diff --git a/packages/react/src/components/Spinner/Spinner.types.ts b/packages/react/src/components/Spinner/Spinner.types.ts
index 14800c32c87b6f..eb7e36666ff8fa 100644
--- a/packages/react/src/components/Spinner/Spinner.types.ts
+++ b/packages/react/src/components/Spinner/Spinner.types.ts
@@ -21,7 +21,7 @@ export interface ISpinnerProps extends React.HTMLAttributes<HTMLElement> {
   /**
    * @deprecated Use `size` instead. Will be removed at \>= 2.0.0.
    */
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   type?: SpinnerType;
 
   /**
diff --git a/packages/react/src/components/Stack/Stack.styles.ts b/packages/react/src/components/Stack/Stack.styles.ts
index 0a2c8b5d9fe298..ee2346a6fcd44a 100644
--- a/packages/react/src/components/Stack/Stack.styles.ts
+++ b/packages/react/src/components/Stack/Stack.styles.ts
@@ -30,12 +30,12 @@ export const styles: IStackComponent['styles'] = (props, theme, tokens): IStackS
 
   const classNames = getGlobalClassNames(GlobalClassNames, theme);
 
-  /* eslint-disable deprecation/deprecation */
+  /*  eslint-disable @typescript-eslint/no-deprecated */
   const childrenGap = tokens && tokens.childrenGap ? tokens.childrenGap : props.gap;
   const maxHeight = tokens && tokens.maxHeight ? tokens.maxHeight : props.maxHeight;
   const maxWidth = tokens && tokens.maxWidth ? tokens.maxWidth : props.maxWidth;
   const padding = tokens && tokens.padding ? tokens.padding : props.padding;
-  /* eslint-enable deprecation/deprecation */
+  /* eslint-enable @typescript-eslint/no-deprecated */
 
   const { rowGap, columnGap } = parseGap(childrenGap, theme);
 
diff --git a/packages/react/src/components/Stack/Stack.test.tsx b/packages/react/src/components/Stack/Stack.test.tsx
index e18f76beda414f..998dd3d46b6536 100644
--- a/packages/react/src/components/Stack/Stack.test.tsx
+++ b/packages/react/src/components/Stack/Stack.test.tsx
@@ -202,7 +202,7 @@ describe('Stack', () => {
 
   it('renders horizontal Stack with a gap in rtl context correctly', () => {
     const component = renderer.create(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       <Fabric dir="rtl">
         <Stack horizontal tokens={{ childrenGap: 10 }}>
           <Stack.Item>Item 1</Stack.Item>
diff --git a/packages/react/src/components/Stack/Stack.tsx b/packages/react/src/components/Stack/Stack.tsx
index 259f45c7a26fce..30cf4eaea89e5f 100644
--- a/packages/react/src/components/Stack/Stack.tsx
+++ b/packages/react/src/components/Stack/Stack.tsx
@@ -13,7 +13,7 @@ const StackView: IStackComponent['view'] = props => {
   const {
     as: RootType = 'div',
     disableShrink = false,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     doNotRenderFalsyValues = false,
     enableScopedSelectors = false,
     wrap,
diff --git a/packages/react/src/components/SwatchColorPicker/ColorPickerGridCell.base.tsx b/packages/react/src/components/SwatchColorPicker/ColorPickerGridCell.base.tsx
index 1b7f5b957e787e..5c023c190d3de8 100644
--- a/packages/react/src/components/SwatchColorPicker/ColorPickerGridCell.base.tsx
+++ b/packages/react/src/components/SwatchColorPicker/ColorPickerGridCell.base.tsx
@@ -67,7 +67,7 @@ const getColorPickerGridCellButtonClassNames = memoizeFunction(
 export const ColorPickerGridCellBase: React.FunctionComponent<IColorPickerGridCellProps> = props => {
   const {
     item,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     idPrefix = props.id,
     isRadio,
     selected = false,
diff --git a/packages/react/src/components/SwatchColorPicker/SwatchColorPicker.base.tsx b/packages/react/src/components/SwatchColorPicker/SwatchColorPicker.base.tsx
index d2aaaa6ba45532..8aba7a3b805877 100644
--- a/packages/react/src/components/SwatchColorPicker/SwatchColorPicker.base.tsx
+++ b/packages/react/src/components/SwatchColorPicker/SwatchColorPicker.base.tsx
@@ -68,7 +68,7 @@ export const SwatchColorPickerBase: React.FunctionComponent<ISwatchColorPickerPr
     focusOnHover,
     mouseLeaveParentSelector,
     onChange,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     onColorChanged,
     onCellHovered,
     onCellFocused,
@@ -285,13 +285,13 @@ export const SwatchColorPickerBase: React.FunctionComponent<ISwatchColorPickerPr
   const onKeyDown = React.useCallback(
     (ev: React.KeyboardEvent<HTMLButtonElement>): void => {
       if (
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         ev.which === KeyCodes.up ||
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         ev.which === KeyCodes.down ||
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         ev.which === KeyCodes.left ||
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         ev.which === KeyCodes.right
       ) {
         setNavigationTimeout();
diff --git a/packages/react/src/components/TeachingBubble/TeachingBubble.base.tsx b/packages/react/src/components/TeachingBubble/TeachingBubble.base.tsx
index f50adf04ac1978..a3105f614d053f 100644
--- a/packages/react/src/components/TeachingBubble/TeachingBubble.base.tsx
+++ b/packages/react/src/components/TeachingBubble/TeachingBubble.base.tsx
@@ -44,10 +44,10 @@ export const TeachingBubbleBase: React.FunctionComponent<ITeachingBubbleProps> =
   const mergedRootRef = useMergedRefs(rootElementRef, forwardedRef);
   const {
     calloutProps: setCalloutProps,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     targetElement,
     onDismiss,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     hasCloseButton = props.hasCloseIcon,
     isWide,
     styles,
diff --git a/packages/react/src/components/TeachingBubble/TeachingBubbleContent.base.tsx b/packages/react/src/components/TeachingBubble/TeachingBubbleContent.base.tsx
index e25d246f429de3..b30cb0ca199ead 100644
--- a/packages/react/src/components/TeachingBubble/TeachingBubbleContent.base.tsx
+++ b/packages/react/src/components/TeachingBubble/TeachingBubbleContent.base.tsx
@@ -48,7 +48,7 @@ export const TeachingBubbleContentBase: React.FunctionComponent<ITeachingBubbleP
     secondaryButtonProps,
     headline,
     hasCondensedHeadline,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     hasCloseButton = props.hasCloseIcon,
     onDismiss,
     closeButtonAriaLabel,
@@ -74,7 +74,7 @@ export const TeachingBubbleContentBase: React.FunctionComponent<ITeachingBubbleP
   const onKeyDown = React.useCallback(
     (ev: React.KeyboardEvent<HTMLElement> | KeyboardEvent): void => {
       if (onDismiss) {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         if (ev.which === KeyCodes.escape) {
           onDismiss(ev);
         }
diff --git a/packages/react/src/components/TextField/MaskedTextField/MaskedTextField.tsx b/packages/react/src/components/TextField/MaskedTextField/MaskedTextField.tsx
index d9108ab0c4c9e9..d978282b2177b4 100644
--- a/packages/react/src/components/TextField/MaskedTextField/MaskedTextField.tsx
+++ b/packages/react/src/components/TextField/MaskedTextField/MaskedTextField.tsx
@@ -221,7 +221,7 @@ export const MaskedTextField: React.FunctionComponent<IMaskedTextFieldProps> = R
         const charsSelected = selectionEnd - selectionStart;
         const charCount = inputValue.length + charsSelected - displayValue.length;
         const startPos = selectionStart;
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const pastedString = inputValue.substr(startPos, charCount);
 
         // Clear any selected characters
@@ -252,7 +252,7 @@ export const MaskedTextField: React.FunctionComponent<IMaskedTextFieldProps> = R
         // This case is if the user added characters
         const charCount = inputValue.length - displayValue.length;
         const startPos = selectionEnd - charCount;
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const enteredString = inputValue.substr(startPos, charCount);
 
         cursorPos = insertString(internalState.maskCharData, startPos, enteredString);
@@ -264,7 +264,7 @@ export const MaskedTextField: React.FunctionComponent<IMaskedTextFieldProps> = R
         const charCount = 1;
         const selectCount = displayValue.length + charCount - inputValue.length;
         const startPos = selectionEnd - charCount;
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const enteredString = inputValue.substr(startPos, charCount);
 
         // Clear the selected range
@@ -292,7 +292,7 @@ export const MaskedTextField: React.FunctionComponent<IMaskedTextFieldProps> = R
 
       internalState.changeSelectionData = null;
       if (textField.current && textField.current.value) {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         const { keyCode, ctrlKey, metaKey } = ev;
 
         // Ignore ctrl and meta keydown
diff --git a/packages/react/src/components/TextField/TextField.base.tsx b/packages/react/src/components/TextField/TextField.base.tsx
index 36395f784bd3ae..5b7625ce812c43 100644
--- a/packages/react/src/components/TextField/TextField.base.tsx
+++ b/packages/react/src/components/TextField/TextField.base.tsx
@@ -246,7 +246,7 @@ export class TextFieldBase
     }));
 
     return (
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       <div ref={this.props.elementRef} className={classNames.root}>
         <div className={classNames.wrapper}>
           {onRenderLabel(this.props, this._onRenderLabel)}
diff --git a/packages/react/src/components/TimePicker/TimePicker.tsx b/packages/react/src/components/TimePicker/TimePicker.tsx
index aafe9edf8f7eba..473d207f1ea8ce 100644
--- a/packages/react/src/components/TimePicker/TimePicker.tsx
+++ b/packages/react/src/components/TimePicker/TimePicker.tsx
@@ -191,7 +191,7 @@ export const TimePicker: React.FunctionComponent<ITimePickerProps> = ({
   );
 
   const evaluatePressedKey = (event: React.KeyboardEvent<IComboBox>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const charCode = event.charCode;
     if (
       !onFormatDate &&
diff --git a/packages/react/src/components/Toggle/Toggle.base.tsx b/packages/react/src/components/Toggle/Toggle.base.tsx
index c5413d9f06e138..1d0ed33e5b9d0e 100644
--- a/packages/react/src/components/Toggle/Toggle.base.tsx
+++ b/packages/react/src/components/Toggle/Toggle.base.tsx
@@ -19,13 +19,13 @@ export const ToggleBase: React.FunctionComponent<IToggleProps> = React.forwardRe
       disabled,
       inlineLabel,
       label,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       offAriaLabel,
       offText,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       onAriaLabel,
       onChange,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       onChanged,
       onClick: onToggleClick,
       onText,
diff --git a/packages/react/src/components/Tooltip/TooltipHost.base.tsx b/packages/react/src/components/Tooltip/TooltipHost.base.tsx
index b769ccafd20edd..966fc56845d877 100644
--- a/packages/react/src/components/Tooltip/TooltipHost.base.tsx
+++ b/packages/react/src/components/Tooltip/TooltipHost.base.tsx
@@ -67,7 +67,7 @@ export class TooltipHostBase extends React.Component<ITooltipHostProps, ITooltip
       directionalHintForRTL,
       hostClassName: className,
       id,
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       setAriaDescribedBy = true,
       tooltipProps,
       styles,
@@ -261,7 +261,7 @@ export class TooltipHostBase extends React.Component<ITooltipHostProps, ITooltip
   };
 
   private _onTooltipKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if ((ev.which === KeyCodes.escape || ev.ctrlKey) && this.state.isTooltipVisible) {
       this._hideTooltip();
       ev.stopPropagation();
diff --git a/packages/react/src/components/WeeklyDayPicker/WeeklyDayPicker.base.tsx b/packages/react/src/components/WeeklyDayPicker/WeeklyDayPicker.base.tsx
index 59379d5241fccf..986fc13dfd078c 100644
--- a/packages/react/src/components/WeeklyDayPicker/WeeklyDayPicker.base.tsx
+++ b/packages/react/src/components/WeeklyDayPicker/WeeklyDayPicker.base.tsx
@@ -280,7 +280,7 @@ export class WeeklyDayPickerBase extends React.Component<IWeeklyDayPickerProps,
   };
 
   private _onWrapperKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     switch (ev.which) {
       case KeyCodes.enter:
         ev.preventDefault();
@@ -297,7 +297,7 @@ export class WeeklyDayPickerBase extends React.Component<IWeeklyDayPickerProps,
 
   private _onButtonKeyDown = (callback: () => void): ((ev: React.KeyboardEvent<HTMLButtonElement>) => void) => {
     return (ev: React.KeyboardEvent<HTMLButtonElement>) => {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       switch (ev.which) {
         case KeyCodes.enter:
           callback();
diff --git a/packages/react/src/components/pickers/BasePicker.tsx b/packages/react/src/components/pickers/BasePicker.tsx
index 2bf94ebfddb693..f9a15be205724e 100644
--- a/packages/react/src/components/pickers/BasePicker.tsx
+++ b/packages/react/src/components/pickers/BasePicker.tsx
@@ -119,7 +119,7 @@ export class BasePicker<T extends {}, P extends IBasePickerProps<T>>
   protected SuggestionOfProperType = Suggestions as new (props: ISuggestionsProps<T>) => Suggestions<T>;
   protected currentPromise: PromiseLike<any> | undefined;
   protected _ariaMap: IPickerAriaIds;
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   private _styledSuggestions = getStyledSuggestions(this.SuggestionOfProperType);
   private _id: string;
   private _async: Async;
@@ -527,7 +527,7 @@ export class BasePicker<T extends {}, P extends IBasePickerProps<T>>
   protected onEmptyInputFocus() {
     const emptyResolveSuggestions = this.props.onEmptyResolveSuggestions
       ? this.props.onEmptyResolveSuggestions
-      : // eslint-disable-next-line deprecation/deprecation
+      : // eslint-disable-next-line @typescript-eslint/no-deprecated
         this.props.onEmptyInputFocus;
 
     // Only attempt to resolve suggestions if it exists
@@ -706,7 +706,7 @@ export class BasePicker<T extends {}, P extends IBasePickerProps<T>>
   };
 
   protected onKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const keyCode = ev.which;
     switch (keyCode) {
       case KeyCodes.escape:
@@ -954,7 +954,7 @@ export class BasePicker<T extends {}, P extends IBasePickerProps<T>>
   protected _shouldFocusZoneEnterInnerZone = (ev: React.KeyboardEvent<HTMLElement>): boolean => {
     // If suggestions are shown const up/down keys control them, otherwise allow them through to control the focusZone.
     if (this.state.suggestionsVisible) {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       switch (ev.which) {
         case KeyCodes.up:
         case KeyCodes.down:
@@ -962,7 +962,7 @@ export class BasePicker<T extends {}, P extends IBasePickerProps<T>>
       }
     }
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     if (ev.which === KeyCodes.enter) {
       return true;
     }
@@ -1023,7 +1023,7 @@ export class BasePicker<T extends {}, P extends IBasePickerProps<T>>
     return (
       <div className={alertClassName} id={this._ariaMap.selectedSuggestionAlert} aria-live="assertive">
         {
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           this.getSuggestionsAlert(alertClassName)
         }
         {removedItemText}
diff --git a/packages/react/src/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItem.types.ts b/packages/react/src/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItem.types.ts
index ef05058274fd0f..ba9d4f61182d1c 100644
--- a/packages/react/src/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItem.types.ts
+++ b/packages/react/src/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItem.types.ts
@@ -118,7 +118,7 @@ export interface IPeoplePickerItemSuggestionStyles {
  * PeoplePickerItemWithMenu props interface.
  * @deprecated Do not use. Will be removed in \>= 7.0
  */
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export interface IPeoplePickerItemWithMenuProps extends IPickerItemProps<IPersonaWithMenu> {}
 
 /**
diff --git a/packages/react/src/components/pickers/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx b/packages/react/src/components/pickers/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx
index 6d842d969844e9..675e786142ef69 100644
--- a/packages/react/src/components/pickers/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx
+++ b/packages/react/src/components/pickers/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx
@@ -45,7 +45,7 @@ export const SelectedItemDefault: (props: IPeoplePickerItemSelectedProps) => JSX
         <Persona
           {...item}
           presence={item.presence !== undefined ? item.presence : PersonaPresence.none}
-          size={PersonaSize.size28} // eslint-disable-line deprecation/deprecation
+          size={PersonaSize.size28} // eslint-disable-line @typescript-eslint/no-deprecated
         />
       </div>
       <IconButton
diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts
index e930a8da1676cb..470021f579e42f 100644
--- a/packages/react/src/index.ts
+++ b/packages/react/src/index.ts
@@ -6,7 +6,6 @@ export { Announced, AnnouncedBase } from './Announced';
 export type { IAnnouncedProps, IAnnouncedStyleProps, IAnnouncedStyles } from './Announced';
 export { Breadcrumb, BreadcrumbBase } from './Breadcrumb';
 export type {
-  // eslint-disable-next-line deprecation/deprecation
   IBreadCrumbData,
   IBreadcrumb,
   IBreadcrumbData,
@@ -19,7 +18,6 @@ export type {
 export {
   ActionButton,
   BaseButton,
-  // eslint-disable-next-line deprecation/deprecation
   Button,
   ButtonGlobalClassNames,
   ButtonType,
@@ -58,7 +56,6 @@ export {
   FirstWeekOfYear,
   defaultCalendarNavigationIcons,
   defaultCalendarStrings,
-  // eslint-disable-next-line deprecation/deprecation
   defaultDayPickerStrings,
 } from './Calendar';
 export type {
@@ -71,9 +68,7 @@ export type {
   ICalendarDayProps,
   ICalendarDayStyleProps,
   ICalendarDayStyles,
-  // eslint-disable-next-line deprecation/deprecation
   ICalendarFormatDateCallbacks,
-  // eslint-disable-next-line deprecation/deprecation
   ICalendarIconStrings,
   ICalendarMonth,
   ICalendarMonthProps,
@@ -126,7 +121,6 @@ export type {
   ICoachmarkProps,
   ICoachmarkStyleProps,
   ICoachmarkStyles,
-  // eslint-disable-next-line deprecation/deprecation
   ICoachmarkTypes,
   IEntityRect,
 } from './Coachmark';
@@ -135,7 +129,6 @@ export {
   MAX_COLOR_ALPHA,
   MAX_COLOR_HUE,
   MAX_COLOR_RGB,
-  // eslint-disable-next-line deprecation/deprecation
   MAX_COLOR_RGBA,
   MAX_COLOR_SATURATION,
   MAX_COLOR_VALUE,
@@ -218,7 +211,6 @@ export {
   ContextualMenuItemBase,
   ContextualMenuItemType,
   canAnyMenuItemsCheck,
-  // eslint-disable-next-line deprecation/deprecation
   getContextualMenuItemClassNames,
   getContextualMenuItemStyles,
   getMenuItemStyles,
@@ -226,7 +218,6 @@ export {
 } from './ContextualMenu';
 export type {
   IContextualMenu,
-  // eslint-disable-next-line deprecation/deprecation
   IContextualMenuClassNames,
   IContextualMenuItem,
   IContextualMenuItemProps,
@@ -241,7 +232,6 @@ export type {
   IContextualMenuStyleProps,
   IContextualMenuStyles,
   IContextualMenuSubComponentStyles,
-  // eslint-disable-next-line deprecation/deprecation
   IMenuItemClassNames,
   IMenuItemStyles,
 } from './ContextualMenu';
@@ -401,7 +391,6 @@ export type {
 } from './Dialog';
 export { VerticalDivider } from './Divider';
 export type {
-  // eslint-disable-next-line deprecation/deprecation
   IVerticalDividerClassNames,
   IVerticalDividerProps,
   IVerticalDividerPropsStyles,
@@ -484,11 +473,7 @@ export type {
   IExtendedPeoplePickerProps,
   IPeoplePickerItemProps,
 } from './ExtendedPicker';
-export {
-  // eslint-disable-next-line deprecation/deprecation
-  Fabric,
-  FabricBase,
-} from './Fabric';
+export { Fabric, FabricBase } from './Fabric';
 export type { IFabricProps, IFabricStyleProps, IFabricStyles } from './Fabric';
 export { Facepile, FacepileBase, OverflowButtonType } from './Facepile';
 export type { IFacepile, IFacepilePersona, IFacepileProps, IFacepileStyleProps, IFacepileStyles } from './Facepile';
@@ -543,9 +528,7 @@ export type {
   IGroupShowAllStyleProps,
   IGroupShowAllStyles,
   IGroupSpacerProps,
-  // eslint-disable-next-line deprecation/deprecation
   IGroupSpacerStyleProps,
-  // eslint-disable-next-line deprecation/deprecation
   IGroupSpacerStyles,
   IGroupedListSectionProps,
   IGroupedListSectionState,
@@ -586,16 +569,7 @@ export type {
   IPlainCardStyleProps,
   IPlainCardStyles,
 } from './HoverCard';
-export {
-  FontIcon,
-  Icon,
-  IconBase,
-  // eslint-disable-next-line deprecation/deprecation
-  IconType,
-  ImageIcon,
-  getFontIcon,
-  getIconContent,
-} from './Icon';
+export { FontIcon, Icon, IconBase, IconType, ImageIcon, getFontIcon, getIconContent } from './Icon';
 export type {
   IFontIconProps,
   IIconContent,
@@ -606,10 +580,7 @@ export type {
   IImageIconProps,
 } from './Icon';
 export { initializeIcons } from './Icons';
-export type {
-  // eslint-disable-next-line deprecation/deprecation
-  IconNames,
-} from './Icons';
+export type { IconNames } from './Icons';
 export { Image, ImageBase, ImageCoverStyle, ImageFit, ImageLoadState } from './Image';
 export type { IImage, IImageProps, IImageState, IImageStyleProps, IImageStyles } from './Image';
 export {
@@ -677,14 +648,7 @@ export {
 } from './Layer';
 export type { ILayer, ILayerHost, ILayerHostProps, ILayerProps, ILayerStyleProps, ILayerStyles } from './Layer';
 export { Link, LinkBase } from './Link';
-export type {
-  ILink,
-  // eslint-disable-next-line deprecation/deprecation
-  ILinkHTMLAttributes,
-  ILinkProps,
-  ILinkStyleProps,
-  ILinkStyles,
-} from './Link';
+export type { ILink, ILinkHTMLAttributes, ILinkProps, ILinkStyleProps, ILinkStyles } from './Link';
 export { List, ScrollToMode } from './List';
 export type {
   IList,
@@ -818,10 +782,8 @@ export type {
   IPeoplePickerItemSuggestionProps,
   IPeoplePickerItemSuggestionStyleProps,
   IPeoplePickerItemSuggestionStyles,
-  // eslint-disable-next-line deprecation/deprecation
   IPeoplePickerItemWithMenuProps,
   IPeoplePickerProps,
-  // eslint-disable-next-line deprecation/deprecation
   IPersonaWithMenu,
   IPickerAriaIds,
   IPickerItem,
@@ -847,15 +809,7 @@ export type {
   ITagItemRemoveButtonProps,
   ITagPickerProps,
 } from './Pickers';
-export {
-  Pivot,
-  PivotBase,
-  PivotItem,
-  // eslint-disable-next-line deprecation/deprecation
-  PivotLinkFormat,
-  // eslint-disable-next-line deprecation/deprecation
-  PivotLinkSize,
-} from './Pivot';
+export { Pivot, PivotBase, PivotItem, PivotLinkFormat, PivotLinkSize } from './Pivot';
 export type {
   IPivot,
   IPivotItemProps,
@@ -883,7 +837,6 @@ export type {
   ICalloutPositionedInfo,
   IElementPosition,
   IElementPositionInfo,
-  // eslint-disable-next-line deprecation/deprecation
   IPoint,
   IPosition,
   IPositionDirectionalHintData,
@@ -897,7 +850,6 @@ export { PositioningContainer, useHeightOffset } from './PositioningContainer';
 export type {
   IPositioningContainer,
   IPositioningContainerProps,
-  // eslint-disable-next-line deprecation/deprecation
   IPositioningContainerTypes,
 } from './PositioningContainer';
 export { ProgressIndicator, ProgressIndicatorBase } from './ProgressIndicator';
@@ -930,13 +882,9 @@ export {
   initializeResponsiveMode,
   setResponsiveMode,
   useResponsiveMode,
-  // eslint-disable-next-line deprecation/deprecation
   withResponsiveMode,
 } from './ResponsiveMode';
-export type {
-  // eslint-disable-next-line deprecation/deprecation
-  IWithResponsiveModeState,
-} from './ResponsiveMode';
+export type { IWithResponsiveModeState } from './ResponsiveMode';
 export { ScrollablePane, ScrollablePaneBase, ScrollablePaneContext, ScrollbarVisibility } from './ScrollablePane';
 export type {
   IScrollablePane,
@@ -1021,13 +969,7 @@ export { Slider, SliderBase } from './Slider';
 export type { ISlider, ISliderProps, ISliderStyleProps, ISliderStyles } from './Slider';
 export { KeyboardSpinDirection, SpinButton } from './SpinButton';
 export type { ISpinButton, ISpinButtonProps, ISpinButtonStyleProps, ISpinButtonStyles } from './SpinButton';
-export {
-  Spinner,
-  SpinnerBase,
-  SpinnerSize,
-  // eslint-disable-next-line deprecation/deprecation
-  SpinnerType,
-} from './Spinner';
+export { Spinner, SpinnerBase, SpinnerSize, SpinnerType } from './Spinner';
 export type { ISpinner, ISpinnerProps, ISpinnerStyleProps, ISpinnerStyles, SpinnerLabelPosition } from './Spinner';
 export { Stack, StackItem } from './Stack';
 export type {
@@ -1059,7 +1001,6 @@ export {
   DefaultEffects,
   DefaultFontStyles,
   DefaultPalette,
-  // eslint-disable-next-line deprecation/deprecation
   EdgeChromiumHighContrastSelector,
   FontClassNames,
   FontSizes,
@@ -1092,11 +1033,9 @@ export {
   createTheme,
   focusClear,
   fontFace,
-  // eslint-disable-next-line deprecation/deprecation
   getEdgeChromiumNoHighContrastAdjustSelector,
   getFadedOverflowStyle,
   getFocusOutlineStyle,
-  // eslint-disable-next-line deprecation/deprecation
   getFocusStyle,
   getGlobalClassNames,
   getHighContrastNoAdjustStyle,
@@ -1224,10 +1163,8 @@ export type {
 export {
   Async,
   AutoScroll,
-  // eslint-disable-next-line deprecation/deprecation
   BaseComponent,
   Customizations,
-  // eslint-disable-next-line deprecation/deprecation
   Customizer,
   CustomizerContext,
   DATA_IS_SCROLLABLE_ATTRIBUTE,
@@ -1308,7 +1245,6 @@ export {
   getRTL,
   getRTLSafeKeyCode,
   getRect,
-  // eslint-disable-next-line deprecation/deprecation
   getResourceUrl,
   getScrollbarWidth,
   getVirtualParent,
@@ -1320,11 +1256,9 @@ export {
   hoistStatics,
   htmlElementProperties,
   iframeProperties,
-  // eslint-disable-next-line deprecation/deprecation
   imageProperties,
   imgProperties,
   initializeComponentRef,
-  // eslint-disable-next-line deprecation/deprecation
   initializeFocusRects,
   inputProperties,
   isControlled,
@@ -1358,7 +1292,6 @@ export {
   optionProperties,
   portalContainsElement,
   precisionRound,
-  // eslint-disable-next-line deprecation/deprecation
   raiseClick,
   removeDirectionalKeyCode,
   removeIndex,
@@ -1369,15 +1302,12 @@ export {
   safeRequestAnimationFrame,
   safeSetTimeout,
   selectProperties,
-  // eslint-disable-next-line deprecation/deprecation
   setBaseUrl,
   setFocusVisibility,
-  // eslint-disable-next-line deprecation/deprecation
   setLanguage,
   setMemoizeWeakMap,
   setPortalAttribute,
   setRTL,
-  // eslint-disable-next-line deprecation/deprecation
   setSSR,
   setVirtualParent,
   setWarningCallback,
@@ -1416,7 +1346,6 @@ export type {
   ICancelable,
   IChangeDescription,
   IChangeEventCallback,
-  // eslint-disable-next-line deprecation/deprecation
   IClassNames,
   IClassNamesFunctionOptions,
   IComponentAs,
@@ -1454,12 +1383,9 @@ export type {
   IStyleFunctionOrObject,
   IVirtualElement,
   IWarnControlledUsageParams,
-  // eslint-disable-next-line deprecation/deprecation
   Omit,
   RefObject,
-  // eslint-disable-next-line deprecation/deprecation
   Settings,
-  // eslint-disable-next-line deprecation/deprecation
   SettingsFunction,
   StyleFunction,
 } from './Utilities';
@@ -1485,19 +1411,8 @@ export type { WindowProviderProps } from './WindowProvider';
  * Styles and Theme both exported the same names which causes conflicting
  * star exports with webpack5. See here: https://github.com/microsoft/fluentui/issues/21601.
  */
-export {
-  ThemeContext,
-  ThemeProvider,
-  // eslint-disable-next-line deprecation/deprecation
-  makeStyles,
-  useTheme,
-} from './utilities/ThemeProvider/index';
-export type {
-  StylesClassMapping,
-  ThemeProviderProps,
-  // eslint-disable-next-line deprecation/deprecation
-  UseStylesOptions,
-} from './utilities/ThemeProvider/index';
+export { ThemeContext, ThemeProvider, makeStyles, useTheme } from './utilities/ThemeProvider/index';
+export type { StylesClassMapping, ThemeProviderProps, UseStylesOptions } from './utilities/ThemeProvider/index';
 export {
   CommunicationColors,
   DefaultSpacing,
diff --git a/packages/react/src/utilities/ButtonGrid/ButtonGrid.base.tsx b/packages/react/src/utilities/ButtonGrid/ButtonGrid.base.tsx
index 287fb5a42a45e4..13216ef3c370aa 100644
--- a/packages/react/src/utilities/ButtonGrid/ButtonGrid.base.tsx
+++ b/packages/react/src/utilities/ButtonGrid/ButtonGrid.base.tsx
@@ -17,9 +17,9 @@ export const ButtonGridBase: React.FunctionComponent<IButtonGridProps> = React.f
     columnCount,
     onRenderItem,
     isSemanticRadio,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     ariaPosInSet = props.positionInSet,
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     ariaSetSize = props.setSize,
     styles,
     doNotContainWithinFocusZone,
diff --git a/packages/react/src/utilities/DraggableZone/DraggableZone.tsx b/packages/react/src/utilities/DraggableZone/DraggableZone.tsx
index 760e2612fa684e..0a69e4deca5e4a 100644
--- a/packages/react/src/utilities/DraggableZone/DraggableZone.tsx
+++ b/packages/react/src/utilities/DraggableZone/DraggableZone.tsx
@@ -269,7 +269,7 @@ export class DraggableZone extends React.Component<IDraggableZoneProps, IDraggab
     }
 
     const matchesSelectorFn: Function =
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       element.matches || element.webkitMatchesSelector || (element as any).msMatchesSelector; /* for IE */
 
     if (!matchesSelectorFn) {
diff --git a/packages/react/src/utilities/ThemeProvider/makeStyles.test.tsx b/packages/react/src/utilities/ThemeProvider/makeStyles.test.tsx
index 1635057f9ed3c3..8cc981a8f0e5d4 100644
--- a/packages/react/src/utilities/ThemeProvider/makeStyles.test.tsx
+++ b/packages/react/src/utilities/ThemeProvider/makeStyles.test.tsx
@@ -12,7 +12,7 @@ import { ThemeProvider } from './ThemeProvider';
 describe('makeStyles', () => {
   const stylesheet: Stylesheet = Stylesheet.getInstance();
 
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const useThemedStyles = makeStyles(theme => ({
     root: {
       background: theme.palette.themePrimary,
@@ -27,7 +27,7 @@ describe('makeStyles', () => {
 
   const ThemeStyledComponent = () => <ThemeStyledComponentInner />;
 
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const useStaticStyles = makeStyles({
     root: {
       background: 'yellow',
@@ -48,7 +48,7 @@ describe('makeStyles', () => {
   });
 
   it('can create basic styles as an object (no type errors)', () => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     makeStyles({
       root: {
         alignItems: 'center',
@@ -57,7 +57,7 @@ describe('makeStyles', () => {
   });
 
   it('can create style functions (no type errors)', () => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     makeStyles(() => ({
       root: {
         alignItems: 'center',
@@ -78,7 +78,7 @@ describe('makeStyles', () => {
     });
 
     safeMount(
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       <Customizer settings={{ theme: customTheme }}>
         <ThemeStyledComponent />
       </Customizer>,
diff --git a/packages/react/src/utilities/ThemeProvider/makeStyles.ts b/packages/react/src/utilities/ThemeProvider/makeStyles.ts
index 8e2609c53e8c31..a635e88fec1d1c 100644
--- a/packages/react/src/utilities/ThemeProvider/makeStyles.ts
+++ b/packages/react/src/utilities/ThemeProvider/makeStyles.ts
@@ -94,7 +94,7 @@ type WindowWithId = Window & {
  */
 export function makeStyles<TStyleSet extends { [key in keyof TStyleSet]: IStyle } = { [key: string]: IStyle }>(
   styleOrFunction: TStyleSet | ((theme: Theme) => TStyleSet),
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
 ): (options?: UseStylesOptions) => StylesClassMapping<TStyleSet> {
   // Create graph of inputs to map to output.
   const graph: Graph<TStyleSet> = new Map();
@@ -113,7 +113,7 @@ export function makeStyles<TStyleSet extends { [key in keyof TStyleSet]: IStyle
     allWindows.delete(winId);
   };
 
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return (options: UseStylesOptions = {}): StylesClassMapping<TStyleSet> => {
     let { theme } = options;
     let winId: string | undefined;
diff --git a/packages/react/src/utilities/ThemeProvider/useThemeProviderClasses.tsx b/packages/react/src/utilities/ThemeProvider/useThemeProviderClasses.tsx
index ae44f3a63b55a3..4b45e44480cf43 100644
--- a/packages/react/src/utilities/ThemeProvider/useThemeProviderClasses.tsx
+++ b/packages/react/src/utilities/ThemeProvider/useThemeProviderClasses.tsx
@@ -5,7 +5,7 @@ import { makeStyles } from './makeStyles';
 import type { ThemeProviderState } from './ThemeProvider.types';
 import type { Theme } from '@fluentui/theme';
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 const useThemeProviderStyles = makeStyles((theme: Theme) => {
   const { semanticColors, fonts } = theme;
 
diff --git a/packages/react/src/utilities/contextualMenu/contextualMenuUtility.ts b/packages/react/src/utilities/contextualMenu/contextualMenuUtility.ts
index 018e3051df284e..eb142245b0c83f 100644
--- a/packages/react/src/utilities/contextualMenu/contextualMenuUtility.ts
+++ b/packages/react/src/utilities/contextualMenu/contextualMenuUtility.ts
@@ -26,7 +26,7 @@ export function getIsChecked(item: IContextualMenuItem): boolean | null {
 }
 
 export function hasSubmenu(item: IContextualMenuItem): boolean {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   return !!(item.subMenuProps || item.items);
 }
 
diff --git a/packages/react/src/utilities/decorators/withResponsiveMode.test.tsx b/packages/react/src/utilities/decorators/withResponsiveMode.test.tsx
index 4e177ced66e7d4..19452ecd98d5d6 100644
--- a/packages/react/src/utilities/decorators/withResponsiveMode.test.tsx
+++ b/packages/react/src/utilities/decorators/withResponsiveMode.test.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
 import * as ReactTestUtils from 'react-dom/test-utils';
 import { setResponsiveMode, withResponsiveMode, ResponsiveMode } from './withResponsiveMode';
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 @withResponsiveMode
 class Example extends React.Component<any, any> {
   public render(): JSX.Element {
diff --git a/packages/react/src/utilities/decorators/withResponsiveMode.tsx b/packages/react/src/utilities/decorators/withResponsiveMode.tsx
index fdc6df0303db26..fd60358a59f2a1 100644
--- a/packages/react/src/utilities/decorators/withResponsiveMode.tsx
+++ b/packages/react/src/utilities/decorators/withResponsiveMode.tsx
@@ -74,7 +74,7 @@ export function getInitialResponsiveMode(): ResponsiveMode {
 export function withResponsiveMode<TProps extends { responsiveMode?: ResponsiveMode }, TState>(
   ComposedComponent: new (props: TProps, ...args: any[]) => React.Component<TProps, TState>,
 ): any {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const resultClass = class WithResponsiveMode extends BaseDecorator<TProps, IWithResponsiveModeState> {
     public static contextType = WindowContext;
     public context: React.ContextType<typeof WindowContext>;
diff --git a/packages/react/src/utilities/positioning/positioning.ts b/packages/react/src/utilities/positioning/positioning.ts
index 3a68ce3f882701..9949978414b5fa 100644
--- a/packages/react/src/utilities/positioning/positioning.ts
+++ b/packages/react/src/utilities/positioning/positioning.ts
@@ -779,7 +779,7 @@ function _positionBeak(beakWidth: number, elementPosition: IElementPositionInfo)
 }
 
 function _getRectangleFromElement(element: Element): Rectangle {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const clientRect: ClientRect = element.getBoundingClientRect();
 
   return new Rectangle(clientRect.left, clientRect.right, clientRect.top, clientRect.bottom);
@@ -802,9 +802,9 @@ function _getTargetRect(bounds: Rectangle, target: Element | MouseEvent | Point
       // HTMLImgElements can have x and y values. The check for it being a point must go last.
     } else {
       const rectOrPoint: Point & Rectangle = target as Point & Rectangle;
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       const left = rectOrPoint.left || rectOrPoint.x;
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       const top = rectOrPoint.top || rectOrPoint.y;
       const right = rectOrPoint.right || left;
       const bottom = rectOrPoint.bottom || top;
@@ -993,9 +993,9 @@ function _getRectangleFromTarget(target: Element | MouseEvent | Point | Rectangl
   const rectOrPointTarget: Point & Rectangle = target as Point & Rectangle;
   let targetRect: Rectangle;
 
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const left = rectOrPointTarget.left ?? rectOrPointTarget.x;
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const top = rectOrPointTarget.top ?? rectOrPointTarget.y;
   const right = rectOrPointTarget.right ?? left;
   const bottom = rectOrPointTarget.bottom ?? top;
@@ -1132,9 +1132,9 @@ function _getBoundsFromTargetWindow(
   }
   // If the target is not null get x-axis and y-axis coordinates directly.
   else if (target !== null) {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     x = (target as Point).left || (target as MouseEvent | Point).x;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     y = (target as Point).top || (target as MouseEvent | Point).y;
   }
 
diff --git a/packages/react/src/utilities/positioning/positioning.types.ts b/packages/react/src/utilities/positioning/positioning.types.ts
index 4810db92f5a9d6..6f1c32a4c1ddc9 100644
--- a/packages/react/src/utilities/positioning/positioning.types.ts
+++ b/packages/react/src/utilities/positioning/positioning.types.ts
@@ -123,5 +123,4 @@ export interface IRelativePositions {
   submenuDirection: DirectionalHint;
 }
 
-// eslint-disable-next-line deprecation/deprecation
 export type { Point, IPoint } from '../../Utilities';
diff --git a/packages/react/src/utilities/selection/SelectionZone.tsx b/packages/react/src/utilities/selection/SelectionZone.tsx
index 82ed097d3b7271..ecf1a4d35c7e26 100644
--- a/packages/react/src/utilities/selection/SelectionZone.tsx
+++ b/packages/react/src/utilities/selection/SelectionZone.tsx
@@ -522,9 +522,9 @@ export class SelectionZone extends React.Component<ISelectionZoneProps, ISelecti
     const isSelectionDisabled = this._isSelectionDisabled(target);
 
     const { selection, selectionClearedOnEscapePress } = this.props;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const isSelectAllKey = ev.which === KeyCodes.a && (this._isCtrlPressed || this._isMetaPressed);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const isClearSelectionKey = ev.which === KeyCodes.escape;
 
     // Ignore key downs from input elements.
@@ -576,7 +576,7 @@ export class SelectionZone extends React.Component<ISelectionZoneProps, ISelecti
           }
           break;
         } else if (
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) &&
           (target.tagName === 'BUTTON' ||
             target.tagName === 'A' ||
@@ -585,7 +585,7 @@ export class SelectionZone extends React.Component<ISelectionZoneProps, ISelecti
         ) {
           return false;
         } else if (target === itemRoot) {
-          // eslint-disable-next-line deprecation/deprecation
+          // eslint-disable-next-line @typescript-eslint/no-deprecated
           if (ev.which === KeyCodes.enter) {
             if (span === undefined) {
               // Items should be invokable even if selection is disabled.
@@ -593,7 +593,7 @@ export class SelectionZone extends React.Component<ISelectionZoneProps, ISelecti
               ev.preventDefault();
             }
             return;
-            // eslint-disable-next-line deprecation/deprecation
+            // eslint-disable-next-line @typescript-eslint/no-deprecated
           } else if (ev.which === KeyCodes.space) {
             if (!isSelectionDisabled) {
               this._onToggleClick(ev, index, span);
@@ -794,7 +794,7 @@ export class SelectionZone extends React.Component<ISelectionZoneProps, ISelecti
     this._isCtrlPressed = ev.ctrlKey;
     this._isMetaPressed = ev.metaKey;
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     const keyCode = (ev as React.KeyboardEvent<HTMLElement>).keyCode;
     this._isTabPressed = keyCode ? keyCode === KeyCodes.tab : false;
   }
diff --git a/packages/set-version/.eslintrc.json b/packages/set-version/.eslintrc.json
index 1aa83ab0565376..905bf718151d3a 100644
--- a/packages/set-version/.eslintrc.json
+++ b/packages/set-version/.eslintrc.json
@@ -2,8 +2,15 @@
   "extends": ["plugin:@fluentui/eslint-plugin/react--legacy"],
   "root": true,
   "rules": {
-    "deprecation/deprecation": "off",
     "prefer-const": "off",
     "no-restricted-globals": "off"
-  }
+  },
+  "overrides": [
+    {
+      "files": ["**/*.{ts,tsx}"],
+      "rules": {
+        "@typescript-eslint/no-deprecated": "off"
+      }
+    }
+  ]
 }
diff --git a/packages/style-utilities/src/index.ts b/packages/style-utilities/src/index.ts
index 207578d211c502..ee8546ea409e9a 100644
--- a/packages/style-utilities/src/index.ts
+++ b/packages/style-utilities/src/index.ts
@@ -14,7 +14,7 @@ export {
   hiddenContentStyle,
   PulsingBeaconAnimationStyles,
   getGlobalClassNames,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getFocusStyle,
   getFocusOutlineStyle,
   getInputFocusStyle,
@@ -29,7 +29,7 @@ export {
   HighContrastSelector,
   HighContrastSelectorWhite,
   HighContrastSelectorBlack,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   EdgeChromiumHighContrastSelector,
   ScreenWidthMinSmall,
   ScreenWidthMinMedium,
@@ -45,7 +45,7 @@ export {
   ScreenWidthMinUhfMobile,
   getScreenSelector,
   getHighContrastNoAdjustStyle,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getEdgeChromiumNoHighContrastAdjustSelector,
   normalize,
   noWrap,
diff --git a/packages/style-utilities/src/styles/CommonStyles.ts b/packages/style-utilities/src/styles/CommonStyles.ts
index d584824e241b1f..b805a1bdeb2893 100644
--- a/packages/style-utilities/src/styles/CommonStyles.ts
+++ b/packages/style-utilities/src/styles/CommonStyles.ts
@@ -47,10 +47,10 @@ export function getHighContrastNoAdjustStyle(): IRawStyle {
  * The style which turns off high contrast adjustment in (only) Edge Chromium browser.
  *  @deprecated Use `getHighContrastNoAdjustStyle`
  */
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export function getEdgeChromiumNoHighContrastAdjustSelector(): { [EdgeChromiumHighContrastSelector]: IRawStyle } {
   return {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     [EdgeChromiumHighContrastSelector]: {
       forcedColorAdjust: 'none',
       MsHighContrastAdjust: 'none',
diff --git a/packages/style-utilities/src/utilities/icons.ts b/packages/style-utilities/src/utilities/icons.ts
index 9c454f89215a39..56d11d014dc5e2 100644
--- a/packages/style-utilities/src/utilities/icons.ts
+++ b/packages/style-utilities/src/utilities/icons.ts
@@ -194,7 +194,7 @@ export function getIcon(name?: string): IIconRecord | undefined {
         }
       }
     } else {
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       if (!options.disableWarnings && options.warnOnMissingIcons) {
         warn(
           `The icon "${name}" was used but not registered. See https://github.com/microsoft/fluentui/wiki/Using-icons for more information.`,
diff --git a/packages/theme/src/utilities/makeSemanticColors.ts b/packages/theme/src/utilities/makeSemanticColors.ts
index b9924ec0d7afad..f4d9f57d45c782 100644
--- a/packages/theme/src/utilities/makeSemanticColors.ts
+++ b/packages/theme/src/utilities/makeSemanticColors.ts
@@ -132,7 +132,7 @@ export function getSemanticColors<TResult = Partial<ISemanticColors>>(
     result.listItemBackgroundChecked = neutralLight;
     result.listHeaderBackgroundPressed = neutralLight;
     result.menuItemBackgroundPressed = neutralLight;
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     result.menuItemBackgroundChecked = neutralLight;
   }
   if (neutralLighter) {
@@ -227,12 +227,12 @@ function _fixDeprecatedSlots(s: ISemanticColors, depComments: boolean): ISemanti
     dep = ' /* @deprecated */';
   }
 
-  /* eslint-disable deprecation/deprecation */
+  /*  eslint-disable @typescript-eslint/no-deprecated */
   s.listTextColor = s.listText + dep;
   s.menuItemBackgroundChecked += dep;
   s.warningHighlight += dep;
   s.warningText = s.messageText + dep;
   s.successText += dep;
-  /* eslint-enable deprecation/deprecation */
+  /* eslint-enable @typescript-eslint/no-deprecated */
   return s;
 }
diff --git a/packages/utilities/src/BaseComponent.test.tsx b/packages/utilities/src/BaseComponent.test.tsx
index 3849bdbabc2cdd..8a3a69903db364 100644
--- a/packages/utilities/src/BaseComponent.test.tsx
+++ b/packages/utilities/src/BaseComponent.test.tsx
@@ -5,12 +5,12 @@ import { BaseComponent } from './BaseComponent';
 
 describe('BaseComponent', () => {
   it('can resolve refs', () => {
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     class Foo extends BaseComponent<{}, {}> {
       public root!: HTMLElement;
 
       public render(): JSX.Element {
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         return <div ref={this._resolveRef('root')} />;
       }
     }
diff --git a/packages/utilities/src/BaseComponent.ts b/packages/utilities/src/BaseComponent.ts
index fe3cc82b45ac72..2788bf3977e872 100644
--- a/packages/utilities/src/BaseComponent.ts
+++ b/packages/utilities/src/BaseComponent.ts
@@ -49,7 +49,7 @@ export class BaseComponent<TProps extends IBaseProps = {}, TState extends {} = {
   constructor(props: TProps, context?: any) {
     super(props, context);
 
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     _makeAllSafe(this, BaseComponent.prototype, [
       'componentDidMount',
       'shouldComponentUpdate',
@@ -235,14 +235,14 @@ export class BaseComponent<TProps extends IBaseProps = {}, TState extends {} = {
  * ensures that the BaseComponent's methods are called before the subclass's. This ensures that
  * componentWillUnmount in the base is called and that things in the _disposables array are disposed.
  */
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 function _makeAllSafe(obj: BaseComponent<{}, {}>, prototype: Object, methodNames: string[]): void {
   for (let i = 0, len = methodNames.length; i < len; i++) {
     _makeSafe(obj, prototype, methodNames[i]);
   }
 }
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 function _makeSafe(obj: BaseComponent<{}, {}>, prototype: Object, methodName: string): void {
   /* eslint-disable @typescript-eslint/no-explicit-any */
   let classMethod = (obj as any)[methodName];
diff --git a/packages/utilities/src/EventGroup.test.ts b/packages/utilities/src/EventGroup.test.ts
index 69fbe727767cbc..3c6638edf1ce34 100644
--- a/packages/utilities/src/EventGroup.test.ts
+++ b/packages/utilities/src/EventGroup.test.ts
@@ -13,7 +13,7 @@ describe('EventGroup', () => {
     let ev = document.createEvent('HTMLEvents');
 
     eg.on(sourceButton, 'click', parent.cb);
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     ev.initEvent('click', true, true);
 
     sourceButton.dispatchEvent(ev);
@@ -150,7 +150,7 @@ describe('EventGroup', () => {
     try {
       let ev = document.createEvent('HTMLEvents');
 
-      // eslint-disable-next-line deprecation/deprecation
+      // eslint-disable-next-line @typescript-eslint/no-deprecated
       ev.initEvent('click', true, true);
 
       grandChildButton.dispatchEvent(ev);
diff --git a/packages/utilities/src/EventGroup.ts b/packages/utilities/src/EventGroup.ts
index 3ea6e16961a466..528307a3cba0db 100644
--- a/packages/utilities/src/EventGroup.ts
+++ b/packages/utilities/src/EventGroup.ts
@@ -76,7 +76,7 @@ export class EventGroup {
       if (typeof theDoc !== 'undefined' && theDoc.createEvent) {
         let ev = theDoc.createEvent('HTMLEvents');
 
-        // eslint-disable-next-line deprecation/deprecation
+        // eslint-disable-next-line @typescript-eslint/no-deprecated
         ev.initEvent(eventName, bubbleEvent || false, true);
 
         assign(ev, eventArgs);
diff --git a/packages/utilities/src/customizations/Customizer.test.tsx b/packages/utilities/src/customizations/Customizer.test.tsx
index 2c2415f50aeef6..7e6c25d3d4258b 100644
--- a/packages/utilities/src/customizations/Customizer.test.tsx
+++ b/packages/utilities/src/customizations/Customizer.test.tsx
@@ -1,4 +1,4 @@
-/* eslint-disable deprecation/deprecation */
+/*  eslint-disable @typescript-eslint/no-deprecated */
 import * as React from 'react';
 import { customizable } from './customizable';
 import { Customizer } from './Customizer';
diff --git a/packages/utilities/src/customizations/customizable.test.tsx b/packages/utilities/src/customizations/customizable.test.tsx
index 684f74ef09c837..56993647461b57 100644
--- a/packages/utilities/src/customizations/customizable.test.tsx
+++ b/packages/utilities/src/customizations/customizable.test.tsx
@@ -1,4 +1,4 @@
-/* eslint-disable deprecation/deprecation */
+/*  eslint-disable @typescript-eslint/no-deprecated */
 import * as React from 'react';
 import * as ReactDOM from 'react-dom/server';
 import { mount } from 'enzyme';
diff --git a/packages/utilities/src/dom.ts b/packages/utilities/src/dom.ts
index 8738039b4d6ff5..8dd977bc331fa2 100644
--- a/packages/utilities/src/dom.ts
+++ b/packages/utilities/src/dom.ts
@@ -15,7 +15,7 @@ export { isVirtualElement } from './dom/isVirtualElement';
 export { on } from './dom/on';
 export { portalContainsElement } from './dom/portalContainsElement';
 export {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   raiseClick,
 } from './dom/raiseClick';
 export { DATA_PORTAL_ATTRIBUTE, setPortalAttribute } from './dom/setPortalAttribute';
diff --git a/packages/utilities/src/dom/canUseDOM.ts b/packages/utilities/src/dom/canUseDOM.ts
index e7289568b5a152..2481a308eccb07 100644
--- a/packages/utilities/src/dom/canUseDOM.ts
+++ b/packages/utilities/src/dom/canUseDOM.ts
@@ -6,7 +6,7 @@ export function canUseDOM(): boolean {
     // eslint-disable-next-line no-restricted-globals
     typeof window !== 'undefined' &&
     !!(
-      // eslint-disable-next-line no-restricted-globals, deprecation/deprecation
+      // eslint-disable-next-line no-restricted-globals, @typescript-eslint/no-deprecated
       (window.document && window.document.createElement)
     )
   );
diff --git a/packages/utilities/src/dom/raiseClick.ts b/packages/utilities/src/dom/raiseClick.ts
index fecf98ccca3b71..f9452a88f4e9f3 100644
--- a/packages/utilities/src/dom/raiseClick.ts
+++ b/packages/utilities/src/dom/raiseClick.ts
@@ -6,7 +6,7 @@ import { getDocument } from './getDocument';
 export function raiseClick(target: Element, doc?: Document): void {
   const theDoc = doc ?? getDocument()!;
   const event = createNewEvent('MouseEvents', theDoc);
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   event.initEvent('click', true, true);
   target.dispatchEvent(event);
 }
@@ -19,7 +19,7 @@ function createNewEvent(eventName: string, doc: Document): Event {
   } else {
     // IE
     event = doc.createEvent('Event');
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     event.initEvent(eventName, true, true);
   }
   return event;
diff --git a/packages/utilities/src/index.ts b/packages/utilities/src/index.ts
index bc7e47059ddb0c..6e99fd0ab3c63f 100644
--- a/packages/utilities/src/index.ts
+++ b/packages/utilities/src/index.ts
@@ -2,7 +2,7 @@ export { Async } from './Async';
 export type { ICancelable } from './Async';
 export { AutoScroll } from './AutoScroll';
 export {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   BaseComponent,
   nullRender,
 } from './BaseComponent';
@@ -17,13 +17,13 @@ export type { IPerfData, IPerfMeasurement, IPerfSummary } from './FabricPerforma
 export { GlobalSettings } from './GlobalSettings';
 export type { IChangeDescription, IChangeEventCallback } from './GlobalSettings';
 export type {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   IClassNames,
 } from './IClassNames';
 export type { IComponentAs, IComponentAsProps } from './IComponentAs';
 export type { IDisposable } from './IDisposable';
 export type {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   IPoint,
   Point,
 } from './Point';
@@ -62,13 +62,13 @@ export type {
   ICustomizations,
   ISettings,
   ISettingsFunction,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   Settings,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   SettingsFunction,
 } from './customizations/Customizations';
 export {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   Customizer,
 } from './customizations/Customizer';
 export type { ICustomizerProps } from './customizations/Customizer.types';
@@ -95,7 +95,7 @@ export {
   isVirtualElement,
   on,
   portalContainsElement,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   raiseClick,
   setPortalAttribute,
   setVirtualParent,
@@ -127,7 +127,7 @@ export { hoistMethods, unhoistMethods } from './hoist';
 export { hoistStatics } from './hoistStatics';
 export { initializeComponentRef } from './initializeComponentRef';
 export {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   initializeFocusRects,
 } from './initializeFocusRects';
 export { FocusRectsProvider } from './FocusRectsProvider';
@@ -138,7 +138,7 @@ export { getInitials } from './initials';
 export { addDirectionalKeyCode, isDirectionalKeyCode, removeDirectionalKeyCode } from './keyboard';
 export {
   getLanguage,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   setLanguage,
 } from './language';
 export { calculatePrecision, fitContentToBounds, getDistanceBetweenPoints, precisionRound } from './math';
@@ -163,7 +163,7 @@ export {
   getNativeProps,
   htmlElementProperties,
   iframeProperties,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   imageProperties,
   imgProperties,
   inputProperties,
@@ -181,9 +181,9 @@ export {
 } from './properties';
 export { composeRenderFunction } from './renderFunction/composeRenderFunction';
 export {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   getResourceUrl,
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   setBaseUrl,
 } from './resources';
 export { getRTL, getRTLSafeKeyCode, setRTL } from './rtl';
@@ -228,14 +228,14 @@ export { isIE11 } from './ie11Detector';
 export { getPropsWithDefaults } from './getPropsWithDefaults';
 export { setFocusVisibility, IsFocusVisibleClassName } from './setFocusVisibility';
 export { canUseDOM } from './dom/canUseDOM';
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export { setSSR } from './dom/setSSR';
 export { createMergedRef } from './createMergedRef';
 export { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
 
 import './version';
 
-// eslint-disable-next-line deprecation/deprecation
+// eslint-disable-next-line @typescript-eslint/no-deprecated
 export type { IStyleFunctionOrObject, Omit } from '@fluentui/merge-styles';
 
 export {
diff --git a/packages/utilities/src/initializeFocusRects.test.ts b/packages/utilities/src/initializeFocusRects.test.ts
index 42969ad28137ce..9f1fdab3b09ffc 100644
--- a/packages/utilities/src/initializeFocusRects.test.ts
+++ b/packages/utilities/src/initializeFocusRects.test.ts
@@ -38,7 +38,7 @@ describe('initializeFocusRects', () => {
 
   beforeEach(() => {
     classNames = [];
-    // eslint-disable-next-line deprecation/deprecation
+    // eslint-disable-next-line @typescript-eslint/no-deprecated
     initializeFocusRects(mockWindow as Window);
   });
 
diff --git a/packages/utilities/src/initializeFocusRects.ts b/packages/utilities/src/initializeFocusRects.ts
index 30f4075886f52b..4fe8c9de82f587 100644
--- a/packages/utilities/src/initializeFocusRects.ts
+++ b/packages/utilities/src/initializeFocusRects.ts
@@ -50,6 +50,6 @@ function _onPointerDown(ev: PointerEvent): void {
 }
 
 function _onKeyDown(ev: KeyboardEvent): void {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   isDirectionalKeyCode(ev.which) && setFocusVisibility(true, ev.target as Element);
 }
diff --git a/packages/utilities/src/math.ts b/packages/utilities/src/math.ts
index ef34f23734b395..576c53474cfce8 100644
--- a/packages/utilities/src/math.ts
+++ b/packages/utilities/src/math.ts
@@ -6,13 +6,13 @@ import type { ISize } from './ISize';
  *
  * @public
  */
-/* eslint-disable deprecation/deprecation */
+/*  eslint-disable @typescript-eslint/no-deprecated */
 export function getDistanceBetweenPoints(point1: Point, point2: Point): number {
   const left1 = point1.left || point1.x || 0;
   const top1 = point1.top || point1.y || 0;
   const left2 = point2.left || point2.x || 0;
   const top2 = point2.top || point2.y || 0;
-  /* eslint-enable deprecation/deprecation */
+  /* eslint-enable @typescript-eslint/no-deprecated */
 
   let distance = Math.sqrt(Math.pow(left1 - left2, 2) + Math.pow(top1 - top2, 2));
 
diff --git a/packages/utilities/src/styled.test.tsx b/packages/utilities/src/styled.test.tsx
index 5c6464ba1c8f74..699438500d6b38 100644
--- a/packages/utilities/src/styled.test.tsx
+++ b/packages/utilities/src/styled.test.tsx
@@ -1,4 +1,4 @@
-/* eslint-disable deprecation/deprecation */
+/*  eslint-disable @typescript-eslint/no-deprecated */
 import * as React from 'react';
 import * as ReactTestUtils from 'react-dom/test-utils';
 import { styled } from './styled';
diff --git a/packages/utilities/src/useFocusRects.ts b/packages/utilities/src/useFocusRects.ts
index e1fad6a9a085fb..b302c3e032cb86 100644
--- a/packages/utilities/src/useFocusRects.ts
+++ b/packages/utilities/src/useFocusRects.ts
@@ -180,14 +180,14 @@ function _onPointerDown(ev: PointerEvent, registeredProviders?: React.RefObject<
 // This works because `classList.add` is smart and will not duplicate a classname that already exists on the classList
 // when focus visibility is turned on.
 function _onKeyDown(ev: KeyboardEvent, registeredProviders?: React.RefObject<HTMLElement>[]): void {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   if (isDirectionalKeyCode(ev.which)) {
     setFocusVisibility(true, ev.target as Element, registeredProviders);
   }
 }
 
 function _onKeyUp(ev: KeyboardEvent, registeredProviders?: React.RefObject<HTMLElement>[]): void {
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   if (isDirectionalKeyCode(ev.which)) {
     setFocusVisibility(true, ev.target as Element, registeredProviders);
   }
diff --git a/packages/webpack-utilities/.eslintrc.json b/packages/webpack-utilities/.eslintrc.json
index 9f62e5a326378a..a563e7abd8369c 100644
--- a/packages/webpack-utilities/.eslintrc.json
+++ b/packages/webpack-utilities/.eslintrc.json
@@ -3,7 +3,14 @@
   "root": true,
   "rules": {
     "@typescript-eslint/no-explicit-any": "off",
-    "deprecation/deprecation": "off",
     "prefer-arrow-callback": "off"
-  }
+  },
+  "overrides": [
+    {
+      "files": ["**/*.{ts,tsx}"],
+      "rules": {
+        "@typescript-eslint/no-deprecated": "off"
+      }
+    }
+  ]
 }
diff --git a/scripts/executors/src/generate-ui.ts b/scripts/executors/src/generate-ui.ts
index d33049b7943ea6..f5edaf8adb0488 100644
--- a/scripts/executors/src/generate-ui.ts
+++ b/scripts/executors/src/generate-ui.ts
@@ -29,7 +29,7 @@ main()
 async function main() {
   const graph = await createProjectGraphAsync();
   const projects = readProjectsConfigurationFromProjectGraph(graph);
-  // eslint-disable-next-line deprecation/deprecation
+  // eslint-disable-next-line @typescript-eslint/no-deprecated
   const nxJson = readNxJson();
   if (!nxJson) {
     throw new Error('nx.json not found');
diff --git a/scripts/tasks/src/index.ts b/scripts/tasks/src/index.ts
index b8525731e60e8a..51f89644e2127a 100644
--- a/scripts/tasks/src/index.ts
+++ b/scripts/tasks/src/index.ts
@@ -9,13 +9,11 @@ export {
   basicWebpackConfig,
   basicWebpackServeConfig,
   chain,
-  // eslint-disable-next-line deprecation/deprecation
   cleanTask,
   clearCache,
   condition,
   copyInstructions,
   copyInstructionsTask,
-  // eslint-disable-next-line deprecation/deprecation
   copyTask,
   createStylesOverlay,
   createTarTask,
@@ -36,11 +34,8 @@ export {
   prettierCheckTask,
   prettierTask,
   resetResolvePaths,
-  // eslint-disable-next-line deprecation/deprecation
   resolve,
-  // eslint-disable-next-line deprecation/deprecation
   resolveCwd,
-  // eslint-disable-next-line deprecation/deprecation
   sassTask,
   series,
   spawn,
diff --git a/syncpack.config.js b/syncpack.config.js
index 4618b062fcb92e..0e3e0b1fcdc4a4 100644
--- a/syncpack.config.js
+++ b/syncpack.config.js
@@ -47,7 +47,6 @@ const config = {
         'eslint-config-airbnb',
         'eslint-config-prettier',
         'eslint-import-resolver-typescript',
-        'eslint-plugin-deprecation',
         'eslint-plugin-import',
         'eslint-plugin-jest',
         'eslint-plugin-jsx-a11y',
diff --git a/yarn.lock b/yarn.lock
index e52755aa7c44f5..ccea6816c1add4 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6188,7 +6188,7 @@
     "@typescript-eslint/types" "8.8.1"
     "@typescript-eslint/typescript-estree" "8.8.1"
 
-"@typescript-eslint/utils@^7.0.0", "@typescript-eslint/utils@^7.9.0":
+"@typescript-eslint/utils@^7.9.0":
   version "7.18.0"
   resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f"
   integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==
@@ -10886,15 +10886,6 @@ eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0:
   dependencies:
     debug "^3.2.7"
 
-eslint-plugin-deprecation@3.0.0, eslint-plugin-deprecation@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-deprecation/-/eslint-plugin-deprecation-3.0.0.tgz#c0b6bce543c2a01f231d39a1c54fdfebf3560d48"
-  integrity sha512-JuVLdNg/uf0Adjg2tpTyYoYaMbwQNn/c78P1HcccokvhtRphgnRjZDKmhlxbxYptppex03zO76f97DD/yQHv7A==
-  dependencies:
-    "@typescript-eslint/utils" "^7.0.0"
-    ts-api-utils "^1.3.0"
-    tslib "^2.3.1"
-
 eslint-plugin-es@4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz#f0822f0c18a535a97c3e714e89f88586a7641ec9"

From 556fc8e7b9a921cedbb07c2f0670dfabcf8ec0ed Mon Sep 17 00:00:00 2001
From: srmukher <120183316+srmukher@users.noreply.github.com>
Date: Fri, 17 Jan 2025 21:02:05 +0530
Subject: [PATCH 60/78] Enable 'tozeroy' mode for Area Charts (#33581)

---
 ...-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json |    7 +
 .../react-charting/etc/react-charting.api.md  |    1 +
 .../components/AreaChart/AreaChart.base.tsx   |   91 +-
 .../components/AreaChart/AreaChart.types.ts   |    6 +
 .../AreaChart/AreaChartRTL.test.tsx           |   10 +
 .../__snapshots__/AreaChartRTL.test.tsx.snap  | 1142 +++++++++++++++++
 .../DeclarativeChart/PlotlySchemaAdapter.ts   |    3 +
 .../PlotlySchemaAdapterUT.test.tsx.snap       |    2 +
 .../AreaChart/AreaChart.Basic.Example.tsx     |   19 +-
 9 files changed, 1245 insertions(+), 36 deletions(-)
 create mode 100644 change/@fluentui-react-charting-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json

diff --git a/change/@fluentui-react-charting-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json b/change/@fluentui-react-charting-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json
new file mode 100644
index 00000000000000..c5392850b45987
--- /dev/null
+++ b/change/@fluentui-react-charting-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "Support tozeroy mode for Area Charts",
+  "packageName": "@fluentui/react-charting",
+  "email": "120183316+srmukher@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/charts/react-charting/etc/react-charting.api.md b/packages/charts/react-charting/etc/react-charting.api.md
index 3d1c49be07983f..207610b95c35a0 100644
--- a/packages/charts/react-charting/etc/react-charting.api.md
+++ b/packages/charts/react-charting/etc/react-charting.api.md
@@ -200,6 +200,7 @@ export interface IAreaChartProps extends ICartesianChartProps {
     data: IChartProps;
     enableGradient?: boolean;
     enablePerfOptimization?: boolean;
+    mode?: 'tozeroy' | 'tonexty';
     onRenderCalloutPerDataPoint?: IRenderFunction<ICustomizedCalloutData>;
     onRenderCalloutPerStack?: IRenderFunction<ICustomizedCalloutData>;
     // (undocumented)
diff --git a/packages/charts/react-charting/src/components/AreaChart/AreaChart.base.tsx b/packages/charts/react-charting/src/components/AreaChart/AreaChart.base.tsx
index 02933ecb66672e..d4411e51c3d674 100644
--- a/packages/charts/react-charting/src/components/AreaChart/AreaChart.base.tsx
+++ b/packages/charts/react-charting/src/components/AreaChart/AreaChart.base.tsx
@@ -64,7 +64,7 @@ export interface IAreaChartAreaPoint {
   values: IAreaChartDataSetPoint;
 }
 export interface IAreaChartDataSetPoint {
-  [key: string]: number | string;
+  [key: string]: number | string | number[];
 }
 export interface IDPointType {
   values: { 0: number; 1: number; data: {} };
@@ -102,7 +102,7 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
     colors: string[];
     opacity: number[];
     // eslint-disable-next-line @typescript-eslint/no-explicit-any
-    stackedInfo: any;
+    data: any;
     // eslint-disable-next-line @typescript-eslint/no-explicit-any
     calloutPoints: any;
   };
@@ -113,7 +113,7 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
   private _circleId: string;
   private _uniqueCallOutID: string;
   // eslint-disable-next-line @typescript-eslint/no-explicit-any
-  private _stackedData: any;
+  private _data: any;
   private _chart: JSX.Element[];
   private margins: IMargins;
   private _rectId: string;
@@ -184,12 +184,12 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
     if (!this._isChartEmpty()) {
       const { lineChartData } = this.props.data;
       const points = this._addDefaultColors(lineChartData);
-      const { colors, opacity, stackedInfo, calloutPoints } = this._createSet(points);
+      const { colors, opacity, data, calloutPoints } = this._createSet(points);
       this._calloutPoints = calloutPoints;
       const isXAxisDateType = getXAxisType(points);
       this._colors = colors;
       this._opacity = opacity;
-      this._stackedData = stackedInfo.stackedData;
+      this._data = data.renderData;
       const legends: JSX.Element = this._getLegendData(points);
 
       const tickParams = {
@@ -223,7 +223,7 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
           isCalloutForStack
           xAxisType={isXAxisDateType ? XAxisTypes.DateAxis : XAxisTypes.NumericAxis}
           tickParams={tickParams}
-          maxOfYVal={stackedInfo.maxOfYVal}
+          maxOfYVal={data.maxOfYVal}
           getGraphData={this._getGraphData}
           getDomainNRangeValues={this._getDomainNRangeValues}
           createStringYAxis={createStringYAxis}
@@ -434,27 +434,47 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
   };
 
   // eslint-disable-next-line @typescript-eslint/no-explicit-any
-  private _getStackedData = (keys: string[], dataSet: any) => {
-    const stackedValues = d3Stack().keys(keys)(dataSet);
-    const maxOfYVal = d3Max(stackedValues[stackedValues.length - 1], dp => dp[1])!;
-    const stackedData: Array<IAreaChartDataSetPoint[]> = [];
-    // eslint-disable-next-line @typescript-eslint/no-explicit-any
-    stackedValues.forEach((layer: any) => {
-      const currentStack: IAreaChartDataSetPoint[] = [];
+  private _getDataPoints = (keys: string[], dataSet: any) => {
+    const renderPoints: Array<IAreaChartDataSetPoint[]> = [];
+    let maxOfYVal = 0;
+
+    if (this.props.mode === 'tozeroy') {
+      keys.forEach((key, index) => {
+        const currentLayer: IAreaChartDataSetPoint[] = [];
+        // eslint-disable-next-line @typescript-eslint/no-explicit-any
+        dataSet.forEach((d: any) => {
+          currentLayer.push({
+            values: [0, d[key]], // Start from zero for "tozeroy" mode
+            xVal: d.xVal,
+          });
+          if (d[key] > maxOfYVal) {
+            maxOfYVal = d[key];
+          }
+        });
+        renderPoints.push(currentLayer);
+      });
+    } else {
+      const dataValues = d3Stack().keys(keys)(dataSet);
+      maxOfYVal = d3Max(dataValues[dataValues.length - 1], dp => dp[1])!;
       // eslint-disable-next-line @typescript-eslint/no-explicit-any
-      layer.forEach((d: any) => {
-        currentStack.push({
-          values: d,
-          xVal: d.data.xVal,
+      dataValues.forEach((layer: any) => {
+        const currentLayer: IAreaChartDataSetPoint[] = [];
+        // eslint-disable-next-line @typescript-eslint/no-explicit-any
+        layer.forEach((d: any) => {
+          currentLayer.push({
+            values: d,
+            xVal: d.data.xVal,
+          });
         });
+        renderPoints.push(currentLayer);
       });
-      stackedData.push(currentStack);
-    });
+    }
+
     this._isMultiStackChart = !!(this.props.legendProps?.selectedLegends
-      ? stackedData?.length >= 1
-      : stackedData?.length > 1);
+      ? renderPoints?.length >= 1
+      : renderPoints?.length > 1);
     return {
-      stackedData,
+      renderData: renderPoints,
       maxOfYVal,
     };
   };
@@ -498,7 +518,7 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
         dataSet.push(singleDataset);
       });
 
-      // get keys from dataset, used to create stacked data
+      // get keys from dataset, used to render data
       const keysLength: number = dataSet && Object.keys(dataSet[0])!.length;
       const keys: string[] = [];
       for (let i = 0; i < keysLength - 1; i++) {
@@ -506,14 +526,14 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
         keys.push(keyVal);
       }
 
-      // Stacked Info used to draw graph
-      const stackedInfo = this._getStackedData(keys, dataSet);
+      // Data used to draw graph
+      const data = this._getDataPoints(keys, dataSet);
 
       return {
         colors,
         opacity,
         keys,
-        stackedInfo,
+        data,
         calloutPoints,
       };
     } else {
@@ -559,14 +579,14 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
         keys.push(keyVal);
       }
 
-      // Stacked Info used to draw graph
-      const stackedInfo = this._getStackedData(keys, dataSet);
+      // Data used to draw graph
+      const data = this._getDataPoints(keys, dataSet);
 
       return {
         colors,
         opacity,
         keys,
-        stackedInfo,
+        data,
         calloutPoints,
       };
     }
@@ -723,7 +743,8 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
     const graph: JSX.Element[] = [];
     let lineColor: string;
     // eslint-disable-next-line @typescript-eslint/no-explicit-any
-    this._stackedData.forEach((singleStackedData: Array<any>, index: number) => {
+    this._data.forEach((singleStackedData: Array<any>, index: number) => {
+      const layerOpacity = this.props.mode === 'tozeroy' ? 0.8 : this._opacity[index];
       graph.push(
         <React.Fragment key={`${index}-graph-${this._uniqueIdForGraph}`}>
           {this.props.enableGradient && (
@@ -757,7 +778,7 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
               stroke={this._colors[index]}
               strokeWidth={3}
               fill={this._colors[index]}
-              opacity={this._opacity[index]}
+              opacity={layerOpacity}
               fillOpacity={this._getOpacity(points[index]!.legend)}
               onMouseMove={this._onRectMouseMove}
               onMouseOut={this._onRectMouseOut}
@@ -768,7 +789,7 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
               id={`${index}-graph-${this._uniqueIdForGraph}`}
               d={area(singleStackedData)!}
               fill={this.props.enableGradient ? `url(#gradient_${index})` : this._colors[index]}
-              opacity={this._opacity[index]}
+              opacity={layerOpacity}
               fillOpacity={this._getOpacity(points[index]!.legend)}
               onMouseMove={this._onRectMouseMove}
               onMouseOut={this._onRectMouseOut}
@@ -788,7 +809,7 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
 
     const circleRadius = pointOptions && pointOptions.r ? Number(pointOptions.r) : 8;
     // eslint-disable-next-line @typescript-eslint/no-explicit-any
-    this._stackedData.forEach((singleStackedData: Array<any>, index: number) => {
+    this._data.forEach((singleStackedData: Array<any>, index: number) => {
       if (points.length === index) {
         return;
       }
@@ -806,7 +827,7 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
             } data points.`}
           >
             {singleStackedData.map((singlePoint: IDPointType, pointIndex: number) => {
-              const circleId = `${this._circleId}_${index * this._stackedData[0].length + pointIndex}`;
+              const circleId = `${this._circleId}_${index * this._data[0].length + pointIndex}`;
               const xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;
               lineColor = points[index]!.color!;
               const legend = points[index]!.legend;
@@ -839,7 +860,7 @@ export class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartSt
         singleStackedData.forEach((singlePoint: IDPointType, pointIndex: number) => {
           const xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;
           if (this.state.nearestCircleToHighlight === xDataPoint) {
-            const circleId = `${this._circleId}_${index * this._stackedData[0].length + pointIndex}`;
+            const circleId = `${this._circleId}_${index * this._data[0].length + pointIndex}`;
             lineColor = points[index]!.color!;
             const legend = points[index]!.legend;
             graph.push(
diff --git a/packages/charts/react-charting/src/components/AreaChart/AreaChart.types.ts b/packages/charts/react-charting/src/components/AreaChart/AreaChart.types.ts
index f0aa8a6e77eaf9..b0ff53bf52f3c5 100644
--- a/packages/charts/react-charting/src/components/AreaChart/AreaChart.types.ts
+++ b/packages/charts/react-charting/src/components/AreaChart/AreaChart.types.ts
@@ -70,6 +70,12 @@ export interface IAreaChartProps extends ICartesianChartProps {
    * The prop used to enable gradient fill color for the chart.
    */
   enableGradient?: boolean;
+
+  /**
+   * @default tonexty
+   * The prop used to define the Y axis mode (tonexty or tozeroy)
+   */
+  mode?: 'tozeroy' | 'tonexty';
 }
 
 /**
diff --git a/packages/charts/react-charting/src/components/AreaChart/AreaChartRTL.test.tsx b/packages/charts/react-charting/src/components/AreaChart/AreaChartRTL.test.tsx
index f054dd4a1ceb71..12977fac2432d6 100644
--- a/packages/charts/react-charting/src/components/AreaChart/AreaChartRTL.test.tsx
+++ b/packages/charts/react-charting/src/components/AreaChart/AreaChartRTL.test.tsx
@@ -512,6 +512,16 @@ describe('Area chart rendering', () => {
       expect(container).toMatchSnapshot();
     },
   );
+
+  testWithoutWait(
+    'Should render the Area Chart with tozeroy mode',
+    AreaChart,
+    { data: chartData, mode: 'tozeroy' },
+    container => {
+      //Asset
+      expect(container).toMatchSnapshot();
+    },
+  );
 });
 
 describe('Area chart - Subcomponent Area', () => {
diff --git a/packages/charts/react-charting/src/components/AreaChart/__snapshots__/AreaChartRTL.test.tsx.snap b/packages/charts/react-charting/src/components/AreaChart/__snapshots__/AreaChartRTL.test.tsx.snap
index 83e1e7b66fa1e9..d151a2c1ec4583 100644
--- a/packages/charts/react-charting/src/components/AreaChart/__snapshots__/AreaChartRTL.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/AreaChart/__snapshots__/AreaChartRTL.test.tsx.snap
@@ -1142,6 +1142,1148 @@ exports[`Area chart rendering Should render the Area Chart with negative y value
 </div>
 `;
 
+exports[`Area chart rendering Should render the Area Chart with tozeroy mode 1`] = `
+<div>
+  <div
+    class=
+
+        {
+          -moz-osx-font-smoothing: grayscale;
+          -webkit-font-smoothing: antialiased;
+          display: flex;
+          flex-direction: column;
+          font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
+          font-size: 14px;
+          font-weight: 400;
+          height: 100%;
+          overflow: hidden;
+          width: 100%;
+        }
+    id="chart_6"
+  >
+    <div
+      id="defaultTabbableElement_7"
+    />
+    <div
+      class=
+          ms-FocusZone
+          &:focus {
+            outline: none;
+          }
+          {
+            overflow: auto;
+          }
+      data-focuszone-id="FocusZone8"
+      data-tabster="{\\"uncontrolled\\": {}}"
+    >
+      <svg
+        aria-label="Area chart multiple example. Area chart with 3 data series. The X axis displays values. The Y axis displays values. "
+        focusable="false"
+        height="292"
+        role="region"
+        style="display: block;"
+        width="650"
+      >
+        <g
+          class=
+
+              & text {
+                -moz-osx-font-smoothing: grayscale;
+                -webkit-font-smoothing: antialiased;
+                fill: #323130;
+                font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
+                font-size: 10px;
+                font-weight: 600;
+              }
+              @media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark){& text {
+                fill: rgb(179, 179, 179);
+              }
+              & line {
+                opacity: 0.2;
+                stroke: #323130;
+                width: 1px;
+              }
+              @media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark){& line {
+                opacity: 0.1;
+                stroke: rgb(179, 179, 179);
+              }
+              & path {
+                display: none;
+              }
+          fill="none"
+          font-family="sans-serif"
+          font-size="10"
+          id="xAxisGElementchart_6"
+          text-anchor="middle"
+          transform="translate(0, 257)"
+        >
+          <path
+            class="domain"
+            d="M40.5,6V0.5H630.5V6"
+            stroke="currentColor"
+          />
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(40.5,0)"
+          >
+            <line
+              stroke="currentColor"
+              y2="6"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.71em"
+              fill="currentColor"
+              y="16"
+            >
+              20
+            </text>
+          </g>
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(171.61111111111111,0)"
+          >
+            <line
+              stroke="currentColor"
+              y2="6"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.71em"
+              fill="currentColor"
+              y="16"
+            >
+              30
+            </text>
+          </g>
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(302.72222222222223,0)"
+          >
+            <line
+              stroke="currentColor"
+              y2="6"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.71em"
+              fill="currentColor"
+              y="16"
+            >
+              40
+            </text>
+          </g>
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(433.8333333333333,0)"
+          >
+            <line
+              stroke="currentColor"
+              y2="6"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.71em"
+              fill="currentColor"
+              y="16"
+            >
+              50
+            </text>
+          </g>
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(564.9444444444445,0)"
+          >
+            <line
+              stroke="currentColor"
+              y2="6"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.71em"
+              fill="currentColor"
+              y="16"
+            >
+              60
+            </text>
+          </g>
+        </g>
+        <g
+          class=
+
+              & text {
+                -moz-osx-font-smoothing: grayscale;
+                -webkit-font-smoothing: antialiased;
+                fill: #323130;
+                font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
+                font-size: 10px;
+                font-weight: 600;
+              }
+              @media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark){& text {
+                fill: rgb(179, 179, 179);
+              }
+              & path {
+                display: none;
+              }
+              & line {
+                opacity: 0.2;
+                stroke: #323130;
+              }
+              @media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark){& line {
+                opacity: 0.1;
+                stroke: rgb(179, 179, 179);
+              }
+          fill="none"
+          font-family="sans-serif"
+          font-size="10"
+          id="yAxisGElementchart_6"
+          text-anchor="end"
+          transform="translate(40, 0)"
+        >
+          <path
+            class="domain"
+            d="M-6,257.5H0.5V20.5H-6"
+            stroke="currentColor"
+          />
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(0,257.5)"
+          >
+            <line
+              stroke="currentColor"
+              x2="590"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.32em"
+              fill="currentColor"
+              x="-10"
+            >
+              0
+            </text>
+          </g>
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(0,198.25)"
+          >
+            <line
+              stroke="currentColor"
+              x2="590"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.32em"
+              fill="currentColor"
+              x="-10"
+            >
+              15
+            </text>
+          </g>
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(0,139)"
+          >
+            <line
+              stroke="currentColor"
+              x2="590"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.32em"
+              fill="currentColor"
+              x="-10"
+            >
+              30
+            </text>
+          </g>
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(0,79.75)"
+          >
+            <line
+              stroke="currentColor"
+              x2="590"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.32em"
+              fill="currentColor"
+              x="-10"
+            >
+              45
+            </text>
+          </g>
+          <g
+            class="tick"
+            opacity="1"
+            transform="translate(0,20.5)"
+          >
+            <line
+              stroke="currentColor"
+              x2="590"
+            />
+            <text
+              aria-hidden="true"
+              dy="0.32em"
+              fill="currentColor"
+              x="-10"
+            >
+              60
+            </text>
+          </g>
+        </g>
+        <g>
+          <rect
+            fill="transparent"
+            height="272"
+            id="rectangle3"
+            width="630"
+          />
+        </g>
+        <g>
+          <path
+            d="M40,221.45C61.852,211.575,83.704,201.7,105.556,201.7C127.407,201.7,149.259,201.7,171.111,201.7C192.963,201.7,214.815,166.15,236.667,166.15C258.519,166.15,280.37,178,302.222,178C324.074,178,345.926,134.55,367.778,134.55C389.63,134.55,411.481,139.817,433.333,142.45C455.185,145.083,477.037,150.35,498.889,150.35C520.741,150.35,542.593,126.65,564.444,110.85C586.296,95.05,608.148,75.3,630,55.55"
+            fill="transparent"
+            id="0-line-areaChart_0"
+            opacity="0.3"
+            stroke="green"
+            stroke-width="3"
+          />
+          <path
+            d="M40,221.45C61.852,211.575,83.704,201.7,105.556,201.7C127.407,201.7,149.259,201.7,171.111,201.7C192.963,201.7,214.815,166.15,236.667,166.15C258.519,166.15,280.37,178,302.222,178C324.074,178,345.926,134.55,367.778,134.55C389.63,134.55,411.481,139.817,433.333,142.45C455.185,145.083,477.037,150.35,498.889,150.35C520.741,150.35,542.593,126.65,564.444,110.85C586.296,95.05,608.148,75.3,630,55.55L630,257C608.148,257,586.296,257,564.444,257C542.593,257,520.741,257,498.889,257C477.037,257,455.185,257,433.333,257C411.481,257,389.63,257,367.778,257C345.926,257,324.074,257,302.222,257C280.37,257,258.519,257,236.667,257C214.815,257,192.963,257,171.111,257C149.259,257,127.407,257,105.556,257C83.704,257,61.852,257,40,257Z"
+            fill="green"
+            fill-opacity="0.7"
+            id="0-graph-areaChart_0"
+            opacity="0.8"
+          />
+          <path
+            d="M40,174.05C61.852,166.15,83.704,158.25,105.556,158.25C127.407,158.25,149.259,217.5,171.111,217.5C192.963,217.5,214.815,217.5,236.667,217.5C258.519,217.5,280.37,206.967,302.222,201.7C324.074,196.433,345.926,185.9,367.778,185.9C389.63,185.9,411.481,221.45,433.333,221.45C455.185,221.45,477.037,166.15,498.889,166.15C520.741,166.15,542.593,229.35,564.444,229.35C586.296,229.35,608.148,134.55,630,39.75"
+            fill="transparent"
+            id="1-line-areaChart_0"
+            opacity="0.3"
+            stroke="yellow"
+            stroke-width="3"
+          />
+          <path
+            d="M40,174.05C61.852,166.15,83.704,158.25,105.556,158.25C127.407,158.25,149.259,217.5,171.111,217.5C192.963,217.5,214.815,217.5,236.667,217.5C258.519,217.5,280.37,206.967,302.222,201.7C324.074,196.433,345.926,185.9,367.778,185.9C389.63,185.9,411.481,221.45,433.333,221.45C455.185,221.45,477.037,166.15,498.889,166.15C520.741,166.15,542.593,229.35,564.444,229.35C586.296,229.35,608.148,134.55,630,39.75L630,257C608.148,257,586.296,257,564.444,257C542.593,257,520.741,257,498.889,257C477.037,257,455.185,257,433.333,257C411.481,257,389.63,257,367.778,257C345.926,257,324.074,257,302.222,257C280.37,257,258.519,257,236.667,257C214.815,257,192.963,257,171.111,257C149.259,257,127.407,257,105.556,257C83.704,257,61.852,257,40,257Z"
+            fill="yellow"
+            fill-opacity="0.7"
+            id="1-graph-areaChart_0"
+            opacity="0.8"
+          />
+          <path
+            d="M40,138.5C61.852,128.625,83.704,118.75,105.556,118.75C127.407,118.75,149.259,126.65,171.111,126.65C192.963,126.65,214.815,99,236.667,99C258.519,99,280.37,217.5,302.222,217.5C324.074,217.5,345.926,99,367.778,99C389.63,99,411.481,122.7,433.333,122.7C455.185,122.7,477.037,114.8,498.889,99C520.741,83.2,542.593,20,564.444,20C586.296,20,608.148,59.5,630,99"
+            fill="transparent"
+            id="2-line-areaChart_0"
+            opacity="0.3"
+            stroke="blue"
+            stroke-width="3"
+          />
+          <path
+            d="M40,138.5C61.852,128.625,83.704,118.75,105.556,118.75C127.407,118.75,149.259,126.65,171.111,126.65C192.963,126.65,214.815,99,236.667,99C258.519,99,280.37,217.5,302.222,217.5C324.074,217.5,345.926,99,367.778,99C389.63,99,411.481,122.7,433.333,122.7C455.185,122.7,477.037,114.8,498.889,99C520.741,83.2,542.593,20,564.444,20C586.296,20,608.148,59.5,630,99L630,257C608.148,257,586.296,257,564.444,257C542.593,257,520.741,257,498.889,257C477.037,257,455.185,257,433.333,257C411.481,257,389.63,257,367.778,257C345.926,257,324.074,257,302.222,257C280.37,257,258.519,257,236.667,257C214.815,257,192.963,257,171.111,257C149.259,257,127.407,257,105.556,257C83.704,257,61.852,257,40,257Z"
+            fill="blue"
+            fill-opacity="0.7"
+            id="2-graph-areaChart_0"
+            opacity="0.8"
+          />
+          <g
+            aria-label="legend1, series 1 of 3 with 10 data points."
+            clip-path="url(#clip)"
+            d="M40,221.45C61.852,211.575,83.704,201.7,105.556,201.7C127.407,201.7,149.259,201.7,171.111,201.7C192.963,201.7,214.815,166.15,236.667,166.15C258.519,166.15,280.37,178,302.222,178C324.074,178,345.926,134.55,367.778,134.55C389.63,134.55,411.481,139.817,433.333,142.45C455.185,145.083,477.037,150.35,498.889,150.35C520.741,150.35,542.593,126.65,564.444,110.85C586.296,95.05,608.148,75.3,630,55.55L630,257C608.148,257,586.296,257,564.444,257C542.593,257,520.741,257,498.889,257C477.037,257,455.185,257,433.333,257C411.481,257,389.63,257,367.778,257C345.926,257,324.074,257,302.222,257C280.37,257,258.519,257,236.667,257C214.815,257,192.963,257,171.111,257C149.259,257,127.407,257,105.556,257C83.704,257,61.852,257,40,257Z"
+            role="region"
+          >
+            <circle
+              aria-label="20. legend1, 9."
+              cx="40"
+              cy="221.45"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_0"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="0"
+            />
+            <circle
+              aria-label="25. legend1, 14."
+              cx="105.55555555555556"
+              cy="201.7"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_1"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="30. legend1, 14."
+              cx="171.11111111111111"
+              cy="201.7"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_2"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="35. legend1, 23."
+              cx="236.66666666666669"
+              cy="166.15"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_3"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="40. legend1, 20."
+              cx="302.22222222222223"
+              cy="178"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_4"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="45. legend1, 31."
+              cx="367.77777777777777"
+              cy="134.54999999999998"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_5"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="50. legend1, 29."
+              cx="433.3333333333333"
+              cy="142.45"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_6"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="55. legend1, 27."
+              cx="498.8888888888889"
+              cy="150.35000000000002"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_7"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="60. legend1, 37."
+              cx="564.4444444444445"
+              cy="110.85"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_8"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="65. legend1, 51."
+              cx="630"
+              cy="55.550000000000004"
+              data-is-focusable="true"
+              fill="green"
+              id="circle2_9"
+              r="0"
+              role="img"
+              stroke="green"
+              stroke-width="3"
+              tabindex="-1"
+            />
+          </g>
+          <g
+            aria-label="legend2, series 2 of 3 with 10 data points."
+            clip-path="url(#clip)"
+            d="M40,174.05C61.852,166.15,83.704,158.25,105.556,158.25C127.407,158.25,149.259,217.5,171.111,217.5C192.963,217.5,214.815,217.5,236.667,217.5C258.519,217.5,280.37,206.967,302.222,201.7C324.074,196.433,345.926,185.9,367.778,185.9C389.63,185.9,411.481,221.45,433.333,221.45C455.185,221.45,477.037,166.15,498.889,166.15C520.741,166.15,542.593,229.35,564.444,229.35C586.296,229.35,608.148,134.55,630,39.75L630,257C608.148,257,586.296,257,564.444,257C542.593,257,520.741,257,498.889,257C477.037,257,455.185,257,433.333,257C411.481,257,389.63,257,367.778,257C345.926,257,324.074,257,302.222,257C280.37,257,258.519,257,236.667,257C214.815,257,192.963,257,171.111,257C149.259,257,127.407,257,105.556,257C83.704,257,61.852,257,40,257Z"
+            role="region"
+          >
+            <circle
+              aria-label="20. legend2, 21."
+              cx="40"
+              cy="174.05"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_10"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="25. legend2, 25."
+              cx="105.55555555555556"
+              cy="158.25"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_11"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="30. legend2, 10."
+              cx="171.11111111111111"
+              cy="217.50000000000003"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_12"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="35. legend2, 10."
+              cx="236.66666666666669"
+              cy="217.50000000000003"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_13"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="40. legend2, 14."
+              cx="302.22222222222223"
+              cy="201.7"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_14"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="45. legend2, 18."
+              cx="367.77777777777777"
+              cy="185.89999999999998"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_15"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="50. legend2, 9."
+              cx="433.3333333333333"
+              cy="221.45"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_16"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="55. legend2, 23."
+              cx="498.8888888888889"
+              cy="166.15"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_17"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="60. legend2, 7."
+              cx="564.4444444444445"
+              cy="229.35"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_18"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="65. legend2, 55."
+              cx="630"
+              cy="39.75000000000001"
+              data-is-focusable="true"
+              fill="yellow"
+              id="circle2_19"
+              r="0"
+              role="img"
+              stroke="yellow"
+              stroke-width="3"
+              tabindex="-1"
+            />
+          </g>
+          <g
+            aria-label="legend3, series 3 of 3 with 10 data points."
+            clip-path="url(#clip)"
+            d="M40,138.5C61.852,128.625,83.704,118.75,105.556,118.75C127.407,118.75,149.259,126.65,171.111,126.65C192.963,126.65,214.815,99,236.667,99C258.519,99,280.37,217.5,302.222,217.5C324.074,217.5,345.926,99,367.778,99C389.63,99,411.481,122.7,433.333,122.7C455.185,122.7,477.037,114.8,498.889,99C520.741,83.2,542.593,20,564.444,20C586.296,20,608.148,59.5,630,99L630,257C608.148,257,586.296,257,564.444,257C542.593,257,520.741,257,498.889,257C477.037,257,455.185,257,433.333,257C411.481,257,389.63,257,367.778,257C345.926,257,324.074,257,302.222,257C280.37,257,258.519,257,236.667,257C214.815,257,192.963,257,171.111,257C149.259,257,127.407,257,105.556,257C83.704,257,61.852,257,40,257Z"
+            role="region"
+          >
+            <circle
+              aria-label="20. legend3, 30."
+              cx="40"
+              cy="138.5"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_20"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="25. legend3, 35."
+              cx="105.55555555555556"
+              cy="118.75"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_21"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="30. legend3, 33."
+              cx="171.11111111111111"
+              cy="126.64999999999999"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_22"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="35. legend3, 40."
+              cx="236.66666666666669"
+              cy="99"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_23"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="40. legend3, 10."
+              cx="302.22222222222223"
+              cy="217.50000000000003"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_24"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="45. legend3, 40."
+              cx="367.77777777777777"
+              cy="99"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_25"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="50. legend3, 34."
+              cx="433.3333333333333"
+              cy="122.7"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_26"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="55. legend3, 40."
+              cx="498.8888888888889"
+              cy="99"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_27"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="60. legend3, 60."
+              cx="564.4444444444445"
+              cy="20"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_28"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+            <circle
+              aria-label="65. legend3, 40."
+              cx="630"
+              cy="99"
+              data-is-focusable="true"
+              fill="blue"
+              id="circle2_29"
+              r="0"
+              role="img"
+              stroke="blue"
+              stroke-width="3"
+              tabindex="-1"
+            />
+          </g>
+          <line
+            id="verticalLine_1"
+            opacity="0.5"
+            stroke="blue"
+            stroke-dasharray="5.5"
+            stroke-width="1"
+            visibility="hidden"
+            x1="0"
+            x2="0"
+            y1="0"
+            y2="292"
+          />
+        </g>
+      </svg>
+    </div>
+    <div
+      class=
+
+          {
+            margin-left: 20px;
+            margin-top: 8px;
+          }
+    >
+      <div
+        class=
+
+            {
+              align-items: center;
+              margin-bottom: 0;
+              margin-left: -8px;
+              margin-right: 0;
+              margin-top: -8px;
+              white-space: nowrap;
+              width: 100%;
+            }
+      >
+        <div>
+          <div
+            style="position: relative;"
+          >
+            <div
+              data-automation-id="visibleContent"
+              style=""
+            >
+              <div
+                aria-label="Legends"
+                aria-multiselectable="false"
+                class=
+                    ms-FocusZone
+                    &:focus {
+                      outline: none;
+                    }
+                data-focuszone-id="FocusZone9"
+                data-tabster="{\\"uncontrolled\\": {}}"
+                role="listbox"
+              >
+                <div
+                  class=
+                      ms-OverflowSet
+                      {
+                        display: flex;
+                        flex-wrap: wrap;
+                        justify-content: unset;
+                        position: relative;
+                      }
+                  role="group"
+                >
+                  <div
+                    class=
+                        ms-OverflowSet-item
+                        {
+                          display: inherit;
+                          flex-shrink: 0;
+                        }
+                    role="none"
+                  >
+                    <button
+                      aria-label="legend1"
+                      aria-posinset="1"
+                      aria-selected="false"
+                      aria-setsize="3"
+                      class=
+
+                          {
+                            align-items: center;
+                            background: none;
+                            border: none;
+                            cursor: pointer;
+                            display: flex;
+                            outline: transparent;
+                            padding-bottom: 8px;
+                            padding-left: 8px;
+                            padding-right: 8px;
+                            padding-top: 8px;
+                            position: relative;
+                            text-transform: capitalize;
+                          }
+                          &::-moz-focus-inner {
+                            border: 0;
+                          }
+                          .ms-Fabric--isFocusVisible &:focus:after {
+                            border: 1px solid transparent;
+                            bottom: 1px;
+                            content: "";
+                            left: 1px;
+                            outline: 1px solid #605e5c;
+                            position: absolute;
+                            right: 1px;
+                            top: 1px;
+                            z-index: 1;
+                          }
+                          @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){.ms-Fabric--isFocusVisible &:focus:after {
+                            outline-color: #605e5c;
+                          }
+                          :host(.ms-Fabric--isFocusVisible) &:focus:after {
+                            border: 1px solid transparent;
+                            bottom: 1px;
+                            content: "";
+                            left: 1px;
+                            outline: 1px solid #605e5c;
+                            position: absolute;
+                            right: 1px;
+                            top: 1px;
+                            z-index: 1;
+                          }
+                          @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){:host(.ms-Fabric--isFocusVisible) &:focus:after {
+                            outline-color: #605e5c;
+                          }
+                      data-is-focusable="true"
+                      role="option"
+                      tabindex="0"
+                    >
+                      <div
+                        class=
+
+                            {
+                              background-color: green;
+                              border-color: green;
+                              border: 1px solid;
+                              content: ;
+                              height: 12px;
+                              margin-right: 8px;
+                              width: 12px;
+                            }
+                            @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){& {
+                              content: linear-gradient(to right, green, green);
+                              opacity: ;
+                            }
+                      />
+                      <div
+                        class=
+
+                            {
+                              -moz-osx-font-smoothing: grayscale;
+                              -webkit-font-smoothing: antialiased;
+                              color: #323130;
+                              font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
+                              font-size: 12px;
+                              font-weight: 400;
+                              line-height: 16px;
+                              opacity: ;
+                            }
+                      >
+                        legend1
+                      </div>
+                    </button>
+                  </div>
+                  <div
+                    class=
+                        ms-OverflowSet-item
+                        {
+                          display: inherit;
+                          flex-shrink: 0;
+                        }
+                    role="none"
+                  >
+                    <button
+                      aria-label="legend2"
+                      aria-posinset="2"
+                      aria-selected="false"
+                      aria-setsize="3"
+                      class=
+
+                          {
+                            align-items: center;
+                            background: none;
+                            border: none;
+                            cursor: pointer;
+                            display: flex;
+                            outline: transparent;
+                            padding-bottom: 8px;
+                            padding-left: 8px;
+                            padding-right: 8px;
+                            padding-top: 8px;
+                            position: relative;
+                            text-transform: capitalize;
+                          }
+                          &::-moz-focus-inner {
+                            border: 0;
+                          }
+                          .ms-Fabric--isFocusVisible &:focus:after {
+                            border: 1px solid transparent;
+                            bottom: 1px;
+                            content: "";
+                            left: 1px;
+                            outline: 1px solid #605e5c;
+                            position: absolute;
+                            right: 1px;
+                            top: 1px;
+                            z-index: 1;
+                          }
+                          @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){.ms-Fabric--isFocusVisible &:focus:after {
+                            outline-color: #605e5c;
+                          }
+                          :host(.ms-Fabric--isFocusVisible) &:focus:after {
+                            border: 1px solid transparent;
+                            bottom: 1px;
+                            content: "";
+                            left: 1px;
+                            outline: 1px solid #605e5c;
+                            position: absolute;
+                            right: 1px;
+                            top: 1px;
+                            z-index: 1;
+                          }
+                          @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){:host(.ms-Fabric--isFocusVisible) &:focus:after {
+                            outline-color: #605e5c;
+                          }
+                      data-is-focusable="true"
+                      role="option"
+                      tabindex="-1"
+                    >
+                      <div
+                        class=
+
+                            {
+                              background-color: yellow;
+                              border-color: yellow;
+                              border: 1px solid;
+                              content: ;
+                              height: 12px;
+                              margin-right: 8px;
+                              width: 12px;
+                            }
+                            @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){& {
+                              content: linear-gradient(to right, yellow, yellow);
+                              opacity: ;
+                            }
+                      />
+                      <div
+                        class=
+
+                            {
+                              -moz-osx-font-smoothing: grayscale;
+                              -webkit-font-smoothing: antialiased;
+                              color: #323130;
+                              font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
+                              font-size: 12px;
+                              font-weight: 400;
+                              line-height: 16px;
+                              opacity: ;
+                            }
+                      >
+                        legend2
+                      </div>
+                    </button>
+                  </div>
+                  <div
+                    class=
+                        ms-OverflowSet-item
+                        {
+                          display: inherit;
+                          flex-shrink: 0;
+                        }
+                    role="none"
+                  >
+                    <button
+                      aria-label="legend3"
+                      aria-posinset="3"
+                      aria-selected="false"
+                      aria-setsize="3"
+                      class=
+
+                          {
+                            align-items: center;
+                            background: none;
+                            border: none;
+                            cursor: pointer;
+                            display: flex;
+                            outline: transparent;
+                            padding-bottom: 8px;
+                            padding-left: 8px;
+                            padding-right: 8px;
+                            padding-top: 8px;
+                            position: relative;
+                            text-transform: capitalize;
+                          }
+                          &::-moz-focus-inner {
+                            border: 0;
+                          }
+                          .ms-Fabric--isFocusVisible &:focus:after {
+                            border: 1px solid transparent;
+                            bottom: 1px;
+                            content: "";
+                            left: 1px;
+                            outline: 1px solid #605e5c;
+                            position: absolute;
+                            right: 1px;
+                            top: 1px;
+                            z-index: 1;
+                          }
+                          @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){.ms-Fabric--isFocusVisible &:focus:after {
+                            outline-color: #605e5c;
+                          }
+                          :host(.ms-Fabric--isFocusVisible) &:focus:after {
+                            border: 1px solid transparent;
+                            bottom: 1px;
+                            content: "";
+                            left: 1px;
+                            outline: 1px solid #605e5c;
+                            position: absolute;
+                            right: 1px;
+                            top: 1px;
+                            z-index: 1;
+                          }
+                          @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){:host(.ms-Fabric--isFocusVisible) &:focus:after {
+                            outline-color: #605e5c;
+                          }
+                      data-is-focusable="true"
+                      role="option"
+                      tabindex="-1"
+                    >
+                      <div
+                        class=
+
+                            {
+                              background-color: blue;
+                              border-color: blue;
+                              border: 1px solid;
+                              content: ;
+                              height: 12px;
+                              margin-right: 8px;
+                              width: 12px;
+                            }
+                            @media screen and (-ms-high-contrast: active), screen and (forced-colors: active){& {
+                              content: linear-gradient(to right, blue, blue);
+                              opacity: ;
+                            }
+                      />
+                      <div
+                        class=
+
+                            {
+                              -moz-osx-font-smoothing: grayscale;
+                              -webkit-font-smoothing: antialiased;
+                              color: #323130;
+                              font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
+                              font-size: 12px;
+                              font-weight: 400;
+                              line-height: 16px;
+                              opacity: ;
+                            }
+                      >
+                        legend3
+                      </div>
+                    </button>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
+
 exports[`Area chart rendering Should render the Area chart with date x-axis data when tick Values given and tick format is %d 1`] = `
 <div>
   <div
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
index bfdc4419d3ca55..be544d55d72cc8 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
@@ -344,6 +344,7 @@ export const transformPlotlyJsonToScatterChartProps = (
   isDarkTheme?: boolean,
 ): ILineChartProps | IAreaChartProps => {
   const { data, layout } = jsonObj;
+  let mode: string = 'tonexty';
 
   const chartData: ILineChartPoints[] = data.map((series: any, index: number) => {
     const xValues = series.x;
@@ -352,6 +353,7 @@ export const transformPlotlyJsonToScatterChartProps = (
     const isXNumber = isNumberArray(xValues);
     const legend: string = series.name || `Series ${index + 1}`;
     const lineColor = getColor(legend, colorMap, isDarkTheme);
+    mode = series.fill === 'tozeroy' ? 'tozeroy' : 'tonexty';
 
     return {
       legend,
@@ -376,6 +378,7 @@ export const transformPlotlyJsonToScatterChartProps = (
       supportNegativeData: true,
       xAxisTitle,
       yAxisTitle,
+      mode,
     } as IAreaChartProps;
   } else {
     return {
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
index 8966e3f55d1b98..85baf67c9f3528 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
@@ -3324,6 +3324,7 @@ Object {
       },
     ],
   },
+  "mode": "tonexty",
   "supportNegativeData": true,
   "xAxisTitle": "",
   "yAxisTitle": "",
@@ -4555,6 +4556,7 @@ Object {
       },
     ],
   },
+  "mode": "tonexty",
   "supportNegativeData": true,
   "xAxisTitle": "",
   "yAxisTitle": "",
diff --git a/packages/react-examples/src/react-charting/AreaChart/AreaChart.Basic.Example.tsx b/packages/react-examples/src/react-charting/AreaChart/AreaChart.Basic.Example.tsx
index 387535181da0e8..1c65e5376cb2a5 100644
--- a/packages/react-examples/src/react-charting/AreaChart/AreaChart.Basic.Example.tsx
+++ b/packages/react-examples/src/react-charting/AreaChart/AreaChart.Basic.Example.tsx
@@ -10,6 +10,7 @@ interface IAreaChartBasicState {
   isCalloutselected: boolean;
   showAxisTitles: boolean;
   legendMultiSelect: boolean;
+  changeChartMode: boolean;
 }
 
 const options: IChoiceGroupOption[] = [
@@ -26,6 +27,7 @@ export class AreaChartBasicExample extends React.Component<{}, IAreaChartBasicSt
       isCalloutselected: false,
       showAxisTitles: true,
       legendMultiSelect: false,
+      changeChartMode: false,
     };
   }
   public componentDidMount(): void {
@@ -75,6 +77,11 @@ export class AreaChartBasicExample extends React.Component<{}, IAreaChartBasicSt
     this.setState({ legendMultiSelect: checked });
   };
 
+  private _onToggleChartMode = (ev: React.MouseEvent<HTMLElement>, checked: boolean) => {
+    this.forceUpdate();
+    this.setState({ changeChartMode: checked });
+  };
+
   private _basicExample(): JSX.Element {
     const chart1Points = [
       {
@@ -181,7 +188,7 @@ export class AreaChartBasicExample extends React.Component<{}, IAreaChartBasicSt
     const chart3Points = chart1Points.map((point, index) => {
       return {
         x: point.x,
-        y: point.y - 5000,
+        y: point.y + 7000,
         xAxisCalloutData: point.xAxisCalloutData,
         yAxisCalloutData: point.yAxisCalloutData,
       };
@@ -249,6 +256,14 @@ export class AreaChartBasicExample extends React.Component<{}, IAreaChartBasicSt
           onChange={this._onToggleLegendMultiSelect}
           styles={{ root: { marginTop: '10px' } }}
         />
+        <Toggle
+          label="Change chart mode to toZeroY"
+          onText="ON"
+          offText="OFF"
+          checked={this.state.changeChartMode}
+          onChange={this._onToggleChartMode}
+          styles={{ root: { marginTop: '10px' } }}
+        />
         {this.state.showAxisTitles && (
           <div style={rootStyle}>
             <AreaChart
@@ -274,6 +289,7 @@ export class AreaChartBasicExample extends React.Component<{}, IAreaChartBasicSt
               legendProps={{
                 canSelectMultipleLegends: this.state.legendMultiSelect,
               }}
+              mode={this.state.changeChartMode ? 'tozeroy' : 'tonexty'}
             />
           </div>
         )}
@@ -300,6 +316,7 @@ export class AreaChartBasicExample extends React.Component<{}, IAreaChartBasicSt
               legendProps={{
                 canSelectMultipleLegends: this.state.legendMultiSelect,
               }}
+              mode={this.state.changeChartMode ? 'tozeroy' : 'tonexty'}
             />
           </div>
         )}

From cc1756e0cb08f40d5c356166b0d9abe9beb80b5b Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Mon, 20 Jan 2025 07:22:04 +0000
Subject: [PATCH 61/78] release: applying package updates - react v8

---
 ...-af108562-5adb-43f5-b0f2-06358f95ab65.json |  7 -----
 ...-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json |  7 -----
 ...-05901292-a3b8-4d34-834a-8f5d74736e99.json |  7 -----
 ...-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json |  7 -----
 ...-f28e7eb2-d3a4-4060-95af-0c74756f900d.json |  7 -----
 ...-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json |  7 -----
 ...-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json |  7 -----
 ...-4aabb452-e7e3-47e3-9964-7a7c4814e759.json |  7 -----
 ...-aa5b0252-40de-497c-88f5-377ada948719.json |  7 -----
 ...-14e136f0-eeb5-4113-8921-e732772e0a04.json |  7 -----
 ...-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json |  7 -----
 ...-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json |  7 -----
 ...-946876fa-b8f4-4e15-bf15-54f86a508654.json |  7 -----
 ...-1e695416-a364-41c7-98b1-5cc336ce40ed.json |  7 -----
 ...-9d03e3c6-0e57-491d-bbb2-ff84af746057.json |  7 -----
 ...-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json |  7 -----
 packages/charts/react-charting/CHANGELOG.json | 29 +++++++++++++++++++
 packages/charts/react-charting/CHANGELOG.md   | 12 +++++++-
 packages/charts/react-charting/package.json   |  2 +-
 packages/codemods/CHANGELOG.json              | 15 ++++++++++
 packages/font-icons-mdl2/CHANGELOG.json       | 15 ++++++++++
 packages/foundation-legacy/CHANGELOG.json     | 15 ++++++++++
 packages/keyboard-key/CHANGELOG.json          | 15 ++++++++++
 packages/merge-styles/CHANGELOG.json          | 15 ++++++++++
 packages/react-date-time/CHANGELOG.json       | 15 ++++++++++
 .../react-docsite-components/CHANGELOG.json   | 15 ++++++++++
 .../react-docsite-components/CHANGELOG.md     | 11 ++++++-
 .../react-docsite-components/package.json     |  4 +--
 packages/react-examples/package.json          |  4 +--
 packages/react-experiments/CHANGELOG.json     | 15 ++++++++++
 packages/react-focus/CHANGELOG.json           | 15 ++++++++++
 packages/react-monaco-editor/CHANGELOG.json   | 23 +++++++++++++++
 packages/react-monaco-editor/CHANGELOG.md     | 11 ++++++-
 packages/react-monaco-editor/package.json     |  4 +--
 packages/react/CHANGELOG.json                 | 15 ++++++++++
 packages/style-utilities/CHANGELOG.json       | 15 ++++++++++
 packages/theme/CHANGELOG.json                 | 15 ++++++++++
 packages/utilities/CHANGELOG.json             | 15 ++++++++++
 38 files changed, 285 insertions(+), 122 deletions(-)
 delete mode 100644 change/@fluentui-codemods-af108562-5adb-43f5-b0f2-06358f95ab65.json
 delete mode 100644 change/@fluentui-font-icons-mdl2-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json
 delete mode 100644 change/@fluentui-foundation-legacy-05901292-a3b8-4d34-834a-8f5d74736e99.json
 delete mode 100644 change/@fluentui-keyboard-key-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json
 delete mode 100644 change/@fluentui-merge-styles-f28e7eb2-d3a4-4060-95af-0c74756f900d.json
 delete mode 100644 change/@fluentui-react-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json
 delete mode 100644 change/@fluentui-react-charting-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json
 delete mode 100644 change/@fluentui-react-charting-4aabb452-e7e3-47e3-9964-7a7c4814e759.json
 delete mode 100644 change/@fluentui-react-charting-aa5b0252-40de-497c-88f5-377ada948719.json
 delete mode 100644 change/@fluentui-react-date-time-14e136f0-eeb5-4113-8921-e732772e0a04.json
 delete mode 100644 change/@fluentui-react-experiments-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json
 delete mode 100644 change/@fluentui-react-focus-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json
 delete mode 100644 change/@fluentui-react-monaco-editor-946876fa-b8f4-4e15-bf15-54f86a508654.json
 delete mode 100644 change/@fluentui-style-utilities-1e695416-a364-41c7-98b1-5cc336ce40ed.json
 delete mode 100644 change/@fluentui-theme-9d03e3c6-0e57-491d-bbb2-ff84af746057.json
 delete mode 100644 change/@fluentui-utilities-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json

diff --git a/change/@fluentui-codemods-af108562-5adb-43f5-b0f2-06358f95ab65.json b/change/@fluentui-codemods-af108562-5adb-43f5-b0f2-06358f95ab65.json
deleted file mode 100644
index e59c56d1811400..00000000000000
--- a/change/@fluentui-codemods-af108562-5adb-43f5-b0f2-06358f95ab65.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/codemods",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-font-icons-mdl2-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json b/change/@fluentui-font-icons-mdl2-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json
deleted file mode 100644
index 6ac801eaac0088..00000000000000
--- a/change/@fluentui-font-icons-mdl2-db6b5e91-90e1-4d29-8a79-ac0f0c0ee232.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/font-icons-mdl2",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-foundation-legacy-05901292-a3b8-4d34-834a-8f5d74736e99.json b/change/@fluentui-foundation-legacy-05901292-a3b8-4d34-834a-8f5d74736e99.json
deleted file mode 100644
index b7ada786f9ef0a..00000000000000
--- a/change/@fluentui-foundation-legacy-05901292-a3b8-4d34-834a-8f5d74736e99.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/foundation-legacy",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-keyboard-key-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json b/change/@fluentui-keyboard-key-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json
deleted file mode 100644
index 34089c5205b9cf..00000000000000
--- a/change/@fluentui-keyboard-key-def9b0a9-f2af-4ae3-aaaf-210eb1cc7663.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/keyboard-key",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-merge-styles-f28e7eb2-d3a4-4060-95af-0c74756f900d.json b/change/@fluentui-merge-styles-f28e7eb2-d3a4-4060-95af-0c74756f900d.json
deleted file mode 100644
index 252227e0745e4d..00000000000000
--- a/change/@fluentui-merge-styles-f28e7eb2-d3a4-4060-95af-0c74756f900d.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/merge-styles",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json b/change/@fluentui-react-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json
deleted file mode 100644
index 31063dd50b8723..00000000000000
--- a/change/@fluentui-react-8e31bacb-5949-4ddf-a561-b2e8eb9365b9.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-charting-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json b/change/@fluentui-react-charting-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json
deleted file mode 100644
index c5392850b45987..00000000000000
--- a/change/@fluentui-react-charting-34dd50d3-d7cd-4354-9e9b-b8eeb44d4e19.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "Support tozeroy mode for Area Charts",
-  "packageName": "@fluentui/react-charting",
-  "email": "120183316+srmukher@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-charting-4aabb452-e7e3-47e3-9964-7a7c4814e759.json b/change/@fluentui-react-charting-4aabb452-e7e3-47e3-9964-7a7c4814e759.json
deleted file mode 100644
index 157b74502e849c..00000000000000
--- a/change/@fluentui-react-charting-4aabb452-e7e3-47e3-9964-7a7c4814e759.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "Declarative chart bug fixes",
-  "packageName": "@fluentui/react-charting",
-  "email": "74965306+Anush2303@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-charting-aa5b0252-40de-497c-88f5-377ada948719.json b/change/@fluentui-react-charting-aa5b0252-40de-497c-88f5-377ada948719.json
deleted file mode 100644
index cb303b57fb9e0b..00000000000000
--- a/change/@fluentui-react-charting-aa5b0252-40de-497c-88f5-377ada948719.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-charting",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-date-time-14e136f0-eeb5-4113-8921-e732772e0a04.json b/change/@fluentui-react-date-time-14e136f0-eeb5-4113-8921-e732772e0a04.json
deleted file mode 100644
index 62abe8ca9a7ab9..00000000000000
--- a/change/@fluentui-react-date-time-14e136f0-eeb5-4113-8921-e732772e0a04.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-date-time",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-experiments-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json b/change/@fluentui-react-experiments-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json
deleted file mode 100644
index 74c5f58ffe8cf0..00000000000000
--- a/change/@fluentui-react-experiments-4f3c4b24-6a77-45ac-b7f8-fb04d982fd7b.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-experiments",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-focus-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json b/change/@fluentui-react-focus-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json
deleted file mode 100644
index 2961f1f4a9d0ae..00000000000000
--- a/change/@fluentui-react-focus-5e8ead15-c118-4dec-84e8-744d6bf63fcb.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-focus",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-monaco-editor-946876fa-b8f4-4e15-bf15-54f86a508654.json b/change/@fluentui-react-monaco-editor-946876fa-b8f4-4e15-bf15-54f86a508654.json
deleted file mode 100644
index cce342d863249c..00000000000000
--- a/change/@fluentui-react-monaco-editor-946876fa-b8f4-4e15-bf15-54f86a508654.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-monaco-editor",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-style-utilities-1e695416-a364-41c7-98b1-5cc336ce40ed.json b/change/@fluentui-style-utilities-1e695416-a364-41c7-98b1-5cc336ce40ed.json
deleted file mode 100644
index 56b5682720cded..00000000000000
--- a/change/@fluentui-style-utilities-1e695416-a364-41c7-98b1-5cc336ce40ed.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/style-utilities",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-theme-9d03e3c6-0e57-491d-bbb2-ff84af746057.json b/change/@fluentui-theme-9d03e3c6-0e57-491d-bbb2-ff84af746057.json
deleted file mode 100644
index 1afa956ec2955e..00000000000000
--- a/change/@fluentui-theme-9d03e3c6-0e57-491d-bbb2-ff84af746057.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/theme",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-utilities-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json b/change/@fluentui-utilities-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json
deleted file mode 100644
index 463e5c9a6e8735..00000000000000
--- a/change/@fluentui-utilities-e4d8572c-17af-41f6-8d5c-e84d6038d6bd.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/utilities",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/packages/charts/react-charting/CHANGELOG.json b/packages/charts/react-charting/CHANGELOG.json
index 3865d8a3ef769e..f6da08d1e22a0c 100644
--- a/packages/charts/react-charting/CHANGELOG.json
+++ b/packages/charts/react-charting/CHANGELOG.json
@@ -1,6 +1,35 @@
 {
   "name": "@fluentui/react-charting",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:43 GMT",
+      "tag": "@fluentui/react-charting_v5.23.42",
+      "version": "5.23.42",
+      "comments": {
+        "patch": [
+          {
+            "author": "120183316+srmukher@users.noreply.github.com",
+            "package": "@fluentui/react-charting",
+            "commit": "556fc8e7b9a921cedbb07c2f0670dfabcf8ec0ed",
+            "comment": "Support tozeroy mode for Area Charts"
+          },
+          {
+            "author": "74965306+Anush2303@users.noreply.github.com",
+            "package": "@fluentui/react-charting",
+            "commit": "dc365b11fcca7eb0077460510eb78d93d3315ecd",
+            "comment": "Declarative chart bug fixes"
+          }
+        ],
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-charting",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/react-charting_v5.23.41",
diff --git a/packages/charts/react-charting/CHANGELOG.md b/packages/charts/react-charting/CHANGELOG.md
index b3da0add0090fb..ead744ab3ae8e3 100644
--- a/packages/charts/react-charting/CHANGELOG.md
+++ b/packages/charts/react-charting/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-charting
 
-This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Mon, 20 Jan 2025 07:21:43 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [5.23.42](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.42)
+
+Mon, 20 Jan 2025 07:21:43 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charting_v5.23.41..@fluentui/react-charting_v5.23.42)
+
+### Patches
+
+- Support tozeroy mode for Area Charts ([PR #33581](https://github.com/microsoft/fluentui/pull/33581) by 120183316+srmukher@users.noreply.github.com)
+- Declarative chart bug fixes ([PR #33567](https://github.com/microsoft/fluentui/pull/33567) by 74965306+Anush2303@users.noreply.github.com)
+
 ## [5.23.41](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.41)
 
 Fri, 17 Jan 2025 07:21:32 GMT 
diff --git a/packages/charts/react-charting/package.json b/packages/charts/react-charting/package.json
index 808b802f2c80ab..71f2748e09d90f 100644
--- a/packages/charts/react-charting/package.json
+++ b/packages/charts/react-charting/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-charting",
-  "version": "5.23.41",
+  "version": "5.23.42",
   "description": "React web charting controls for Microsoft fluentui system.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/codemods/CHANGELOG.json b/packages/codemods/CHANGELOG.json
index 2056607f1acf2e..9b2d21d8a738fb 100644
--- a/packages/codemods/CHANGELOG.json
+++ b/packages/codemods/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/codemods",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:45 GMT",
+      "tag": "@fluentui/codemods_v8.4.27",
+      "version": "8.4.27",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/codemods",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 23 Dec 2024 07:22:57 GMT",
       "tag": "@fluentui/codemods_v8.4.27",
diff --git a/packages/font-icons-mdl2/CHANGELOG.json b/packages/font-icons-mdl2/CHANGELOG.json
index cda94a3050c548..d74062a138bc77 100644
--- a/packages/font-icons-mdl2/CHANGELOG.json
+++ b/packages/font-icons-mdl2/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/font-icons-mdl2",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:45 GMT",
+      "tag": "@fluentui/font-icons-mdl2_v8.5.57",
+      "version": "8.5.57",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/font-icons-mdl2",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 23 Dec 2024 07:22:58 GMT",
       "tag": "@fluentui/font-icons-mdl2_v8.5.57",
diff --git a/packages/foundation-legacy/CHANGELOG.json b/packages/foundation-legacy/CHANGELOG.json
index d7708bd4ff75aa..0e62c7992c91d7 100644
--- a/packages/foundation-legacy/CHANGELOG.json
+++ b/packages/foundation-legacy/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/foundation-legacy",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:46 GMT",
+      "tag": "@fluentui/foundation-legacy_v8.4.23",
+      "version": "8.4.23",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/foundation-legacy",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 23 Dec 2024 07:22:58 GMT",
       "tag": "@fluentui/foundation-legacy_v8.4.23",
diff --git a/packages/keyboard-key/CHANGELOG.json b/packages/keyboard-key/CHANGELOG.json
index d07257fdba6618..eb90eae00e4eb3 100644
--- a/packages/keyboard-key/CHANGELOG.json
+++ b/packages/keyboard-key/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/keyboard-key",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:46 GMT",
+      "tag": "@fluentui/keyboard-key_v0.4.23",
+      "version": "0.4.23",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/keyboard-key",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Thu, 01 Aug 2024 07:24:44 GMT",
       "tag": "@fluentui/keyboard-key_v0.4.23",
diff --git a/packages/merge-styles/CHANGELOG.json b/packages/merge-styles/CHANGELOG.json
index eed97b22305b13..d9254e59cb9873 100644
--- a/packages/merge-styles/CHANGELOG.json
+++ b/packages/merge-styles/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/merge-styles",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:46 GMT",
+      "tag": "@fluentui/merge-styles_v8.6.13",
+      "version": "8.6.13",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/merge-styles",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Thu, 08 Aug 2024 07:24:14 GMT",
       "tag": "@fluentui/merge-styles_v8.6.13",
diff --git a/packages/react-date-time/CHANGELOG.json b/packages/react-date-time/CHANGELOG.json
index 13d1d5535aa14a..75114f82fe8458 100644
--- a/packages/react-date-time/CHANGELOG.json
+++ b/packages/react-date-time/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-date-time",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:44 GMT",
+      "tag": "@fluentui/react-date-time_v8.7.196",
+      "version": "8.7.196",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-date-time",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/react-date-time_v8.7.196",
diff --git a/packages/react-docsite-components/CHANGELOG.json b/packages/react-docsite-components/CHANGELOG.json
index 25c7b12d0ca2af..a5a561b8dc8503 100644
--- a/packages/react-docsite-components/CHANGELOG.json
+++ b/packages/react-docsite-components/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-docsite-components",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:47 GMT",
+      "tag": "@fluentui/react-docsite-components_v8.13.162",
+      "version": "8.13.162",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react-monaco-editor to v1.7.280",
+            "commit": "556fc8e7b9a921cedbb07c2f0670dfabcf8ec0ed"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/react-docsite-components_v8.13.161",
diff --git a/packages/react-docsite-components/CHANGELOG.md b/packages/react-docsite-components/CHANGELOG.md
index 0bcbda66e29a6b..f2e9af5b8bbb09 100644
--- a/packages/react-docsite-components/CHANGELOG.md
+++ b/packages/react-docsite-components/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-docsite-components
 
-This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Mon, 20 Jan 2025 07:21:47 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.13.162](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.162)
+
+Mon, 20 Jan 2025 07:21:47 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-docsite-components_v8.13.161..@fluentui/react-docsite-components_v8.13.162)
+
+### Patches
+
+- Bump @fluentui/react-monaco-editor to v1.7.280 ([PR #33581](https://github.com/microsoft/fluentui/pull/33581) by beachball)
+
 ## [8.13.161](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.161)
 
 Fri, 17 Jan 2025 07:21:32 GMT 
diff --git a/packages/react-docsite-components/package.json b/packages/react-docsite-components/package.json
index 846e8494ce15e2..1299b7f308c8a2 100644
--- a/packages/react-docsite-components/package.json
+++ b/packages/react-docsite-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-docsite-components",
-  "version": "8.13.161",
+  "version": "8.13.162",
   "description": "Fluent UI React components for building documentation sites.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -42,7 +42,7 @@
     "@fluentui/public-docsite-setup": "^0.3.34",
     "@fluentui/react-hooks": "^8.8.16",
     "@fluentui/set-version": "^8.2.23",
-    "@fluentui/react-monaco-editor": "^1.7.279",
+    "@fluentui/react-monaco-editor": "^1.7.280",
     "color-check": "0.0.2",
     "markdown-to-jsx": "^7.0.0",
     "office-ui-fabric-core": "^11.0.0",
diff --git a/packages/react-examples/package.json b/packages/react-examples/package.json
index 52d192909d0151..42e68cdf6178e1 100644
--- a/packages/react-examples/package.json
+++ b/packages/react-examples/package.json
@@ -36,8 +36,8 @@
     "@fluentui/merge-styles": "^8.6.13",
     "@fluentui/react": "^8.122.7",
     "@fluentui/react-cards": "^0.205.196",
-    "@fluentui/react-charting": "^5.23.41",
-    "@fluentui/react-docsite-components": "^8.13.161",
+    "@fluentui/react-charting": "^5.23.42",
+    "@fluentui/react-docsite-components": "^8.13.162",
     "@fluentui/react-experiments": "^8.14.193",
     "@fluentui/react-file-type-icons": "^8.12.7",
     "@fluentui/react-focus": "^8.9.20",
diff --git a/packages/react-experiments/CHANGELOG.json b/packages/react-experiments/CHANGELOG.json
index 25d945574899a8..213ae0a64004fe 100644
--- a/packages/react-experiments/CHANGELOG.json
+++ b/packages/react-experiments/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-experiments",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:44 GMT",
+      "tag": "@fluentui/react-experiments_v8.14.193",
+      "version": "8.14.193",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-experiments",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/react-experiments_v8.14.193",
diff --git a/packages/react-focus/CHANGELOG.json b/packages/react-focus/CHANGELOG.json
index 151892d1415cdb..fad38847b86b52 100644
--- a/packages/react-focus/CHANGELOG.json
+++ b/packages/react-focus/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-focus",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:44 GMT",
+      "tag": "@fluentui/react-focus_v8.9.20",
+      "version": "8.9.20",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-focus",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 23 Dec 2024 07:22:58 GMT",
       "tag": "@fluentui/react-focus_v8.9.20",
diff --git a/packages/react-monaco-editor/CHANGELOG.json b/packages/react-monaco-editor/CHANGELOG.json
index 3bc576576e9b58..532a1478e0b13e 100644
--- a/packages/react-monaco-editor/CHANGELOG.json
+++ b/packages/react-monaco-editor/CHANGELOG.json
@@ -1,6 +1,29 @@
 {
   "name": "@fluentui/react-monaco-editor",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:45 GMT",
+      "tag": "@fluentui/react-monaco-editor_v1.7.280",
+      "version": "1.7.280",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-monaco-editor",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react-charting to v5.23.42",
+            "commit": "556fc8e7b9a921cedbb07c2f0670dfabcf8ec0ed"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/react-monaco-editor_v1.7.279",
diff --git a/packages/react-monaco-editor/CHANGELOG.md b/packages/react-monaco-editor/CHANGELOG.md
index c29dc163f96936..824f64d4196921 100644
--- a/packages/react-monaco-editor/CHANGELOG.md
+++ b/packages/react-monaco-editor/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-monaco-editor
 
-This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Mon, 20 Jan 2025 07:21:45 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [1.7.280](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.280)
+
+Mon, 20 Jan 2025 07:21:45 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-monaco-editor_v1.7.279..@fluentui/react-monaco-editor_v1.7.280)
+
+### Patches
+
+- Bump @fluentui/react-charting to v5.23.42 ([PR #33581](https://github.com/microsoft/fluentui/pull/33581) by beachball)
+
 ## [1.7.279](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.279)
 
 Fri, 17 Jan 2025 07:21:32 GMT 
diff --git a/packages/react-monaco-editor/package.json b/packages/react-monaco-editor/package.json
index 92edf729901440..5a39e456a2918d 100644
--- a/packages/react-monaco-editor/package.json
+++ b/packages/react-monaco-editor/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-monaco-editor",
-  "version": "1.7.279",
+  "version": "1.7.280",
   "description": "Live React example editing using monaco",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -34,7 +34,7 @@
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/monaco-editor": "^1.3.24",
     "@fluentui/react-hooks": "^8.8.16",
-    "@fluentui/react-charting": "^5.23.41",
+    "@fluentui/react-charting": "^5.23.42",
     "raw-loader": "4.0.2",
     "react-syntax-highlighter": "^10.1.3",
     "tslib": "^2.1.0"
diff --git a/packages/react/CHANGELOG.json b/packages/react/CHANGELOG.json
index eb7da96614886e..59b59940d8660f 100644
--- a/packages/react/CHANGELOG.json
+++ b/packages/react/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:47 GMT",
+      "tag": "@fluentui/react_v8.122.7",
+      "version": "8.122.7",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:31 GMT",
       "tag": "@fluentui/react_v8.122.7",
diff --git a/packages/style-utilities/CHANGELOG.json b/packages/style-utilities/CHANGELOG.json
index bd87297069b25f..ff9f099dfb596f 100644
--- a/packages/style-utilities/CHANGELOG.json
+++ b/packages/style-utilities/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/style-utilities",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:45 GMT",
+      "tag": "@fluentui/style-utilities_v8.11.6",
+      "version": "8.11.6",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/style-utilities",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 23 Dec 2024 07:22:58 GMT",
       "tag": "@fluentui/style-utilities_v8.11.6",
diff --git a/packages/theme/CHANGELOG.json b/packages/theme/CHANGELOG.json
index 383c73f51fa8f5..7ad68d2ddd2291 100644
--- a/packages/theme/CHANGELOG.json
+++ b/packages/theme/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/theme",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:42 GMT",
+      "tag": "@fluentui/theme_v2.6.64",
+      "version": "2.6.64",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/theme",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 23 Dec 2024 07:22:58 GMT",
       "tag": "@fluentui/theme_v2.6.64",
diff --git a/packages/utilities/CHANGELOG.json b/packages/utilities/CHANGELOG.json
index 638164dc2d94ee..4660d6bc592fac 100644
--- a/packages/utilities/CHANGELOG.json
+++ b/packages/utilities/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/utilities",
   "entries": [
+    {
+      "date": "Mon, 20 Jan 2025 07:21:43 GMT",
+      "tag": "@fluentui/utilities_v8.15.19",
+      "version": "8.15.19",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/utilities",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 11 Oct 2024 16:51:54 GMT",
       "tag": "@fluentui/utilities_v8.15.19",

From b929a867df391be107630afe2de281c5d06594e7 Mon Sep 17 00:00:00 2001
From: "Atishay Jain (atisjai)" <98592573+AtishayMsft@users.noreply.github.com>
Date: Mon, 20 Jan 2025 18:06:42 +0530
Subject: [PATCH 62/78] feat(react-charting): strongly type plotly schema and
 bug fixes (#33621)

Co-authored-by: Anush Gupta <74965306+Anush2303@users.noreply.github.com>
Co-authored-by: srmukher <120183316+srmukher@users.noreply.github.com>
Co-authored-by: krkshitij <110246001+krkshitij@users.noreply.github.com>
Co-authored-by: Atishay Jain (from Dev Box) <atisjai@microsoft.com>
---
 ...-17bc0f58-a206-47b6-b5dc-6bf008820978.json |    7 +
 ...-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json |    7 +
 ...-b50824ac-5ec3-43fe-af53-76307680fb75.json |    7 +
 ...-be791d81-9cfb-4576-961c-03c4f6eb85c0.json |    7 +
 .../bundle-size/DeclarativeChart.fixture.js   |    7 +
 .../DeclarativeChart/DeclarativeChart.tsx     |  214 +-
 .../DeclarativeChart/PlotlySchema.ts          | 1937 +++++++++++++++++
 .../DeclarativeChart/PlotlySchemaAdapter.ts   |  375 ++--
 .../DeclarativeChartRTL.test.tsx.snap         |  800 +++----
 .../PlotlySchemaAdapterUT.test.tsx.snap       |   10 +-
 .../HorizontalBarChartWithAxis.base.tsx       |    4 +-
 .../VerticalBarChartRTL.test.tsx.snap         |    4 +-
 .../VerticalStackedBarChart.base.tsx          |    2 +-
 .../react-charting/src/utilities/utilities.ts |   11 +-
 14 files changed, 2740 insertions(+), 652 deletions(-)
 create mode 100644 change/@fluentui-react-charting-17bc0f58-a206-47b6-b5dc-6bf008820978.json
 create mode 100644 change/@fluentui-react-charting-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json
 create mode 100644 change/@fluentui-react-charting-b50824ac-5ec3-43fe-af53-76307680fb75.json
 create mode 100644 change/@fluentui-react-charting-be791d81-9cfb-4576-961c-03c4f6eb85c0.json
 create mode 100644 packages/charts/react-charting/bundle-size/DeclarativeChart.fixture.js
 create mode 100644 packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchema.ts

diff --git a/change/@fluentui-react-charting-17bc0f58-a206-47b6-b5dc-6bf008820978.json b/change/@fluentui-react-charting-17bc0f58-a206-47b6-b5dc-6bf008820978.json
new file mode 100644
index 00000000000000..1026025406a1b3
--- /dev/null
+++ b/change/@fluentui-react-charting-17bc0f58-a206-47b6-b5dc-6bf008820978.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "Adding fallback and fixes for test app crashes for 12 schema data ",
+  "packageName": "@fluentui/react-charting",
+  "email": "120183316+srmukher@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/change/@fluentui-react-charting-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json b/change/@fluentui-react-charting-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json
new file mode 100644
index 00000000000000..fef536a369732e
--- /dev/null
+++ b/change/@fluentui-react-charting-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "Use strongly typed interfaces for plotly schema",
+  "packageName": "@fluentui/react-charting",
+  "email": "98592573+AtishayMsft@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/change/@fluentui-react-charting-b50824ac-5ec3-43fe-af53-76307680fb75.json b/change/@fluentui-react-charting-b50824ac-5ec3-43fe-af53-76307680fb75.json
new file mode 100644
index 00000000000000..e18e77a6242e66
--- /dev/null
+++ b/change/@fluentui-react-charting-b50824ac-5ec3-43fe-af53-76307680fb75.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: resolve bugs in declarative chart",
+  "packageName": "@fluentui/react-charting",
+  "email": "110246001+krkshitij@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/change/@fluentui-react-charting-be791d81-9cfb-4576-961c-03c4f6eb85c0.json b/change/@fluentui-react-charting-be791d81-9cfb-4576-961c-03c4f6eb85c0.json
new file mode 100644
index 00000000000000..b3c031f141fdbb
--- /dev/null
+++ b/change/@fluentui-react-charting-be791d81-9cfb-4576-961c-03c4f6eb85c0.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "StronglyType plotly schema bug fix",
+  "packageName": "@fluentui/react-charting",
+  "email": "74965306+Anush2303@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/charts/react-charting/bundle-size/DeclarativeChart.fixture.js b/packages/charts/react-charting/bundle-size/DeclarativeChart.fixture.js
new file mode 100644
index 00000000000000..ce50de1aed3848
--- /dev/null
+++ b/packages/charts/react-charting/bundle-size/DeclarativeChart.fixture.js
@@ -0,0 +1,7 @@
+import { DeclarativeChart } from '@fluentui/react-charting';
+
+console.log(DeclarativeChart);
+
+export default {
+  name: 'DeclarativeChart',
+};
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx b/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx
index 63f472a281be77..728f5ddfbbf797 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx
@@ -1,10 +1,11 @@
 /* eslint-disable @typescript-eslint/naming-convention */
-/* eslint-disable @typescript-eslint/no-explicit-any */
 import * as React from 'react';
 import { useTheme } from '@fluentui/react';
 import { IRefObject } from '@fluentui/react/lib/Utilities';
 import { DonutChart } from '../DonutChart/index';
 import { VerticalStackedBarChart } from '../VerticalStackedBarChart/index';
+import { PlotData, PlotlySchema } from './PlotlySchema';
+//import type { Data, Layout } from './PlotlySchema';
 import {
   isArrayOrTypedArray,
   isDateArray,
@@ -21,10 +22,11 @@ import {
   transformPlotlyJsonToGaugeProps,
   transformPlotlyJsonToGVBCProps,
   transformPlotlyJsonToVBCProps,
+  isLineData,
 } from './PlotlySchemaAdapter';
-import { LineChart } from '../LineChart/index';
+import { LineChart, ILineChartProps } from '../LineChart/index';
 import { HorizontalBarChartWithAxis } from '../HorizontalBarChartWithAxis/index';
-import { AreaChart } from '../AreaChart/index';
+import { AreaChart, IAreaChartProps } from '../AreaChart/index';
 import { HeatMapChart } from '../HeatMapChart/index';
 import { SankeyChart } from '../SankeyChart/SankeyChart';
 import { GaugeChart } from '../GaugeChart/index';
@@ -41,6 +43,7 @@ export interface Schema {
   /**
    * Plotly schema represented as JSON object
    */
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
   plotlySchema: any;
 }
 
@@ -87,12 +90,8 @@ export const DeclarativeChart: React.FunctionComponent<DeclarativeChartProps> =
   DeclarativeChartProps
 >((props, forwardedRef) => {
   const { plotlySchema } = sanitizeJson(props.chartSchema);
-  const { data, layout } = plotlySchema;
+  const plotlyInput = plotlySchema as PlotlySchema;
   let { selectedLegends } = plotlySchema;
-  const xValues = data[0].x;
-  const isXDate = isDateArray(xValues);
-  const isXNumber = isNumberArray(xValues);
-  const isXMonth = isMonthArray(xValues);
   const colorMap = useColorMapping();
   const theme = useTheme();
   const isDarkTheme = theme?.isInverted ?? false;
@@ -106,7 +105,7 @@ export const DeclarativeChart: React.FunctionComponent<DeclarativeChartProps> =
   const onActiveLegendsChange = (keys: string[]) => {
     setActiveLegends(keys);
     if (props.onSchemaChange) {
-      props.onSchemaChange({ plotlySchema: { data, layout, selectedLegends: keys } });
+      props.onSchemaChange({ plotlySchema: { plotlyInput, selectedLegends: keys } });
     }
   };
 
@@ -118,16 +117,69 @@ export const DeclarativeChart: React.FunctionComponent<DeclarativeChartProps> =
     setActiveLegends(selectedLegends ?? []);
   }, [props.chartSchema]);
 
-  const legendProps = {
-    canSelectMultipleLegends: false,
+  const multiSelectLegendProps = {
+    canSelectMultipleLegends: true,
     onChange: onActiveLegendsChange,
-    selectedLegend: activeLegends.slice(0, 1)[0],
+    selectedLegends: activeLegends,
+  };
+
+  const commonProps = {
+    legendProps: multiSelectLegendProps,
+    componentRef: chartRef,
+    calloutProps: { layerProps: { eventBubblingEnabled: true } },
+  };
+
+  const checkAndRenderChart = (
+    renderChartJsx: (chartProps: ILineChartProps | IAreaChartProps) => JSX.Element,
+    isAreaChart: boolean = false,
+  ) => {
+    let fallbackVSBC = false;
+    const xValues = (plotlyInput.data[0] as PlotData).x;
+    const isXDate = isDateArray(xValues);
+    const isXNumber = isNumberArray(xValues);
+    const isXMonth = isMonthArray(xValues);
+    if (isXDate || isXNumber) {
+      const chartProps: ILineChartProps | IAreaChartProps = {
+        ...transformPlotlyJsonToScatterChartProps(
+          { data: plotlyInput.data, layout: plotlyInput.layout },
+          isAreaChart,
+          colorMap,
+          isDarkTheme,
+        ),
+        ...commonProps,
+      };
+      return renderChartJsx(chartProps);
+    } else if (isXMonth) {
+      const updatedData = plotlyInput.data.map((dataPoint: PlotData) => ({
+        ...dataPoint,
+        x: updateXValues(dataPoint.x),
+      }));
+      const chartProps: ILineChartProps | IAreaChartProps = {
+        ...transformPlotlyJsonToScatterChartProps(
+          { data: updatedData, layout: plotlyInput.layout },
+          isAreaChart,
+          colorMap,
+          isDarkTheme,
+        ),
+        ...commonProps,
+      };
+      return renderChartJsx(chartProps);
+    }
+    // Unsupported schema, render as VerticalStackedBarChart
+    fallbackVSBC = true;
+    return (
+      <VerticalStackedBarChart
+        {...transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme, fallbackVSBC)}
+        {...commonProps}
+      />
+    );
   };
 
   const exportAsImage = React.useCallback(
     (opts?: IImageExportOptions) => {
       return toImage(chartRef.current?.chartContainer, {
         background: theme.semanticColors.bodyBackground,
+        scale: 3,
         ...opts,
       });
     },
@@ -142,146 +194,78 @@ export const DeclarativeChart: React.FunctionComponent<DeclarativeChartProps> =
     [exportAsImage],
   );
 
-  const multiSelectLegendProps = {
-    ...legendProps,
-    canSelectMultipleLegends: true,
-    selectedLegends: activeLegends,
-  };
-
-  switch (data[0].type) {
+  switch (plotlyInput.data[0].type) {
     case 'pie':
-      return (
-        <DonutChart
-          {...transformPlotlyJsonToDonutProps(plotlySchema, colorMap, isDarkTheme)}
-          legendProps={multiSelectLegendProps}
-          componentRef={chartRef}
-          // Bubble event to prevent right click to open menu on the callout
-          calloutProps={{ layerProps: { eventBubblingEnabled: true } }}
-        />
-      );
+      return <DonutChart {...transformPlotlyJsonToDonutProps(plotlySchema, colorMap, isDarkTheme)} {...commonProps} />;
     case 'bar':
-      const orientation = data[0].orientation;
+      const orientation = plotlyInput.data[0].orientation;
       if (orientation === 'h') {
         return (
           <HorizontalBarChartWithAxis
             {...transformPlotlyJsonToHorizontalBarWithAxisProps(plotlySchema, colorMap, isDarkTheme)}
-            legendProps={multiSelectLegendProps}
-            componentRef={chartRef}
-            calloutProps={{ layerProps: { eventBubblingEnabled: true } }}
+            {...commonProps}
           />
         );
       } else {
-        if (['group', 'overlay'].includes(plotlySchema?.layout?.barmode)) {
+        const containsLines = plotlyInput.data.some(
+          series => series.type === 'scatter' || isLineData(series as Partial<PlotData>),
+        );
+        if (['group', 'overlay'].includes(plotlySchema?.layout?.barmode) && !containsLines) {
           return (
             <GroupedVerticalBarChart
               {...transformPlotlyJsonToGVBCProps(plotlySchema, colorMap, isDarkTheme)}
-              legendProps={multiSelectLegendProps}
-              componentRef={chartRef}
-              calloutProps={{ layerProps: { eventBubblingEnabled: true } }}
+              {...commonProps}
             />
           );
         }
         return (
           <VerticalStackedBarChart
             {...transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme)}
-            legendProps={multiSelectLegendProps}
-            componentRef={chartRef}
-            calloutProps={{ layerProps: { eventBubblingEnabled: true } }}
+            {...commonProps}
           />
         );
       }
     case 'scatter':
-      const isAreaChart = data.some((series: any) => series.fill === 'tonexty' || series.fill === 'tozeroy');
-      const renderChart = (chartProps: any) => {
+      if (plotlyInput.data[0].mode === 'markers') {
+        throw new Error(`Unsupported chart - type :${plotlyInput.data[0]?.type}, mode: ${plotlyInput.data[0]?.mode}`);
+      }
+      const isAreaChart = plotlyInput.data.some(
+        (series: PlotData) => series.fill === 'tonexty' || series.fill === 'tozeroy',
+      );
+      const renderChartJsx = (chartProps: ILineChartProps | IAreaChartProps) => {
         if (isAreaChart) {
-          return (
-            <AreaChart
-              {...chartProps}
-              legendProps={{ ...legendProps, canSelectMultipleLegends: true, selectedLegends: activeLegends }}
-            />
-          );
+          return <AreaChart {...chartProps} />;
         }
-        return (
-          <LineChart
-            {...{
-              ...chartProps,
-              legendProps: {
-                onChange: onActiveLegendsChange,
-                canSelectMultipleLegends: true,
-                selectedLegends: activeLegends,
-              },
-            }}
-          />
-        );
+        return <LineChart {...chartProps} />;
       };
-      if (isXDate || isXNumber) {
-        const chartProps = {
-          ...transformPlotlyJsonToScatterChartProps({ data, layout }, isAreaChart, colorMap, isDarkTheme),
-          legendProps,
-          componentRef: chartRef,
-          calloutProps: { layerProps: { eventBubblingEnabled: true } },
-        };
-        return renderChart(chartProps);
-      } else if (isXMonth) {
-        const updatedData = data.map((dataPoint: any) => ({
-          ...dataPoint,
-          x: updateXValues(dataPoint.x),
-        }));
-        const chartProps = {
-          ...transformPlotlyJsonToScatterChartProps({ data: updatedData, layout }, isAreaChart, colorMap, isDarkTheme),
-          legendProps,
-          componentRef: chartRef,
-          calloutProps: { layerProps: { eventBubblingEnabled: true } },
-        };
-        return renderChart(chartProps);
-      }
-      return (
-        <VerticalStackedBarChart
-          {...transformPlotlyJsonToVSBCProps(plotlySchema, colorMap, isDarkTheme)}
-          legendProps={multiSelectLegendProps}
-          componentRef={chartRef}
-          calloutProps={{ layerProps: { eventBubblingEnabled: true } }}
-        />
-      );
+      return checkAndRenderChart(renderChartJsx, isAreaChart);
     case 'heatmap':
-      return (
-        <HeatMapChart
-          {...transformPlotlyJsonToHeatmapProps(plotlySchema)}
-          componentRef={chartRef}
-          calloutProps={{ layerProps: { eventBubblingEnabled: true } }}
-        />
-      );
+      return <HeatMapChart {...transformPlotlyJsonToHeatmapProps(plotlySchema)} {...commonProps} legendProps={{}} />;
     case 'sankey':
       return (
-        <SankeyChart
-          {...transformPlotlyJsonToSankeyProps(plotlySchema, colorMap, isDarkTheme)}
-          componentRef={chartRef}
-          calloutProps={{ layerProps: { eventBubblingEnabled: true } }}
-        />
+        <SankeyChart {...transformPlotlyJsonToSankeyProps(plotlySchema, colorMap, isDarkTheme)} {...commonProps} />
       );
     case 'indicator':
-      if (data?.[0]?.mode?.includes('gauge')) {
+      if (plotlyInput.data?.[0]?.mode?.includes('gauge')) {
         return (
-          <GaugeChart
-            {...transformPlotlyJsonToGaugeProps(plotlySchema, colorMap, isDarkTheme)}
-            legendProps={multiSelectLegendProps}
-            componentRef={chartRef}
-            calloutProps={{ layerProps: { eventBubblingEnabled: true } }}
-          />
+          <GaugeChart {...transformPlotlyJsonToGaugeProps(plotlySchema, colorMap, isDarkTheme)} {...commonProps} />
         );
       }
-      return <div>Unsupported Schema</div>;
+      throw new Error(`Unsupported chart - type: ${plotlyInput.data[0]?.type}, mode: ${plotlyInput.data[0]?.mode}`);
     case 'histogram':
       return (
-        <VerticalBarChart
-          {...transformPlotlyJsonToVBCProps(plotlySchema, colorMap, isDarkTheme)}
-          legendProps={multiSelectLegendProps}
-          componentRef={chartRef}
-          calloutProps={{ layerProps: { eventBubblingEnabled: true } }}
-        />
+        <VerticalBarChart {...transformPlotlyJsonToVBCProps(plotlySchema, colorMap, isDarkTheme)} {...commonProps} />
       );
     default:
-      throw new Error('Unsupported chart schema');
+      const xValues = (plotlyInput.data[0] as PlotData).x;
+      const yValues = (plotlyInput.data[0] as PlotData).y;
+      if (xValues && yValues && xValues.length > 0 && yValues.length > 0) {
+        const renderLineChartJsx = (chartProps: ILineChartProps) => {
+          return <LineChart {...chartProps} />;
+        };
+        return checkAndRenderChart(renderLineChartJsx);
+      }
+      throw new Error(`Unsupported chart type :${plotlyInput.data[0]?.type}`);
   }
 });
 DeclarativeChart.displayName = 'DeclarativeChart';
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchema.ts b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchema.ts
new file mode 100644
index 00000000000000..e1ac07356818d2
--- /dev/null
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchema.ts
@@ -0,0 +1,1937 @@
+/* eslint-disable @typescript-eslint/naming-convention */
+/* eslint-disable @typescript-eslint/no-explicit-any */
+
+/**
+ * This interface is extracted from Plotly.js typescript definitions.
+ * All the unsupported types are removed to align with fluent charts.
+ *  https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/plotly.js/index.d.ts
+ */
+
+export type PieColor = string | number;
+export type PieColors = Array<PieColor | null | undefined>;
+
+export interface PieFont {
+  family: string | string[];
+  size: number | number[];
+  color: PieColor | PieColors;
+}
+
+export interface PieDataTitle extends Pick<DataTitle, 'text' | 'position'> {
+  font: Partial<PieFont>;
+}
+
+export type PieTextPosition = 'inside' | 'outside' | 'auto' | 'none';
+
+export type PieHoverInfo =
+  | 'all'
+  | 'none'
+  | 'skip'
+  | 'label'
+  | 'text'
+  | 'value'
+  | 'percent'
+  | 'name'
+  | 'label+text'
+  | 'label+value'
+  | 'label+percent'
+  | 'label+name'
+  | 'text+value'
+  | 'text+percent'
+  | 'text+name'
+  | 'value+percent'
+  | 'value+name'
+  | 'percent+name'
+  | 'label+text+value'
+  | 'label+text+percent'
+  | 'label+text+name'
+  | 'label+value+percent'
+  | 'label+value+name'
+  | 'label+percent+name'
+  | 'text+value+percent'
+  | 'text+value+name'
+  | 'text+percent+name'
+  | 'value+percent+name'
+  | 'label+text+value+percent'
+  | 'label+text+value+name'
+  | 'label+text+percent+name'
+  | 'label+value+percent+name'
+  | 'text+value+percent+name';
+
+export interface PieDomain {
+  x: number[];
+  y: number[];
+  row: number;
+  column: number;
+}
+
+export interface PieLine {
+  color: PieColor | PieColors;
+  width: number | number[];
+}
+
+export interface PieMarker {
+  colors: PieColors;
+  line: Partial<PieLine>;
+}
+
+export interface PieHoverLabel {
+  bgcolor: PieColor | PieColors;
+  bordercolor: PieColor | PieColors;
+  font: PieFont;
+  align: HoverLabel['align'] | Array<HoverLabel['align']>;
+  namelength: number | number[];
+}
+
+export type PieInsideTextOrientation = 'horizontal' | 'radial' | 'tangential' | 'auto';
+
+export interface PieData
+  extends Pick<
+    PlotData,
+    | 'name'
+    | 'visible'
+    | 'showlegend'
+    | 'legendgroup'
+    | 'opacity'
+    | 'ids'
+    | 'labels'
+    | 'hovertext'
+    | 'automargin'
+    | 'textinfo'
+    | 'direction'
+    | 'hole'
+    | 'rotation'
+  > {
+  type: 'pie';
+  title: Partial<PieDataTitle>;
+  values: Array<number | string>;
+  dlabel: number;
+  label0: number;
+  pull: number | number[];
+  text: Datum | Datum[];
+  textposition: PieTextPosition | PieTextPosition[];
+  texttemplate: string | string[];
+  hoverinfo: PieHoverInfo;
+  hovertemplate: string | string[];
+  meta: number | string;
+  customdata: Datum[];
+  domain: Partial<PieDomain>;
+  marker: Partial<PieMarker>;
+  textfont: PieFont;
+  hoverlabel: Partial<PieHoverLabel>;
+  insidetextfont: PieFont;
+  insidetextorientation: PieInsideTextOrientation;
+  outsidetextfont: PieFont;
+  scalegroup: string;
+  sort: boolean;
+  uirevision: number | string;
+}
+
+export type SankeyColor = string | number;
+export type SankeyColors = Array<SankeyColor | null | undefined>;
+
+export interface SankeyFont {
+  family: string | string[];
+  size: number | number[];
+  color: SankeyColor | SankeyColors;
+}
+
+export interface SankeyDataTitle {
+  font: Partial<SankeyFont>;
+  title: string;
+}
+
+export type SankeyOrientation = 'v' | 'h';
+
+export interface SankeyHoverLabel {
+  bgcolor: SankeyColor | SankeyColors;
+  bordercolor: SankeyColor | SankeyColors;
+  font: SankeyFont;
+  align: HoverLabel['align'] | Array<HoverLabel['align']>;
+  namelength: number | number[];
+}
+
+export interface SankeyDomain {
+  row: number;
+  column: number;
+  x: number[];
+  y: number[];
+}
+
+export interface SankeyNode {
+  color: SankeyColor[];
+  customdata: Datum[];
+  groups: SankeyNode[];
+  hoverinfo: 'all' | 'none' | 'skip';
+  hoverlabel: Partial<SankeyHoverLabel>;
+  hovertemplate: string | string[];
+  label: Datum[];
+  line: Partial<{
+    color: SankeyColor;
+    width: number;
+  }>;
+  pad: number;
+  thickness: number;
+  x: number[];
+  y: number[];
+}
+
+export interface SankeyColorscale {
+  cmax: number;
+  cmin: number;
+  colorscale: Array<[number, string]>;
+  label: string;
+  name: string;
+  templateitemname: string;
+}
+
+export interface SankeyLink {
+  arrowlen: number;
+  color: SankeyColor | SankeyColor[];
+  colorscale: Partial<SankeyColorscale>;
+  customdata: Datum[];
+  hoverinfo: 'all' | 'none' | 'skip';
+  hoverlabel: Partial<SankeyHoverLabel>;
+  hovertemplate: string | string[];
+  hovercolor: SankeyColor | SankeyColor[];
+  label: Datum[];
+  line: Partial<{
+    color: SankeyColor;
+    width: number;
+  }>;
+  source: number[];
+  target: number[];
+  value: number[];
+}
+
+export interface SankeyData {
+  type: 'sankey';
+  name: string;
+  orientation: SankeyOrientation;
+  visible: boolean | 'legendonly';
+  legend: string;
+  legendrank: number;
+  legendgrouptitle: Partial<SankeyDataTitle>;
+  legendwidth: number;
+  ids: string[];
+  hoverinfo: string;
+  meta: number | string;
+  customdata: Datum[];
+  domain: Partial<SankeyDomain>;
+  node: Partial<SankeyNode>;
+  link: Partial<SankeyLink>;
+  textfont: Partial<SankeyFont>;
+  selectpoints: string | number;
+  arrangement: 'snap' | 'perpendicular' | 'freeform' | 'fixed';
+  hoverlabel: Partial<SankeyHoverLabel>;
+  valueformat: string;
+  valuesuffix: string;
+  uirevision: string | number;
+}
+
+export interface Point {
+  x: number;
+  y: number;
+  z: number;
+}
+
+export interface PlotScatterDataPoint {
+  curveNumber: number;
+  data: PlotData;
+  pointIndex: number;
+  pointNumber: number;
+  x: number;
+  xaxis: LayoutAxis;
+  y: number;
+  yaxis: LayoutAxis;
+}
+
+export interface PlotDatum {
+  curveNumber: number;
+  data: PlotData;
+  customdata: Datum;
+  pointIndex: number;
+  pointNumber: number;
+  x: Datum;
+  xaxis: LayoutAxis;
+  y: Datum;
+  yaxis: LayoutAxis;
+  text: string;
+}
+
+export interface PlotCoordinate {
+  x: number;
+  y: number;
+  pointNumber: number;
+}
+
+export interface SelectionRange {
+  x: number[];
+  y: number[];
+}
+
+export type PlotSelectedData = Partial<PlotDatum>;
+
+export interface PlotScene {
+  center: Point;
+  eye: Point;
+  up: Point;
+}
+
+export interface PolarLayout {
+  domain: Partial<Domain>;
+  sector: number[];
+  hole: number;
+  bgcolor: Color;
+  radialaxis: Partial<LayoutAxis>;
+  angularaxis: Partial<LayoutAxis>;
+  gridshape: 'circular' | 'linear';
+  uirevision: string | number;
+  uid: string;
+}
+
+export interface PlotlySchema {
+  data: Data[];
+  layout?: Partial<Layout>;
+  config?: Partial<Config>;
+}
+
+// Layout
+export interface Layout {
+  colorway: string[];
+  title:
+    | string
+    | Partial<{
+        text: string;
+        font: Partial<Font>;
+        xref: 'container' | 'paper';
+        yref: 'container' | 'paper';
+        x: number;
+        y: number;
+        xanchor: 'auto' | 'left' | 'center' | 'right';
+        yanchor: 'auto' | 'top' | 'middle' | 'bottom';
+        pad: Partial<Padding>;
+      }>;
+  titlefont: Partial<Font>;
+  autosize: boolean;
+  showlegend: boolean;
+  paper_bgcolor: Color;
+  plot_bgcolor: Color;
+  separators: string;
+  hidesources: boolean;
+  xaxis: Partial<LayoutAxis>;
+  xaxis2: Partial<LayoutAxis>;
+  xaxis3: Partial<LayoutAxis>;
+  xaxis4: Partial<LayoutAxis>;
+  xaxis5: Partial<LayoutAxis>;
+  xaxis6: Partial<LayoutAxis>;
+  xaxis7: Partial<LayoutAxis>;
+  xaxis8: Partial<LayoutAxis>;
+  xaxis9: Partial<LayoutAxis>;
+  yaxis: Partial<LayoutAxis>;
+  yaxis2: Partial<LayoutAxis>;
+  yaxis3: Partial<LayoutAxis>;
+  yaxis4: Partial<LayoutAxis>;
+  yaxis5: Partial<LayoutAxis>;
+  yaxis6: Partial<LayoutAxis>;
+  yaxis7: Partial<LayoutAxis>;
+  yaxis8: Partial<LayoutAxis>;
+  yaxis9: Partial<LayoutAxis>;
+  margin: Partial<Margin>;
+  height: number;
+  width: number;
+  hovermode: 'closest' | 'x' | 'y' | 'x unified' | 'y unified' | false;
+  hoverdistance: number;
+  hoverlabel: Partial<HoverLabel>;
+  calendar: Calendar;
+  'xaxis.range': [Datum, Datum];
+  'xaxis.range[0]': Datum;
+  'xaxis.range[1]': Datum;
+  'yaxis.range': [Datum, Datum];
+  'yaxis.range[0]': Datum;
+  'yaxis.range[1]': Datum;
+  'yaxis.type': AxisType;
+  'xaxis.type': AxisType;
+  'xaxis.autorange': boolean;
+  'yaxis.autorange': boolean;
+  'xaxis.title': string;
+  'yaxis.title': string;
+  ternary: any;
+  geo: any;
+  mapbox: any;
+  subplot: string;
+  radialaxis: Partial<Axis>;
+  angularaxis: {};
+  dragmode:
+    | 'zoom'
+    | 'pan'
+    | 'select'
+    | 'lasso'
+    | 'drawclosedpath'
+    | 'drawopenpath'
+    | 'drawline'
+    | 'drawrect'
+    | 'drawcircle'
+    | 'orbit'
+    | 'turntable'
+    | false;
+  orientation: number;
+  annotations: Array<Partial<Annotations>>;
+  shapes: Array<Partial<Shape>>;
+  legend: Partial<Legend>;
+  font: Partial<Font>;
+  barmode: 'stack' | 'group' | 'overlay' | 'relative';
+  barnorm: '' | 'fraction' | 'percent';
+  bargap: number;
+  bargroupgap: number;
+  boxmode: 'group' | 'overlay';
+  selectdirection: 'h' | 'v' | 'd' | 'any';
+  hiddenlabels: string[];
+  grid: Partial<{
+    rows: number;
+    roworder: 'top to bottom' | 'bottom to top';
+    columns: number;
+    subplots: string[];
+    xaxes: string[];
+    yaxes: string[];
+    pattern: 'independent' | 'coupled';
+    xgap: number;
+    ygap: number;
+    domain: Partial<{
+      x: number[];
+      y: number[];
+    }>;
+    xside: 'bottom' | 'bottom plot' | 'top plot' | 'top';
+    yside: 'left' | 'left plot' | 'right plot' | 'right';
+  }>;
+  polar: Partial<PolarLayout>;
+  polar2: Partial<PolarLayout>;
+  polar3: Partial<PolarLayout>;
+  polar4: Partial<PolarLayout>;
+  polar5: Partial<PolarLayout>;
+  polar6: Partial<PolarLayout>;
+  polar7: Partial<PolarLayout>;
+  polar8: Partial<PolarLayout>;
+  polar9: Partial<PolarLayout>;
+  template: Template;
+  clickmode: 'event' | 'select' | 'event+select' | 'none';
+  uirevision: number | string;
+  uid: string;
+  datarevision: number | string;
+  editrevision: number | string;
+  selectionrevision: number | string;
+}
+
+export interface Legend extends Label {
+  borderwidth: number;
+  groupclick: 'toggleitem' | 'togglegroup';
+  grouptitlefont: Partial<Font>;
+  itemclick: 'toggle' | 'toggleothers' | false;
+  itemdoubleclick: 'toggle' | 'toggleothers' | false;
+  itemsizing: 'trace' | 'constant';
+  itemwidth: number;
+  orientation: 'v' | 'h';
+  title: Partial<LegendTitle>;
+  tracegroupgap: number;
+  traceorder: 'grouped' | 'normal' | 'reversed' | 'reversed+grouped';
+  uirevision: number | string;
+  uid: string;
+  valign: 'top' | 'middle' | 'bottom';
+  x: number;
+  xanchor: 'auto' | 'left' | 'center' | 'right';
+  xref: 'container' | 'paper';
+  y: number;
+  yanchor: 'auto' | 'top' | 'middle' | 'bottom';
+  yref: 'container' | 'paper';
+}
+
+export type AxisType = '-' | 'linear' | 'log' | 'date' | 'category' | 'multicategory';
+
+export type DTickValue = number | string;
+
+export interface TickFormatStop {
+  /**
+   * Determines whether or not this stop is used. If `false`,
+   * this stop is ignored even within its `dtickrange`.
+   */
+  enabled: boolean;
+  /**
+   * Range [`min`, `max`], where `min`, `max` - dtick values
+   * which describe some zoom level, it is possible to omit `min` or `max`
+   * value by passing `null`
+   */
+  dtickrange: [DTickValue | null, DTickValue | null];
+  /**
+   * dtickformat for described zoom level, the same as `tickformat`
+   */
+  value: string;
+  /**
+   * When used in a template, named items are created in the output figure
+   * in addition to any items the figure already has in this array.
+   * You can modify these items in the output figure by making
+   * your own item with `templateitemname` matching this `name`
+   * alongside your modifications (including `visible: false` or `enabled: false` to hide it).
+   * Has no effect outside of a template.
+   */
+  name: string;
+  /**
+   * Used to refer to a named item in this array in the template.
+   * Named items from the template will be created even without
+   * a matching item in the input figure, but you can modify one by
+   * making an item with `templateitemname` matching its `name`,
+   * alongside your modifications (including `visible: false` or `enabled: false` to hide it).
+   * If there is no template or no matching item, this item will be hidden
+   * unless you explicitly show it with `visible: true`.
+   */
+  templateitemname: string;
+}
+
+export interface AutoRangeOptions {
+  clipmax: DTickValue;
+  clipmin: DTickValue;
+  include: DTickValue;
+  maxallowed: DTickValue;
+  minallowed: DTickValue;
+}
+
+export interface MinorAxisLayout {
+  dtick: DTickValue;
+  gridcolor: Color;
+  griddash: Dash;
+  gridwidth: number;
+  nticks: number;
+  showgrid: boolean;
+  tick0: DTickValue;
+  tickcolor: Color;
+  ticklen: number;
+  tickmode: 'auto' | 'linear' | 'array';
+  ticks: 'outside' | 'inside' | '';
+  tickvals: any[];
+  tickwidth: number;
+}
+
+export interface RangeBreak {
+  bounds: any[];
+  dvalue: number;
+  enabled: boolean;
+  name: string;
+  pattern: 'day of week' | 'hour' | '';
+  templateitemname: string;
+  values: any[];
+}
+
+export interface Axis {
+  /**
+   * A single toggle to hide the axis while preserving interaction like dragging.
+   * Default is true when a cheater plot is present on the axis, otherwise
+   * false
+   */
+  visible: boolean;
+  /**
+   * Sets default for all colors associated with this axis
+   * all at once: line, font, tick, and grid colors.
+   * Grid color is lightened by blending this with the plot background
+   * Individual pieces can override this.
+   */
+  color: Color;
+  title: string | Partial<DataTitle>;
+  /**
+   * Former `titlefont` is now the sub-attribute `font` of `title`.
+   * To customize title font properties, please use `title.font` now.
+   */
+  titlefont: Partial<Font>;
+  type: AxisType;
+  autorange: true | false | 'reversed' | 'min reversed' | 'max reversed' | 'min' | 'max';
+  autorangeoptions: Partial<AutoRangeOptions>;
+  /**
+   * 'If *normal*, the range is computed in relation to the extrema
+   * of the input data.
+   * If *tozero*`, the range extends to 0,
+   * regardless of the input data
+   * If *nonnegative*, the range is non-negative,
+   * regardless of the input data.
+   * Applies only to linear axes.
+   */
+  rangemode: 'normal' | 'tozero' | 'nonnegative';
+  range: any[];
+  /**
+   * Determines whether or not this axis is zoom-able.
+   * If true, then zoom is disabled.
+   */
+  fixedrange: boolean;
+
+  /**
+   * Ticks
+   */
+  tickmode: 'auto' | 'linear' | 'array';
+  nticks: number;
+  tick0: number | string;
+  dtick: DTickValue;
+  tickvals: any[];
+  ticktext: string[];
+  ticks: 'outside' | 'inside' | '';
+  mirror: true | 'ticks' | false | 'all' | 'allticks';
+  ticklen: number;
+  tickwidth: number;
+  tickcolor: Color;
+  showticklabels: boolean;
+  showspikes: boolean;
+  spikecolor: Color;
+  spikethickness: number;
+  /**
+   * Specifies the ordering logic for the case of categorical variables.
+   * By default, plotly uses *trace*, which specifies the order that is present in the data supplied.
+   * Set `categoryorder` to *category ascending* or *category descending* if order should be determined by
+   * the alphanumerical order of the category names.
+   * Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category
+   * is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to
+   * the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.
+   * Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the
+   * numerical order of the values.
+   * Similarly, the order can be determined by the min, max, sum, mean or median of all the values.
+   */
+  categoryorder:
+    | 'trace'
+    | 'category ascending'
+    | 'category descending'
+    | 'array'
+    | 'total ascending'
+    | 'total descending'
+    | 'min ascending'
+    | 'min descending'
+    | 'max ascending'
+    | 'max descending'
+    | 'sum ascending'
+    | 'sum descending'
+    | 'mean ascending'
+    | 'mean descending'
+    | 'median ascending'
+    | 'median descending';
+  categoryarray: any[];
+  tickfont: Partial<Font>;
+  tickangle: 'auto' | number;
+  tickprefix: string;
+  /**
+   * If `all`, all tick labels are displayed with a prefix.
+   * If `first`, only the first tick is displayed with a prefix.
+   * If `last`, only the last tick is displayed with a suffix.
+   * If `none`, tick prefixes are hidden.
+   */
+  showtickprefix: 'all' | 'first' | 'last' | 'none';
+  /**
+   * Sets a tick label suffix.
+   */
+  ticksuffix: string;
+  /**
+   * Same as `showtickprefix` but for tick suffixes.
+   */
+  showticksuffix: 'all' | 'first' | 'last' | 'none';
+  /**
+   * If `all`, all exponents are shown besides their significands.
+   * If `first`, only the exponent of the first tick is shown.
+   * If `last`, only the exponent of the last tick is shown.
+   * If `none`, no exponents appear.
+   */
+  showexponent: 'all' | 'first' | 'last' | 'none';
+  /**
+   * Determines a formatting rule for the tick exponents.
+   * For example, consider the number 1,000,000,000.
+   * If `none`, it appears as *1,000,000,000*.
+   * If `e`, *1e+9*.
+   * If `E`, *1E+9*.
+   * If `power`, *1x10^9* (with 9 in a super script).
+   * If `SI`, *1G*.
+   * If `B`, *1B*.
+   */
+  exponentformat: 'none' | 'e' | 'E' | 'power' | 'SI' | 'B';
+  /**
+   * Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".
+   */
+  minexponent: number;
+  /**
+   * 'If `true`, even 4-digit integers are separated
+   */
+  separatethousands: boolean;
+  /**
+   * Sets the tick label formatting rule using d3 formatting mini-languages
+   * which are very similar to those in Python.
+   * For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format
+   * And for dates see: https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md#format
+   * We add one item to d3's date formatter: `%{n}f` for fractional seconds with n digits.
+   * For example, `"2016-10-13 09:15:23.456"` with tickformat `"%H~%M~%S.%2f"` would display `"09~15~23.46"`
+   */
+  tickformat: string;
+  /**
+   * Sets the hover text formatting rule using d3 formatting mini-languages
+   * which are very similar to those in Python.
+   * For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format
+   * And for dates see: https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md#format
+   * We add one item to d3's date formatter: `%{n}f` for fractional seconds with n digits.
+   * For example, `"2016-10-13 09:15:23.456"` with tickformat `"%H~%M~%S.%2f"` would display "09~15~23.46"
+   */
+  hoverformat: string;
+  calendar: Calendar;
+  /**
+   * Array of `Partial<TickFormatStop>` objects.
+   */
+  tickformatstops: Array<Partial<TickFormatStop>>;
+  spikedash: string;
+  /**
+   * Determines the drawing mode for the spike line.
+   * If `toaxis`, the line is drawn from the data point to the axis the
+   * series is plotted on.
+   * If `across`, the line is drawn across the entire plot area, and
+   * supercedes *toaxis*.
+   * If `marker`, then a marker dot is drawn on the axis the series is
+   * plotted on
+   */
+  spikemode:
+    | 'toaxis'
+    | 'across'
+    | 'marker'
+    | 'toaxis+across'
+    | 'toaxis+across+marker'
+    | 'across+marker'
+    | 'toaxis+marker';
+  /**
+   * Determines whether spikelines are stuck to the cursor or to the closest datapoints.
+   */
+  spikesnap: 'data' | 'cursor' | 'hovered data';
+
+  /**
+   * Lines and Grids
+   */
+
+  /**
+   * Determines whether or not a line bounding this axis is drawn.
+   */
+  showline: boolean;
+  /**
+   * Sets the axis line color
+   */
+  linecolor: Color;
+  /**
+   * Sets the width (in px) of the axis line.
+   */
+  linewidth: number;
+  /**
+   * Determines whether or not grid lines are drawn.
+   * If `true`, the grid lines are drawn at every tick mark.
+   */
+  showgrid: boolean;
+  /**
+   * Sets the color of the grid lines.
+   */
+  gridcolor: Color;
+  /**
+   * Sets the width (in px) of the grid lines.
+   */
+  gridwidth: number;
+  /**
+   * Determines whether or not a line is drawn at along the 0 value
+   * of this axis.
+   * If `true`, the zero line is drawn on top of the grid lines.
+   */
+  zeroline: boolean;
+  /**
+   * Sets the line color of the zero line.
+   */
+  zerolinecolor: Color;
+  /**
+   * Sets the width (in px) of the zero line.
+   */
+  zerolinewidth: number;
+  /**
+   * Determines whether or not a dividers are drawn
+   * between the category levels of this axis.
+   * Only has an effect on *multicategory* axes.
+   */
+  showdividers: boolean;
+  /**
+   * Sets the color of the dividers
+   * Only has an effect on *multicategory* axes.
+   */
+  dividercolor: Color;
+  /**
+   * Sets the width (in px) of the dividers
+   * Only has an effect on *multicategory* axes.
+   */
+  dividerwidth: number;
+
+  autotypenumbers: 'convert types' | 'strict';
+  labelalias: DTickValue;
+  maxallowed: DTickValue;
+  minallowed: DTickValue;
+}
+
+export type Calendar =
+  | 'gregorian'
+  | 'chinese'
+  | 'coptic'
+  | 'discworld'
+  | 'ethiopian'
+  | 'hebrew'
+  | 'islamic'
+  | 'julian'
+  | 'mayan'
+  | 'nanakshahi'
+  | 'nepali'
+  | 'persian'
+  | 'jalali'
+  | 'taiwan'
+  | 'thai'
+  | 'ummalqura';
+
+// regex from documentation: "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" | "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
+// regex allows for an unlimited amount of digits for the 'axis number',
+// but the following typescript definition is limited to two digits
+type xYAxisNames = `${
+  | ''
+  | `${2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}`
+  | `${1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}${0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}`}${'' | ' domain'}`;
+
+export type XAxisName = `x${xYAxisNames}`;
+export type YAxisName = `y${xYAxisNames}`;
+
+export type AxisName = XAxisName | YAxisName;
+
+export interface LayoutAxis extends Axis {
+  fixedrange: boolean;
+  scaleanchor: AxisName;
+  scaleratio: number;
+  constrain: 'range' | 'domain';
+  constraintoward: 'left' | 'center' | 'right' | 'top' | 'middle' | 'bottom';
+  anchor: 'free' | AxisName;
+  side: 'top' | 'bottom' | 'left' | 'right' | 'clockwise' | 'counterclockwise';
+  overlaying: 'free' | AxisName;
+  layer: 'above traces' | 'below traces';
+  domain: number[];
+  position: number;
+  rotation: number;
+  direction: 'counterclockwise' | 'clockwise';
+  rangeslider: Partial<RangeSlider>;
+  rangeselector: Partial<RangeSelector>;
+  automargin: boolean;
+  autotick: boolean;
+  angle: any;
+  griddash: Dash;
+  l2p: (v: Datum) => number;
+
+  autotickangles: number[];
+  insiderange: any[];
+  matches: AxisName;
+  minor: Partial<MinorAxisLayout>;
+  rangebreaks: Array<Partial<RangeBreak>>;
+  ticklabelmode: 'instant' | 'period';
+  ticklabeloverflow: 'allow' | 'hide past div' | 'hide past domain';
+  ticklabelposition:
+    | 'outside'
+    | 'inside'
+    | 'outside top'
+    | 'inside top'
+    | 'outside left'
+    | 'inside left'
+    | 'outside right'
+    | 'inside right'
+    | 'outside bottom'
+    | 'inside bottom';
+  ticklabelstep: number;
+  tickson: 'labels' | 'boundaries';
+  uirevision: DTickValue;
+}
+
+export interface SceneAxis extends Axis {
+  spikesides: boolean;
+  showbackground: boolean;
+  backgroundcolor: Color;
+  showaxeslabels: boolean;
+}
+
+export interface ShapeLine {
+  color: string;
+  width: number;
+  dash: Dash;
+}
+
+export interface ShapeLabel {
+  font: Partial<Font>;
+  padding: number;
+  text: string;
+  textangle: 'auto' | number;
+  textposition:
+    | 'top left'
+    | 'top center'
+    | 'top right'
+    | 'middle left'
+    | 'middle center'
+    | 'middle right'
+    | 'bottom left'
+    | 'bottom center'
+    | 'bottom right'
+    | 'start'
+    | 'middle'
+    | 'end';
+  texttemplate: string;
+  xanchor: 'auto' | 'left' | 'center' | 'right';
+  yanchor: 'top' | 'middle' | 'bottom';
+}
+
+export interface Shape {
+  visible: boolean | 'legendonly';
+  layer: 'below' | 'above';
+  type: 'rect' | 'circle' | 'line' | 'path';
+  path: string;
+  xref: 'paper' | XAxisName;
+  xsizemode: 'scaled' | 'pixel';
+  xanchor: number | string;
+  yref: 'paper' | YAxisName;
+  ysizemode: 'scaled' | 'pixel';
+  yanchor: number | string;
+  x0: Datum;
+  y0: Datum;
+  x1: Datum;
+  y1: Datum;
+  fillcolor: string;
+  name: string;
+  templateitemname: string;
+  opacity: number;
+  line: Partial<ShapeLine>;
+  label: Partial<ShapeLabel>;
+  showlegend: boolean;
+  legendgroup: string;
+  legendgrouptitle: {
+    text: string;
+    font?: Partial<Font>;
+  };
+  legendrank: number;
+}
+
+export interface Margin {
+  t: number;
+  b: number;
+  l: number;
+  r: number;
+  pad: number;
+}
+
+export interface Icon {
+  height?: number | undefined;
+  width?: number | undefined;
+  ascent?: number | undefined;
+  descent?: number | undefined;
+  name?: string | undefined;
+  path?: string | undefined;
+  svg?: string | undefined;
+  transform?: string | undefined;
+}
+
+export interface GaugeLine {
+  color: Color;
+  width: number;
+}
+export interface Threshold {
+  line: Partial<GaugeLine>;
+  value: number;
+  thickness: number;
+}
+
+export interface GaugeBar {
+  color: Color;
+  line: Partial<GaugeLine>;
+  thickness: number;
+}
+export interface Gauge {
+  shape: 'angular' | 'bullet';
+  bar: Partial<GaugeBar>;
+  bgcolor: Color;
+  bordercolor: Color;
+  borderwidth: number;
+  axis: Partial<Axis>;
+  steps: Array<{ range: number[]; color: Color }>;
+  threshold: Partial<Threshold>;
+}
+
+export interface Delta {
+  reference: number;
+  position: 'top' | 'bottom' | 'left' | 'right';
+  relative: boolean;
+  valueformat: string;
+  increasing: {
+    symbol: string;
+    color: Color;
+  };
+  decreasing: {
+    symbol: string;
+    color: Color;
+  };
+}
+
+export interface DataTitle {
+  text: string;
+  font: Partial<Font>;
+  standoff: number;
+  position:
+    | 'top left'
+    | 'top center'
+    | 'top right'
+    | 'middle center'
+    | 'bottom left'
+    | 'bottom center'
+    | 'bottom right';
+}
+
+export interface PlotNumber {
+  valueformat: string;
+  font: Partial<Font>;
+  prefix: string;
+  suffix: string;
+}
+
+export interface Template {
+  data?: { [type in PlotType]?: Array<Partial<PlotData>> } | undefined;
+  layout?: Partial<Layout> | undefined;
+}
+
+// Data
+
+export type Datum = string | number | Date | null;
+export type TypedArray =
+  | Int8Array
+  | Uint8Array
+  | Int16Array
+  | Uint16Array
+  | Int32Array
+  | Uint32Array
+  | Uint8ClampedArray
+  | Float32Array
+  | Float64Array;
+
+export interface ErrorOptions {
+  visible: boolean;
+  symmetric: boolean;
+  color: Color;
+  thickness: number;
+  width: number;
+  opacity: number;
+}
+
+export type ErrorBar = Partial<ErrorOptions> &
+  (
+    | {
+        type: 'constant' | 'percent';
+        value: number;
+        valueminus?: number | undefined;
+      }
+    | {
+        type: 'data';
+        array: Datum[];
+        arrayminus?: Datum[] | undefined;
+      }
+  );
+
+export type Dash = 'solid' | 'dot' | 'dash' | 'longdash' | 'dashdot' | 'longdashdot';
+export type PlotType =
+  | 'bar'
+  | 'barpolar'
+  | 'box'
+  | 'candlestick'
+  | 'carpet'
+  | 'choropleth'
+  | 'choroplethmapbox'
+  | 'cone'
+  | 'contour'
+  | 'contourcarpet'
+  | 'densitymapbox'
+  | 'funnel'
+  | 'funnelarea'
+  | 'heatmap'
+  | 'heatmapgl'
+  | 'histogram'
+  | 'histogram2d'
+  | 'histogram2dcontour'
+  | 'image'
+  | 'indicator'
+  | 'isosurface'
+  | 'mesh3d'
+  | 'ohlc'
+  | 'parcats'
+  | 'parcoords'
+  | 'pie'
+  | 'pointcloud'
+  | 'sankey'
+  | 'scatter'
+  | 'scatter3d'
+  | 'scattercarpet'
+  | 'scattergeo'
+  | 'scattergl'
+  | 'scattermapbox'
+  | 'scatterpolar'
+  | 'scatterpolargl'
+  | 'scatterternary'
+  | 'splom'
+  | 'streamtube'
+  | 'sunburst'
+  | 'surface'
+  | 'table'
+  | 'treemap'
+  | 'violin'
+  | 'volume'
+  | 'waterfall';
+
+export type Data = Partial<PlotData> | Partial<PieData> | Partial<SankeyData>;
+
+export type Color =
+  | string
+  | number
+  | Array<string | number | undefined | null>
+  | Array<Array<string | number | undefined | null>>;
+export type ColorScale = string | string[] | Array<[number, string]>;
+export type DataTransform = Partial<Transform>;
+export type ScatterData = PlotData;
+
+// Bar Scatter
+export interface PlotData {
+  type: PlotType;
+  x: Datum[] | Datum[][] | TypedArray;
+  y: Datum[] | Datum[][] | TypedArray;
+  z: Datum[] | Datum[][] | Datum[][][] | TypedArray;
+  i: TypedArray;
+  j: TypedArray;
+  k: TypedArray;
+  xy: Float32Array;
+  error_x: ErrorBar;
+  error_y: ErrorBar;
+  xaxis: string;
+  yaxis: string;
+  text: string | string[];
+  lat: Datum[];
+  lon: Datum[];
+  line: Partial<ScatterLine>;
+  'line.color': Color;
+  'line.width': number;
+  'line.dash': Dash;
+  'line.shape': 'linear' | 'spline' | 'hv' | 'vh' | 'hvh' | 'vhv';
+  'line.smoothing': number;
+  'line.simplify': boolean;
+  marker: Partial<PlotMarker>;
+  'marker.symbol': MarkerSymbol | MarkerSymbol[];
+  'marker.color': Color;
+  'marker.colorscale': ColorScale | ColorScale[];
+  'marker.opacity': number | number[];
+  'marker.size': number | number[] | number[][];
+  'marker.maxdisplayed': number;
+  'marker.sizeref': number;
+  'marker.sizemax': number;
+  'marker.sizemin': number;
+  'marker.sizemode': 'diameter' | 'area';
+  'marker.showscale': boolean;
+  'marker.line': Partial<ScatterMarkerLine>;
+  'marker.line.color': Color;
+  'marker.line.colorscale': ColorScale | ColorScale[];
+  'marker.colorbar': {}; // TODO
+  'marker.pad.t': number;
+  'marker.pad.b': number;
+  'marker.pad.l': number;
+  'marker.pad.r': number;
+  mode:
+    | 'lines'
+    | 'markers'
+    | 'text'
+    | 'lines+markers'
+    | 'text+markers'
+    | 'text+lines'
+    | 'text+lines+markers'
+    | 'none'
+    | 'gauge'
+    | 'number'
+    | 'delta'
+    | 'number+delta'
+    | 'gauge+number'
+    | 'gauge+number+delta'
+    | 'gauge+delta';
+  histfunc: 'count' | 'sum' | 'avg' | 'min' | 'max';
+  histnorm: '' | 'percent' | 'probability' | 'density' | 'probability density';
+  hoveron: 'points' | 'fills';
+  hoverinfo:
+    | 'all'
+    | 'name'
+    | 'none'
+    | 'skip'
+    | 'text'
+    | 'x'
+    | 'x+text'
+    | 'x+name'
+    | 'x+y'
+    | 'x+y+text'
+    | 'x+y+name'
+    | 'x+y+z'
+    | 'x+y+z+text'
+    | 'x+y+z+name'
+    | 'y'
+    | 'y+name'
+    | 'y+x'
+    | 'y+text'
+    | 'y+x+text'
+    | 'y+x+name'
+    | 'y+z'
+    | 'y+z+text'
+    | 'y+z+name'
+    | 'y+x+z'
+    | 'y+x+z+text'
+    | 'y+x+z+name'
+    | 'z'
+    | 'z+x'
+    | 'z+x+text'
+    | 'z+x+name'
+    | 'z+y+x'
+    | 'z+y+x+text'
+    | 'z+y+x+name'
+    | 'z+x+y'
+    | 'z+x+y+text'
+    | 'z+x+y+name';
+  hoverlabel: Partial<HoverLabel>;
+  hovertemplate: string | string[];
+  hovertext: string | string[];
+  hoverongaps: boolean;
+  xhoverformat: string;
+  yhoverformat: string;
+  zhoverformat: string;
+  texttemplate: string | string[];
+  textinfo:
+    | 'label'
+    | 'label+text'
+    | 'label+value'
+    | 'label+percent'
+    | 'label+text+value'
+    | 'label+text+percent'
+    | 'label+value+percent'
+    | 'text'
+    | 'text+value'
+    | 'text+percent'
+    | 'text+value+percent'
+    | 'value'
+    | 'value+percent'
+    | 'percent'
+    | 'none';
+  textposition:
+    | 'top left'
+    | 'top center'
+    | 'top right'
+    | 'middle left'
+    | 'middle center'
+    | 'middle right'
+    | 'bottom left'
+    | 'bottom center'
+    | 'bottom right'
+    | 'inside'
+    | 'outside'
+    | 'auto'
+    | 'none';
+  textfont: Partial<Font>;
+  textangle: 'auto' | number;
+  insidetextanchor: 'end' | 'middle' | 'start';
+  constraintext: 'inside' | 'outside' | 'both' | 'none';
+  fill: 'none' | 'tozeroy' | 'tozerox' | 'tonexty' | 'tonextx' | 'toself' | 'tonext';
+  fillcolor: string;
+  fillpattern: Partial<Pattern>;
+  showlegend: boolean;
+  legendgroup: string;
+  legendgrouptitle: {
+    text: string;
+    font?: Partial<Font>;
+  };
+  legendrank: number;
+  parents: string[];
+  name: string;
+  stackgroup: string;
+  groupnorm: '' | 'fraction' | 'percent';
+  stackgaps: 'infer zero' | 'interpolate';
+  connectgaps: boolean;
+  visible: boolean | 'legendonly';
+  delta: Partial<Delta>;
+  gauge: Partial<Gauge>;
+  number: Partial<PlotNumber>;
+  transforms: DataTransform[];
+  orientation: 'v' | 'h';
+  width: number | number[];
+  boxmean: boolean | 'sd';
+  boxpoints: 'all' | 'outliers' | 'suspectedoutliers' | false;
+  jitter: number;
+  pointpos: number;
+  opacity: number;
+  showscale: boolean;
+  colorscale: ColorScale;
+  zsmooth: 'fast' | 'best' | false;
+  zmin: number;
+  zmax: number;
+  ygap: number;
+  xgap: number;
+  transpose: boolean;
+  autobinx: boolean;
+  xbins: {
+    start: number | string;
+    end: number | string;
+    size: number | string;
+  };
+  value: number;
+  values: Datum[];
+  labels: Datum[];
+  direction: 'clockwise' | 'counterclockwise';
+  hole: number;
+  rotation: number;
+  theta: Datum[];
+  r: Datum[];
+  customdata: Datum[] | Datum[][];
+  selectedpoints: Datum[];
+  domain: Partial<{
+    row: number;
+    column: number;
+    x: number[];
+    y: number[];
+  }>;
+  title: Partial<DataTitle>;
+  branchvalues: 'total' | 'remainder';
+  ids: string[];
+  level: string;
+  cliponaxis: boolean;
+  automargin: boolean;
+  locationmode: 'ISO-3' | 'USA-states' | 'country names' | 'geojson-id';
+  locations: Datum[];
+  reversescale: boolean;
+  colorbar: Partial<ColorBar>;
+  offset: number | number[];
+  contours: Partial<{
+    coloring: 'fill' | 'heatmap' | 'lines' | 'none';
+    end: number;
+    labelfont: Partial<Font>;
+    labelformat: string;
+    operation: '=' | '<' | '>=' | '>' | '<=' | '[]' | '()' | '[)' | '(]' | '][' | ')(' | '](' | ')[';
+    showlabels: boolean;
+    showlines: boolean;
+    size: number;
+    start: number;
+    type: 'levels' | 'constraint';
+    value: number | [lowerBound: number, upperBound: number];
+  }>;
+  autocontour: boolean;
+  ncontours: number;
+  uirevision: string | number;
+  uid: string;
+}
+
+/**
+ * These interfaces are based on attribute descriptions in
+ * https://github.com/plotly/plotly.js/tree/9d6144304308fc3007f0facf2535d38ea3e9b26c/src/transforms
+ */
+export interface TransformStyle {
+  target: number | string | number[] | string[];
+  value: Partial<PlotData>;
+}
+
+export interface TransformAggregation {
+  target: string;
+  func?: 'count' | 'sum' | 'avg' | 'median' | 'mode' | 'rms' | 'stddev' | 'min' | 'max' | 'first' | 'last' | undefined;
+  funcmode?: 'sample' | 'population' | undefined;
+  enabled?: boolean | undefined;
+}
+
+export interface Transform {
+  type: 'aggregate' | 'filter' | 'groupby' | 'sort';
+  enabled: boolean;
+  target: number | string | number[] | string[];
+  operation: string;
+  aggregations: TransformAggregation[];
+  preservegaps: boolean;
+  groups: string | number[] | string[];
+  nameformat: string;
+  styles: TransformStyle[];
+  value: any;
+  order: 'ascending' | 'descending';
+}
+
+export interface ColorBar {
+  thicknessmode: 'fraction' | 'pixels';
+  thickness: number;
+  lenmode: 'fraction' | 'pixels';
+  len: number;
+  x: number;
+  xanchor: 'left' | 'center' | 'right';
+  xpad: number;
+  y: number;
+  yanchor: 'top' | 'middle' | 'bottom';
+  ypad: number;
+  outlinecolor: Color;
+  outlinewidth: number;
+  bordercolor: Color;
+  borderwidth: Color;
+  bgcolor: Color;
+  tickmode: 'auto' | 'linear' | 'array';
+  nticks: number;
+  tick0: number | string;
+  dtick: DTickValue;
+  tickvals: Datum[] | Datum[][] | Datum[][][] | TypedArray;
+  ticktext: Datum[] | Datum[][] | Datum[][][] | TypedArray;
+  ticks: 'outside' | 'inside' | '';
+  ticklen: number;
+  tickwidth: number;
+  tickcolor: Color;
+  showticklabels: boolean;
+  tickfont: Font;
+  tickangle: 'auto' | number;
+  tickformat: string;
+  tickformatstops: Array<Partial<TickFormatStop>>;
+  tickprefix: string;
+  showtickprefix: 'all' | 'first' | 'last' | 'none';
+  ticksuffix: string;
+  showticksuffix: 'all' | 'first' | 'last' | 'none';
+  separatethousands: boolean;
+  exponentformat: 'none' | 'e' | 'E' | 'power' | 'SI' | 'B';
+  showexponent: 'all' | 'first' | 'last' | 'none';
+  minexponent: number;
+  title: string;
+  titlefont: Font;
+  titleside: 'right' | 'top' | 'bottom';
+  tickvalssrc: any;
+  ticktextsrc: any;
+}
+
+export type MarkerSymbol = string | number | Array<string | number>;
+
+/**
+ * Any combination of "x", "y", "z", "text", "name" joined with a "+" OR "all" or "none" or "skip".
+ * examples: "x", "y", "x+y", "x+y+z", "all"
+ * default: "all"
+ */
+export interface PlotMarker {
+  symbol: MarkerSymbol;
+  color?: Color | Color[] | undefined;
+  colors?: Color[] | undefined;
+  colorscale?: ColorScale | undefined;
+  cauto?: boolean | undefined;
+  cmax?: number | undefined;
+  cmin?: number | undefined;
+  autocolorscale?: boolean | undefined;
+  reversescale?: boolean | undefined;
+  opacity: number | number[];
+  size: number | number[];
+  maxdisplayed?: number | undefined;
+  sizeref?: number | undefined;
+  sizemax?: number | undefined;
+  sizemin?: number | undefined;
+  sizemode?: 'diameter' | 'area' | undefined;
+  showscale?: boolean | undefined;
+  line: Partial<ScatterMarkerLine>;
+  pad?: Partial<Padding> | undefined;
+  width?: number | undefined;
+  colorbar?: Partial<ColorBar> | undefined;
+  gradient?:
+    | {
+        type: 'radial' | 'horizontal' | 'vertical' | 'none';
+        color: Color;
+        typesrc: any;
+        colorsrc: any;
+      }
+    | undefined;
+  pattern?: Partial<Pattern>;
+}
+
+export type ScatterMarker = PlotMarker;
+
+export interface ScatterMarkerLine {
+  width: number | number[];
+  color: Color;
+  cauto?: boolean | undefined;
+  cmax?: number | undefined;
+  cmin?: number | undefined;
+  cmid?: number | undefined;
+  colorscale?: ColorScale | undefined;
+  autocolorscale?: boolean | undefined;
+  reversescale?: boolean | undefined;
+  coloraxis?: string | undefined;
+}
+
+export interface ScatterLine {
+  color: Color;
+  width: number;
+  dash: Dash;
+  shape: 'linear' | 'spline' | 'hv' | 'vh' | 'hvh' | 'vhv';
+  smoothing: number;
+  simplify: boolean;
+}
+
+export interface Font {
+  color: Color;
+  /**
+   * HTML font family - the typeface that will be applied by the web browser.
+   * The web browser will only be able to apply a font if it is available on the system
+   * which it operates. Provide multiple font families, separated by commas, to indicate
+   * the preference in which to apply fonts if they aren't available on the system.
+   * The plotly service (at https://plot.ly or on-premise) generates images on a server,
+   * where only a select number of fonts are installed and supported.
+   * These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*,
+   * *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*,
+   * *PT Sans Narrow*, *Raleway*, *Times New Roman*.
+   * @default "Arial, sans-serif"
+   */
+  family: string;
+  /**
+   * Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.
+   * @default "none"
+   */
+  shadow: string;
+  /**
+   * number greater than or equal to 1
+   * @default 13
+   */
+  size: number;
+  /**
+   * Sets the weight (or boldness) of the font.
+   * number between or equal to 1 and 1000
+   * @default normal
+   */
+  weight: number;
+}
+
+export interface Config {
+  /**
+   * Determines whether math should be typeset or not,
+   * when MathJax (either v2 or v3) is present on the page.
+   */
+  typesetMath: boolean;
+
+  /** DO autosize once regardless of layout.autosize (use default width or height values otherwise) */
+  autosizable: boolean;
+
+  /** set the length of the undo/redo queue */
+  queueLength: number;
+
+  /** if we DO autosize, do we fill the container or the screen? */
+  fillFrame: boolean;
+
+  /** if we DO autosize, set the frame margins in percents of plot size */
+  frameMargins: number;
+
+  /** Set global transform to be applied to all traces with no specification needed */
+  globalTransforms: any[];
+
+  /** Which localization should we use? Should be a string like 'en' or 'en-US' */
+  locale: string;
+
+  /**
+   * Localization definitions
+   * Locales can be provided either here (specific to one chart) or globally
+   * by registering them as modules.
+   * Should be an object of objects {locale: {dictionary: {...}, format: {...}}}
+   * {
+   *     da: {
+   *         dictionary: {'Reset axes': 'Nulstil aksler', ...},
+   *         format: {months: [...], shortMonths: [...]}
+   *     },
+   *     ...
+   * }
+   * All parts are optional. When looking for translation or format fields, we
+   * look first for an exact match in a config locale, then in a registered
+   * module. If those fail, we strip off any regionalization ('en-US' -> 'en')
+   * and try each (config, registry) again. The final fallback for translation
+   * is untranslated (which is US English) and for formats is the base English
+   * (the only consequence being the last fallback date format %x is DD/MM/YYYY
+   * instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored
+   * for our automatic number formatting, but can be used in custom formats.
+   */
+  locales: {};
+
+  /** Make the chart responsive to window size */
+  responsive: boolean;
+}
+
+// Components
+
+export interface RangeSlider {
+  visible: boolean;
+  thickness: number;
+  range: [Datum, Datum];
+  borderwidth: number;
+  bordercolor: string;
+  bgcolor: string;
+}
+
+export interface RangeSelectorButton {
+  step: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year' | 'all';
+  stepmode: 'backward' | 'todate';
+  count: number;
+  label: string;
+}
+
+export interface RangeSelector extends Label {
+  buttons: Array<Partial<RangeSelectorButton>>;
+  visible: boolean;
+  x: number;
+  xanchor: 'auto' | 'left' | 'center' | 'right';
+  y: number;
+  yanchor: 'auto' | 'top' | 'middle' | 'bottom';
+  activecolor: string;
+  borderwidth: number;
+}
+
+export interface Label {
+  /** Sets the background color of all hover labels on graph. */
+  bgcolor: string;
+
+  /** Sets the border color of all hover labels on graph. */
+  bordercolor: string;
+
+  /** Sets the default hover label font used by all traces on the graph. */
+  font: Partial<Font>;
+}
+
+export interface LegendTitle {
+  font: Partial<Font>;
+  side: 'top' | 'left' | 'top left' | 'top center' | 'top right';
+  text: string;
+}
+
+export interface HoverLabel extends Label {
+  /**
+   * Sets the horizontal alignment of the text content within hover label box.
+   * @default "auto"
+   */
+  align: 'left' | 'right' | 'auto';
+
+  /**
+   * Sets the default length (in number of characters) of the trace name
+   * in the hover labels for all traces.
+   * -1 shows the whole name regardless of length.
+   * @default 15
+   */
+  namelength: number;
+}
+
+export interface Annotations extends Label {
+  /** Determines whether or not this annotation is visible. */
+  visible: boolean;
+
+  /**
+   * Sets the text associated with this annotation.
+   * Plotly uses a subset of HTML tags to do things like
+   * newline (<br>), bold (<b></b>), italics (<i></i>),
+   * hyperlinks (<a href='...'></a>). Tags <em>, <sup>, <sub>
+   * <span> are also supported.
+   */
+  text: string;
+
+  /** Sets the angle at which the `text` is drawn with respect to the horizontal. */
+  textangle: string;
+
+  /**
+   * Sets an explicit width for the text box. null (default) lets the
+   * text set the box width. Wider text will be clipped.
+   * There is no automatic wrapping; use <br> to start a new line.
+   */
+  width: number;
+
+  /**
+   * Sets an explicit height for the text box. null (default) lets the
+   * text set the box height. Taller text will be clipped.
+   */
+  height: number;
+
+  /** Sets the opacity of the annotation (text + arrow). */
+  opacity: number;
+
+  /**
+   * Sets the horizontal alignment of the `text` within the box.
+   * Has an effect only if `text` spans more two or more lines
+   * (i.e. `text` contains one or more <br> HTML tags) or if an
+   * explicit width is set to override the text width.
+   */
+  align: 'left' | 'center' | 'right';
+
+  /**
+   * Sets the vertical alignment of the `text` within the box.
+   * Has an effect only if an explicit height is set to override the text height.
+   */
+  valign: 'top' | 'middle' | 'bottom';
+
+  /** Sets the padding (in px) between the `text` and the enclosing border. */
+  borderpad: number;
+
+  /** Sets the width (in px) of the border enclosing the annotation `text`. */
+  borderwidth: number;
+
+  /**
+   * Determines whether or not the annotation is drawn with an arrow.
+   * If *true*, `text` is placed near the arrow's tail.
+   * If *false*, `text` lines up with the `x` and `y` provided.
+   */
+  showarrow: boolean;
+
+  /** Sets the color of the annotation arrow. */
+  arrowcolor: string;
+
+  /** Sets the end annotation arrow head style. */
+  arrowhead: number;
+
+  /** Sets the start annotation arrow head style. */
+  startarrowhead: number;
+
+  /** Sets the annotation arrow head position. */
+  arrowside: 'end' | 'start';
+
+  /**
+   * Sets the size of the end annotation arrow head, relative to `arrowwidth`.
+   * A value of 1 (default) gives a head about 3x as wide as the line.
+   */
+  arrowsize: number;
+
+  /**
+   * Sets the size of the start annotation arrow head, relative to `arrowwidth`.
+   * A value of 1 (default) gives a head about 3x as wide as the line.
+   */
+  startarrowsize: number;
+
+  /** Sets the width (in px) of annotation arrow line. */
+  arrowwidth: number;
+
+  /**
+   * Sets a distance, in pixels, to move the end arrowhead away from the
+   * position it is pointing at, for example to point at the edge of
+   * a marker independent of zoom. Note that this shortens the arrow
+   * from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`
+   * which moves everything by this amount.
+   */
+  standoff: number;
+
+  /**
+   * Sets a distance, in pixels, to move the start arrowhead away from the
+   * position it is pointing at, for example to point at the edge of
+   * a marker independent of zoom. Note that this shortens the arrow
+   * from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`
+   * which moves everything by this amount.
+   */
+  startstandoff: number;
+
+  /**
+   * Sets the x component of the arrow tail about the arrow head.
+   * If `axref` is `pixel`, a positive (negative)
+   * component corresponds to an arrow pointing
+   * from right to left (left to right).
+   * If `axref` is an axis, this is an absolute value on that axis,
+   * like `x`, NOT a relative value.
+   */
+  ax: number;
+
+  /**
+   * Sets the y component of the arrow tail about the arrow head.
+   * If `ayref` is `pixel`, a positive (negative)
+   * component corresponds to an arrow pointing
+   * from bottom to top (top to bottom).
+   * If `ayref` is an axis, this is an absolute value on that axis,
+   * like `y`, NOT a relative value.
+   */
+  ay: number;
+
+  /**
+   * Indicates in what terms the tail of the annotation (ax,ay)
+   * is specified. If `pixel`, `ax` is a relative offset in pixels
+   * from `x`. If set to an x axis id (e.g. *x* or *x2*), `ax` is
+   * specified in the same terms as that axis. This is useful
+   * for trendline annotations which should continue to indicate
+   * the correct trend when zoomed.
+   */
+  axref: 'pixel' | XAxisName;
+
+  /**
+   * Indicates in what terms the tail of the annotation (ax,ay)
+   * is specified. If `pixel`, `ay` is a relative offset in pixels
+   * from `y`. If set to a y axis id (e.g. *y* or *y2*), `ay` is
+   * specified in the same terms as that axis. This is useful
+   * for trendline annotations which should continue to indicate
+   * the correct trend when zoomed.
+   */
+  ayref: 'pixel' | YAxisName;
+
+  /**
+   * Sets the annotation's x coordinate axis.
+   * If set to an x axis id (e.g. *x* or *x2*), the `x` position refers to an x coordinate
+   * If set to *paper*, the `x` position refers to the distance from
+   * the left side of the plotting area in normalized coordinates
+   * where 0 (1) corresponds to the left (right) side.
+   */
+  xref: 'paper' | XAxisName;
+
+  /**
+   * Sets the annotation's x position.
+   * If the axis `type` is *log*, then you must take the log of your desired range.
+   * If the axis `type` is *date*, it should be date strings, like date data,
+   * though Date objects and unix milliseconds will be accepted and converted to strings.
+   * If the axis `type` is *category*, it should be numbers, using the scale where each
+   * category is assigned a serial number from zero in the order it appears.
+   */
+  x: number | string;
+
+  /**
+   * Sets the text box's horizontal position anchor
+   * This anchor binds the `x` position to the *left*, *center* or *right* of the annotation.
+   * For example, if `x` is set to 1, `xref` to *paper* and `xanchor` to *right* then the
+   * right-most portion of the annotation lines up with the right-most edge of the plotting area.
+   * If *auto*, the anchor is equivalent to *center* for data-referenced annotations or if there
+   * is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.
+   */
+  xanchor: 'auto' | 'left' | 'center' | 'right';
+
+  /**
+   * Shifts the position of the whole annotation and arrow to the
+   * right (positive) or left (negative) by this many pixels.
+   */
+  xshift: number;
+
+  /**
+   * Sets the annotation's y coordinate axis.
+   * If set to an y axis id (e.g. *y* or *y2*), the `y` position refers to an y coordinate
+   * If set to *paper*, the `y` position refers to the distance from
+   * the bottom of the plotting area in normalized coordinates
+   * where 0 (1) corresponds to the bottom (top).
+   */
+  yref: 'paper' | YAxisName;
+
+  /**
+   * Sets the annotation's y position.
+   * If the axis `type` is *log*, then you must take the log of your desired range.
+   * If the axis `type` is *date*, it should be date strings, like date data,
+   * though Date objects and unix milliseconds will be accepted and converted to strings.
+   * If the axis `type` is *category*, it should be numbers, using the scale where each
+   * category is assigned a serial number from zero in the order it appears.
+   */
+  y: number | string;
+
+  /**
+   * Sets the text box's vertical position anchor
+   * This anchor binds the `y` position to the *top*, *middle* or *bottom* of the annotation.
+   * For example, if `y` is set to 1, `yref` to *paper* and `yanchor` to *top* then the
+   * top-most portion of the annotation lines up with the top-most edge of the plotting area.
+   * If *auto*, the anchor is equivalent to *middle* for data-referenced annotations or if
+   * there is an arrow, whereas for paper-referenced with no arrow, the anchor picked
+   * corresponds to the closest side.
+   */
+  yanchor: 'auto' | 'top' | 'middle' | 'bottom';
+
+  /**
+   * Shifts the position of the whole annotation and arrow up
+   * (positive) or down (negative) by this many pixels.
+   */
+  yshift: number;
+
+  /**
+   * Makes this annotation respond to clicks on the plot.
+   * If you click a data point that exactly matches the `x` and `y` values of this annotation,
+   * and it is hidden (visible: false), it will appear. In *onoff* mode, you must click the same
+   * point again to make it disappear, so if you click multiple points, you can show multiple
+   * annotations. In *onout* mode, a click anywhere else in the plot (on another data point or not)
+   * will hide this annotation. If you need to show/hide this annotation in response to different
+   * `x` or `y` values, you can set `xclick` and/or `yclick`. This is useful for example to label
+   * the side of a bar. To label markers though, `standoff` is preferred over `xclick` and `yclick`.
+   */
+  clicktoshow: false | 'onoff' | 'onout';
+
+  /**
+   * Toggle this annotation when clicking a data point whose `x` value
+   * is `xclick` rather than the annotation's `x` value.
+   */
+  xclick: any;
+
+  /**
+   * Toggle this annotation when clicking a data point whose `y` value
+   * is `yclick` rather than the annotation's `y` value.
+   */
+  yclick: any;
+
+  /**
+   * Sets text to appear when hovering over this annotation.
+   * If omitted or blank, no hover label will appear.
+   */
+  hovertext: string;
+
+  hoverlabel: Partial<HoverLabel>;
+
+  /**
+   * Determines whether the annotation text box captures mouse move and click events,
+   * or allows those events to pass through to data points in the plot that may be
+   * behind the annotation. By default `captureevents` is *false* unless `hovertext`
+   * is provided. If you use the event `plotly_clickannotation` without `hovertext`
+   * you must explicitly enable `captureevents`.
+   */
+  captureevents: boolean;
+}
+
+export interface Domain {
+  x: number[];
+  y: number[];
+  row: number;
+  column: number;
+}
+
+export interface Padding {
+  /**
+   * The amount of padding (in px) along the top of the component.
+   */
+  t: number;
+  /**
+   * The amount of padding (in px) on the right side of the component.
+   */
+  r: number;
+  /**
+   * The amount of padding (in px) along the bottom of the component.
+   */
+  b: number;
+  /**
+   * The amount of padding (in px) on the left side of the component.
+   */
+  l: number;
+  editType: 'arraydraw';
+}
+
+/**
+ * 'Sets the pattern within the marker.
+ */
+export interface Pattern {
+  /**
+   * Sets the shape of the pattern fill.
+   * By default, no pattern is used for filling the area.
+   */
+  shape?: '' | '/' | '\\' | 'x' | '-' | '|' | '+' | '.';
+  /**
+   * Determines whether `marker.color` should be used
+   * as a default to `bgcolor` or a `fgcolor`.
+   */
+  fillmode?: 'replace' | 'overlay';
+  /**
+   * When there is no colorscale sets the color of background pattern fill.
+   * Defaults to a `marker.color` background when `fillmode` is *overlay*.
+   * Otherwise, defaults to a transparent background.
+   */
+  bgcolor?: string;
+  /**
+   * When there is no colorscale sets the color of foreground pattern fill.
+   * Defaults to a `marker.color` background when `fillmode` is *replace*.
+   * Otherwise, defaults to dark grey or white
+   * to increase contrast with the `bgcolor`.
+   */
+  fgcolor?: string;
+  /**
+   * Sets the opacity of the foreground pattern fill.
+   * Defaults to a 0.5 when `fillmode` is *overlay*.
+   * Otherwise, defaults to 1.
+   */
+  fgopacity?: string;
+  /**
+   * Sets the size of unit squares of the pattern fill in pixels,
+   * which corresponds to the interval of repetition of the pattern.
+   */
+  size?: number;
+  /**
+   * Sets the solidity of the pattern fill.
+   * Solidity is roughly the fraction of the area filled by the pattern.
+   * Solidity of 0 shows only the background color without pattern
+   * and solidty of 1 shows only the foreground color without pattern.
+   */
+  solidity?: number;
+}
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
index be544d55d72cc8..54f61f4e559e1c 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
@@ -17,6 +17,7 @@ import {
   IHeatMapChartDataPoint,
   IGroupedVerticalBarChartData,
   IVerticalBarChartDataPoint,
+  ISankeyChartData,
 } from '../../types/IDataPoint';
 import { ISankeyChartProps } from '../SankeyChart/index';
 import { IVerticalStackedBarChartProps } from '../VerticalStackedBarChart/index';
@@ -28,46 +29,109 @@ import { DataVizPalette, getColorFromToken, getNextColor } from '../../utilities
 import { GaugeChartVariant, IGaugeChartProps, IGaugeChartSegment } from '../GaugeChart/index';
 import { IGroupedVerticalBarChartProps } from '../GroupedVerticalBarChart/index';
 import { IVerticalBarChartProps } from '../VerticalBarChart/index';
+import { Layout, PlotlySchema, PieData, PlotData, SankeyData } from './PlotlySchema';
+import type { Datum, TypedArray } from './PlotlySchema';
 import { timeParse } from 'd3-time-format';
 
-const isDate = (value: any): boolean => !isNaN(Date.parse(value));
+interface ISecondaryYAxisValues {
+  secondaryYAxistitle?: string;
+  secondaryYScaleOptions?: { yMinValue?: number; yMaxValue?: number };
+}
+
+const SUPPORTED_PLOT_TYPES = ['pie', 'bar', 'scatter', 'heatmap', 'sankey', 'indicator', 'histogram'];
+const isDate = (value: any): boolean => {
+  const parsedDate = new Date(Date.parse(value));
+  if (isNaN(parsedDate.getTime())) {
+    return false;
+  }
+  const parsedYear = parsedDate.getFullYear();
+  const yearInString = /\b\d{4}\b/.test(value);
+  if (!yearInString && (parsedYear === 2000 || parsedYear === 2001)) {
+    return false;
+  }
+  return true;
+};
+
 const isNumber = (value: any): boolean => !isNaN(parseFloat(value)) && isFinite(value);
-export const isDateArray = (array: any[]): boolean => isArrayOrTypedArray(array) && array.every(isDate);
-export const isNumberArray = (array: any[]): boolean => isArrayOrTypedArray(array) && array.every(isNumber);
-export const isMonthArray = (array: any[]): boolean => {
-  if (array && array.length > 0) {
-    const parseFullMonth = timeParse('%B');
-    const parseShortMonth = timeParse('%b');
-    return array.every(possiblyMonthValue => {
-      return parseFullMonth(possiblyMonthValue) !== null || parseShortMonth(possiblyMonthValue) !== null;
-    });
+
+const isMonth = (possiblyMonthValue: any): boolean => {
+  const parseFullMonth = timeParse('%B');
+  const parseShortMonth = timeParse('%b');
+  return parseFullMonth(possiblyMonthValue) !== null || parseShortMonth(possiblyMonthValue) !== null;
+};
+
+const isArrayOfType = (
+  plotCoordinates: Datum[] | Datum[][] | TypedArray | undefined,
+  typeCheck: (datum: any, ...args: any[]) => boolean,
+  ...args: any[]
+): boolean => {
+  if (!isArrayOrTypedArray(plotCoordinates)) {
+    return false;
   }
-  return false;
+
+  if (plotCoordinates!.length === 0) {
+    return false;
+  }
+
+  if (Array.isArray(plotCoordinates![0])) {
+    // Handle 2D array
+    return (plotCoordinates as Datum[][]).every(innerArray => innerArray.every(datum => typeCheck(datum, ...args)));
+  } else {
+    // Handle 1D array
+    return (plotCoordinates as Datum[]).every(datum => typeCheck(datum, ...args));
+  }
+};
+
+export const isDateArray = (data: Datum[] | Datum[][] | TypedArray): boolean => {
+  return isArrayOfType(data, isDate);
+};
+
+export const isNumberArray = (data: Datum[] | Datum[][] | TypedArray): boolean => {
+  return isArrayOfType(data, isNumber);
+};
+
+export const isMonthArray = (data: Datum[] | Datum[][] | TypedArray): boolean => {
+  return isArrayOfType(data, isMonth);
 };
 
-function getTitles(layout: any) {
+export const isLineData = (data: Partial<PlotData>): boolean => {
+  return (
+    !SUPPORTED_PLOT_TYPES.includes(`${data.type}`) &&
+    Array.isArray(data.x) &&
+    isArrayOfType(data.y, (value: any) => typeof value === 'number') &&
+    data.x.length > 0 &&
+    data.x.length === data.y!.length
+  );
+};
+
+const invalidate2Dseries = (series: PlotData, chartType: string): void => {
+  if (series.x?.length > 0 && Array.isArray(series.x[0])) {
+    throw new Error(`transform to ${chartType}:: 2D x array not supported`);
+  }
+  if (series.y?.length > 0 && Array.isArray(series.y[0])) {
+    throw new Error(`transform to ${chartType}:: 2D y array not supported`);
+  }
+};
+
+const getLegend = (series: PlotData, index: number): string => {
+  return series.name || `Series ${index + 1}`;
+};
+
+function getTitles(layout: Partial<Layout> | undefined) {
   const titles = {
-    chartTitle:
-      typeof layout.title === 'string' ? layout.title : typeof layout.title?.text === 'string' ? layout.title.text : '',
-    xAxisTitle:
-      typeof layout?.xaxis?.title === 'string'
-        ? layout?.xaxis?.title
-        : typeof layout?.xaxis?.title?.text === 'string'
-        ? layout?.xaxis?.title?.text
-        : '',
-    yAxisTitle:
-      typeof layout?.yaxis?.title === 'string'
-        ? layout?.yaxis?.title
-        : typeof layout?.yaxis?.title?.text === 'string'
-        ? layout?.yaxis?.title?.text
-        : '',
+    chartTitle: typeof layout?.title === 'string' ? layout.title : layout?.title?.text ?? '',
+    xAxisTitle: typeof layout?.xaxis?.title === 'string' ? layout?.xaxis?.title : layout?.xaxis?.title?.text ?? '',
+    yAxisTitle: typeof layout?.yaxis?.title === 'string' ? layout?.yaxis?.title : layout?.yaxis?.title?.text ?? '',
   };
   return titles;
 }
 
-export const updateXValues = (xValues: any[]): any[] => {
+export const updateXValues = (xValues: Datum[] | Datum[][] | TypedArray): any[] => {
   const presentYear = new Date().getFullYear();
-  const dates = xValues.map(possiblyMonthValue => {
+  if (xValues.length > 0 && Array.isArray(xValues[0])) {
+    throw new Error('updateXValues:: 2D array not supported');
+  }
+  const dates = (xValues as Datum[]).map(possiblyMonthValue => {
     const parsedDate = `${possiblyMonthValue} 01, ${presentYear}`;
     return isDate(parsedDate) ? new Date(parsedDate) : null;
   });
@@ -82,11 +146,12 @@ export const updateXValues = (xValues: any[]): any[] => {
       dates[i - 1]!.setFullYear(currentYear);
     }
   }
-  xValues = xValues.map((month, index) => {
+  xValues = (xValues as Datum[]).map((month, index) => {
     return `${month} 01, ${dates[index]!.getFullYear()}`;
   });
   return xValues;
 };
+
 export const getColor = (
   legendLabel: string,
   colorMap: React.MutableRefObject<Map<string, string>>,
@@ -101,25 +166,57 @@ export const getColor = (
   return colorMap.current.get(legendLabel) as string;
 };
 
+const getSecondaryYAxisValues = (series: PlotData, layout: Partial<Layout> | undefined) => {
+  const secondaryYAxisValues: ISecondaryYAxisValues = {};
+  if (layout && layout.yaxis2 && series.yaxis === 'y2') {
+    secondaryYAxisValues.secondaryYAxistitle =
+      typeof layout.yaxis2.title === 'string'
+        ? layout.yaxis2.title
+        : typeof layout.yaxis2.title?.text === 'string'
+        ? layout.yaxis2.title.text
+        : '';
+    if (layout.yaxis2.range) {
+      secondaryYAxisValues.secondaryYScaleOptions = {
+        yMinValue: layout.yaxis2.range[0],
+        yMaxValue: layout.yaxis2.range[1],
+      };
+    } else {
+      const yValues = series.y as number[];
+      if (yValues) {
+        secondaryYAxisValues.secondaryYScaleOptions = {
+          yMinValue: Math.min(...yValues),
+          yMaxValue: Math.max(...yValues),
+        };
+      }
+    }
+  }
+  secondaryYAxisValues.secondaryYAxistitle =
+    secondaryYAxisValues.secondaryYAxistitle !== '' ? secondaryYAxisValues.secondaryYAxistitle : undefined;
+  secondaryYAxisValues.secondaryYScaleOptions =
+    secondaryYAxisValues.secondaryYScaleOptions && Object.keys(secondaryYAxisValues.secondaryYScaleOptions).length !== 0
+      ? secondaryYAxisValues.secondaryYScaleOptions
+      : undefined;
+  return secondaryYAxisValues;
+};
+
 export const transformPlotlyJsonToDonutProps = (
-  jsonObj: any,
+  input: PlotlySchema,
   colorMap: React.MutableRefObject<Map<string, string>>,
   isDarkTheme?: boolean,
 ): IDonutChartProps => {
-  const { data, layout } = jsonObj;
-  const firstData = data[0];
+  const firstData = input.data[0] as PieData;
 
   const donutData = firstData.labels?.map((label: string, index: number): IChartDataPoint => {
     const color = getColor(label, colorMap, isDarkTheme);
     return {
       legend: label,
-      data: firstData.values?.[index],
+      data: firstData.values?.[index] as number, //ToDo how to handle string data?
       color,
     };
   });
 
-  const width: number = typeof layout?.width === 'number' ? layout?.width : 440;
-  const height: number = typeof layout?.height === 'number' ? layout?.height : 220;
+  const width: number = input.layout?.width ?? 440;
+  const height: number = input.layout?.height ?? 220;
   const hideLabels: boolean = firstData.textinfo
     ? !['value', 'percent', 'label+percent'].includes(firstData.textinfo)
     : false;
@@ -137,14 +234,14 @@ export const transformPlotlyJsonToDonutProps = (
     },
   };
 
-  const { chartTitle } = getTitles(layout);
+  const { chartTitle } = getTitles(input.layout);
 
   return {
     data: {
       chartTitle,
       chartData: donutData,
     },
-    hideLegend: layout?.showlegend === false ? true : false,
+    hideLegend: input.layout?.showlegend === false ? true : false,
     width,
     height,
     innerRadius,
@@ -155,41 +252,49 @@ export const transformPlotlyJsonToDonutProps = (
 };
 
 export const transformPlotlyJsonToVSBCProps = (
-  jsonObj: any,
+  input: PlotlySchema,
   colorMap: React.MutableRefObject<Map<string, string>>,
   isDarkTheme?: boolean,
+  fallbackVSBC?: boolean,
 ): IVerticalStackedBarChartProps => {
-  const { data, layout } = jsonObj;
   const mapXToDataPoints: { [key: string]: IVerticalStackedChartProps } = {};
   let yMaxValue = 0;
+  let secondaryYAxisValues: ISecondaryYAxisValues = {};
+  input.data.forEach((series: PlotData, index1: number) => {
+    invalidate2Dseries(series, 'VSBC');
+
+    if (!isNumberArray(series.y)) {
+      throw new Error('transform to VSBC:: y values should be numeric');
+    }
 
-  data.forEach((series: any, index1: number) => {
-    series.x?.forEach((x: string | number, index2: number) => {
+    (series.x as Datum[])?.forEach((x: string | number, index2: number) => {
       if (!mapXToDataPoints[x]) {
         mapXToDataPoints[x] = { xAxisPoint: x, chartData: [], lineData: [] };
       }
-      const legend: string = series.name || `Series ${index1 + 1}`;
-      if (series.type === 'bar' || series.type === 'scatter') {
+      const legend: string = getLegend(series, index1);
+      const yVal: number = (series.y?.[index2] as number) ?? 0;
+      if (series.type === 'bar') {
         const color = getColor(legend, colorMap, isDarkTheme);
         mapXToDataPoints[x].chartData.push({
           legend,
-          data: series.y?.[index2],
+          data: yVal,
           color,
         });
-      } else if (series.type === 'line') {
+      } else if (series.type === 'scatter' || isLineData(series) || !!fallbackVSBC) {
         const color = getColor(legend, colorMap, isDarkTheme);
         mapXToDataPoints[x].lineData!.push({
           legend,
-          y: series.y?.[index2],
+          y: yVal,
           color,
         });
       }
 
-      yMaxValue = Math.max(yMaxValue, series.y?.[index2]);
+      yMaxValue = Math.max(yMaxValue, yVal);
     });
+    secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);
   });
 
-  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(layout);
+  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
 
   return {
     data: Object.values(mapXToDataPoints),
@@ -201,38 +306,46 @@ export const transformPlotlyJsonToVSBCProps = (
     xAxisTitle,
     yAxisTitle,
     mode: 'plotly',
+    secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,
+    secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,
   };
 };
 
 export const transformPlotlyJsonToGVBCProps = (
-  jsonObj: any,
+  input: PlotlySchema,
   colorMap: React.MutableRefObject<Map<string, string>>,
   isDarkTheme?: boolean,
 ): IGroupedVerticalBarChartProps => {
-  const { data, layout } = jsonObj;
   const mapXToDataPoints: Record<string, IGroupedVerticalBarChartData> = {};
+  let secondaryYAxisValues: ISecondaryYAxisValues = {};
+  input.data.forEach((series: PlotData, index1: number) => {
+    invalidate2Dseries(series, 'GVBC');
 
-  data.forEach((series: any, index1: number) => {
-    series.x?.forEach((x: string | number, index2: number) => {
+    if (!isNumberArray(series.y)) {
+      throw new Error('transform to GVBC:: y values should be numeric');
+    }
+
+    (series.x as Datum[])?.forEach((x: string | number, index2: number) => {
       if (!mapXToDataPoints[x]) {
         mapXToDataPoints[x] = { name: x.toString(), series: [] };
       }
       if (series.type === 'bar') {
-        const legend: string = series.name || `Series ${index1 + 1}`;
+        const legend: string = getLegend(series, index1);
         const color = getColor(legend, colorMap, isDarkTheme);
 
         mapXToDataPoints[x].series.push({
           key: legend,
-          data: series.y?.[index2],
+          data: (series.y?.[index2] as number) ?? 0,
           xAxisCalloutData: x as string,
           color,
           legend,
         });
       }
     });
+    secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);
   });
 
-  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(layout);
+  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
 
   return {
     data: Object.values(mapXToDataPoints),
@@ -243,24 +356,27 @@ export const transformPlotlyJsonToGVBCProps = (
     xAxisTitle,
     yAxisTitle,
     mode: 'plotly',
+    secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,
+    secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,
   };
 };
 
 export const transformPlotlyJsonToVBCProps = (
-  jsonObj: any,
+  input: PlotlySchema,
   colorMap: React.MutableRefObject<Map<string, string>>,
   isDarkTheme?: boolean,
 ): IVerticalBarChartProps => {
-  const { data, layout } = jsonObj;
   const vbcData: IVerticalBarChartDataPoint[] = [];
 
-  data.forEach((series: any, index: number) => {
+  input.data.forEach((series: PlotData, index: number) => {
+    invalidate2Dseries(series, 'VBC');
+
     if (!series.x) {
       return;
     }
 
     const scale = d3ScaleLinear()
-      .domain(d3Extent<number>(series.x) as [number, number])
+      .domain(d3Extent<number>(series.x as number[]) as [number, number])
       .nice();
     let [xMin, xMax] = scale.domain();
 
@@ -285,12 +401,12 @@ export const transformPlotlyJsonToVBCProps = (
       bin.domain([xMin, xMax]).thresholds(thresholds);
     }
 
-    const buckets = bin(series.x);
+    const buckets = bin(series.x as number[]);
     // If the start or end of xbins is specified, then the number of datapoints may become less than x.length
     const totalDataPoints = d3Merge(buckets).length;
 
     buckets.forEach(bucket => {
-      const legend: string = series.name || `Series ${index + 1}`;
+      const legend: string = getLegend(series, index);
       const color: string = getColor(legend, colorMap, isDarkTheme);
       let y = bucket.length;
 
@@ -322,7 +438,7 @@ export const transformPlotlyJsonToVBCProps = (
     });
   });
 
-  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(layout);
+  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
 
   return {
     data: vbcData,
@@ -338,34 +454,35 @@ export const transformPlotlyJsonToVBCProps = (
 };
 
 export const transformPlotlyJsonToScatterChartProps = (
-  jsonObj: any,
+  input: PlotlySchema,
   isAreaChart: boolean,
   colorMap: React.MutableRefObject<Map<string, string>>,
   isDarkTheme?: boolean,
 ): ILineChartProps | IAreaChartProps => {
-  const { data, layout } = jsonObj;
+  let secondaryYAxisValues: ISecondaryYAxisValues = {};
   let mode: string = 'tonexty';
-
-  const chartData: ILineChartPoints[] = data.map((series: any, index: number) => {
-    const xValues = series.x;
+  const chartData: ILineChartPoints[] = input.data.map((series: PlotData, index: number) => {
+    invalidate2Dseries(series, 'Scatter');
+    const xValues = series.x as Datum[];
     const isString = typeof xValues[0] === 'string';
     const isXDate = isDateArray(xValues);
     const isXNumber = isNumberArray(xValues);
-    const legend: string = series.name || `Series ${index + 1}`;
+    const legend: string = getLegend(series, index);
     const lineColor = getColor(legend, colorMap, isDarkTheme);
+    secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);
     mode = series.fill === 'tozeroy' ? 'tozeroy' : 'tonexty';
 
     return {
       legend,
-      data: xValues.map((x: string | number, i: number) => ({
-        x: isString ? (isXDate ? new Date(x) : isXNumber ? parseFloat(x as string) : x) : x,
+      data: xValues.map((x, i: number) => ({
+        x: isString ? (isXDate ? new Date(x as string) : isXNumber ? parseFloat(x as string) : x) : x,
         y: series.y[i],
       })),
       color: lineColor,
-    };
+    } as ILineChartPoints;
   });
 
-  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(layout);
+  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
 
   const chartProps: IChartProps = {
     chartTitle,
@@ -378,6 +495,8 @@ export const transformPlotlyJsonToScatterChartProps = (
       supportNegativeData: true,
       xAxisTitle,
       yAxisTitle,
+      secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,
+      secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,
       mode,
     } as IAreaChartProps;
   } else {
@@ -386,43 +505,45 @@ export const transformPlotlyJsonToScatterChartProps = (
       supportNegativeData: true,
       xAxisTitle,
       yAxisTitle,
+      secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,
+      secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,
     } as ILineChartProps;
   }
 };
 
 export const transformPlotlyJsonToHorizontalBarWithAxisProps = (
-  jsonObj: any,
+  input: PlotlySchema,
   colorMap: React.MutableRefObject<Map<string, string>>,
   isDarkTheme?: boolean,
 ): IHorizontalBarChartWithAxisProps => {
-  const { data, layout } = jsonObj;
+  const chartData: IHorizontalBarChartWithAxisDataPoint[] = input.data
+    .map((series: PlotData, index: number) => {
+      invalidate2Dseries(series, 'HBC');
 
-  const chartData: IHorizontalBarChartWithAxisDataPoint[] = data
-    .map((series: any, index: number) => {
-      return series.y.map((yValue: string, i: number) => {
+      return (series.y as Datum[]).map((yValue: string, i: number) => {
         const color = getColor(yValue, colorMap, isDarkTheme);
         return {
           x: series.x[i],
           y: yValue,
           legend: yValue,
           color,
-        };
+        } as IHorizontalBarChartWithAxisDataPoint;
       });
     })
     .flat()
     //reversing the order to invert the Y bars order as required by plotly.
     .reverse();
 
-  const chartHeight: number = typeof layout.height === 'number' ? layout.height : 450;
-  const margin: number = typeof layout.margin?.l === 'number' ? layout.margin?.l : 0;
-  const padding: number = typeof layout.margin?.pad === 'number' ? layout.margin?.pad : 0;
+  const chartHeight: number = input.layout?.height ?? 450;
+  const margin: number = input.layout?.margin?.l ?? 0;
+  const padding: number = input.layout?.margin?.pad ?? 0;
   const availableHeight: number = chartHeight - margin - padding;
-  const numberOfBars = data[0].y.length;
+  const numberOfBars = (input.data[0] as PlotData).y.length;
   const scalingFactor = 0.01;
   const gapFactor = 1 / (1 + scalingFactor * numberOfBars);
   const barHeight = availableHeight / (numberOfBars * (1 + gapFactor));
 
-  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(layout);
+  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
 
   return {
     data: chartData,
@@ -430,32 +551,33 @@ export const transformPlotlyJsonToHorizontalBarWithAxisProps = (
     xAxisTitle,
     yAxisTitle,
     secondaryYAxistitle:
-      typeof layout?.yaxis2?.title === 'string' ? layout?.yaxis2?.title : layout?.yaxis2?.title?.text || '',
+      typeof input.layout?.yaxis2?.title === 'string'
+        ? input.layout?.yaxis2?.title
+        : input.layout?.yaxis2?.title?.text || '',
     barHeight,
     showYAxisLables: true,
     styles: {
       root: {
         height: chartHeight,
-        width: typeof layout.width === 'number' ? layout.width : 600,
+        width: input.layout?.width ?? 600,
       },
     },
   };
 };
 
-export const transformPlotlyJsonToHeatmapProps = (jsonObj: any): IHeatMapChartProps => {
-  const { data, layout } = jsonObj;
-  const firstData = data[0];
+export const transformPlotlyJsonToHeatmapProps = (input: PlotlySchema): IHeatMapChartProps => {
+  const firstData = input.data[0] as PlotData;
   const heatmapDataPoints: IHeatMapChartDataPoint[] = [];
   let zMin = Number.POSITIVE_INFINITY;
   let zMax = Number.NEGATIVE_INFINITY;
 
-  firstData.x?.forEach((xVal: any, xIdx: number) => {
+  (firstData.x as Datum[])?.forEach((xVal, xIdx: number) => {
     firstData.y?.forEach((yVal: any, yIdx: number) => {
-      const zVal = firstData.z?.[yIdx]?.[xIdx];
+      const zVal = (firstData.z as number[][])?.[yIdx]?.[xIdx];
 
       heatmapDataPoints.push({
-        x: layout.xaxis?.type === 'date' ? new Date(xVal) : xVal,
-        y: layout.yaxis?.type === 'date' ? new Date(yVal) : yVal,
+        x: input.layout?.xaxis?.type === 'date' ? (xVal as Date) : xVal ?? 0,
+        y: input.layout?.yaxis?.type === 'date' ? (yVal as Date) : yVal,
         value: zVal,
         rectText: zVal,
       });
@@ -465,17 +587,27 @@ export const transformPlotlyJsonToHeatmapProps = (jsonObj: any): IHeatMapChartPr
     });
   });
   const heatmapData: IHeatMapChartData = {
-    legend: typeof firstData.name === 'string' ? firstData.name : '',
+    legend: firstData.name,
     data: heatmapDataPoints,
     value: 0,
   };
 
-  // Convert normalized values to actual values
-  const domainValuesForColorScale: number[] = firstData.colorscale
-    ? firstData.colorscale.map((arr: any) => arr[0] * (zMax - zMin) + zMin)
-    : [];
-  const rangeValuesForColorScale: string[] = firstData.colorscale ? firstData.colorscale.map((arr: any) => arr[1]) : [];
-  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(layout);
+  // Initialize domain and range to default values
+  const defaultDomain = [zMin, zMax];
+  const defaultRange = [
+    getColorFromToken(DataVizPalette.color1),
+    getColorFromToken(DataVizPalette.color2),
+    getColorFromToken(DataVizPalette.color3),
+  ];
+  const domainValuesForColorScale: number[] = Array.isArray(firstData.colorscale)
+    ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[0] * (zMax - zMin) + zMin)
+    : defaultDomain;
+
+  const rangeValuesForColorScale: string[] = Array.isArray(firstData.colorscale)
+    ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[1])
+    : defaultRange;
+
+  const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);
 
   return {
     data: [heatmapData],
@@ -491,25 +623,23 @@ export const transformPlotlyJsonToHeatmapProps = (jsonObj: any): IHeatMapChartPr
 };
 
 export const transformPlotlyJsonToSankeyProps = (
-  jsonObj: any,
+  input: PlotlySchema,
   colorMap: React.MutableRefObject<Map<string, string>>,
   isDarkTheme?: boolean,
 ): ISankeyChartProps => {
-  const { data, layout } = jsonObj;
-  const { link, node } = data[0];
-  const validLinks = link.value
+  const { link, node } = input.data[0] as SankeyData;
+  const validLinks = (link?.value ?? [])
     .map((val: number, index: number) => ({
       value: val,
-      source: link.source[index],
-      target: link.target[index],
+      source: link?.source![index],
+      target: link?.target![index],
     }))
     // eslint-disable-next-line @typescript-eslint/no-shadow
-    //@ts-expect-error Dynamic link object. Ignore for now.
     // Filter out negative nodes, unequal nodes and self-references (circular links)
     .filter(x => x.source >= 0 && x.target >= 0 && x.source !== x.target);
 
   const sankeyChartData = {
-    nodes: node.label.map((label: string, index: number) => {
+    nodes: node.label?.map((label: string, index: number) => {
       const color = getColor(label, colorMap, isDarkTheme);
 
       return {
@@ -523,18 +653,18 @@ export const transformPlotlyJsonToSankeyProps = (
         ...validLink,
       };
     }),
-  };
+  } as ISankeyChartData;
 
-  const width: number = typeof layout?.width === 'number' ? layout?.width : 440;
-  const height: number = typeof layout?.height === 'number' ? layout?.height : 220;
+  const width: number = input.layout?.width ?? 440;
+  const height: number = input.layout?.height ?? 220;
   const styles: ISankeyChartProps['styles'] = {
     root: {
-      ...(typeof layout.font?.size === 'number' ? { fontSize: layout.font?.size } : {}),
+      ...(input.layout?.font?.size ? { fontSize: input.layout.font?.size } : {}),
     },
   };
   const shouldResize: number = width + height;
 
-  const { chartTitle } = getTitles(layout);
+  const { chartTitle } = getTitles(input.layout);
 
   return {
     data: {
@@ -550,12 +680,11 @@ export const transformPlotlyJsonToSankeyProps = (
 };
 
 export const transformPlotlyJsonToGaugeProps = (
-  jsonObj: any,
+  input: PlotlySchema,
   colorMap: React.MutableRefObject<Map<string, string>>,
   isDarkTheme?: boolean,
 ): IGaugeChartProps => {
-  const { data, layout } = jsonObj;
-  const firstData = data[0];
+  const firstData = input.data[0] as PlotData;
 
   const segments = firstData.gauge?.steps?.length
     ? firstData.gauge.steps.map((step: any, index: number): IGaugeChartSegment => {
@@ -570,19 +699,19 @@ export const transformPlotlyJsonToGaugeProps = (
     : [
         {
           legend: 'Current',
-          size: firstData.value ?? 0 - (firstData.gauge?.range?.[0] ?? 0),
+          size: firstData.value ?? 0 - (firstData.gauge?.axis?.range?.[0] ?? 0),
           color: getColor('Current', colorMap, isDarkTheme),
         },
         {
           legend: 'Target',
-          size: (firstData.gauge?.range?.[1] ?? 100) - (firstData.value ?? 0),
+          size: (firstData.gauge?.axis?.range?.[1] ?? 100) - (firstData.value ?? 0),
           color: DataVizPalette.disabled,
         },
       ];
 
   let sublabel: string | undefined;
   let sublabelColor: string | undefined;
-  if (typeof firstData.delta?.reference === 'number') {
+  if (firstData.delta?.reference) {
     const diff = firstData.value - firstData.delta.reference;
     if (diff >= 0) {
       sublabel = `\u25B2 ${diff}`;
@@ -601,19 +730,19 @@ export const transformPlotlyJsonToGaugeProps = (
     },
   };
 
-  const { chartTitle } = getTitles(layout);
+  const { chartTitle } = getTitles(input.layout);
 
   return {
     segments,
-    chartValue: typeof firstData.value === 'number' ? firstData.value : 0,
+    chartValue: firstData.value ?? 0,
     chartTitle,
     sublabel,
     // range values can be null
     minValue: typeof firstData.gauge?.axis?.range?.[0] === 'number' ? firstData.gauge?.axis?.range?.[0] : undefined,
     maxValue: typeof firstData.gauge?.axis?.range?.[1] === 'number' ? firstData.gauge?.axis?.range?.[1] : undefined,
-    chartValueFormat: () => firstData.value,
-    width: typeof layout?.width === 'number' ? layout?.width : 440,
-    height: typeof layout?.height === 'number' ? layout?.height : 220,
+    chartValueFormat: () => firstData.value?.toString() ?? '',
+    width: input.layout?.width ?? 440,
+    height: input.layout?.height ?? 220,
     styles,
     variant: firstData.gauge?.steps?.length ? GaugeChartVariant.MultipleSegments : GaugeChartVariant.SingleSegment,
   };
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
index bf5cdb41de7cbd..5f131e387622e1 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
@@ -5646,7 +5646,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </g>
         </g>
         <g
-          aria-label="x_0, y_19. , 1.4746401926975559."
+          aria-label="x_0, y_19. undefined, 1.4746401926975559."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5678,7 +5678,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_19. , 76.5710413276318."
+          aria-label="x_1, y_19. undefined, 76.5710413276318."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5710,7 +5710,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_19. , 22.444170064560886."
+          aria-label="x_2, y_19. undefined, 22.444170064560886."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5742,7 +5742,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_19. , -11.754560357801614."
+          aria-label="x_3, y_19. undefined, -11.754560357801614."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5774,7 +5774,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_19. , 31.65020848831535."
+          aria-label="x_4, y_19. undefined, 31.65020848831535."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5806,7 +5806,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_19. , -6.747073251084499."
+          aria-label="x_5, y_19. undefined, -6.747073251084499."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5838,7 +5838,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_19. , 10.677375854561543."
+          aria-label="x_6, y_19. undefined, 10.677375854561543."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5870,7 +5870,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_19. , 18.290237353501528."
+          aria-label="x_7, y_19. undefined, 18.290237353501528."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5902,7 +5902,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_19. , 44.04246479548906."
+          aria-label="x_8, y_19. undefined, 44.04246479548906."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5934,7 +5934,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_19. , -0.9669084139974888."
+          aria-label="x_9, y_19. undefined, -0.9669084139974888."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5966,7 +5966,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_19. , -10.02999798650989."
+          aria-label="x_10, y_19. undefined, -10.02999798650989."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -5998,7 +5998,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_19. , 26.331023176529538."
+          aria-label="x_11, y_19. undefined, 26.331023176529538."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6030,7 +6030,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_19. , 23.744787277420585."
+          aria-label="x_12, y_19. undefined, 23.744787277420585."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6062,7 +6062,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_19. , 21.58401811955205."
+          aria-label="x_13, y_19. undefined, 21.58401811955205."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6094,7 +6094,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_19. , -5.054619683005746."
+          aria-label="x_14, y_19. undefined, -5.054619683005746."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6126,7 +6126,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_19. , -12.304220941049874."
+          aria-label="x_15, y_19. undefined, -12.304220941049874."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6158,7 +6158,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_19. , 22.0278850405599."
+          aria-label="x_16, y_19. undefined, 22.0278850405599."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6190,7 +6190,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_19. , 68.76140423378733."
+          aria-label="x_17, y_19. undefined, 68.76140423378733."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6222,7 +6222,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_19. , -11.104838839030073."
+          aria-label="x_18, y_19. undefined, -11.104838839030073."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6254,7 +6254,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_19. , 32.93901719565705."
+          aria-label="x_19, y_19. undefined, 32.93901719565705."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6286,7 +6286,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_18. , 2.008683713506029."
+          aria-label="x_0, y_18. undefined, 2.008683713506029."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6318,7 +6318,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_18. , 68.77074374390875."
+          aria-label="x_1, y_18. undefined, 68.77074374390875."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6350,7 +6350,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_18. , 27.561261630596558."
+          aria-label="x_2, y_18. undefined, 27.561261630596558."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6382,7 +6382,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_18. , -11.972754232678293."
+          aria-label="x_3, y_18. undefined, -11.972754232678293."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6414,7 +6414,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_18. , 27.652138241890253."
+          aria-label="x_4, y_18. undefined, 27.652138241890253."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6446,7 +6446,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_18. , -8.994598412149836."
+          aria-label="x_5, y_18. undefined, -8.994598412149836."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6478,7 +6478,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_18. , 16.01202612993778."
+          aria-label="x_6, y_18. undefined, 16.01202612993778."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6510,7 +6510,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_18. , 27.496822437992087."
+          aria-label="x_7, y_18. undefined, 27.496822437992087."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6542,7 +6542,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_18. , 42.223038572972655."
+          aria-label="x_8, y_18. undefined, 42.223038572972655."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6574,7 +6574,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_18. , 9.14302748045202."
+          aria-label="x_9, y_18. undefined, 9.14302748045202."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6606,7 +6606,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_18. , -9.49672264010566."
+          aria-label="x_10, y_18. undefined, -9.49672264010566."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6638,7 +6638,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_18. , 25.872388552562622."
+          aria-label="x_11, y_18. undefined, 25.872388552562622."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6670,7 +6670,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_18. , 29.591488992612543."
+          aria-label="x_12, y_18. undefined, 29.591488992612543."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6702,7 +6702,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_18. , 17.887210405056912."
+          aria-label="x_13, y_18. undefined, 17.887210405056912."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6734,7 +6734,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_18. , -5.273287251587566."
+          aria-label="x_14, y_18. undefined, -5.273287251587566."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6766,7 +6766,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_18. , -12.231659074097587."
+          aria-label="x_15, y_18. undefined, -12.231659074097587."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6798,7 +6798,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_18. , 25.21878307435221."
+          aria-label="x_16, y_18. undefined, 25.21878307435221."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6830,7 +6830,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_18. , 55.4498407189013."
+          aria-label="x_17, y_18. undefined, 55.4498407189013."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6862,7 +6862,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_18. , -16.160855914516."
+          aria-label="x_18, y_18. undefined, -16.160855914516."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6894,7 +6894,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_18. , 32.26936734704534."
+          aria-label="x_19, y_18. undefined, 32.26936734704534."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6926,7 +6926,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_17. , 8.834804620855842."
+          aria-label="x_0, y_17. undefined, 8.834804620855842."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6958,7 +6958,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_17. , 58.63396530456222."
+          aria-label="x_1, y_17. undefined, 58.63396530456222."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -6990,7 +6990,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_17. , 32.725737544844485."
+          aria-label="x_2, y_17. undefined, 32.725737544844485."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7022,7 +7022,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_17. , -13.465901648481573."
+          aria-label="x_3, y_17. undefined, -13.465901648481573."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7054,7 +7054,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_17. , 31.313375862796256."
+          aria-label="x_4, y_17. undefined, 31.313375862796256."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7086,7 +7086,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_17. , -1.937020141351771."
+          aria-label="x_5, y_17. undefined, -1.937020141351771."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7118,7 +7118,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_17. , 14.893297536987049."
+          aria-label="x_6, y_17. undefined, 14.893297536987049."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7150,7 +7150,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_17. , 23.629750932895455."
+          aria-label="x_7, y_17. undefined, 23.629750932895455."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7182,7 +7182,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_17. , 41.77269087492713."
+          aria-label="x_8, y_17. undefined, 41.77269087492713."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7214,7 +7214,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_17. , 9.082388429023517."
+          aria-label="x_9, y_17. undefined, 9.082388429023517."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7246,7 +7246,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_17. , -6.034577415215565."
+          aria-label="x_10, y_17. undefined, -6.034577415215565."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7278,7 +7278,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_17. , 26.401238496860607."
+          aria-label="x_11, y_17. undefined, 26.401238496860607."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7310,7 +7310,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_17. , 30.051671106505943."
+          aria-label="x_12, y_17. undefined, 30.051671106505943."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7342,7 +7342,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_17. , 23.834062269627154."
+          aria-label="x_13, y_17. undefined, 23.834062269627154."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7374,7 +7374,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_17. , -3.561155588342318."
+          aria-label="x_14, y_17. undefined, -3.561155588342318."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7406,7 +7406,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_17. , -10.717340944667358."
+          aria-label="x_15, y_17. undefined, -10.717340944667358."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7438,7 +7438,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_17. , 25.98741506616426."
+          aria-label="x_16, y_17. undefined, 25.98741506616426."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7470,7 +7470,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_17. , 55.13836837404197."
+          aria-label="x_17, y_17. undefined, 55.13836837404197."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7502,7 +7502,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_17. , -12.222227236438126."
+          aria-label="x_18, y_17. undefined, -12.222227236438126."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7534,7 +7534,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_17. , 30.768724196434682."
+          aria-label="x_19, y_17. undefined, 30.768724196434682."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7566,7 +7566,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_16. , 9.52854140993721."
+          aria-label="x_0, y_16. undefined, 9.52854140993721."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7598,7 +7598,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_16. , 66.15934256222516."
+          aria-label="x_1, y_16. undefined, 66.15934256222516."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7630,7 +7630,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_16. , 25.727095609917317."
+          aria-label="x_2, y_16. undefined, 25.727095609917317."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7662,7 +7662,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_16. , -16.01042996598902."
+          aria-label="x_3, y_16. undefined, -16.01042996598902."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7694,7 +7694,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_16. , 24.77811171644336."
+          aria-label="x_4, y_16. undefined, 24.77811171644336."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7726,7 +7726,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_16. , -1.2825355952790376."
+          aria-label="x_5, y_16. undefined, -1.2825355952790376."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7758,7 +7758,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_16. , 19.064261874916085."
+          aria-label="x_6, y_16. undefined, 19.064261874916085."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7790,7 +7790,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_16. , 14.509555473536986."
+          aria-label="x_7, y_16. undefined, 14.509555473536986."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7822,7 +7822,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_16. , 43.57067434580797."
+          aria-label="x_8, y_16. undefined, 43.57067434580797."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7854,7 +7854,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_16. , 7.890650307112603."
+          aria-label="x_9, y_16. undefined, 7.890650307112603."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7886,7 +7886,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_16. , 1.6731169765193206."
+          aria-label="x_10, y_16. undefined, 1.6731169765193206."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7918,7 +7918,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_16. , 11.216733394728445."
+          aria-label="x_11, y_16. undefined, 11.216733394728445."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7950,7 +7950,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_16. , 25.858459074516183."
+          aria-label="x_12, y_16. undefined, 25.858459074516183."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -7982,7 +7982,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_16. , 18.23274943606415."
+          aria-label="x_13, y_16. undefined, 18.23274943606415."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8014,7 +8014,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_16. , -1.5424885952686824."
+          aria-label="x_14, y_16. undefined, -1.5424885952686824."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8046,7 +8046,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_16. , -9.408565254995368."
+          aria-label="x_15, y_16. undefined, -9.408565254995368."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8078,7 +8078,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_16. , 24.78142561950699."
+          aria-label="x_16, y_16. undefined, 24.78142561950699."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8110,7 +8110,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_16. , 55.72892300395096."
+          aria-label="x_17, y_16. undefined, 55.72892300395096."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8142,7 +8142,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_16. , -6.132435488791322."
+          aria-label="x_18, y_16. undefined, -6.132435488791322."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8174,7 +8174,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_16. , 32.12418971970468."
+          aria-label="x_19, y_16. undefined, 32.12418971970468."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8206,7 +8206,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_15. , 18.3594620989525."
+          aria-label="x_0, y_15. undefined, 18.3594620989525."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8238,7 +8238,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_15. , 66.76755465163893."
+          aria-label="x_1, y_15. undefined, 66.76755465163893."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8270,7 +8270,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_15. , 23.378561600159312."
+          aria-label="x_2, y_15. undefined, 23.378561600159312."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8302,7 +8302,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_15. , -9.221557127656212."
+          aria-label="x_3, y_15. undefined, -9.221557127656212."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8334,7 +8334,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_15. , 28.23165649899542."
+          aria-label="x_4, y_15. undefined, 28.23165649899542."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8366,7 +8366,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_15. , -0.3620931039471351."
+          aria-label="x_5, y_15. undefined, -0.3620931039471351."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8398,7 +8398,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_15. , 28.91643855216486."
+          aria-label="x_6, y_15. undefined, 28.91643855216486."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8430,7 +8430,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_15. , 11.188848304771073."
+          aria-label="x_7, y_15. undefined, 11.188848304771073."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8462,7 +8462,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_15. , 43.30138646653476."
+          aria-label="x_8, y_15. undefined, 43.30138646653476."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8494,7 +8494,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_15. , 5.000880279196099."
+          aria-label="x_9, y_15. undefined, 5.000880279196099."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8526,7 +8526,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_15. , 1.955677009677276."
+          aria-label="x_10, y_15. undefined, 1.955677009677276."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8558,7 +8558,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_15. , 17.279662785715818."
+          aria-label="x_11, y_15. undefined, 17.279662785715818."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8590,7 +8590,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_15. , 26.178614647552152."
+          aria-label="x_12, y_15. undefined, 26.178614647552152."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8622,7 +8622,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_15. , 21.57198989722974."
+          aria-label="x_13, y_15. undefined, 21.57198989722974."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8654,7 +8654,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_15. , -1.3161643920050667."
+          aria-label="x_14, y_15. undefined, -1.3161643920050667."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8686,7 +8686,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_15. , -9.439334496282449."
+          aria-label="x_15, y_15. undefined, -9.439334496282449."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8718,7 +8718,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_15. , 18.312638310718047."
+          aria-label="x_16, y_15. undefined, 18.312638310718047."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8750,7 +8750,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_15. , 54.77270799612626."
+          aria-label="x_17, y_15. undefined, 54.77270799612626."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8782,7 +8782,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_15. , -13.618633943842825."
+          aria-label="x_18, y_15. undefined, -13.618633943842825."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8814,7 +8814,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_15. , 34.04601203745518."
+          aria-label="x_19, y_15. undefined, 34.04601203745518."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8846,7 +8846,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_14. , 17.878378279408615."
+          aria-label="x_0, y_14. undefined, 17.878378279408615."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8878,7 +8878,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_14. , 65.61603877495548."
+          aria-label="x_1, y_14. undefined, 65.61603877495548."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8910,7 +8910,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_14. , 21.1073514253479."
+          aria-label="x_2, y_14. undefined, 21.1073514253479."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8942,7 +8942,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_14. , -9.253213203481765."
+          aria-label="x_3, y_14. undefined, -9.253213203481765."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -8974,7 +8974,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_14. , 27.879670681460908."
+          aria-label="x_4, y_14. undefined, 27.879670681460908."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9006,7 +9006,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_14. , -2.8320537701090256."
+          aria-label="x_5, y_14. undefined, -2.8320537701090256."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9038,7 +9038,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_14. , 26.13796211607032."
+          aria-label="x_6, y_14. undefined, 26.13796211607032."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9070,7 +9070,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_14. , 24.926244822709098."
+          aria-label="x_7, y_14. undefined, 24.926244822709098."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9102,7 +9102,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_14. , 41.22820882460708."
+          aria-label="x_8, y_14. undefined, 41.22820882460708."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9134,7 +9134,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_14. , 4.291828909220028."
+          aria-label="x_9, y_14. undefined, 4.291828909220028."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9166,7 +9166,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_14. , 4.713688574820864."
+          aria-label="x_10, y_14. undefined, 4.713688574820864."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9198,7 +9198,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_14. , 16.71505221410986."
+          aria-label="x_11, y_14. undefined, 16.71505221410986."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9230,7 +9230,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_14. , 27.48982397761371."
+          aria-label="x_12, y_14. undefined, 27.48982397761371."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9262,7 +9262,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_14. , 14.998235183145638."
+          aria-label="x_13, y_14. undefined, 14.998235183145638."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9294,7 +9294,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_14. , -1.0419904618770504."
+          aria-label="x_14, y_14. undefined, -1.0419904618770504."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9326,7 +9326,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_14. , -0.1509352342460648."
+          aria-label="x_15, y_14. undefined, -0.1509352342460648."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9358,7 +9358,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_14. , 11.562765259884168."
+          aria-label="x_16, y_14. undefined, 11.562765259884168."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9390,7 +9390,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_14. , 54.381939331520186."
+          aria-label="x_17, y_14. undefined, 54.381939331520186."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9422,7 +9422,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_14. , -15.369316543252658."
+          aria-label="x_18, y_14. undefined, -15.369316543252658."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9454,7 +9454,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_14. , 25.018616836414115."
+          aria-label="x_19, y_14. undefined, 25.018616836414115."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9486,7 +9486,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_13. , 9.197351864496074."
+          aria-label="x_0, y_13. undefined, 9.197351864496074."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9518,7 +9518,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_13. , 55.98556586180058."
+          aria-label="x_1, y_13. undefined, 55.98556586180058."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9550,7 +9550,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_13. , 19.688495387348357."
+          aria-label="x_2, y_13. undefined, 19.688495387348357."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9582,7 +9582,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_13. , -1.1757697666321."
+          aria-label="x_3, y_13. undefined, -1.1757697666321."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9614,7 +9614,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_13. , 26.78831096366896."
+          aria-label="x_4, y_13. undefined, 26.78831096366896."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9646,7 +9646,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_13. , -5.206570891432279."
+          aria-label="x_5, y_13. undefined, -5.206570891432279."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9678,7 +9678,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_13. , 29.755041090905404."
+          aria-label="x_6, y_13. undefined, 29.755041090905404."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9710,7 +9710,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_13. , 35.45913888587404."
+          aria-label="x_7, y_13. undefined, 35.45913888587404."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9742,7 +9742,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_13. , 48.543398737558654."
+          aria-label="x_8, y_13. undefined, 48.543398737558654."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9774,7 +9774,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_13. , 3.274578409778302."
+          aria-label="x_9, y_13. undefined, 3.274578409778302."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9806,7 +9806,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_13. , 7.640442280843416."
+          aria-label="x_10, y_13. undefined, 7.640442280843416."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9838,7 +9838,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_13. , 6.615425581412669."
+          aria-label="x_11, y_13. undefined, 6.615425581412669."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9870,7 +9870,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_13. , 27.520672134556655."
+          aria-label="x_12, y_13. undefined, 27.520672134556655."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9902,7 +9902,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_13. , 17.13948338893387."
+          aria-label="x_13, y_13. undefined, 17.13948338893387."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9934,7 +9934,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_13. , -0.7130168306222968."
+          aria-label="x_14, y_13. undefined, -0.7130168306222968."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9966,7 +9966,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_13. , 3.4923248627721257."
+          aria-label="x_15, y_13. undefined, 3.4923248627721257."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -9998,7 +9998,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_13. , 10.663420634170265."
+          aria-label="x_16, y_13. undefined, 10.663420634170265."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10030,7 +10030,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_13. , 62.79712211239938."
+          aria-label="x_17, y_13. undefined, 62.79712211239938."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10062,7 +10062,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_13. , -7.102421907260435."
+          aria-label="x_18, y_13. undefined, -7.102421907260435."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10094,7 +10094,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_13. , 25.96909143426486."
+          aria-label="x_19, y_13. undefined, 25.96909143426486."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10126,7 +10126,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_12. , 3.673504371828866."
+          aria-label="x_0, y_12. undefined, 3.673504371828866."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10158,7 +10158,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_12. , 55.66537870906952."
+          aria-label="x_1, y_12. undefined, 55.66537870906952."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10190,7 +10190,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_12. , 22.222025244923273."
+          aria-label="x_2, y_12. undefined, 22.222025244923273."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10222,7 +10222,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_12. , -2.1871046243479864."
+          aria-label="x_3, y_12. undefined, -2.1871046243479864."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10254,7 +10254,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_12. , 28.014054309766728."
+          aria-label="x_4, y_12. undefined, 28.014054309766728."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10286,7 +10286,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_12. , -1.9343227464152601."
+          aria-label="x_5, y_12. undefined, -1.9343227464152601."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10318,7 +10318,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_12. , 29.16438526268995."
+          aria-label="x_6, y_12. undefined, 29.16438526268995."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10350,7 +10350,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_12. , 44.051494895676456."
+          aria-label="x_7, y_12. undefined, 44.051494895676456."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10382,7 +10382,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_12. , 47.138525452751004."
+          aria-label="x_8, y_12. undefined, 47.138525452751004."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10414,7 +10414,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_12. , -2.533067604753474."
+          aria-label="x_9, y_12. undefined, -2.533067604753474."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10446,7 +10446,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_12. , 2.4604369987892873."
+          aria-label="x_10, y_12. undefined, 2.4604369987892873."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10478,7 +10478,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_12. , 19.673236477344094."
+          aria-label="x_11, y_12. undefined, 19.673236477344094."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10510,7 +10510,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_12. , 23.43582349379937."
+          aria-label="x_12, y_12. undefined, 23.43582349379937."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10542,7 +10542,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_12. , 18.46461800040717."
+          aria-label="x_13, y_12. undefined, 18.46461800040717."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10574,7 +10574,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_12. , 3.2513035287755745."
+          aria-label="x_14, y_12. undefined, 3.2513035287755745."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10606,7 +10606,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_12. , 7.4638277204597046."
+          aria-label="x_15, y_12. undefined, 7.4638277204597046."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10638,7 +10638,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_12. , 5.836414662127938."
+          aria-label="x_16, y_12. undefined, 5.836414662127938."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10670,7 +10670,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_12. , 63.63736027633095."
+          aria-label="x_17, y_12. undefined, 63.63736027633095."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10702,7 +10702,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_12. , -2.3182235215935463."
+          aria-label="x_18, y_12. undefined, -2.3182235215935463."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10734,7 +10734,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_12. , 28.362102774855607."
+          aria-label="x_19, y_12. undefined, 28.362102774855607."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10766,7 +10766,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_11. , -1.2496939708148902."
+          aria-label="x_0, y_11. undefined, -1.2496939708148902."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10798,7 +10798,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_11. , 52.0753263525035."
+          aria-label="x_1, y_11. undefined, 52.0753263525035."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10830,7 +10830,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_11. , 16.573843720560127."
+          aria-label="x_2, y_11. undefined, 16.573843720560127."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10862,7 +10862,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_11. , 0.6254954059905691."
+          aria-label="x_3, y_11. undefined, 0.6254954059905691."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10894,7 +10894,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_11. , 25.67070005332393."
+          aria-label="x_4, y_11. undefined, 25.67070005332393."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10926,7 +10926,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_11. , 2.8833642841959586."
+          aria-label="x_5, y_11. undefined, 2.8833642841959586."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10958,7 +10958,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_11. , 21.05489065711163."
+          aria-label="x_6, y_11. undefined, 21.05489065711163."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -10990,7 +10990,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_11. , 45.54977153406254."
+          aria-label="x_7, y_11. undefined, 45.54977153406254."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11022,7 +11022,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_11. , 54.790476948309696."
+          aria-label="x_8, y_11. undefined, 54.790476948309696."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11054,7 +11054,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_11. , -1.1319446806674005."
+          aria-label="x_9, y_11. undefined, -1.1319446806674005."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11086,7 +11086,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_11. , -6.836880142255078."
+          aria-label="x_10, y_11. undefined, -6.836880142255078."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11118,7 +11118,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_11. , 15.502730715077965."
+          aria-label="x_11, y_11. undefined, 15.502730715077965."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11150,7 +11150,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_11. , 16.434991284495794."
+          aria-label="x_12, y_11. undefined, 16.434991284495794."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11182,7 +11182,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_11. , 20.05330736176254."
+          aria-label="x_13, y_11. undefined, 20.05330736176254."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11214,7 +11214,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_11. , 2.3102989662620654."
+          aria-label="x_14, y_11. undefined, 2.3102989662620654."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11246,7 +11246,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_11. , 6.6400837474901095."
+          aria-label="x_15, y_11. undefined, 6.6400837474901095."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11278,7 +11278,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_11. , 3.4554008460006247."
+          aria-label="x_16, y_11. undefined, 3.4554008460006247."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11310,7 +11310,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_11. , 54.703320294165096."
+          aria-label="x_17, y_11. undefined, 54.703320294165096."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11342,7 +11342,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_11. , -3.275155410653531."
+          aria-label="x_18, y_11. undefined, -3.275155410653531."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11374,7 +11374,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_11. , 34.69783250602105."
+          aria-label="x_19, y_11. undefined, 34.69783250602105."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11406,7 +11406,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_10. , -0.34155835630595655."
+          aria-label="x_0, y_10. undefined, -0.34155835630595655."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11438,7 +11438,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_10. , 52.257883472637104."
+          aria-label="x_1, y_10. undefined, 52.257883472637104."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11470,7 +11470,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_10. , 14.63013635132661."
+          aria-label="x_2, y_10. undefined, 14.63013635132661."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11502,7 +11502,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_10. , -1.1475310646451669."
+          aria-label="x_3, y_10. undefined, -1.1475310646451669."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11534,7 +11534,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_10. , 19.815434611539906."
+          aria-label="x_4, y_10. undefined, 19.815434611539906."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11566,7 +11566,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_10. , -0.3597615447940745."
+          aria-label="x_5, y_10. undefined, -0.3597615447940745."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11598,7 +11598,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_10. , 22.773438522174473."
+          aria-label="x_6, y_10. undefined, 22.773438522174473."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11630,7 +11630,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_10. , 45.16830973647258."
+          aria-label="x_7, y_10. undefined, 45.16830973647258."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11662,7 +11662,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_10. , 50.90620858214391."
+          aria-label="x_8, y_10. undefined, 50.90620858214391."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11694,7 +11694,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_10. , -4.123416917882673."
+          aria-label="x_9, y_10. undefined, -4.123416917882673."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11726,7 +11726,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_10. , -10.08874106711032."
+          aria-label="x_10, y_10. undefined, -10.08874106711032."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11758,7 +11758,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_10. , 17.77058648507848."
+          aria-label="x_11, y_10. undefined, 17.77058648507848."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11790,7 +11790,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_10. , 17.40525407651549."
+          aria-label="x_12, y_10. undefined, 17.40525407651549."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11822,7 +11822,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_10. , 19.428287067763215."
+          aria-label="x_13, y_10. undefined, 19.428287067763215."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11854,7 +11854,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_10. , 10.154808609159593."
+          aria-label="x_14, y_10. undefined, 10.154808609159593."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11886,7 +11886,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_10. , 9.41560200751194."
+          aria-label="x_15, y_10. undefined, 9.41560200751194."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11918,7 +11918,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_10. , 1.9106824056688325."
+          aria-label="x_16, y_10. undefined, 1.9106824056688325."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11950,7 +11950,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_10. , 55.50321452563245."
+          aria-label="x_17, y_10. undefined, 55.50321452563245."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -11982,7 +11982,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_10. , -1.086930629298445."
+          aria-label="x_18, y_10. undefined, -1.086930629298445."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12014,7 +12014,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_10. , 29.942519927990794."
+          aria-label="x_19, y_10. undefined, 29.942519927990794."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12046,7 +12046,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_9. , 1.3315750803470996."
+          aria-label="x_0, y_9. undefined, 1.3315750803470996."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12078,7 +12078,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_9. , 45.90255894008207."
+          aria-label="x_1, y_9. undefined, 45.90255894008207."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12110,7 +12110,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_9. , 9.162060301209916."
+          aria-label="x_2, y_9. undefined, 9.162060301209916."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12142,7 +12142,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_9. , -1.2943200134022526."
+          aria-label="x_3, y_9. undefined, -1.2943200134022526."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12174,7 +12174,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_9. , 21.982396858443334."
+          aria-label="x_4, y_9. undefined, 21.982396858443334."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12206,7 +12206,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_9. , -2.0046315173801657."
+          aria-label="x_5, y_9. undefined, -2.0046315173801657."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12238,7 +12238,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_9. , 23.75776947991829."
+          aria-label="x_6, y_9. undefined, 23.75776947991829."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12270,7 +12270,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_9. , 42.681396519281044."
+          aria-label="x_7, y_9. undefined, 42.681396519281044."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12302,7 +12302,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_9. , 44.65189694360409."
+          aria-label="x_8, y_9. undefined, 44.65189694360409."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12334,7 +12334,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_9. , -3.233129329636757."
+          aria-label="x_9, y_9. undefined, -3.233129329636757."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12366,7 +12366,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_9. , -11.7007015295863."
+          aria-label="x_10, y_9. undefined, -11.7007015295863."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12398,7 +12398,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_9. , 8.768962763531919."
+          aria-label="x_11, y_9. undefined, 8.768962763531919."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12430,7 +12430,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_9. , 21.48008268870696."
+          aria-label="x_12, y_9. undefined, 21.48008268870696."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12462,7 +12462,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_9. , 11.750650693071353."
+          aria-label="x_13, y_9. undefined, 11.750650693071353."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12494,7 +12494,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_9. , 10.314016323078881."
+          aria-label="x_14, y_9. undefined, 10.314016323078881."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12526,7 +12526,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_9. , 6.044971885000999."
+          aria-label="x_15, y_9. undefined, 6.044971885000999."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12558,7 +12558,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_9. , 0.39568846222827236."
+          aria-label="x_16, y_9. undefined, 0.39568846222827236."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12590,7 +12590,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_9. , 56.79992555682459."
+          aria-label="x_17, y_9. undefined, 56.79992555682459."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12622,7 +12622,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_9. , 9.686881597266042."
+          aria-label="x_18, y_9. undefined, 9.686881597266042."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12654,7 +12654,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_9. , 29.573837224244713."
+          aria-label="x_19, y_9. undefined, 29.573837224244713."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12686,7 +12686,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_8. , 0.02929945240777787."
+          aria-label="x_0, y_8. undefined, 0.02929945240777787."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12718,7 +12718,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_8. , 47.8943258538308."
+          aria-label="x_1, y_8. undefined, 47.8943258538308."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12750,7 +12750,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_8. , 13.4384038570412."
+          aria-label="x_2, y_8. undefined, 13.4384038570412."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12782,7 +12782,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_8. , 17.917433759396193."
+          aria-label="x_3, y_8. undefined, 17.917433759396193."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12814,7 +12814,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_8. , 17.039432522289083."
+          aria-label="x_4, y_8. undefined, 17.039432522289083."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12846,7 +12846,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_8. , -4.774743239794282."
+          aria-label="x_5, y_8. undefined, -4.774743239794282."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12878,7 +12878,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_8. , 12.169188113505435."
+          aria-label="x_6, y_8. undefined, 12.169188113505435."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12910,7 +12910,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_8. , 40.42317097918186."
+          aria-label="x_7, y_8. undefined, 40.42317097918186."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12942,7 +12942,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_8. , 37.22474246115934."
+          aria-label="x_8, y_8. undefined, 37.22474246115934."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -12974,7 +12974,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_8. , 0.22091049853526112."
+          aria-label="x_9, y_8. undefined, 0.22091049853526112."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13006,7 +13006,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_8. , -9.687370268531138."
+          aria-label="x_10, y_8. undefined, -9.687370268531138."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13038,7 +13038,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_8. , 10.608534707379862."
+          aria-label="x_11, y_8. undefined, 10.608534707379862."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13070,7 +13070,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_8. , 22.489367975650175."
+          aria-label="x_12, y_8. undefined, 22.489367975650175."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13102,7 +13102,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_8. , 10.669348146795615."
+          aria-label="x_13, y_8. undefined, 10.669348146795615."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13134,7 +13134,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_8. , 13.95650541886101."
+          aria-label="x_14, y_8. undefined, 13.95650541886101."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13166,7 +13166,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_8. , 6.839552569406474."
+          aria-label="x_15, y_8. undefined, 6.839552569406474."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13198,7 +13198,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_8. , 2.066756467090924."
+          aria-label="x_16, y_8. undefined, 2.066756467090924."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13230,7 +13230,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_8. , 54.581934085152405."
+          aria-label="x_17, y_8. undefined, 54.581934085152405."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13262,7 +13262,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_8. , 3.5319443821756225."
+          aria-label="x_18, y_8. undefined, 3.5319443821756225."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13294,7 +13294,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_8. , 24.532968918280666."
+          aria-label="x_19, y_8. undefined, 24.532968918280666."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13326,7 +13326,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_7. , -7.513284950652834."
+          aria-label="x_0, y_7. undefined, -7.513284950652834."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13358,7 +13358,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_7. , 44.21182779048812."
+          aria-label="x_1, y_7. undefined, 44.21182779048812."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13390,7 +13390,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_7. , 14.479713711226983."
+          aria-label="x_2, y_7. undefined, 14.479713711226983."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13422,7 +13422,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_7. , 17.660499931671584."
+          aria-label="x_3, y_7. undefined, 17.660499931671584."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13454,7 +13454,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_7. , 14.436062506263415."
+          aria-label="x_4, y_7. undefined, 14.436062506263415."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13486,7 +13486,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_7. , -8.630753569571617."
+          aria-label="x_5, y_7. undefined, -8.630753569571617."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13518,7 +13518,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_7. , 18.920515851612024."
+          aria-label="x_6, y_7. undefined, 18.920515851612024."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13550,7 +13550,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_7. , 41.961872256649784."
+          aria-label="x_7, y_7. undefined, 41.961872256649784."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13582,7 +13582,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_7. , 30.992785862263872."
+          aria-label="x_8, y_7. undefined, 30.992785862263872."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13614,7 +13614,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_7. , 0.3821317782171232."
+          aria-label="x_9, y_7. undefined, 0.3821317782171232."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13646,7 +13646,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_7. , -9.481337721021028."
+          aria-label="x_10, y_7. undefined, -9.481337721021028."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13678,7 +13678,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_7. , 1.6266164906990555."
+          aria-label="x_11, y_7. undefined, 1.6266164906990555."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13710,7 +13710,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_7. , 20.52198483872326."
+          aria-label="x_12, y_7. undefined, 20.52198483872326."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13742,7 +13742,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_7. , 9.822475957217343."
+          aria-label="x_13, y_7. undefined, 9.822475957217343."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13774,7 +13774,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_7. , 15.658011352744083."
+          aria-label="x_14, y_7. undefined, 15.658011352744083."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13806,7 +13806,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_7. , 12.855391500184762."
+          aria-label="x_15, y_7. undefined, 12.855391500184762."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13838,7 +13838,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_7. , 10.723957376497331."
+          aria-label="x_16, y_7. undefined, 10.723957376497331."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13870,7 +13870,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_7. , 41.76485494373556."
+          aria-label="x_17, y_7. undefined, 41.76485494373556."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13902,7 +13902,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_7. , 2.2340479176319485."
+          aria-label="x_18, y_7. undefined, 2.2340479176319485."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13934,7 +13934,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_7. , 16.088953253894616."
+          aria-label="x_19, y_7. undefined, 16.088953253894616."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13966,7 +13966,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_6. , -6.877933971525136."
+          aria-label="x_0, y_6. undefined, -6.877933971525136."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -13998,7 +13998,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_6. , 44.04384439381119."
+          aria-label="x_1, y_6. undefined, 44.04384439381119."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14030,7 +14030,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_6. , 13.548126342387011."
+          aria-label="x_2, y_6. undefined, 13.548126342387011."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14062,7 +14062,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_6. , 17.74014481550033."
+          aria-label="x_3, y_6. undefined, 17.74014481550033."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14094,7 +14094,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_6. , 15.7912983146064."
+          aria-label="x_4, y_6. undefined, 15.7912983146064."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14126,7 +14126,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_6. , -6.563883600581922."
+          aria-label="x_5, y_6. undefined, -6.563883600581922."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14158,7 +14158,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_6. , 21.49865383744765."
+          aria-label="x_6, y_6. undefined, 21.49865383744765."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14190,7 +14190,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_6. , 38.24729505908534."
+          aria-label="x_7, y_6. undefined, 38.24729505908534."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14222,7 +14222,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_6. , 25.710457133039732."
+          aria-label="x_8, y_6. undefined, 25.710457133039732."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14254,7 +14254,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_6. , 2.2251747151953722."
+          aria-label="x_9, y_6. undefined, 2.2251747151953722."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14286,7 +14286,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_6. , -10.093623877175773."
+          aria-label="x_10, y_6. undefined, -10.093623877175773."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14318,7 +14318,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_6. , 1.9137585062069147."
+          aria-label="x_11, y_6. undefined, 1.9137585062069147."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14350,7 +14350,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_6. , 28.853944000537858."
+          aria-label="x_12, y_6. undefined, 28.853944000537858."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14382,7 +14382,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_6. , 9.119846857537635."
+          aria-label="x_13, y_6. undefined, 9.119846857537635."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14414,7 +14414,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_6. , 16.770107402461807."
+          aria-label="x_14, y_6. undefined, 16.770107402461807."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14446,7 +14446,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_6. , 7.3577813910229235."
+          aria-label="x_15, y_6. undefined, 7.3577813910229235."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14478,7 +14478,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_6. , 5.875139865786533."
+          aria-label="x_16, y_6. undefined, 5.875139865786533."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14510,7 +14510,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_6. , 39.12143717188403."
+          aria-label="x_17, y_6. undefined, 39.12143717188403."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14542,7 +14542,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_6. , 1.341905660672623."
+          aria-label="x_18, y_6. undefined, 1.341905660672623."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14574,7 +14574,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_6. , 16.777803239858564."
+          aria-label="x_19, y_6. undefined, 16.777803239858564."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14606,7 +14606,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_5. , 1.3848305486418013."
+          aria-label="x_0, y_5. undefined, 1.3848305486418013."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14638,7 +14638,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_5. , 28.88858899620542."
+          aria-label="x_1, y_5. undefined, 28.88858899620542."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14670,7 +14670,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_5. , 12.971410893817621."
+          aria-label="x_2, y_5. undefined, 12.971410893817621."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14702,7 +14702,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_5. , 21.143305039916708."
+          aria-label="x_3, y_5. undefined, 21.143305039916708."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14734,7 +14734,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_5. , 7.466382276034302."
+          aria-label="x_4, y_5. undefined, 7.466382276034302."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14766,7 +14766,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_5. , -2.108394838355938."
+          aria-label="x_5, y_5. undefined, -2.108394838355938."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14798,7 +14798,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_5. , 16.027000754389025."
+          aria-label="x_6, y_5. undefined, 16.027000754389025."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14830,7 +14830,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_5. , 40.70844626018491."
+          aria-label="x_7, y_5. undefined, 40.70844626018491."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14862,7 +14862,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_5. , 25.966261645863177."
+          aria-label="x_8, y_5. undefined, 25.966261645863177."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14894,7 +14894,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_5. , 0.9043901831061678."
+          aria-label="x_9, y_5. undefined, 0.9043901831061678."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14926,7 +14926,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_5. , -0.6718858579700804."
+          aria-label="x_10, y_5. undefined, -0.6718858579700804."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14958,7 +14958,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_5. , 2.6597070827875093."
+          aria-label="x_11, y_5. undefined, 2.6597070827875093."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -14990,7 +14990,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_5. , 36.093975687401766."
+          aria-label="x_12, y_5. undefined, 36.093975687401766."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15022,7 +15022,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_5. , 12.79240265673884."
+          aria-label="x_13, y_5. undefined, 12.79240265673884."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15054,7 +15054,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_5. , 16.292076219475025."
+          aria-label="x_14, y_5. undefined, 16.292076219475025."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15086,7 +15086,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_5. , 13.792475502830154."
+          aria-label="x_15, y_5. undefined, 13.792475502830154."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15118,7 +15118,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_5. , 9.90068532879486."
+          aria-label="x_16, y_5. undefined, 9.90068532879486."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15150,7 +15150,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_5. , 36.74806639404701."
+          aria-label="x_17, y_5. undefined, 36.74806639404701."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15182,7 +15182,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_5. , 26.577346684827898."
+          aria-label="x_18, y_5. undefined, 26.577346684827898."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15214,7 +15214,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_5. , 16.005211030243927."
+          aria-label="x_19, y_5. undefined, 16.005211030243927."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15246,7 +15246,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_4. , 10.424697200562369."
+          aria-label="x_0, y_4. undefined, 10.424697200562369."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15278,7 +15278,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_4. , 28.78022939969912."
+          aria-label="x_1, y_4. undefined, 28.78022939969912."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15310,7 +15310,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_4. , 3.274446200066722."
+          aria-label="x_2, y_4. undefined, 3.274446200066722."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15342,7 +15342,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_4. , 8.669870516018236."
+          aria-label="x_3, y_4. undefined, 8.669870516018236."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15374,7 +15374,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_4. , 17.75655781585482."
+          aria-label="x_4, y_4. undefined, 17.75655781585482."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15406,7 +15406,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_4. , -6.896721183137775."
+          aria-label="x_5, y_4. undefined, -6.896721183137775."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15438,7 +15438,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_4. , 17.337127681913973."
+          aria-label="x_6, y_4. undefined, 17.337127681913973."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15470,7 +15470,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_4. , 42.70107878756259."
+          aria-label="x_7, y_4. undefined, 42.70107878756259."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15502,7 +15502,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_4. , 27.376076996458107."
+          aria-label="x_8, y_4. undefined, 27.376076996458107."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15534,7 +15534,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_4. , 10.416788406228507."
+          aria-label="x_9, y_4. undefined, 10.416788406228507."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15566,7 +15566,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_4. , 5.9545352540812."
+          aria-label="x_10, y_4. undefined, 5.9545352540812."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15598,7 +15598,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_4. , 15.043018310072712."
+          aria-label="x_11, y_4. undefined, 15.043018310072712."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15630,7 +15630,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_4. , 32.12573718137715."
+          aria-label="x_12, y_4. undefined, 32.12573718137715."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15662,7 +15662,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_4. , 11.294834569956391."
+          aria-label="x_13, y_4. undefined, 11.294834569956391."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15694,7 +15694,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_4. , 16.313424113247194."
+          aria-label="x_14, y_4. undefined, 16.313424113247194."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15726,7 +15726,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_4. , 15.444451104553893."
+          aria-label="x_15, y_4. undefined, 15.444451104553893."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15758,7 +15758,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_4. , 10.443516068409753."
+          aria-label="x_16, y_4. undefined, 10.443516068409753."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15790,7 +15790,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_4. , 33.07558322142471."
+          aria-label="x_17, y_4. undefined, 33.07558322142471."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15822,7 +15822,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_4. , 22.67825393852671."
+          aria-label="x_18, y_4. undefined, 22.67825393852671."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15854,7 +15854,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_4. , 14.910979364805373."
+          aria-label="x_19, y_4. undefined, 14.910979364805373."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15886,7 +15886,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_3. , 12.732656491556462."
+          aria-label="x_0, y_3. undefined, 12.732656491556462."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15918,7 +15918,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_3. , 24.158612074358526."
+          aria-label="x_1, y_3. undefined, 24.158612074358526."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15950,7 +15950,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_3. , 1.8639666906231516."
+          aria-label="x_2, y_3. undefined, 1.8639666906231516."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -15982,7 +15982,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_3. , 9.195075731494875."
+          aria-label="x_3, y_3. undefined, 9.195075731494875."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16014,7 +16014,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_3. , 19.788944565361437."
+          aria-label="x_4, y_3. undefined, 19.788944565361437."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16046,7 +16046,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_3. , -6.833645216204284."
+          aria-label="x_5, y_3. undefined, -6.833645216204284."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16078,7 +16078,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_3. , 9.969142303073252."
+          aria-label="x_6, y_3. undefined, 9.969142303073252."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16110,7 +16110,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_3. , 46.34145242145437."
+          aria-label="x_7, y_3. undefined, 46.34145242145437."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16142,7 +16142,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_3. , 27.310374393715577."
+          aria-label="x_8, y_3. undefined, 27.310374393715577."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16174,7 +16174,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_3. , 15.451738777747869."
+          aria-label="x_9, y_3. undefined, 15.451738777747869."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16206,7 +16206,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_3. , 6.691398648622392."
+          aria-label="x_10, y_3. undefined, 6.691398648622392."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16238,7 +16238,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_3. , 14.55281641333698."
+          aria-label="x_11, y_3. undefined, 14.55281641333698."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16270,7 +16270,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_3. , 31.321025344254267."
+          aria-label="x_12, y_3. undefined, 31.321025344254267."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16302,7 +16302,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_3. , 9.311054030160307."
+          aria-label="x_13, y_3. undefined, 9.311054030160307."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16334,7 +16334,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_3. , 12.004790333591908."
+          aria-label="x_14, y_3. undefined, 12.004790333591908."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16366,7 +16366,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_3. , 13.059625413572078."
+          aria-label="x_15, y_3. undefined, 13.059625413572078."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16398,7 +16398,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_3. , 10.25485330260371."
+          aria-label="x_16, y_3. undefined, 10.25485330260371."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16430,7 +16430,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_3. , 29.181400631242038."
+          aria-label="x_17, y_3. undefined, 29.181400631242038."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16462,7 +16462,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_3. , 17.203123079730577."
+          aria-label="x_18, y_3. undefined, 17.203123079730577."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16494,7 +16494,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_3. , 15.96262678993938."
+          aria-label="x_19, y_3. undefined, 15.96262678993938."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16526,7 +16526,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_2. , 16.104827483834423."
+          aria-label="x_0, y_2. undefined, 16.104827483834423."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16558,7 +16558,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_2. , 16.816096580158092."
+          aria-label="x_1, y_2. undefined, 16.816096580158092."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16590,7 +16590,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_2. , -1.0796033248100874."
+          aria-label="x_2, y_2. undefined, -1.0796033248100874."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16622,7 +16622,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_2. , 13.037577162924944."
+          aria-label="x_3, y_2. undefined, 13.037577162924944."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16654,7 +16654,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_2. , 25.071276081749808."
+          aria-label="x_4, y_2. undefined, 25.071276081749808."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16686,7 +16686,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_2. , -6.016235615271988."
+          aria-label="x_5, y_2. undefined, -6.016235615271988."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16718,7 +16718,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_2. , 12.248777535804365."
+          aria-label="x_6, y_2. undefined, 12.248777535804365."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16750,7 +16750,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_2. , 35.617617939013286."
+          aria-label="x_7, y_2. undefined, 35.617617939013286."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16782,7 +16782,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_2. , 20.621055215762404."
+          aria-label="x_8, y_2. undefined, 20.621055215762404."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16814,7 +16814,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_2. , 18.321563171124787."
+          aria-label="x_9, y_2. undefined, 18.321563171124787."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16846,7 +16846,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_2. , 5.106104151848498."
+          aria-label="x_10, y_2. undefined, 5.106104151848498."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16878,7 +16878,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_2. , 20.47764211274059."
+          aria-label="x_11, y_2. undefined, 20.47764211274059."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16910,7 +16910,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_2. , 13.078423154116999."
+          aria-label="x_12, y_2. undefined, 13.078423154116999."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16942,7 +16942,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_2. , 4.270904076038434."
+          aria-label="x_13, y_2. undefined, 4.270904076038434."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -16974,7 +16974,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_2. , 10.32885307002288."
+          aria-label="x_14, y_2. undefined, 10.32885307002288."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17006,7 +17006,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_2. , 11.953280688550777."
+          aria-label="x_15, y_2. undefined, 11.953280688550777."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17038,7 +17038,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_2. , 1.5514493835400103."
+          aria-label="x_16, y_2. undefined, 1.5514493835400103."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17070,7 +17070,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_2. , 28.102083355215736."
+          aria-label="x_17, y_2. undefined, 28.102083355215736."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17102,7 +17102,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_2. , 11.122082151320692."
+          aria-label="x_18, y_2. undefined, 11.122082151320692."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17134,7 +17134,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_2. , 17.271525748515398."
+          aria-label="x_19, y_2. undefined, 17.271525748515398."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17166,7 +17166,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_1. , 18.072596781382654."
+          aria-label="x_0, y_1. undefined, 18.072596781382654."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17198,7 +17198,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_1. , 6.872368565119988."
+          aria-label="x_1, y_1. undefined, 6.872368565119988."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17230,7 +17230,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_1. , 2.6331323456979367."
+          aria-label="x_2, y_1. undefined, 2.6331323456979367."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17262,7 +17262,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_1. , 8.910260123844887."
+          aria-label="x_3, y_1. undefined, 8.910260123844887."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17294,7 +17294,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_1. , 23.29825386450679."
+          aria-label="x_4, y_1. undefined, 23.29825386450679."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17326,7 +17326,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_1. , 9.18418261775059."
+          aria-label="x_5, y_1. undefined, 9.18418261775059."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17358,7 +17358,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_1. , 18.052236884018036."
+          aria-label="x_6, y_1. undefined, 18.052236884018036."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17390,7 +17390,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_1. , 32.088269277118485."
+          aria-label="x_7, y_1. undefined, 32.088269277118485."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17422,7 +17422,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_1. , 15.862814449470617."
+          aria-label="x_8, y_1. undefined, 15.862814449470617."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17454,7 +17454,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_1. , 20.517302217015732."
+          aria-label="x_9, y_1. undefined, 20.517302217015732."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17486,7 +17486,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_1. , 1.5668378537843557."
+          aria-label="x_10, y_1. undefined, 1.5668378537843557."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17518,7 +17518,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_1. , 19.031137709612036."
+          aria-label="x_11, y_1. undefined, 19.031137709612036."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17550,7 +17550,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_1. , 12.133745300119848."
+          aria-label="x_12, y_1. undefined, 12.133745300119848."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17582,7 +17582,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_1. , 8.724453334098921."
+          aria-label="x_13, y_1. undefined, 8.724453334098921."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17614,7 +17614,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_1. , 8.972456038301432."
+          aria-label="x_14, y_1. undefined, 8.972456038301432."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17646,7 +17646,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_1. , 9.771921362871048."
+          aria-label="x_15, y_1. undefined, 9.771921362871048."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17678,7 +17678,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_1. , 4.761205803361531."
+          aria-label="x_16, y_1. undefined, 4.761205803361531."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17710,7 +17710,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_1. , 23.82727745555418."
+          aria-label="x_17, y_1. undefined, 23.82727745555418."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17742,7 +17742,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_1. , 14.369250386770794."
+          aria-label="x_18, y_1. undefined, 14.369250386770794."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17774,7 +17774,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_1. , 9.730029718884163."
+          aria-label="x_19, y_1. undefined, 9.730029718884163."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17806,7 +17806,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_0, y_0. , 12."
+          aria-label="x_0, y_0. undefined, 12."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17838,7 +17838,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_1, y_0. , 11.697147742124411."
+          aria-label="x_1, y_0. undefined, 11.697147742124411."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17870,7 +17870,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_2, y_0. , 7.1748009833505355."
+          aria-label="x_2, y_0. undefined, 7.1748009833505355."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17902,7 +17902,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_3, y_0. , 11.443688379214382."
+          aria-label="x_3, y_0. undefined, 11.443688379214382."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17934,7 +17934,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_4, y_0. , 23.648522429525176."
+          aria-label="x_4, y_0. undefined, 23.648522429525176."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17966,7 +17966,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_5, y_0. , 10.040502684649338."
+          aria-label="x_5, y_0. undefined, 10.040502684649338."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -17998,7 +17998,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_6, y_0. , 10.819974608119614."
+          aria-label="x_6, y_0. undefined, 10.819974608119614."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18030,7 +18030,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_7, y_0. , 20.83991840239746."
+          aria-label="x_7, y_0. undefined, 20.83991840239746."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18062,7 +18062,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_8, y_0. , 14.378243279399832."
+          aria-label="x_8, y_0. undefined, 14.378243279399832."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18094,7 +18094,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_9, y_0. , 9.546437633051273."
+          aria-label="x_9, y_0. undefined, 9.546437633051273."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18126,7 +18126,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_10, y_0. , 2.117430162487592."
+          aria-label="x_10, y_0. undefined, 2.117430162487592."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18158,7 +18158,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_11, y_0. , 24.053122758748437."
+          aria-label="x_11, y_0. undefined, 24.053122758748437."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18190,7 +18190,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_12, y_0. , 14.741753869753929."
+          aria-label="x_12, y_0. undefined, 14.741753869753929."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18222,7 +18222,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_13, y_0. , 11.223068582526338."
+          aria-label="x_13, y_0. undefined, 11.223068582526338."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18254,7 +18254,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_14, y_0. , 2.9058799108357736."
+          aria-label="x_14, y_0. undefined, 2.9058799108357736."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18286,7 +18286,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_15, y_0. , 12.523922839169199."
+          aria-label="x_15, y_0. undefined, 12.523922839169199."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18318,7 +18318,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_16, y_0. , 12.426446278371158."
+          aria-label="x_16, y_0. undefined, 12.426446278371158."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18350,7 +18350,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_17, y_0. , 15.786820017213348."
+          aria-label="x_17, y_0. undefined, 15.786820017213348."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18382,7 +18382,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_18, y_0. , 25.828355052498736."
+          aria-label="x_18, y_0. undefined, 25.828355052498736."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
@@ -18414,7 +18414,7 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
           </text>
         </g>
         <g
-          aria-label="x_19, y_0. , 15.884458175971286."
+          aria-label="x_19, y_0. undefined, 15.884458175971286."
           data-is-focusable="true"
           fill-opacity="1"
           role="img"
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
index 85baf67c9f3528..6faa14a576ee1b 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
@@ -357,6 +357,8 @@ Object {
     },
   ],
   "mode": "plotly",
+  "secondaryYAxistitle": undefined,
+  "secondaryYScaleOptions": undefined,
   "xAxisTitle": "Votes",
   "yAxisTitle": "Framework",
 }
@@ -2800,7 +2802,7 @@ Object {
           "y": "y_19",
         },
       ],
-      "legend": "",
+      "legend": undefined,
       "value": 0,
     },
   ],
@@ -3325,6 +3327,8 @@ Object {
     ],
   },
   "mode": "tonexty",
+  "secondaryYAxistitle": undefined,
+  "secondaryYScaleOptions": undefined,
   "supportNegativeData": true,
   "xAxisTitle": "",
   "yAxisTitle": "",
@@ -4557,6 +4561,8 @@ Object {
     ],
   },
   "mode": "tonexty",
+  "secondaryYAxistitle": undefined,
+  "secondaryYScaleOptions": undefined,
   "supportNegativeData": true,
   "xAxisTitle": "",
   "yAxisTitle": "",
@@ -4929,6 +4935,8 @@ Object {
     },
   ],
   "mode": "plotly",
+  "secondaryYAxistitle": undefined,
+  "secondaryYScaleOptions": undefined,
   "xAxisTitle": "",
   "yAxisTitle": "",
   "yMaxValue": 3400,
diff --git a/packages/charts/react-charting/src/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.tsx b/packages/charts/react-charting/src/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.tsx
index cce810f303e167..9bd1d116c7bc84 100644
--- a/packages/charts/react-charting/src/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.tsx
+++ b/packages/charts/react-charting/src/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.tsx
@@ -91,7 +91,9 @@ export class HorizontalBarChartWithAxisBase
       color: '',
       dataForHoverCard: 0,
       isCalloutVisible: false,
-      isLegendSelected: props.legendProps?.selectedLegend !== undefined,
+      isLegendSelected:
+        (props.legendProps?.selectedLegends && props.legendProps.selectedLegends.length > 0) ||
+        props.legendProps?.selectedLegend !== undefined,
       isLegendHovered: false,
       refSelected: null,
       selectedLegendTitle: props.legendProps?.selectedLegend ?? '',
diff --git a/packages/charts/react-charting/src/components/VerticalBarChart/__snapshots__/VerticalBarChartRTL.test.tsx.snap b/packages/charts/react-charting/src/components/VerticalBarChart/__snapshots__/VerticalBarChartRTL.test.tsx.snap
index 7107331244face..676ff7ca71b994 100644
--- a/packages/charts/react-charting/src/components/VerticalBarChart/__snapshots__/VerticalBarChartRTL.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/VerticalBarChart/__snapshots__/VerticalBarChartRTL.test.tsx.snap
@@ -2505,7 +2505,7 @@ exports[`Vertical bar chart re-rendering Should re-render the vertical bar chart
               fill="currentColor"
               y="16"
             >
-              10,000
+              10000
             </text>
           </g>
           <g
@@ -2523,7 +2523,7 @@ exports[`Vertical bar chart re-rendering Should re-render the vertical bar chart
               fill="currentColor"
               y="16"
             >
-              25,000
+              25000
             </text>
           </g>
         </g>
diff --git a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
index 5577c5829b4a35..7b897388bb9203 100644
--- a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
@@ -1254,7 +1254,7 @@ export class VerticalStackedBarChartBase
     return !(
       this.props.data &&
       this.props.data.length > 0 &&
-      this.props.data.filter(item => item.chartData.length === 0).length === 0
+      this.props.data.some(item => item.chartData.length > 0 || (item.lineData && item.lineData.length > 0))
     );
   }
 
diff --git a/packages/charts/react-charting/src/utilities/utilities.ts b/packages/charts/react-charting/src/utilities/utilities.ts
index 735024e852f983..9396c424fdce08 100644
--- a/packages/charts/react-charting/src/utilities/utilities.ts
+++ b/packages/charts/react-charting/src/utilities/utilities.ts
@@ -312,19 +312,12 @@ export function createStringXAxis(
     .range([domainNRangeValues.rStartValue, domainNRangeValues.rEndValue])
     .paddingInner(typeof xAxisInnerPadding !== 'undefined' ? xAxisInnerPadding : xAxisPadding)
     .paddingOuter(typeof xAxisOuterPadding !== 'undefined' ? xAxisOuterPadding : xAxisPadding);
-  const xAxis = d3AxisBottom(xAxisScale)
-    .tickSize(xAxistickSize)
-    .tickPadding(tickPadding)
-    .ticks(xAxisCount)
-    .tickFormat((x: string, index: number) => {
-      return convertToLocaleString(dataset[index], culture) as string;
-    });
+  const xAxis = d3AxisBottom(xAxisScale).tickSize(xAxistickSize).tickPadding(tickPadding).ticks(xAxisCount);
 
   if (xAxisParams.xAxisElement) {
     d3Select(xAxisParams.xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
   }
-  const tickValues = dataset.map(xAxis.tickFormat()!);
-  return { xScale: xAxisScale, tickValues };
+  return { xScale: xAxisScale, tickValues: dataset };
 }
 
 /**

From 5afd9daa49ae9ca719260238b2b64451e575d913 Mon Sep 17 00:00:00 2001
From: Carla Muntean <carla.muntean@microsoft.com>
Date: Mon, 20 Jan 2025 22:08:56 +0200
Subject: [PATCH 63/78] fix(react-spinbutton): slot input handler set value
 (#33680)

---
 ...ct-spinbutton-a56360e5-91b4-443c-90d7-d16c9a672862.json | 7 +++++++
 .../library/src/components/SpinButton/SpinButton.test.tsx  | 2 +-
 .../library/src/components/SpinButton/useSpinButton.tsx    | 5 +++++
 3 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 change/@fluentui-react-spinbutton-a56360e5-91b4-443c-90d7-d16c9a672862.json

diff --git a/change/@fluentui-react-spinbutton-a56360e5-91b4-443c-90d7-d16c9a672862.json b/change/@fluentui-react-spinbutton-a56360e5-91b4-443c-90d7-d16c9a672862.json
new file mode 100644
index 00000000000000..3f61d17745a214
--- /dev/null
+++ b/change/@fluentui-react-spinbutton-a56360e5-91b4-443c-90d7-d16c9a672862.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix spinbutton test",
+  "packageName": "@fluentui/react-spinbutton",
+  "email": "carla.muntean@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-spinbutton/library/src/components/SpinButton/SpinButton.test.tsx b/packages/react-components/react-spinbutton/library/src/components/SpinButton/SpinButton.test.tsx
index 0f166d403f3bc6..bb2b4e0ae9a0f3 100644
--- a/packages/react-components/react-spinbutton/library/src/components/SpinButton/SpinButton.test.tsx
+++ b/packages/react-components/react-spinbutton/library/src/components/SpinButton/SpinButton.test.tsx
@@ -554,7 +554,7 @@ describe('SpinButton', () => {
       userEvent.click(decrementButton);
 
       expect(onChange).toHaveBeenCalledTimes(2);
-      expect(onChange.mock.calls[1][1]).toEqual({ value: -1, displayValue: undefined });
+      expect(onChange.mock.calls[1][1]).toEqual({ value: 0, displayValue: undefined });
     });
 
     it('calls on change when defaultValue is `null` with min when uncontrolled', () => {
diff --git a/packages/react-components/react-spinbutton/library/src/components/SpinButton/useSpinButton.tsx b/packages/react-components/react-spinbutton/library/src/components/SpinButton/useSpinButton.tsx
index 329c72a131958f..d88da840cfe847 100644
--- a/packages/react-components/react-spinbutton/library/src/components/SpinButton/useSpinButton.tsx
+++ b/packages/react-components/react-spinbutton/library/src/components/SpinButton/useSpinButton.tsx
@@ -154,11 +154,13 @@ export const useSpinButton_unstable = (props: SpinButtonProps, ref: React.Ref<HT
   };
 
   const handleIncrementMouseDown = (e: React.MouseEvent<HTMLButtonElement>) => {
+    commit(e, currentValue, textValue);
     internalState.current.spinState = 'up';
     stepValue(e, 'up');
   };
 
   const handleDecrementMouseDown = (e: React.MouseEvent<HTMLButtonElement>) => {
+    commit(e, currentValue, textValue);
     internalState.current.spinState = 'down';
     stepValue(e, 'down');
   };
@@ -231,10 +233,12 @@ export const useSpinButton_unstable = (props: SpinButtonProps, ref: React.Ref<HT
     if (valueChanged) {
       roundedValue = precisionRound(newValue!, precision);
       setCurrentValue(roundedValue);
+      internalState.current.value = roundedValue;
     } else if (displayValueChanged && !isControlled) {
       const nextValue = parseFloat(newDisplayValue as string);
       if (!isNaN(nextValue)) {
         setCurrentValue(precisionRound(nextValue, precision));
+        internalState.current.value = precisionRound(nextValue, precision);
       }
     }
 
@@ -323,6 +327,7 @@ export const useSpinButton_unstable = (props: SpinButtonProps, ref: React.Ref<HT
   state.input['aria-valuemax'] = max;
   state.input['aria-valuetext'] = state.input['aria-valuetext'] ?? ((value !== undefined && displayValue) || undefined);
   state.input.onChange = mergeCallbacks(state.input.onChange, handleInputChange);
+  state.input.onInput = mergeCallbacks(state.input.onInput, handleInputChange);
   state.input.onBlur = mergeCallbacks(state.input.onBlur, handleBlur);
   state.input.onKeyDown = mergeCallbacks(state.input.onKeyDown, handleKeyDown);
   state.input.onKeyUp = mergeCallbacks(state.input.onKeyUp, handleKeyUp);

From 08575f8e7d2362e9b986bccee516546f88fe562a Mon Sep 17 00:00:00 2001
From: krkshitij <110246001+krkshitij@users.noreply.github.com>
Date: Tue, 21 Jan 2025 11:54:10 +0530
Subject: [PATCH 64/78] fix(react-charting): resolve overlapping bars issue in
 histogram (#33695)

---
 ...-charting-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json |  7 +++++++
 .../components/DeclarativeChart/DeclarativeChart.tsx   |  2 +-
 .../components/DeclarativeChart/PlotlySchemaAdapter.ts |  1 -
 .../__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap  |  1 -
 .../VerticalBarChart/VerticalBarChart.base.tsx         | 10 +++++++++-
 5 files changed, 17 insertions(+), 4 deletions(-)
 create mode 100644 change/@fluentui-react-charting-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json

diff --git a/change/@fluentui-react-charting-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json b/change/@fluentui-react-charting-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json
new file mode 100644
index 00000000000000..e03f66fe77138b
--- /dev/null
+++ b/change/@fluentui-react-charting-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: resolve overlapping bars issue in histogram",
+  "packageName": "@fluentui/react-charting",
+  "email": "110246001+krkshitij@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx b/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx
index 728f5ddfbbf797..c84024a8684b7a 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx
@@ -179,7 +179,7 @@ export const DeclarativeChart: React.FunctionComponent<DeclarativeChartProps> =
     (opts?: IImageExportOptions) => {
       return toImage(chartRef.current?.chartContainer, {
         background: theme.semanticColors.bodyBackground,
-        scale: 3,
+        scale: 5,
         ...opts,
       });
     },
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
index 54f61f4e559e1c..728bc2cf4f1b38 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
@@ -444,7 +444,6 @@ export const transformPlotlyJsonToVBCProps = (
     data: vbcData,
     // width: layout?.width,
     // height: layout?.height,
-    barWidth: 24,
     supportNegativeData: true,
     chartTitle,
     xAxisTitle,
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
index 6faa14a576ee1b..fb2586596c12f4 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/PlotlySchemaAdapterUT.test.tsx.snap
@@ -4571,7 +4571,6 @@ Object {
 
 exports[`transform Plotly Json To chart Props transformPlotlyJsonToVBCProps - Should return VBC props 1`] = `
 Object {
-  "barWidth": 24,
   "chartTitle": "",
   "data": Array [
     Object {
diff --git a/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.base.tsx b/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.base.tsx
index 484461c1a1cab8..7b1eeabf68272f 100644
--- a/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/VerticalBarChart/VerticalBarChart.base.tsx
@@ -1272,7 +1272,15 @@ export class VerticalBarChartBase
         this._domainMargin = MIN_DOMAIN_MARGIN + Math.max(0, Math.min(margin1, margin2));
       }
     } else {
-      const data = (this.props.data?.map(point => point.x) as number[] | Date[] | undefined) || [];
+      const uniqueX: Record<number, number | Date> = {};
+      this.props.data?.forEach(point => {
+        if (point.x instanceof Date) {
+          uniqueX[point.x.getTime()] = point.x;
+        } else {
+          uniqueX[point.x as number] = point.x as number;
+        }
+      });
+      const data = Object.values(uniqueX) as number[] | Date[];
       this._barWidth = getBarWidth(
         this.props.barWidth,
         this.props.maxBarWidth,

From d5bc603085379050e08bb9ba6b2cbb8bf478a81b Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Tue, 21 Jan 2025 07:14:08 +0000
Subject: [PATCH 65/78] release: applying package updates - react v8

---
 ...-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json |  7 ----
 ...-17bc0f58-a206-47b6-b5dc-6bf008820978.json |  7 ----
 ...-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json |  7 ----
 ...-b50824ac-5ec3-43fe-af53-76307680fb75.json |  7 ----
 ...-be791d81-9cfb-4576-961c-03c4f6eb85c0.json |  7 ----
 packages/charts/react-charting/CHANGELOG.json | 39 +++++++++++++++++++
 packages/charts/react-charting/CHANGELOG.md   | 15 ++++++-
 packages/charts/react-charting/package.json   |  2 +-
 .../react-docsite-components/CHANGELOG.json   | 15 +++++++
 .../react-docsite-components/CHANGELOG.md     | 11 +++++-
 .../react-docsite-components/package.json     |  4 +-
 packages/react-examples/package.json          |  4 +-
 packages/react-monaco-editor/CHANGELOG.json   | 15 +++++++
 packages/react-monaco-editor/CHANGELOG.md     | 11 +++++-
 packages/react-monaco-editor/package.json     |  4 +-
 15 files changed, 110 insertions(+), 45 deletions(-)
 delete mode 100644 change/@fluentui-react-charting-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json
 delete mode 100644 change/@fluentui-react-charting-17bc0f58-a206-47b6-b5dc-6bf008820978.json
 delete mode 100644 change/@fluentui-react-charting-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json
 delete mode 100644 change/@fluentui-react-charting-b50824ac-5ec3-43fe-af53-76307680fb75.json
 delete mode 100644 change/@fluentui-react-charting-be791d81-9cfb-4576-961c-03c4f6eb85c0.json

diff --git a/change/@fluentui-react-charting-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json b/change/@fluentui-react-charting-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json
deleted file mode 100644
index e03f66fe77138b..00000000000000
--- a/change/@fluentui-react-charting-11f4c890-d9e5-4e7e-afde-fbfc66beb0d7.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: resolve overlapping bars issue in histogram",
-  "packageName": "@fluentui/react-charting",
-  "email": "110246001+krkshitij@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-charting-17bc0f58-a206-47b6-b5dc-6bf008820978.json b/change/@fluentui-react-charting-17bc0f58-a206-47b6-b5dc-6bf008820978.json
deleted file mode 100644
index 1026025406a1b3..00000000000000
--- a/change/@fluentui-react-charting-17bc0f58-a206-47b6-b5dc-6bf008820978.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "Adding fallback and fixes for test app crashes for 12 schema data ",
-  "packageName": "@fluentui/react-charting",
-  "email": "120183316+srmukher@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-charting-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json b/change/@fluentui-react-charting-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json
deleted file mode 100644
index fef536a369732e..00000000000000
--- a/change/@fluentui-react-charting-a8a1b0ef-ed4a-471e-bc5c-c9da614fc26f.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "Use strongly typed interfaces for plotly schema",
-  "packageName": "@fluentui/react-charting",
-  "email": "98592573+AtishayMsft@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-charting-b50824ac-5ec3-43fe-af53-76307680fb75.json b/change/@fluentui-react-charting-b50824ac-5ec3-43fe-af53-76307680fb75.json
deleted file mode 100644
index e18e77a6242e66..00000000000000
--- a/change/@fluentui-react-charting-b50824ac-5ec3-43fe-af53-76307680fb75.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: resolve bugs in declarative chart",
-  "packageName": "@fluentui/react-charting",
-  "email": "110246001+krkshitij@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-charting-be791d81-9cfb-4576-961c-03c4f6eb85c0.json b/change/@fluentui-react-charting-be791d81-9cfb-4576-961c-03c4f6eb85c0.json
deleted file mode 100644
index b3c031f141fdbb..00000000000000
--- a/change/@fluentui-react-charting-be791d81-9cfb-4576-961c-03c4f6eb85c0.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "StronglyType plotly schema bug fix",
-  "packageName": "@fluentui/react-charting",
-  "email": "74965306+Anush2303@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/packages/charts/react-charting/CHANGELOG.json b/packages/charts/react-charting/CHANGELOG.json
index f6da08d1e22a0c..ff4f3f3b32a70a 100644
--- a/packages/charts/react-charting/CHANGELOG.json
+++ b/packages/charts/react-charting/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-charting",
   "entries": [
+    {
+      "date": "Tue, 21 Jan 2025 07:13:50 GMT",
+      "tag": "@fluentui/react-charting_v5.23.43",
+      "version": "5.23.43",
+      "comments": {
+        "patch": [
+          {
+            "author": "110246001+krkshitij@users.noreply.github.com",
+            "package": "@fluentui/react-charting",
+            "commit": "08575f8e7d2362e9b986bccee516546f88fe562a",
+            "comment": "fix: resolve overlapping bars issue in histogram"
+          },
+          {
+            "author": "120183316+srmukher@users.noreply.github.com",
+            "package": "@fluentui/react-charting",
+            "commit": "b929a867df391be107630afe2de281c5d06594e7",
+            "comment": "Adding fallback and fixes for test app crashes for 12 schema data "
+          },
+          {
+            "author": "98592573+AtishayMsft@users.noreply.github.com",
+            "package": "@fluentui/react-charting",
+            "commit": "b929a867df391be107630afe2de281c5d06594e7",
+            "comment": "Use strongly typed interfaces for plotly schema"
+          },
+          {
+            "author": "110246001+krkshitij@users.noreply.github.com",
+            "package": "@fluentui/react-charting",
+            "commit": "b929a867df391be107630afe2de281c5d06594e7",
+            "comment": "fix: resolve bugs in declarative chart"
+          },
+          {
+            "author": "74965306+Anush2303@users.noreply.github.com",
+            "package": "@fluentui/react-charting",
+            "commit": "b929a867df391be107630afe2de281c5d06594e7",
+            "comment": "StronglyType plotly schema bug fix"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 20 Jan 2025 07:21:43 GMT",
       "tag": "@fluentui/react-charting_v5.23.42",
diff --git a/packages/charts/react-charting/CHANGELOG.md b/packages/charts/react-charting/CHANGELOG.md
index ead744ab3ae8e3..178ccd9991cebf 100644
--- a/packages/charts/react-charting/CHANGELOG.md
+++ b/packages/charts/react-charting/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-charting
 
-This log was last generated on Mon, 20 Jan 2025 07:21:43 GMT and should not be manually modified.
+This log was last generated on Tue, 21 Jan 2025 07:13:50 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [5.23.43](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.43)
+
+Tue, 21 Jan 2025 07:13:50 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charting_v5.23.42..@fluentui/react-charting_v5.23.43)
+
+### Patches
+
+- fix: resolve overlapping bars issue in histogram ([PR #33695](https://github.com/microsoft/fluentui/pull/33695) by 110246001+krkshitij@users.noreply.github.com)
+- Adding fallback and fixes for test app crashes for 12 schema data  ([PR #33621](https://github.com/microsoft/fluentui/pull/33621) by 120183316+srmukher@users.noreply.github.com)
+- Use strongly typed interfaces for plotly schema ([PR #33621](https://github.com/microsoft/fluentui/pull/33621) by 98592573+AtishayMsft@users.noreply.github.com)
+- fix: resolve bugs in declarative chart ([PR #33621](https://github.com/microsoft/fluentui/pull/33621) by 110246001+krkshitij@users.noreply.github.com)
+- StronglyType plotly schema bug fix ([PR #33621](https://github.com/microsoft/fluentui/pull/33621) by 74965306+Anush2303@users.noreply.github.com)
+
 ## [5.23.42](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.42)
 
 Mon, 20 Jan 2025 07:21:43 GMT 
diff --git a/packages/charts/react-charting/package.json b/packages/charts/react-charting/package.json
index 71f2748e09d90f..d91ee34bf3ac28 100644
--- a/packages/charts/react-charting/package.json
+++ b/packages/charts/react-charting/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-charting",
-  "version": "5.23.42",
+  "version": "5.23.43",
   "description": "React web charting controls for Microsoft fluentui system.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/react-docsite-components/CHANGELOG.json b/packages/react-docsite-components/CHANGELOG.json
index a5a561b8dc8503..5e649d24d2a9c5 100644
--- a/packages/react-docsite-components/CHANGELOG.json
+++ b/packages/react-docsite-components/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-docsite-components",
   "entries": [
+    {
+      "date": "Tue, 21 Jan 2025 07:13:51 GMT",
+      "tag": "@fluentui/react-docsite-components_v8.13.163",
+      "version": "8.13.163",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react-monaco-editor to v1.7.281",
+            "commit": "08575f8e7d2362e9b986bccee516546f88fe562a"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 20 Jan 2025 07:21:47 GMT",
       "tag": "@fluentui/react-docsite-components_v8.13.162",
diff --git a/packages/react-docsite-components/CHANGELOG.md b/packages/react-docsite-components/CHANGELOG.md
index f2e9af5b8bbb09..14b7ea915169e2 100644
--- a/packages/react-docsite-components/CHANGELOG.md
+++ b/packages/react-docsite-components/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-docsite-components
 
-This log was last generated on Mon, 20 Jan 2025 07:21:47 GMT and should not be manually modified.
+This log was last generated on Tue, 21 Jan 2025 07:13:51 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.13.163](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.163)
+
+Tue, 21 Jan 2025 07:13:51 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-docsite-components_v8.13.162..@fluentui/react-docsite-components_v8.13.163)
+
+### Patches
+
+- Bump @fluentui/react-monaco-editor to v1.7.281 ([PR #33695](https://github.com/microsoft/fluentui/pull/33695) by beachball)
+
 ## [8.13.162](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.162)
 
 Mon, 20 Jan 2025 07:21:47 GMT 
diff --git a/packages/react-docsite-components/package.json b/packages/react-docsite-components/package.json
index 1299b7f308c8a2..b8257ed0fc401d 100644
--- a/packages/react-docsite-components/package.json
+++ b/packages/react-docsite-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-docsite-components",
-  "version": "8.13.162",
+  "version": "8.13.163",
   "description": "Fluent UI React components for building documentation sites.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -42,7 +42,7 @@
     "@fluentui/public-docsite-setup": "^0.3.34",
     "@fluentui/react-hooks": "^8.8.16",
     "@fluentui/set-version": "^8.2.23",
-    "@fluentui/react-monaco-editor": "^1.7.280",
+    "@fluentui/react-monaco-editor": "^1.7.281",
     "color-check": "0.0.2",
     "markdown-to-jsx": "^7.0.0",
     "office-ui-fabric-core": "^11.0.0",
diff --git a/packages/react-examples/package.json b/packages/react-examples/package.json
index 42e68cdf6178e1..ca5e20d784014d 100644
--- a/packages/react-examples/package.json
+++ b/packages/react-examples/package.json
@@ -36,8 +36,8 @@
     "@fluentui/merge-styles": "^8.6.13",
     "@fluentui/react": "^8.122.7",
     "@fluentui/react-cards": "^0.205.196",
-    "@fluentui/react-charting": "^5.23.42",
-    "@fluentui/react-docsite-components": "^8.13.162",
+    "@fluentui/react-charting": "^5.23.43",
+    "@fluentui/react-docsite-components": "^8.13.163",
     "@fluentui/react-experiments": "^8.14.193",
     "@fluentui/react-file-type-icons": "^8.12.7",
     "@fluentui/react-focus": "^8.9.20",
diff --git a/packages/react-monaco-editor/CHANGELOG.json b/packages/react-monaco-editor/CHANGELOG.json
index 532a1478e0b13e..272c9adba363fd 100644
--- a/packages/react-monaco-editor/CHANGELOG.json
+++ b/packages/react-monaco-editor/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-monaco-editor",
   "entries": [
+    {
+      "date": "Tue, 21 Jan 2025 07:13:51 GMT",
+      "tag": "@fluentui/react-monaco-editor_v1.7.281",
+      "version": "1.7.281",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react-charting to v5.23.43",
+            "commit": "08575f8e7d2362e9b986bccee516546f88fe562a"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 20 Jan 2025 07:21:45 GMT",
       "tag": "@fluentui/react-monaco-editor_v1.7.280",
diff --git a/packages/react-monaco-editor/CHANGELOG.md b/packages/react-monaco-editor/CHANGELOG.md
index 824f64d4196921..3ea218b12d6b2a 100644
--- a/packages/react-monaco-editor/CHANGELOG.md
+++ b/packages/react-monaco-editor/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-monaco-editor
 
-This log was last generated on Mon, 20 Jan 2025 07:21:45 GMT and should not be manually modified.
+This log was last generated on Tue, 21 Jan 2025 07:13:51 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [1.7.281](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.281)
+
+Tue, 21 Jan 2025 07:13:51 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-monaco-editor_v1.7.280..@fluentui/react-monaco-editor_v1.7.281)
+
+### Patches
+
+- Bump @fluentui/react-charting to v5.23.43 ([PR #33695](https://github.com/microsoft/fluentui/pull/33695) by beachball)
+
 ## [1.7.280](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.280)
 
 Mon, 20 Jan 2025 07:21:45 GMT 
diff --git a/packages/react-monaco-editor/package.json b/packages/react-monaco-editor/package.json
index 5a39e456a2918d..f20c04f3ff0a78 100644
--- a/packages/react-monaco-editor/package.json
+++ b/packages/react-monaco-editor/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-monaco-editor",
-  "version": "1.7.280",
+  "version": "1.7.281",
   "description": "Live React example editing using monaco",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -34,7 +34,7 @@
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/monaco-editor": "^1.3.24",
     "@fluentui/react-hooks": "^8.8.16",
-    "@fluentui/react-charting": "^5.23.42",
+    "@fluentui/react-charting": "^5.23.43",
     "raw-loader": "4.0.2",
     "react-syntax-highlighter": "^10.1.3",
     "tslib": "^2.1.0"

From b987de6afa58c99706f17fa52aa0d64fc1f38643 Mon Sep 17 00:00:00 2001
From: Bernardo Sunderhus <bernardo.sunderhus@gmail.com>
Date: Tue, 21 Jan 2025 14:58:44 +0100
Subject: [PATCH 66/78] bugfix: secondaryContent not displaying properly
 (#33689)

---
 ...t-tag-picker-f788c84a-933e-4291-9111-2a6187517663.json | 7 +++++++
 .../__snapshots__/TagPickerOption.test.tsx.snap           | 2 +-
 .../TagPickerOption/useTagPickerOptionStyles.styles.ts    | 8 +++++---
 3 files changed, 13 insertions(+), 4 deletions(-)
 create mode 100644 change/@fluentui-react-tag-picker-f788c84a-933e-4291-9111-2a6187517663.json

diff --git a/change/@fluentui-react-tag-picker-f788c84a-933e-4291-9111-2a6187517663.json b/change/@fluentui-react-tag-picker-f788c84a-933e-4291-9111-2a6187517663.json
new file mode 100644
index 00000000000000..3f3abb7239db9f
--- /dev/null
+++ b/change/@fluentui-react-tag-picker-f788c84a-933e-4291-9111-2a6187517663.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "bugfix: secondaryContent not displaying properly",
+  "packageName": "@fluentui/react-tag-picker",
+  "email": "bernardo.sunderhus@gmail.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-tag-picker/library/src/components/TagPickerOption/__snapshots__/TagPickerOption.test.tsx.snap b/packages/react-components/react-tag-picker/library/src/components/TagPickerOption/__snapshots__/TagPickerOption.test.tsx.snap
index 907a79f7e94918..2b7ec9972e024e 100644
--- a/packages/react-components/react-tag-picker/library/src/components/TagPickerOption/__snapshots__/TagPickerOption.test.tsx.snap
+++ b/packages/react-components/react-tag-picker/library/src/components/TagPickerOption/__snapshots__/TagPickerOption.test.tsx.snap
@@ -4,7 +4,7 @@ exports[`TagPickerOption renders a default state 1`] = `
 <div>
   <div
     aria-selected="false"
-    class="fui-TagPickerOption fui-Option"
+    class="fui-Option fui-TagPickerOption"
     id="fluent-option8"
     role="option"
   >
diff --git a/packages/react-components/react-tag-picker/library/src/components/TagPickerOption/useTagPickerOptionStyles.styles.ts b/packages/react-components/react-tag-picker/library/src/components/TagPickerOption/useTagPickerOptionStyles.styles.ts
index d9ae8758f70399..c8b27a0f42eb16 100644
--- a/packages/react-components/react-tag-picker/library/src/components/TagPickerOption/useTagPickerOptionStyles.styles.ts
+++ b/packages/react-components/react-tag-picker/library/src/components/TagPickerOption/useTagPickerOptionStyles.styles.ts
@@ -2,6 +2,7 @@ import { makeStyles, mergeClasses } from '@griffel/react';
 import type { SlotClassNames } from '@fluentui/react-utilities';
 import type { TagPickerOptionSlots, TagPickerOptionState } from './TagPickerOption.types';
 import { useOptionStyles_unstable } from '@fluentui/react-combobox';
+import { typographyStyles } from '@fluentui/react-theme';
 
 export const tagPickerOptionClassNames: SlotClassNames<TagPickerOptionSlots> = {
   root: 'fui-TagPickerOption',
@@ -22,6 +23,7 @@ const useStyles = makeStyles({
   secondaryContent: {
     gridColumnStart: 2,
     gridRowStart: 2,
+    ...typographyStyles.caption1,
   },
 
   media: {
@@ -35,6 +37,9 @@ const useStyles = makeStyles({
 export const useTagPickerOptionStyles_unstable = (state: TagPickerOptionState): TagPickerOptionState => {
   'use no memo';
 
+  const styles = useStyles();
+
+  state.root.className = mergeClasses(tagPickerOptionClassNames.root, styles.root, state.root.className);
   useOptionStyles_unstable({
     ...state,
     active: false,
@@ -43,9 +48,6 @@ export const useTagPickerOptionStyles_unstable = (state: TagPickerOptionState):
     checkIcon: undefined,
     selected: false,
   });
-  const styles = useStyles();
-
-  state.root.className = mergeClasses(tagPickerOptionClassNames.root, styles.root, state.root.className);
   if (state.media) {
     state.media.className = mergeClasses(tagPickerOptionClassNames.media, styles.media, state.media.className);
   }

From 246f5b3ed047531f7a329ad8ca7e5693cd3838a9 Mon Sep 17 00:00:00 2001
From: Bernardo Sunderhus <bernardo.sunderhus@gmail.com>
Date: Tue, 21 Jan 2025 14:59:17 +0100
Subject: [PATCH 67/78] feature(react-tree): introduces navigationMode property
 (#33658)

---
 ...-69773403-5633-414b-866a-f20aedf4bc0c.json |   7 ++
 .../react-tree/library/etc/react-tree.api.md  |   6 +
 .../react-tree/library/src/Tree.ts            |   1 +
 .../src/components/FlatTree/FlatTree.cy.tsx   |  82 +++++++++---
 .../src/components/FlatTree/FlatTree.types.ts |   7 ++
 .../src/components/FlatTree/useFlatTree.ts    |   2 +-
 .../FlatTree/useFlatTreeContextValues.ts      |   2 +
 .../library/src/components/Tree/Tree.cy.tsx   |  81 +++++++++---
 .../library/src/components/Tree/Tree.types.ts |   9 ++
 .../library/src/components/Tree/index.ts      |   1 +
 .../library/src/components/Tree/useTree.ts    |   2 +-
 .../components/Tree/useTreeContextValues.ts   |   2 +
 .../src/components/TreeItem/useTreeItem.tsx   |  90 +++++++++----
 .../TreeItemLayout/useTreeItemLayout.tsx      |   4 +-
 .../library/src/contexts/treeContext.ts       |   4 +
 .../src/hooks/useFlatTreeNavigation.ts        |  22 +++-
 .../library/src/hooks/useRootTree.ts          |   1 +
 .../library/src/hooks/useTreeNavigation.ts    |  26 +++-
 .../react-tree/library/src/index.ts           |   1 +
 .../TreeNavigationModeTreeGrid.stories.tsx    | 118 ++++++++++++++++++
 .../stories/src/Tree/index.stories.tsx        |   1 +
 21 files changed, 398 insertions(+), 71 deletions(-)
 create mode 100644 change/@fluentui-react-tree-69773403-5633-414b-866a-f20aedf4bc0c.json
 create mode 100644 packages/react-components/react-tree/stories/src/Tree/TreeNavigationModeTreeGrid.stories.tsx

diff --git a/change/@fluentui-react-tree-69773403-5633-414b-866a-f20aedf4bc0c.json b/change/@fluentui-react-tree-69773403-5633-414b-866a-f20aedf4bc0c.json
new file mode 100644
index 00000000000000..299a1892740844
--- /dev/null
+++ b/change/@fluentui-react-tree-69773403-5633-414b-866a-f20aedf4bc0c.json
@@ -0,0 +1,7 @@
+{
+  "type": "minor",
+  "comment": "feature: introduces navigationMode property",
+  "packageName": "@fluentui/react-tree",
+  "email": "bernardo.sunderhus@gmail.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-tree/library/etc/react-tree.api.md b/packages/react-components/react-tree/library/etc/react-tree.api.md
index 419d5b136e4352..210a53b0625064 100644
--- a/packages/react-components/react-tree/library/etc/react-tree.api.md
+++ b/packages/react-components/react-tree/library/etc/react-tree.api.md
@@ -62,6 +62,7 @@ export type FlatTreeItemProps = TreeItemProps & {
 
 // @public (undocumented)
 export type FlatTreeProps = ComponentProps<TreeSlots> & {
+    navigationMode?: 'tree' | 'treegrid';
     appearance?: 'subtle' | 'subtle-alpha' | 'transparent';
     size?: 'small' | 'medium';
     openItems?: Iterable<TreeItemValue>;
@@ -160,6 +161,7 @@ export type TreeContextValue = {
     checkedItems: ImmutableMap<TreeItemValue, 'mixed' | boolean>;
     requestTreeResponse(request: TreeItemRequest): void;
     forceUpdateRovingTabIndex?(): void;
+    navigationMode?: 'tree' | 'treegrid';
 };
 
 // @public (undocumented)
@@ -331,6 +333,9 @@ export type TreeNavigationData_unstable = {
 // @public (undocumented)
 export type TreeNavigationEvent_unstable = TreeNavigationData_unstable['event'];
 
+// @public (undocumented)
+export type TreeNavigationMode = 'tree' | 'treegrid';
+
 // @public (undocumented)
 export type TreeOpenChangeData = {
     open: boolean;
@@ -366,6 +371,7 @@ export type TreeOpenChangeEvent = TreeOpenChangeData['event'];
 
 // @public (undocumented)
 export type TreeProps = ComponentProps<TreeSlots> & {
+    navigationMode?: TreeNavigationMode;
     appearance?: 'subtle' | 'subtle-alpha' | 'transparent';
     size?: 'small' | 'medium';
     openItems?: Iterable<TreeItemValue>;
diff --git a/packages/react-components/react-tree/library/src/Tree.ts b/packages/react-components/react-tree/library/src/Tree.ts
index f6591a88e83ac3..a4bd46d2b4b4a8 100644
--- a/packages/react-components/react-tree/library/src/Tree.ts
+++ b/packages/react-components/react-tree/library/src/Tree.ts
@@ -10,6 +10,7 @@ export type {
   TreeSelectionValue,
   TreeSlots,
   TreeState,
+  TreeNavigationMode,
 } from './components/Tree/index';
 export {
   Tree,
diff --git a/packages/react-components/react-tree/library/src/components/FlatTree/FlatTree.cy.tsx b/packages/react-components/react-tree/library/src/components/FlatTree/FlatTree.cy.tsx
index 820f0ff2e38779..50d5822afc05f8 100644
--- a/packages/react-components/react-tree/library/src/components/FlatTree/FlatTree.cy.tsx
+++ b/packages/react-components/react-tree/library/src/components/FlatTree/FlatTree.cy.tsx
@@ -207,6 +207,25 @@ describe('FlatTree', () => {
       cy.document().realPress('Tab');
       cy.get('#action').should('be.focused');
     });
+    describe('navigationMode="treegrid"', () => {
+      it('should focus on actions/treeitem when pressing right/left arrow', () => {
+        mount(
+          <TreeTest openItems={['item1']} navigationMode="treegrid" id="tree" aria-label="Tree">
+            <TreeItem itemType="branch" value="item1" data-testid="item1">
+              <TreeItemLayout actions={<Button id="action">action</Button>}>level 1, item 1</TreeItemLayout>
+              <Tree>
+                <TreeItem itemType="leaf" value="item1__item1" data-testid="item1__item1">
+                  <TreeItemLayout>level 2, item 1</TreeItemLayout>
+                </TreeItem>
+              </Tree>
+            </TreeItem>
+          </TreeTest>,
+        );
+        cy.get('[data-testid="item1"]').focus().realPress('{rightarrow}');
+        cy.get('#action').should('be.focused').realPress('{leftarrow}');
+        cy.get('[data-testid="item1"]').should('be.focused');
+      });
+    });
     it('should not expand/collapse item on actions Enter/Space key', () => {
       mount(
         <TreeTest id="tree" aria-label="Tree">
@@ -250,25 +269,50 @@ describe('FlatTree', () => {
         cy.get('[data-testid="item2"]').should('be.focused');
         cy.focused().realPress('Tab').should('not.exist');
       });
-      it('should move with Left/Right keys', () => {
-        mount(<TreeTest defaultOpenItems={['item2', 'item2__item1']} />);
-        cy.get('[data-testid="item1"]').focus().realPress('{downarrow}');
-        cy.get('[data-testid="item2"]').should('be.focused').realPress('{rightarrow}');
-        cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{rightarrow}');
-        cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress('{leftarrow}');
-        cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{leftarrow}').realPress('{leftarrow}');
-        cy.get('[data-testid="item2"]').should('be.focused');
-      });
-      it('should not move with Alt + Left/Right keys', () => {
-        mount(<TreeTest defaultOpenItems={['item2', 'item2__item1']} />);
-        cy.get('[data-testid="item1"]').focus().realPress('{downarrow}');
-        cy.get('[data-testid="item2"]').should('be.focused').realPress(['Alt', '{rightarrow}']);
-        cy.get('[data-testid="item2"]').should('be.focused').realPress('{rightarrow}');
-        cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{rightarrow}');
-        cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress(['Alt', '{leftarrow}']);
-        cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress('{leftarrow}');
-        cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{leftarrow}').realPress('{leftarrow}');
-        cy.get('[data-testid="item2"]').should('be.focused');
+      describe('navigationMode="treegrid"', () => {
+        it('should move with Up/Down keys', () => {
+          mount(
+            <TreeTest openItems={['item1']} navigationMode="treegrid" id="tree" aria-label="Tree">
+              <TreeItem itemType="branch" value="item1" data-testid="item1">
+                <TreeItemLayout>level 1, item 1</TreeItemLayout>
+                <Tree>
+                  <TreeItem itemType="leaf" value="item1__item1" data-testid="item1__item1">
+                    <TreeItemLayout actions={<Button id="action">action</Button>}>level 2, item 1</TreeItemLayout>
+                  </TreeItem>
+                  <TreeItem itemType="leaf" value="item1__item2" data-testid="item1__item2">
+                    <TreeItemLayout>level 2, item 2</TreeItemLayout>
+                  </TreeItem>
+                </Tree>
+              </TreeItem>
+            </TreeTest>,
+          );
+          cy.get('[data-testid="item1__item1"]').focus().realPress('{rightarrow}');
+          cy.get('#action').should('be.focused').realPress('{uparrow}');
+          cy.get('[data-testid="item1"]').should('be.focused');
+          cy.get('[data-testid="item1__item1"]').focus().realPress('{rightarrow}');
+          cy.get('#action').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item1__item2"]').should('be.focused');
+        });
+        it('should move with Left keys', () => {
+          mount(<TreeTest navigationMode="treegrid" defaultOpenItems={['item2', 'item2__item1']} />);
+          cy.get('[data-testid="item1"]').focus().realPress('{downarrow}');
+          cy.get('[data-testid="item2"]').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress('{leftarrow}');
+          cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{leftarrow}').realPress('{leftarrow}');
+          cy.get('[data-testid="item2"]').should('be.focused');
+        });
+
+        it('should not move with Alt + Left keys', () => {
+          mount(<TreeTest navigationMode="treegrid" defaultOpenItems={['item2', 'item2__item1']} />);
+          cy.get('[data-testid="item1"]').focus().realPress('{downarrow}');
+          cy.get('[data-testid="item2"]').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress(['Alt', '{leftarrow}']);
+          cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress('{leftarrow}');
+          cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{leftarrow}').realPress('{leftarrow}');
+          cy.get('[data-testid="item2"]').should('be.focused');
+        });
       });
       it('should move to last item with End key', () => {
         mount(<TreeTest defaultOpenItems={['item1', 'item2', 'item2__item1']} />);
diff --git a/packages/react-components/react-tree/library/src/components/FlatTree/FlatTree.types.ts b/packages/react-components/react-tree/library/src/components/FlatTree/FlatTree.types.ts
index 56e8b8a0312181..51ca908f5c16a4 100644
--- a/packages/react-components/react-tree/library/src/components/FlatTree/FlatTree.types.ts
+++ b/packages/react-components/react-tree/library/src/components/FlatTree/FlatTree.types.ts
@@ -19,6 +19,13 @@ export type FlatTreeContextValues = {
 };
 
 export type FlatTreeProps = ComponentProps<TreeSlots> & {
+  /**
+   * Indicates how navigation between a treeitem and its actions work
+   * - 'tree' (default): The default navigation, pressing right arrow key navigates inward the first inner children of a branch treeitem
+   * - 'treegrid': Pressing right arrow key navigate towards the actions of a treeitem
+   * @default 'tree'
+   */
+  navigationMode?: 'tree' | 'treegrid';
   /**
    * A tree item can have various appearances:
    * - 'subtle' (default): The default tree item styles.
diff --git a/packages/react-components/react-tree/library/src/components/FlatTree/useFlatTree.ts b/packages/react-components/react-tree/library/src/components/FlatTree/useFlatTree.ts
index 12d019abab8748..5e7610a3193a3c 100644
--- a/packages/react-components/react-tree/library/src/components/FlatTree/useFlatTree.ts
+++ b/packages/react-components/react-tree/library/src/components/FlatTree/useFlatTree.ts
@@ -22,7 +22,7 @@ export const useFlatTree_unstable: (props: FlatTreeProps, ref: React.Ref<HTMLEle
 };
 
 function useRootFlatTree(props: FlatTreeProps, ref: React.Ref<HTMLElement>): FlatTreeState {
-  const navigation = useFlatTreeNavigation();
+  const navigation = useFlatTreeNavigation(props.navigationMode);
 
   return Object.assign(
     useRootTree(
diff --git a/packages/react-components/react-tree/library/src/components/FlatTree/useFlatTreeContextValues.ts b/packages/react-components/react-tree/library/src/components/FlatTree/useFlatTreeContextValues.ts
index a06d65e2ec568d..9c30a476081ed7 100644
--- a/packages/react-components/react-tree/library/src/components/FlatTree/useFlatTreeContextValues.ts
+++ b/packages/react-components/react-tree/library/src/components/FlatTree/useFlatTreeContextValues.ts
@@ -9,6 +9,7 @@ export const useFlatTreeContextValues_unstable = (state: FlatTreeState): FlatTre
     treeType,
     checkedItems,
     selectionMode,
+    navigationMode,
     appearance,
     size,
     requestTreeResponse,
@@ -25,6 +26,7 @@ export const useFlatTreeContextValues_unstable = (state: FlatTreeState): FlatTre
     appearance,
     checkedItems,
     selectionMode,
+    navigationMode,
     contextType,
     level,
     requestTreeResponse,
diff --git a/packages/react-components/react-tree/library/src/components/Tree/Tree.cy.tsx b/packages/react-components/react-tree/library/src/components/Tree/Tree.cy.tsx
index 0413eafba5eb90..87ae49eedd53dd 100644
--- a/packages/react-components/react-tree/library/src/components/Tree/Tree.cy.tsx
+++ b/packages/react-components/react-tree/library/src/components/Tree/Tree.cy.tsx
@@ -188,6 +188,25 @@ describe('Tree', () => {
       cy.document().realPress('Tab');
       cy.get('#action').should('be.focused');
     });
+    describe('navigationMode="treegrid"', () => {
+      it('should focus on actions/treeitem when pressing right/left arrow', () => {
+        mount(
+          <TreeTest openItems={['item1']} navigationMode="treegrid" id="tree" aria-label="Tree">
+            <TreeItem itemType="branch" value="item1" data-testid="item1">
+              <TreeItemLayout actions={<Button id="action">action</Button>}>level 1, item 1</TreeItemLayout>
+              <Tree>
+                <TreeItem itemType="leaf" value="item1__item1" data-testid="item1__item1">
+                  <TreeItemLayout>level 2, item 1</TreeItemLayout>
+                </TreeItem>
+              </Tree>
+            </TreeItem>
+          </TreeTest>,
+        );
+        cy.get('[data-testid="item1"]').focus().realPress('{rightarrow}');
+        cy.get('#action').should('be.focused').realPress('{leftarrow}');
+        cy.get('[data-testid="item1"]').should('be.focused');
+      });
+    });
     it('should not expand/collapse item on actions Enter/Space key', () => {
       mount(
         <TreeTest id="tree" aria-label="Tree">
@@ -231,25 +250,49 @@ describe('Tree', () => {
         cy.get('[data-testid="item2"]').should('be.focused');
         cy.focused().realPress('Tab').should('not.exist');
       });
-      it('should move with Left/Right keys', () => {
-        mount(<TreeTest defaultOpenItems={['item2', 'item2__item1']} />);
-        cy.get('[data-testid="item1"]').focus().realPress('{downarrow}');
-        cy.get('[data-testid="item2"]').should('be.focused').realPress('{rightarrow}');
-        cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{rightarrow}');
-        cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress('{leftarrow}');
-        cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{leftarrow}').realPress('{leftarrow}');
-        cy.get('[data-testid="item2"]').should('be.focused');
-      });
-      it('should not move with Alt + Left/Right keys', () => {
-        mount(<TreeTest defaultOpenItems={['item2', 'item2__item1']} />);
-        cy.get('[data-testid="item1"]').focus().realPress('{downarrow}');
-        cy.get('[data-testid="item2"]').should('be.focused').realPress(['Alt', '{rightarrow}']);
-        cy.get('[data-testid="item2"]').should('be.focused').realPress('{rightarrow}');
-        cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{rightarrow}');
-        cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress(['Alt', '{leftarrow}']);
-        cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress('{leftarrow}');
-        cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{leftarrow}').realPress('{leftarrow}');
-        cy.get('[data-testid="item2"]').should('be.focused');
+      describe('navigationMode="treegrid"', () => {
+        it('should move with Up/Down keys', () => {
+          mount(
+            <TreeTest openItems={['item1']} navigationMode="treegrid" id="tree" aria-label="Tree">
+              <TreeItem itemType="branch" value="item1" data-testid="item1">
+                <TreeItemLayout>level 1, item 1</TreeItemLayout>
+                <Tree>
+                  <TreeItem itemType="leaf" value="item1__item1" data-testid="item1__item1">
+                    <TreeItemLayout actions={<Button id="action">action</Button>}>level 2, item 1</TreeItemLayout>
+                  </TreeItem>
+                  <TreeItem itemType="leaf" value="item1__item2" data-testid="item1__item2">
+                    <TreeItemLayout>level 2, item 2</TreeItemLayout>
+                  </TreeItem>
+                </Tree>
+              </TreeItem>
+            </TreeTest>,
+          );
+          cy.get('[data-testid="item1__item1"]').focus().realPress('{rightarrow}');
+          cy.get('#action').should('be.focused').realPress('{uparrow}');
+          cy.get('[data-testid="item1"]').should('be.focused');
+          cy.get('[data-testid="item1__item1"]').focus().realPress('{rightarrow}');
+          cy.get('#action').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item1__item2"]').should('be.focused');
+        });
+        it('should move with Left keys', () => {
+          mount(<TreeTest navigationMode="treegrid" defaultOpenItems={['item2', 'item2__item1']} />);
+          cy.get('[data-testid="item1"]').focus().realPress('{downarrow}');
+          cy.get('[data-testid="item2"]').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress('{leftarrow}');
+          cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{leftarrow}').realPress('{leftarrow}');
+          cy.get('[data-testid="item2"]').should('be.focused');
+        });
+        it('should not move with Alt + Left keys', () => {
+          mount(<TreeTest navigationMode="treegrid" defaultOpenItems={['item2', 'item2__item1']} />);
+          cy.get('[data-testid="item1"]').focus().realPress('{downarrow}');
+          cy.get('[data-testid="item2"]').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{downarrow}');
+          cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress(['Alt', '{leftarrow}']);
+          cy.get('[data-testid="item2__item1__item1"]').should('be.focused').realPress('{leftarrow}');
+          cy.get('[data-testid="item2__item1"]').should('be.focused').realPress('{leftarrow}').realPress('{leftarrow}');
+          cy.get('[data-testid="item2"]').should('be.focused');
+        });
       });
       it('should move to last item with End key', () => {
         mount(<TreeTest defaultOpenItems={['item1', 'item2', 'item2__item1']} />);
diff --git a/packages/react-components/react-tree/library/src/components/Tree/Tree.types.ts b/packages/react-components/react-tree/library/src/components/Tree/Tree.types.ts
index 959ba074dcad9b..92f6f8824ee01a 100644
--- a/packages/react-components/react-tree/library/src/components/Tree/Tree.types.ts
+++ b/packages/react-components/react-tree/library/src/components/Tree/Tree.types.ts
@@ -91,7 +91,16 @@ export type TreeContextValues = {
   tree: TreeContextValue | SubtreeContextValue;
 };
 
+export type TreeNavigationMode = 'tree' | 'treegrid';
+
 export type TreeProps = ComponentProps<TreeSlots> & {
+  /**
+   * Indicates how navigation between a treeitem and its actions work
+   * - 'tree' (default): The default navigation, pressing right arrow key navigates inward the first inner children of a branch treeitem
+   * - 'treegrid': Pressing right arrow key navigate towards the actions of a treeitem
+   * @default 'tree'
+   */
+  navigationMode?: TreeNavigationMode;
   /**
    * A tree item can have various appearances:
    * - 'subtle' (default): The default tree item styles.
diff --git a/packages/react-components/react-tree/library/src/components/Tree/index.ts b/packages/react-components/react-tree/library/src/components/Tree/index.ts
index c49dc6c59cd400..6d35eba2306cad 100644
--- a/packages/react-components/react-tree/library/src/components/Tree/index.ts
+++ b/packages/react-components/react-tree/library/src/components/Tree/index.ts
@@ -11,6 +11,7 @@ export type {
   TreeSelectionValue,
   TreeSlots,
   TreeState,
+  TreeNavigationMode,
 } from './Tree.types';
 export { useTree_unstable } from './useTree';
 export { useTreeContextValues_unstable } from './useTreeContextValues';
diff --git a/packages/react-components/react-tree/library/src/components/Tree/useTree.ts b/packages/react-components/react-tree/library/src/components/Tree/useTree.ts
index 233b7fdf32628b..625dd6d5fe299a 100644
--- a/packages/react-components/react-tree/library/src/components/Tree/useTree.ts
+++ b/packages/react-components/react-tree/library/src/components/Tree/useTree.ts
@@ -26,7 +26,7 @@ function useNestedRootTree(props: TreeProps, ref: React.Ref<HTMLElement>): TreeS
 
   const [openItems, setOpenItems] = useControllableOpenItems(props);
   const checkedItems = useNestedCheckedItems(props);
-  const navigation = useTreeNavigation();
+  const navigation = useTreeNavigation(props.navigationMode);
 
   return Object.assign(
     useRootTree(
diff --git a/packages/react-components/react-tree/library/src/components/Tree/useTreeContextValues.ts b/packages/react-components/react-tree/library/src/components/Tree/useTreeContextValues.ts
index fdfa26728522c6..4431b8be3909f8 100644
--- a/packages/react-components/react-tree/library/src/components/Tree/useTreeContextValues.ts
+++ b/packages/react-components/react-tree/library/src/components/Tree/useTreeContextValues.ts
@@ -13,6 +13,7 @@ export function useTreeContextValues_unstable(state: TreeState): TreeContextValu
       treeType,
       checkedItems,
       selectionMode,
+      navigationMode,
       appearance,
       size,
       requestTreeResponse,
@@ -29,6 +30,7 @@ export function useTreeContextValues_unstable(state: TreeState): TreeContextValu
       appearance,
       checkedItems,
       selectionMode,
+      navigationMode,
       contextType,
       level,
       requestTreeResponse,
diff --git a/packages/react-components/react-tree/library/src/components/TreeItem/useTreeItem.tsx b/packages/react-components/react-tree/library/src/components/TreeItem/useTreeItem.tsx
index 0b01ccce4a61c0..bc6c4400e0c306 100644
--- a/packages/react-components/react-tree/library/src/components/TreeItem/useTreeItem.tsx
+++ b/packages/react-components/react-tree/library/src/components/TreeItem/useTreeItem.tsx
@@ -7,6 +7,7 @@ import {
   slot,
   elementContains,
   useMergedRefs,
+  isHTMLElement,
 } from '@fluentui/react-utilities';
 import type { TreeItemProps, TreeItemState, TreeItemValue } from './TreeItem.types';
 import { Space } from '@fluentui/keyboard-keys';
@@ -38,6 +39,7 @@ export function useTreeItem_unstable(props: TreeItemProps, ref: React.Ref<HTMLDi
     warnIfNoProperPropsFlatTreeItem(props);
   }
   const requestTreeResponse = useTreeContext_unstable(ctx => ctx.requestTreeResponse);
+  const navigationMode = useTreeContext_unstable(ctx => ctx.navigationMode ?? 'tree');
   const forceUpdateRovingTabIndex = useTreeContext_unstable(ctx => ctx.forceUpdateRovingTabIndex);
   const { level: contextLevel } = useSubtreeContext_unstable();
   const parentValue = useTreeItemContext_unstable(ctx => props.parentValue ?? ctx.value);
@@ -147,25 +149,36 @@ export function useTreeItem_unstable(props: TreeItemProps, ref: React.Ref<HTMLDi
 
   const handleKeyDown = useEventCallback((event: React.KeyboardEvent<HTMLDivElement>) => {
     onKeyDown?.(event);
-    // Ignore keyboard events that do not originate from the current tree item.
-    if (event.isDefaultPrevented() || event.currentTarget !== event.target) {
+    if (event.isDefaultPrevented() || !treeItemRef.current) {
       return;
     }
+    const isEventFromTreeItem = event.currentTarget === event.target;
+    const isEventFromActions = actionsRef.current && actionsRef.current.contains(event.target as Node);
+
     switch (event.key) {
-      case Space:
+      case Space: {
+        if (!isEventFromTreeItem) {
+          return;
+        }
         if (selectionMode !== 'none') {
           selectionRef.current?.click();
           // Prevents the page from scrolling down when the spacebar is pressed
           event.preventDefault();
         }
         return;
+      }
       case treeDataTypes.Enter: {
+        if (!isEventFromTreeItem) {
+          return;
+        }
         return event.currentTarget.click();
       }
       case treeDataTypes.End:
       case treeDataTypes.Home:
-      case treeDataTypes.ArrowUp:
-      case treeDataTypes.ArrowDown:
+      case treeDataTypes.ArrowUp: {
+        if (!isEventFromTreeItem && !isEventFromActions) {
+          return;
+        }
         return requestTreeResponse({
           requestType: 'navigate',
           event,
@@ -175,40 +188,63 @@ export function useTreeItem_unstable(props: TreeItemProps, ref: React.Ref<HTMLDi
           type: event.key,
           target: event.currentTarget,
         });
+      }
+      case treeDataTypes.ArrowDown: {
+        if (!isEventFromTreeItem && !isEventFromActions) {
+          return;
+        }
+        if (isEventFromActions && (!isHTMLElement(event.target) || event.target.hasAttribute('aria-haspopup'))) {
+          return;
+        }
+        return requestTreeResponse({
+          requestType: 'navigate',
+          event,
+          value,
+          itemType,
+          parentValue,
+          type: event.key,
+          target: event.currentTarget,
+        });
+      }
       case treeDataTypes.ArrowLeft: {
         // arrow left with alt key is reserved for history navigation
         if (event.altKey) {
           return;
         }
-        // do not navigate to parent if the item is on the top level
-        if (level === 1 && !open) {
-          return;
-        }
         const data = {
           value,
           event,
           open: getNextOpen(),
           type: event.key,
+          itemType,
+          parentValue,
           target: event.currentTarget,
         } as const;
+
+        if (isEventFromActions && navigationMode === 'treegrid') {
+          requestTreeResponse({ ...data, requestType: 'navigate' });
+          return;
+        }
+        if (!isEventFromTreeItem) {
+          return;
+        }
+        // do not navigate to parent if the item is on the top level
+        if (level === 1 && !open) {
+          return;
+        }
         if (open) {
           props.onOpenChange?.(event, data);
         }
-        requestTreeResponse({
-          ...data,
-          itemType,
-          parentValue,
-          requestType: open ? 'open' : 'navigate',
-        });
+        requestTreeResponse({ ...data, requestType: open ? 'open' : 'navigate' });
         return;
       }
       case treeDataTypes.ArrowRight: {
-        // arrow right with alt key is reserved for history navigation
-        if (event.altKey) {
+        // Ignore keyboard events that do not originate from the current tree item.
+        if (!isEventFromTreeItem) {
           return;
         }
-        // do not navigate or open if the item is a leaf
-        if (itemType === 'leaf') {
+        // arrow right with alt key is reserved for history navigation
+        if (event.altKey) {
           return;
         }
         const data = {
@@ -218,18 +254,20 @@ export function useTreeItem_unstable(props: TreeItemProps, ref: React.Ref<HTMLDi
           type: event.key,
           target: event.currentTarget,
         } as const;
-        if (!open) {
+
+        if (itemType === 'branch' && !open) {
           props.onOpenChange?.(event, data);
+          requestTreeResponse({ ...data, itemType, requestType: 'open' });
+        } else {
+          requestTreeResponse({ ...data, itemType, parentValue, requestType: 'navigate' });
         }
-        requestTreeResponse({
-          ...data,
-          itemType,
-          parentValue,
-          requestType: open ? 'navigate' : 'open',
-        });
         return;
       }
     }
+    // Ignore keyboard events that do not originate from the current tree item.
+    if (!isEventFromTreeItem) {
+      return;
+    }
     const isTypeAheadCharacter =
       event.key.length === 1 && event.key.match(/\w/) && !event.altKey && !event.ctrlKey && !event.metaKey;
     if (isTypeAheadCharacter) {
diff --git a/packages/react-components/react-tree/library/src/components/TreeItemLayout/useTreeItemLayout.tsx b/packages/react-components/react-tree/library/src/components/TreeItemLayout/useTreeItemLayout.tsx
index 53a4092e107c35..37d09af613ad9a 100644
--- a/packages/react-components/react-tree/library/src/components/TreeItemLayout/useTreeItemLayout.tsx
+++ b/packages/react-components/react-tree/library/src/components/TreeItemLayout/useTreeItemLayout.tsx
@@ -39,6 +39,7 @@ export const useTreeItemLayout_unstable = (
 
   const layoutRef = useTreeItemContext_unstable(ctx => ctx.layoutRef);
   const selectionMode = useTreeContext_unstable(ctx => ctx.selectionMode);
+  const navigationMode = useTreeContext_unstable(ctx => ctx.navigationMode ?? 'tree');
 
   const [isActionsVisibleFromProps, onActionVisibilityChange]: [
     TreeItemLayoutActionSlotProps['visible'],
@@ -134,7 +135,7 @@ export const useTreeItemLayout_unstable = (
   if (expandIcon) {
     expandIcon.ref = expandIconRefs;
   }
-  const arrowNavigationProps = useArrowNavigationGroup({ circular: true, axis: 'horizontal' });
+  const arrowNavigationProps = useArrowNavigationGroup({ circular: navigationMode === 'tree', axis: 'horizontal' });
   const actions = isActionsVisible
     ? slot.optional(props.actions, {
         defaultProps: { ...arrowNavigationProps, role: 'toolbar' },
@@ -143,6 +144,7 @@ export const useTreeItemLayout_unstable = (
     : undefined;
   delete actions?.visible;
   delete actions?.onVisibilityChange;
+
   const actionsRefs = useMergedRefs(actions?.ref, actionsRef, actionsRefInternal);
   const handleActionsBlur = useEventCallback((event: React.FocusEvent<HTMLDivElement>) => {
     if (isResolvedShorthand(props.actions)) {
diff --git a/packages/react-components/react-tree/library/src/contexts/treeContext.ts b/packages/react-components/react-tree/library/src/contexts/treeContext.ts
index 721a33fb67b3d5..e81a4868f0c5d4 100644
--- a/packages/react-components/react-tree/library/src/contexts/treeContext.ts
+++ b/packages/react-components/react-tree/library/src/contexts/treeContext.ts
@@ -21,6 +21,9 @@ export type TreeContextValue = {
   // FIXME: this is only marked as optional to avoid breaking changes
   // it should always be provided internally
   forceUpdateRovingTabIndex?(): void;
+  // FIXME: this is only marked as optional to avoid breaking changes
+  // it should always be provided internally
+  navigationMode?: 'tree' | 'treegrid';
 };
 
 export type TreeItemRequest = { itemType: TreeItemType } & (
@@ -43,6 +46,7 @@ const defaultTreeContextValue: TreeContextValue = {
   forceUpdateRovingTabIndex: noop,
   appearance: 'subtle',
   size: 'medium',
+  navigationMode: 'tree',
 };
 
 function noop() {
diff --git a/packages/react-components/react-tree/library/src/hooks/useFlatTreeNavigation.ts b/packages/react-components/react-tree/library/src/hooks/useFlatTreeNavigation.ts
index cf1cbaf262e092..7c40d566b825ad 100644
--- a/packages/react-components/react-tree/library/src/hooks/useFlatTreeNavigation.ts
+++ b/packages/react-components/react-tree/library/src/hooks/useFlatTreeNavigation.ts
@@ -8,12 +8,16 @@ import { TreeItemValue } from '../TreeItem';
 import { dataTreeItemValueAttrName } from '../utils/getTreeItemValueFromElement';
 import * as React from 'react';
 import { useHTMLElementWalkerRef } from './useHTMLElementWalkerRef';
+import { TreeNavigationMode } from '../components/Tree/Tree.types';
+import { useFocusFinders } from '@fluentui/react-tabster';
+import { treeItemLayoutClassNames } from '../TreeItemLayout';
 
-export function useFlatTreeNavigation() {
+export function useFlatTreeNavigation(navigationMode: TreeNavigationMode = 'tree') {
   'use no memo';
 
   const { walkerRef, rootRef: walkerRootRef } = useHTMLElementWalkerRef();
   const { rove, forceUpdate: forceUpdateRovingTabIndex, initialize: initializeRovingTabIndex } = useRovingTabIndex();
+  const { findFirstFocusable } = useFocusFinders();
 
   const rootRefCallback: React.RefCallback<HTMLElement> = React.useCallback(
     root => {
@@ -35,6 +39,10 @@ export function useFlatTreeNavigation() {
         walkerRef.current.currentElement = data.target;
         return nextTypeAheadElement(walkerRef.current, data.event.key);
       case treeDataTypes.ArrowLeft: {
+        const actions = queryActions(data.target);
+        if (navigationMode === 'treegrid' && actions?.contains(data.target.ownerDocument.activeElement)) {
+          return data.target;
+        }
         const nextElement = parentElement(data.parentValue, walkerRef.current);
         if (!nextElement && process.env.NODE_ENV !== 'production') {
           // eslint-disable-next-line no-console
@@ -50,6 +58,13 @@ export function useFlatTreeNavigation() {
         return nextElement;
       }
       case treeDataTypes.ArrowRight: {
+        if (navigationMode === 'treegrid') {
+          const actions = queryActions(data.target);
+          if (actions) {
+            findFirstFocusable(actions)?.focus();
+          }
+          return null;
+        }
         walkerRef.current.currentElement = data.target;
         const nextElement = firstChild(data.target, walkerRef.current);
         if (!nextElement && process.env.NODE_ENV !== 'production') {
@@ -114,3 +129,8 @@ function parentElement(parentValue: TreeItemValue | undefined, treeWalker: HTMLE
   }
   return treeWalker.root.querySelector<HTMLElement>(`[${dataTreeItemValueAttrName}="${parentValue}"]`);
 }
+
+const queryActions = (target: HTMLElement) =>
+  target.querySelector<HTMLElement>(
+    `:scope > .${treeItemLayoutClassNames.root} > .${treeItemLayoutClassNames.actions}`,
+  );
diff --git a/packages/react-components/react-tree/library/src/hooks/useRootTree.ts b/packages/react-components/react-tree/library/src/hooks/useRootTree.ts
index f127e698d88e29..f7714274176ce1 100644
--- a/packages/react-components/react-tree/library/src/hooks/useRootTree.ts
+++ b/packages/react-components/react-tree/library/src/hooks/useRootTree.ts
@@ -88,6 +88,7 @@ export function useRootTree(
     },
     contextType: 'root',
     selectionMode,
+    navigationMode: props.navigationMode ?? 'tree',
     open: true,
     appearance,
     size,
diff --git a/packages/react-components/react-tree/library/src/hooks/useTreeNavigation.ts b/packages/react-components/react-tree/library/src/hooks/useTreeNavigation.ts
index 93e85bfbef4473..c6f82d19a7afc0 100644
--- a/packages/react-components/react-tree/library/src/hooks/useTreeNavigation.ts
+++ b/packages/react-components/react-tree/library/src/hooks/useTreeNavigation.ts
@@ -1,4 +1,4 @@
-import { TreeNavigationData_unstable } from '../components/Tree/Tree.types';
+import { TreeNavigationData_unstable, TreeNavigationMode } from '../components/Tree/Tree.types';
 import { nextTypeAheadElement } from '../utils/nextTypeAheadElement';
 import { treeDataTypes } from '../utils/tokens';
 import { useRovingTabIndex } from './useRovingTabIndexes';
@@ -6,14 +6,17 @@ import { HTMLElementWalker } from '../utils/createHTMLElementWalker';
 import * as React from 'react';
 import { useHTMLElementWalkerRef } from './useHTMLElementWalkerRef';
 import { useMergedRefs } from '@fluentui/react-utilities';
+import { treeItemLayoutClassNames } from '../TreeItemLayout';
+import { useFocusFinders } from '@fluentui/react-tabster';
 
 /**
  * @internal
  */
-export function useTreeNavigation() {
+export function useTreeNavigation(navigationMode: TreeNavigationMode = 'tree') {
   'use no memo';
 
   const { rove, initialize: initializeRovingTabIndex, forceUpdate: forceUpdateRovingTabIndex } = useRovingTabIndex();
+  const { findFirstFocusable } = useFocusFinders();
   const { walkerRef, rootRef: walkerRootRef } = useHTMLElementWalkerRef();
 
   const rootRefCallback: React.RefCallback<HTMLElement> = React.useCallback(
@@ -35,10 +38,22 @@ export function useTreeNavigation() {
       case treeDataTypes.TypeAhead:
         walkerRef.current.currentElement = data.target;
         return nextTypeAheadElement(walkerRef.current, data.event.key);
-      case treeDataTypes.ArrowLeft:
+      case treeDataTypes.ArrowLeft: {
+        const actions = queryActions(data.target);
+        if (navigationMode === 'treegrid' && actions?.contains(data.target.ownerDocument.activeElement)) {
+          return data.target;
+        }
         walkerRef.current.currentElement = data.target;
         return walkerRef.current.parentElement();
+      }
       case treeDataTypes.ArrowRight:
+        if (navigationMode === 'treegrid') {
+          const actions = queryActions(data.target);
+          if (actions) {
+            findFirstFocusable(actions)?.focus();
+          }
+          return null;
+        }
         walkerRef.current.currentElement = data.target;
         return walkerRef.current.firstChild();
       case treeDataTypes.End:
@@ -76,3 +91,8 @@ function lastChildRecursive(walker: HTMLElementWalker) {
   }
   return lastElement;
 }
+
+const queryActions = (target: HTMLElement) =>
+  target.querySelector<HTMLElement>(
+    `:scope > .${treeItemLayoutClassNames.root} > .${treeItemLayoutClassNames.actions}`,
+  );
diff --git a/packages/react-components/react-tree/library/src/index.ts b/packages/react-components/react-tree/library/src/index.ts
index bb0478843dcf80..eba48f9ef7c7bb 100644
--- a/packages/react-components/react-tree/library/src/index.ts
+++ b/packages/react-components/react-tree/library/src/index.ts
@@ -19,6 +19,7 @@ export type {
   TreeCheckedChangeEvent,
   TreeNavigationData_unstable,
   TreeNavigationEvent_unstable,
+  TreeNavigationMode,
 } from './Tree';
 
 export {
diff --git a/packages/react-components/react-tree/stories/src/Tree/TreeNavigationModeTreeGrid.stories.tsx b/packages/react-components/react-tree/stories/src/Tree/TreeNavigationModeTreeGrid.stories.tsx
new file mode 100644
index 00000000000000..bbbae19d853bbe
--- /dev/null
+++ b/packages/react-components/react-tree/stories/src/Tree/TreeNavigationModeTreeGrid.stories.tsx
@@ -0,0 +1,118 @@
+import * as React from 'react';
+import { Tree, TreeItem, TreeItemLayout, TreeItemProps } from '@fluentui/react-components';
+import { Edit20Regular, MoreHorizontal20Regular } from '@fluentui/react-icons';
+import {
+  Button,
+  Menu,
+  MenuItem,
+  MenuList,
+  MenuPopover,
+  MenuTrigger,
+  useRestoreFocusTarget,
+} from '@fluentui/react-components';
+
+type CustomTreeItemProps = TreeItemProps;
+
+const CustomTreeItem = ({ children, ...props }: CustomTreeItemProps) => {
+  const focusTargetAttribute = useRestoreFocusTarget();
+  const [layoutChildren, subtree] = React.Children.toArray(children);
+
+  // same items to be used between contextmenu and actions
+  const commonMenuItems = (
+    <>
+      <MenuItem>New </MenuItem>
+      <MenuItem>New Window</MenuItem>
+      <MenuItem disabled>Open File</MenuItem>
+      <MenuItem>Open Folder</MenuItem>
+    </>
+  );
+
+  return (
+    <Menu positioning="below-end" openOnContext>
+      <MenuTrigger disableButtonEnhancement>
+        <TreeItem aria-description="has actions" {...focusTargetAttribute} {...props}>
+          <TreeItemLayout
+            actions={
+              <>
+                <Button aria-label="Edit" appearance="subtle" icon={<Edit20Regular />} />
+                <Menu>
+                  <MenuTrigger disableButtonEnhancement>
+                    <Button aria-label="More options" appearance="subtle" icon={<MoreHorizontal20Regular />} />
+                  </MenuTrigger>
+                  <MenuPopover>
+                    <MenuList>{commonMenuItems}</MenuList>
+                  </MenuPopover>
+                </Menu>
+              </>
+            }
+          >
+            {layoutChildren}
+          </TreeItemLayout>
+          {subtree}
+        </TreeItem>
+      </MenuTrigger>
+      <MenuPopover>
+        <MenuList>
+          <MenuItem>Edit</MenuItem>
+          {commonMenuItems}
+        </MenuList>
+      </MenuPopover>
+    </Menu>
+  );
+};
+
+export const NavigationModeTreeGrid = () => {
+  return (
+    <Tree navigationMode="treegrid" aria-label="Actions">
+      <CustomTreeItem itemType="branch">
+        item 1
+        <Tree>
+          <CustomTreeItem itemType="branch">
+            item 1-1
+            <Tree>
+              <CustomTreeItem itemType="leaf">item 1-1-1</CustomTreeItem>
+              <CustomTreeItem itemType="leaf">item 1-1-2</CustomTreeItem>
+              <CustomTreeItem itemType="leaf">item 1-1-3</CustomTreeItem>
+            </Tree>
+          </CustomTreeItem>
+          <CustomTreeItem itemType="leaf">item 1-2</CustomTreeItem>
+          <CustomTreeItem itemType="leaf">item 1-3</CustomTreeItem>
+        </Tree>
+      </CustomTreeItem>
+      <CustomTreeItem itemType="branch">
+        item 2
+        <Tree>
+          <CustomTreeItem itemType="branch">
+            item 2-1
+            <Tree>
+              <CustomTreeItem itemType="leaf">item 2-1-1</CustomTreeItem>
+            </Tree>
+          </CustomTreeItem>
+
+          <CustomTreeItem itemType="branch">
+            item 3
+            <Tree>
+              <CustomTreeItem itemType="leaf">item 3-1</CustomTreeItem>
+              <CustomTreeItem itemType="leaf">item 3-2</CustomTreeItem>
+              <CustomTreeItem itemType="leaf">item 3-3</CustomTreeItem>
+            </Tree>
+          </CustomTreeItem>
+        </Tree>
+      </CustomTreeItem>
+    </Tree>
+  );
+};
+
+NavigationModeTreeGrid.parameters = {
+  docs: {
+    description: {
+      story: `
+If \`navigationMode\` is set to \`treegrid\`, the navigation pattern changes to allow navigation between tree items and their actions.
+
+1. If the treeitem is a branch and it's not expanded, pressing right arrow key will expand the treeitem.
+2. If the treeitem is a branch and it's expanded, pressing right arrow key will navigate towards the actions of the treeitem.
+3. If focused in the actions, pressing left arrow key will navigate back to the treeitem.
+`,
+    },
+  },
+};
diff --git a/packages/react-components/react-tree/stories/src/Tree/index.stories.tsx b/packages/react-components/react-tree/stories/src/Tree/index.stories.tsx
index ac5aa99c24248b..cfbc1e6fd3973e 100644
--- a/packages/react-components/react-tree/stories/src/Tree/index.stories.tsx
+++ b/packages/react-components/react-tree/stories/src/Tree/index.stories.tsx
@@ -20,6 +20,7 @@ export { ExpandIcon } from './TreeExpandIcon.stories';
 export { IconBeforeAndAfter } from './TreeIconBeforeAndAfter.stories';
 export { Aside } from './TreeAside.stories';
 export { Actions } from './TreeActions.stories';
+export { NavigationModeTreeGrid } from './TreeNavigationModeTreeGrid.stories';
 
 // FUNCTIONAL EXAMPLES
 export { DefaultOpen } from './TreeDefaultOpen.stories';

From e706ac0ac7f2aa46a7f6f48efda24938a539a835 Mon Sep 17 00:00:00 2001
From: Bernardo Sunderhus <bernardo.sunderhus@gmail.com>
Date: Tue, 21 Jan 2025 15:49:24 +0100
Subject: [PATCH 68/78] feature(react-tag-picker): single line layout (#32247)

---
 ...-2c418aac-078d-45dc-ad47-4bf796a2e600.json |   7 +
 ...-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json |   7 +
 .../etc/react-components.api.md               |   6 +
 .../react-components/src/index.ts             |   2 +
 .../library/etc/react-tag-picker.api.md       |  24 +++
 .../useTagPickerControlStyles.styles.ts       |  19 +-
 .../react-tag-picker/library/src/index.ts     |   3 +
 .../TagPicker/TagPickerSingleLine.stories.tsx | 199 ++++++++++++++++++
 .../stories/src/TagPicker/index.stories.tsx   |   1 +
 9 files changed, 263 insertions(+), 5 deletions(-)
 create mode 100644 change/@fluentui-react-components-2c418aac-078d-45dc-ad47-4bf796a2e600.json
 create mode 100644 change/@fluentui-react-tag-picker-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json
 create mode 100644 packages/react-components/react-tag-picker/stories/src/TagPicker/TagPickerSingleLine.stories.tsx

diff --git a/change/@fluentui-react-components-2c418aac-078d-45dc-ad47-4bf796a2e600.json b/change/@fluentui-react-components-2c418aac-078d-45dc-ad47-4bf796a2e600.json
new file mode 100644
index 00000000000000..d1657869b81f19
--- /dev/null
+++ b/change/@fluentui-react-components-2c418aac-078d-45dc-ad47-4bf796a2e600.json
@@ -0,0 +1,7 @@
+{
+  "type": "minor",
+  "comment": "feature: re-export react-tag-picker context",
+  "packageName": "@fluentui/react-components",
+  "email": "bernardo.sunderhus@gmail.com",
+  "dependentChangeType": "patch"
+}
diff --git a/change/@fluentui-react-tag-picker-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json b/change/@fluentui-react-tag-picker-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json
new file mode 100644
index 00000000000000..9060ffa1cb620a
--- /dev/null
+++ b/change/@fluentui-react-tag-picker-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json
@@ -0,0 +1,7 @@
+{
+  "type": "minor",
+  "comment": "feature: single line layout",
+  "packageName": "@fluentui/react-tag-picker",
+  "email": "bernardo.sunderhus@gmail.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-components/etc/react-components.api.md b/packages/react-components/react-components/etc/react-components.api.md
index a64d3393804726..9fa63ed455f95c 100644
--- a/packages/react-components/react-components/etc/react-components.api.md
+++ b/packages/react-components/react-components/etc/react-components.api.md
@@ -1135,6 +1135,7 @@ import { tagPickerButtonClassNames } from '@fluentui/react-tag-picker';
 import { TagPickerButtonProps } from '@fluentui/react-tag-picker';
 import { TagPickerButtonSlots } from '@fluentui/react-tag-picker';
 import { TagPickerButtonState } from '@fluentui/react-tag-picker';
+import { TagPickerContextValue } from '@fluentui/react-tag-picker';
 import { TagPickerContextValues } from '@fluentui/react-tag-picker';
 import { TagPickerControl } from '@fluentui/react-tag-picker';
 import { tagPickerControlClassNames } from '@fluentui/react-tag-picker';
@@ -1734,6 +1735,7 @@ import { useTagGroupStyles_unstable } from '@fluentui/react-tags';
 import { useTagPicker_unstable } from '@fluentui/react-tag-picker';
 import { useTagPickerButton_unstable } from '@fluentui/react-tag-picker';
 import { useTagPickerButtonStyles_unstable } from '@fluentui/react-tag-picker';
+import { useTagPickerContext_unstable } from '@fluentui/react-tag-picker';
 import { useTagPickerControl_unstable } from '@fluentui/react-tag-picker';
 import { useTagPickerControlStyles_unstable } from '@fluentui/react-tag-picker';
 import { useTagPickerFilter } from '@fluentui/react-tag-picker';
@@ -4087,6 +4089,8 @@ export { TagPickerButtonSlots }
 
 export { TagPickerButtonState }
 
+export { TagPickerContextValue }
+
 export { TagPickerContextValues }
 
 export { TagPickerControl }
@@ -5285,6 +5289,8 @@ export { useTagPickerButton_unstable }
 
 export { useTagPickerButtonStyles_unstable }
 
+export { useTagPickerContext_unstable }
+
 export { useTagPickerControl_unstable }
 
 export { useTagPickerControlStyles_unstable }
diff --git a/packages/react-components/react-components/src/index.ts b/packages/react-components/react-components/src/index.ts
index 8c37965039c6c1..32dd9b20295d32 100644
--- a/packages/react-components/react-components/src/index.ts
+++ b/packages/react-components/react-components/src/index.ts
@@ -1782,6 +1782,7 @@ export {
   useTagPickerOptionGroupStyles,
   useTagPickerOptionGroup,
   useTagPickerFilter,
+  useTagPickerContext_unstable,
 } from '@fluentui/react-tag-picker';
 export type {
   TagPickerContextValues,
@@ -1812,6 +1813,7 @@ export type {
   TagPickerOptionGroupProps,
   TagPickerOptionGroupSlots,
   TagPickerOptionGroupState,
+  TagPickerContextValue,
 } from '@fluentui/react-tag-picker';
 
 export {
diff --git a/packages/react-components/react-tag-picker/library/etc/react-tag-picker.api.md b/packages/react-components/react-tag-picker/library/etc/react-tag-picker.api.md
index ad2eb52a97aab4..f24b3971d088c4 100644
--- a/packages/react-components/react-tag-picker/library/etc/react-tag-picker.api.md
+++ b/packages/react-components/react-tag-picker/library/etc/react-tag-picker.api.md
@@ -13,6 +13,7 @@ import { ComboboxSlots } from '@fluentui/react-combobox';
 import type { ComboboxState } from '@fluentui/react-combobox';
 import { ComponentProps } from '@fluentui/react-utilities';
 import { ComponentState } from '@fluentui/react-utilities';
+import { ContextSelector } from '@fluentui/react-context-selector';
 import { DropdownProps } from '@fluentui/react-combobox';
 import type { EventData } from '@fluentui/react-utilities';
 import type { EventHandler } from '@fluentui/react-utilities';
@@ -80,6 +81,26 @@ export type TagPickerButtonState = ComponentState<TagPickerButtonSlots> & Pick<T
     hasSelectedOption: boolean;
 };
 
+// @public (undocumented)
+export interface TagPickerContextValue extends Pick<ComboboxBaseState, 'open' | 'clearSelection' | 'getOptionById' | 'selectedOptions' | 'selectOption' | 'setHasFocus' | 'setOpen' | 'setValue' | 'value' | 'appearance' | 'disabled'> {
+    // (undocumented)
+    noPopover?: boolean;
+    // (undocumented)
+    popoverId: string;
+    // (undocumented)
+    popoverRef: React_2.RefObject<HTMLDivElement>;
+    // (undocumented)
+    secondaryActionRef: React_2.RefObject<HTMLSpanElement>;
+    // (undocumented)
+    size: TagPickerSize;
+    // (undocumented)
+    tagPickerGroupRef: React_2.RefObject<HTMLDivElement>;
+    // (undocumented)
+    targetRef: React_2.RefObject<HTMLDivElement>;
+    // (undocumented)
+    triggerRef: React_2.RefObject<HTMLInputElement | HTMLButtonElement>;
+}
+
 // @public (undocumented)
 export type TagPickerContextValues = {
     picker: TagPickerContextValue;
@@ -246,6 +267,9 @@ export const useTagPickerButton_unstable: (props: TagPickerButtonProps, ref: Rea
 // @public
 export const useTagPickerButtonStyles_unstable: (state: TagPickerButtonState) => TagPickerButtonState;
 
+// @public (undocumented)
+export const useTagPickerContext_unstable: <T>(selector: ContextSelector<TagPickerContextValue, T>) => T;
+
 // @public
 export const useTagPickerControl_unstable: (props: TagPickerControlProps, ref: React_2.Ref<HTMLDivElement>) => TagPickerControlState;
 
diff --git a/packages/react-components/react-tag-picker/library/src/components/TagPickerControl/useTagPickerControlStyles.styles.ts b/packages/react-components/react-tag-picker/library/src/components/TagPickerControl/useTagPickerControlStyles.styles.ts
index 980821d8ced7a5..dcd96c40b5556d 100644
--- a/packages/react-components/react-tag-picker/library/src/components/TagPickerControl/useTagPickerControlStyles.styles.ts
+++ b/packages/react-components/react-tag-picker/library/src/components/TagPickerControl/useTagPickerControlStyles.styles.ts
@@ -154,13 +154,10 @@ const useStyles = makeStyles({
 
 const useAsideStyles = makeStyles({
   root: {
-    display: 'grid',
-    alignItems: 'center',
+    display: 'flex',
     position: 'absolute',
     top: '0',
     right: tokens.spacingHorizontalM,
-    gridTemplateColumns: 'repeat(2, auto)',
-    gridTemplateRows: 'minmax(32px, auto) 1fr',
     height: '100%',
     cursor: 'text',
   },
@@ -187,7 +184,10 @@ const useIconStyles = makeStyles({
     boxSizing: 'border-box',
     color: tokens.colorNeutralStrokeAccessible,
     cursor: 'pointer',
-    display: 'block',
+    display: 'flex',
+    justifyContent: 'center',
+    alignItems: 'center',
+    alignSelf: 'flex-start',
     fontSize: tokens.fontSizeBase500,
     // the SVG must have display: block for accurate positioning
     // otherwise an extra inline space is inserted after the svg element
@@ -199,14 +199,17 @@ const useIconStyles = makeStyles({
   medium: {
     fontSize: iconSizes.small,
     marginLeft: tokens.spacingHorizontalXXS,
+    minHeight: '32px',
   },
   large: {
     fontSize: iconSizes.medium,
     marginLeft: tokens.spacingHorizontalXXS,
+    minHeight: '40px',
   },
   'extra-large': {
     fontSize: iconSizes.large,
     marginLeft: tokens.spacingHorizontalSNudge,
+    minHeight: '44px',
   },
   disabled: {
     color: tokens.colorNeutralForegroundDisabled,
@@ -214,6 +217,10 @@ const useIconStyles = makeStyles({
   },
 });
 
+const useSecondaryActionStyles = makeStyles({
+  root: { display: 'flex' },
+});
+
 /**
  * Apply styling to the PickerControl slots based on the state
  */
@@ -223,6 +230,7 @@ export const useTagPickerControlStyles_unstable = (state: TagPickerControlState)
   const styles = useStyles();
   const iconStyles = useIconStyles();
   const asideStyles = useAsideStyles();
+  const secondaryActionStyles = useSecondaryActionStyles();
   state.root.className = mergeClasses(
     tagPickerControlClassNames.root,
     styles.root,
@@ -257,6 +265,7 @@ export const useTagPickerControlStyles_unstable = (state: TagPickerControlState)
   if (state.secondaryAction) {
     state.secondaryAction.className = mergeClasses(
       tagPickerControlClassNames.secondaryAction,
+      secondaryActionStyles.root,
       state.secondaryAction.className,
     );
   }
diff --git a/packages/react-components/react-tag-picker/library/src/index.ts b/packages/react-components/react-tag-picker/library/src/index.ts
index 77af524786d038..68e8e6f000f3a5 100644
--- a/packages/react-components/react-tag-picker/library/src/index.ts
+++ b/packages/react-components/react-tag-picker/library/src/index.ts
@@ -71,3 +71,6 @@ export type {
 } from './TagPickerOptionGroup';
 
 export { useTagPickerFilter } from './utils/useTagPickerFilter';
+
+export { useTagPickerContext_unstable } from './contexts/TagPickerContext';
+export type { TagPickerContextValue } from './contexts/TagPickerContext';
diff --git a/packages/react-components/react-tag-picker/stories/src/TagPicker/TagPickerSingleLine.stories.tsx b/packages/react-components/react-tag-picker/stories/src/TagPicker/TagPickerSingleLine.stories.tsx
new file mode 100644
index 00000000000000..78d105c0a449e6
--- /dev/null
+++ b/packages/react-components/react-tag-picker/stories/src/TagPicker/TagPickerSingleLine.stories.tsx
@@ -0,0 +1,199 @@
+import * as React from 'react';
+import {
+  TagPicker,
+  TagPickerList,
+  TagPickerInput,
+  TagPickerControl,
+  TagPickerProps,
+  TagPickerOption,
+  TagPickerGroup,
+  makeStyles,
+  tagPickerGroupClassNames,
+  useOverflowCount,
+  TagPickerInputProps,
+  useTagPickerContext_unstable,
+  TagProps,
+  Tag,
+  Avatar,
+  Overflow,
+  OverflowItem,
+} from '@fluentui/react-components';
+import { ChevronDownRegular, ChevronUpRegular } from '@fluentui/react-icons';
+
+const useStyles = makeStyles({
+  focusedExpandIcon: { alignSelf: 'flex-end' },
+  countButton: { minWidth: 0 },
+  control: {
+    flexWrap: 'nowrap',
+    display: 'flex',
+    flexGrow: 1,
+    minWidth: 0,
+    overflow: 'hidden',
+    [`& > .${tagPickerGroupClassNames.root}`]: {
+      flexWrap: 'nowrap',
+    },
+    ':focus-within': {
+      flexWrap: 'wrap',
+      [`& > .${tagPickerGroupClassNames.root}`]: {
+        flexWrap: 'wrap',
+      },
+    },
+  },
+});
+
+const options = [
+  'John Doe',
+  'Jane Doe',
+  'Max Mustermann',
+  'Erika Mustermann',
+  'Pierre Dupont',
+  'Amelie Dupont',
+  'Mario Rossi',
+  'Maria Rossi',
+];
+
+type ExpandIconProps = { open: boolean; focus: boolean };
+
+const ExpandIcon = (props: ExpandIconProps) => {
+  const overflowCount = useOverflowCount();
+
+  if (props.open) {
+    return <ChevronUpRegular />;
+  }
+  if (overflowCount === 0 || props.focus) {
+    return <ChevronDownRegular />;
+  }
+  return null;
+};
+
+const OverFlowCountTag = (props: TagProps) => {
+  const overflowCount = useOverflowCount();
+  const styles = useStyles();
+  if (overflowCount === 0) {
+    return null;
+  }
+  return (
+    <Tag
+      as="span"
+      role={undefined}
+      dismissible={false}
+      aria-hidden
+      tabIndex={-1}
+      {...props}
+      className={styles.countButton}
+    >
+      +{overflowCount}
+    </Tag>
+  );
+};
+
+type CustomTagPickerInputProps = TagPickerInputProps & { focus: boolean };
+
+const CustomTagPickerInput = React.forwardRef<HTMLInputElement, CustomTagPickerInputProps>(
+  ({ focus, onMouseDown, placeholder, ...rest }, ref) => {
+    const overflowCount = useOverflowCount();
+    const selectedOptionsAmount = useTagPickerContext_unstable(ctx => ctx.selectedOptions.length);
+    return (
+      <TagPickerInput
+        ref={ref}
+        {...rest}
+        placeholder={selectedOptionsAmount === 0 || (overflowCount > 0 && focus) ? placeholder : undefined}
+      />
+    );
+  },
+);
+
+export const SingleLine = () => {
+  const styles = useStyles();
+  const [open, setOpen] = React.useState(false);
+  const [selectedOptions, setSelectedOptions] = React.useState<string[]>([]);
+  const inputRef = React.useRef<HTMLInputElement>(null);
+  const onOptionSelect: TagPickerProps['onOptionSelect'] = (e, data) => {
+    setSelectedOptions(data.selectedOptions);
+  };
+  const tagPickerOptions = options.filter(option => !selectedOptions.includes(option));
+
+  const [hasFocus, setFocus] = React.useState(false);
+
+  const handleOpenChange: TagPickerProps['onOpenChange'] = (_, data) => setOpen(data.open);
+
+  const handleFocus = () => {
+    setFocus(true);
+  };
+
+  const handleBlur = (event: React.FocusEvent) => {
+    if (event.currentTarget.contains(event.relatedTarget as Node)) {
+      return;
+    }
+    setFocus(false);
+  };
+
+  const handleOverflowCountTagMouseDown = (event: React.MouseEvent) => {
+    event.preventDefault();
+    inputRef.current?.focus();
+  };
+
+  return (
+    <TagPicker
+      open={open}
+      onOpenChange={handleOpenChange}
+      onOptionSelect={onOptionSelect}
+      selectedOptions={selectedOptions}
+    >
+      {/* 24 = min input size */}
+      {/* 30 = padding right */}
+      {/* 2 = gap between input and tags */}
+      {/* 4 = gap between tags */}
+      <Overflow minimumVisible={1} padding={24 + 30 + 2 + selectedOptions.length * 4}>
+        <TagPickerControl
+          style={{ maxWidth: 400 }}
+          expandIcon={{
+            className: hasFocus ? styles.focusedExpandIcon : undefined,
+            children: <ExpandIcon focus={hasFocus} open={open} />,
+          }}
+          onFocus={handleFocus}
+          onBlur={handleBlur}
+          className={styles.control}
+        >
+          <TagPickerGroup>
+            {selectedOptions.map(option => (
+              <OverflowItem id={option} key={option}>
+                <Tag
+                  // force style to display the tag even if it's overflowing when focused
+                  style={hasFocus ? { display: 'inline-grid' } : undefined}
+                  key={option}
+                  shape="rounded"
+                  media={<Avatar aria-hidden name={option} color="colorful" />}
+                  value={option}
+                >
+                  {option}
+                </Tag>
+              </OverflowItem>
+            ))}
+            {!open && !hasFocus ? <OverFlowCountTag onMouseDown={handleOverflowCountTagMouseDown} /> : null}
+          </TagPickerGroup>
+          <CustomTagPickerInput
+            ref={inputRef}
+            focus={hasFocus}
+            placeholder="Select Employees"
+            aria-label="Select Employees"
+          />
+        </TagPickerControl>
+      </Overflow>
+      <TagPickerList>
+        {tagPickerOptions.length > 0
+          ? tagPickerOptions.map(option => (
+              <TagPickerOption
+                secondaryContent="Microsoft FTE"
+                media={<Avatar shape="square" aria-hidden name={option} color="colorful" />}
+                value={option}
+                key={option}
+              >
+                {option}
+              </TagPickerOption>
+            ))
+          : 'No options available'}
+      </TagPickerList>
+    </TagPicker>
+  );
+};
diff --git a/packages/react-components/react-tag-picker/stories/src/TagPicker/index.stories.tsx b/packages/react-components/react-tag-picker/stories/src/TagPicker/index.stories.tsx
index 97b263c6324bee..32a0f841262503 100644
--- a/packages/react-components/react-tag-picker/stories/src/TagPicker/index.stories.tsx
+++ b/packages/react-components/react-tag-picker/stories/src/TagPicker/index.stories.tsx
@@ -24,6 +24,7 @@ export { Grouped } from './TagPickerGrouped.stories';
 export { TruncatedText } from './TagPickerTruncatedText.stories';
 export { SingleSelect } from './TagPickerSingleSelect.stories';
 export { NoPopover } from './TagPickerNoPopover.stories';
+export { SingleLine } from './TagPickerSingleLine.stories';
 
 export default {
   title: 'Components/TagPicker',

From 012298d98651800023aac24c591831e9bc51bea2 Mon Sep 17 00:00:00 2001
From: "Kevin T. Coughlin" <706967+KevinTCoughlin@users.noreply.github.com>
Date: Tue, 21 Jan 2025 10:54:15 -0800
Subject: [PATCH 69/78] BaseFloatingPicker - Release references held by Async
 (#33685)

---
 ...luentui-react-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json | 7 +++++++
 .../src/components/FloatingPicker/BaseFloatingPicker.tsx   | 1 +
 2 files changed, 8 insertions(+)
 create mode 100644 change/@fluentui-react-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json

diff --git a/change/@fluentui-react-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json b/change/@fluentui-react-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json
new file mode 100644
index 00000000000000..0b41cf5900b414
--- /dev/null
+++ b/change/@fluentui-react-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "Async dispose to release references",
+  "packageName": "@fluentui/react",
+  "email": "706967+KevinTCoughlin@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react/src/components/FloatingPicker/BaseFloatingPicker.tsx b/packages/react/src/components/FloatingPicker/BaseFloatingPicker.tsx
index 4738d7d5a967c7..616d9947c86adc 100644
--- a/packages/react/src/components/FloatingPicker/BaseFloatingPicker.tsx
+++ b/packages/react/src/components/FloatingPicker/BaseFloatingPicker.tsx
@@ -125,6 +125,7 @@ export class BaseFloatingPicker<T extends {}, P extends IBaseFloatingPickerProps
 
   public componentWillUnmount(): void {
     this._unbindFromInputElement();
+    this._async.dispose();
     this.isComponentMounted = false;
   }
 

From 84217fcd61d51c761ca953af29c991c1b49b6f8b Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Wed, 22 Jan 2025 07:22:06 +0000
Subject: [PATCH 70/78] release: applying package updates - react v8

---
 ...-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json |  7 -------
 packages/azure-themes/CHANGELOG.json          | 15 +++++++++++++
 packages/azure-themes/CHANGELOG.md            | 11 +++++++++-
 packages/azure-themes/package.json            |  4 ++--
 packages/charts/react-charting/CHANGELOG.json | 21 +++++++++++++++++++
 packages/charts/react-charting/CHANGELOG.md   | 12 ++++++++++-
 packages/charts/react-charting/package.json   |  6 +++---
 packages/cra-template/package.json            |  2 +-
 packages/fluent2-theme/CHANGELOG.json         | 15 +++++++++++++
 packages/fluent2-theme/CHANGELOG.md           | 11 +++++++++-
 packages/fluent2-theme/package.json           |  4 ++--
 packages/react-cards/CHANGELOG.json           | 15 +++++++++++++
 packages/react-cards/CHANGELOG.md             | 11 +++++++++-
 packages/react-cards/package.json             |  4 ++--
 .../library/package.json                      |  4 ++--
 packages/react-date-time/CHANGELOG.json       | 15 +++++++++++++
 packages/react-date-time/CHANGELOG.md         | 11 +++++++++-
 packages/react-date-time/package.json         |  4 ++--
 .../react-docsite-components/CHANGELOG.json   | 21 +++++++++++++++++++
 .../react-docsite-components/CHANGELOG.md     | 12 ++++++++++-
 .../react-docsite-components/package.json     |  6 +++---
 packages/react-examples/package.json          | 14 ++++++-------
 packages/react-experiments/CHANGELOG.json     | 15 +++++++++++++
 packages/react-experiments/CHANGELOG.md       | 11 +++++++++-
 packages/react-experiments/package.json       |  4 ++--
 packages/react-monaco-editor/CHANGELOG.json   | 21 +++++++++++++++++++
 packages/react-monaco-editor/CHANGELOG.md     | 12 ++++++++++-
 packages/react-monaco-editor/package.json     |  6 +++---
 packages/react/CHANGELOG.json                 | 15 +++++++++++++
 packages/react/CHANGELOG.md                   | 11 +++++++++-
 packages/react/package.json                   |  2 +-
 packages/storybook/package.json               |  6 +++---
 packages/theme-samples/CHANGELOG.json         | 15 +++++++++++++
 packages/theme-samples/CHANGELOG.md           | 11 +++++++++-
 packages/theme-samples/package.json           |  4 ++--
 35 files changed, 306 insertions(+), 52 deletions(-)
 delete mode 100644 change/@fluentui-react-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json

diff --git a/change/@fluentui-react-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json b/change/@fluentui-react-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json
deleted file mode 100644
index 0b41cf5900b414..00000000000000
--- a/change/@fluentui-react-1b776c96-e0cd-4c27-a7a5-b8b53dc322d2.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "Async dispose to release references",
-  "packageName": "@fluentui/react",
-  "email": "706967+KevinTCoughlin@users.noreply.github.com",
-  "dependentChangeType": "patch"
-}
diff --git a/packages/azure-themes/CHANGELOG.json b/packages/azure-themes/CHANGELOG.json
index d422a264bc9375..a0185635ef128a 100644
--- a/packages/azure-themes/CHANGELOG.json
+++ b/packages/azure-themes/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/azure-themes",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/azure-themes_v8.6.121",
+      "version": "8.6.121",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/azure-themes",
+            "comment": "Bump @fluentui/react to v8.122.8",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/azure-themes_v8.6.120",
diff --git a/packages/azure-themes/CHANGELOG.md b/packages/azure-themes/CHANGELOG.md
index 5599d162f0a4ee..0a998808b18353 100644
--- a/packages/azure-themes/CHANGELOG.md
+++ b/packages/azure-themes/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/azure-themes
 
-This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.6.121](https://github.com/microsoft/fluentui/tree/@fluentui/azure-themes_v8.6.121)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/azure-themes_v8.6.120..@fluentui/azure-themes_v8.6.121)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.8 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+
 ## [8.6.120](https://github.com/microsoft/fluentui/tree/@fluentui/azure-themes_v8.6.120)
 
 Fri, 17 Jan 2025 07:21:32 GMT 
diff --git a/packages/azure-themes/package.json b/packages/azure-themes/package.json
index b6a061aef01ccc..3855caecd4c52d 100644
--- a/packages/azure-themes/package.json
+++ b/packages/azure-themes/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/azure-themes",
-  "version": "8.6.120",
+  "version": "8.6.121",
   "description": "Azure themes for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   }
diff --git a/packages/charts/react-charting/CHANGELOG.json b/packages/charts/react-charting/CHANGELOG.json
index ff4f3f3b32a70a..8db0554ca711ad 100644
--- a/packages/charts/react-charting/CHANGELOG.json
+++ b/packages/charts/react-charting/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-charting",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/react-charting_v5.23.44",
+      "version": "5.23.44",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charting",
+            "comment": "Bump @fluentui/theme-samples to v8.7.197",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charting",
+            "comment": "Bump @fluentui/react to v8.122.8",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          }
+        ]
+      }
+    },
     {
       "date": "Tue, 21 Jan 2025 07:13:50 GMT",
       "tag": "@fluentui/react-charting_v5.23.43",
diff --git a/packages/charts/react-charting/CHANGELOG.md b/packages/charts/react-charting/CHANGELOG.md
index 178ccd9991cebf..a0a47695911967 100644
--- a/packages/charts/react-charting/CHANGELOG.md
+++ b/packages/charts/react-charting/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-charting
 
-This log was last generated on Tue, 21 Jan 2025 07:13:50 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [5.23.44](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.44)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charting_v5.23.43..@fluentui/react-charting_v5.23.44)
+
+### Patches
+
+- Bump @fluentui/theme-samples to v8.7.197 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+- Bump @fluentui/react to v8.122.8 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+
 ## [5.23.43](https://github.com/microsoft/fluentui/tree/@fluentui/react-charting_v5.23.43)
 
 Tue, 21 Jan 2025 07:13:50 GMT 
diff --git a/packages/charts/react-charting/package.json b/packages/charts/react-charting/package.json
index d91ee34bf3ac28..78a0a53fde6f4e 100644
--- a/packages/charts/react-charting/package.json
+++ b/packages/charts/react-charting/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-charting",
-  "version": "5.23.43",
+  "version": "5.23.44",
   "description": "React web charting controls for Microsoft fluentui system.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -40,7 +40,7 @@
   },
   "dependencies": {
     "@fluentui/react-focus": "^8.9.20",
-    "@fluentui/theme-samples": "^8.7.196",
+    "@fluentui/theme-samples": "^8.7.197",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@types/d3-array": "^3.0.0",
     "@types/d3-axis": "^3.0.0",
@@ -66,7 +66,7 @@
     "tslib": "^2.1.0"
   },
   "peerDependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@types/react": ">=16.8.0 <19.0.0",
     "@types/react-dom": ">=16.8.0 <19.0.0",
     "react": ">=16.8.0 <19.0.0",
diff --git a/packages/cra-template/package.json b/packages/cra-template/package.json
index 93d870af2b4e44..29a3e5fe65b069 100644
--- a/packages/cra-template/package.json
+++ b/packages/cra-template/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/cra-template",
-  "version": "8.4.197",
+  "version": "8.4.198",
   "description": "Create React App template for Fluent UI React (@fluentui/react)",
   "repository": {
     "type": "git",
diff --git a/packages/fluent2-theme/CHANGELOG.json b/packages/fluent2-theme/CHANGELOG.json
index d1bb9fd55ca5a1..b8274831e84fd9 100644
--- a/packages/fluent2-theme/CHANGELOG.json
+++ b/packages/fluent2-theme/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/fluent2-theme",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/fluent2-theme_v8.107.125",
+      "version": "8.107.125",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/fluent2-theme",
+            "comment": "Bump @fluentui/react to v8.122.8",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/fluent2-theme_v8.107.124",
diff --git a/packages/fluent2-theme/CHANGELOG.md b/packages/fluent2-theme/CHANGELOG.md
index 0c6911011eb685..afad4360c1074c 100644
--- a/packages/fluent2-theme/CHANGELOG.md
+++ b/packages/fluent2-theme/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/fluent2-theme
 
-This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.107.125](https://github.com/microsoft/fluentui/tree/@fluentui/fluent2-theme_v8.107.125)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/fluent2-theme_v8.107.124..@fluentui/fluent2-theme_v8.107.125)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.8 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+
 ## [8.107.124](https://github.com/microsoft/fluentui/tree/@fluentui/fluent2-theme_v8.107.124)
 
 Fri, 17 Jan 2025 07:21:32 GMT 
diff --git a/packages/fluent2-theme/package.json b/packages/fluent2-theme/package.json
index 6922e4d226a17b..3520d70af08217 100644
--- a/packages/fluent2-theme/package.json
+++ b/packages/fluent2-theme/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/fluent2-theme",
-  "version": "8.107.124",
+  "version": "8.107.125",
   "description": "A Fluent2 theme for Fluent UI React 8.x",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   }
diff --git a/packages/react-cards/CHANGELOG.json b/packages/react-cards/CHANGELOG.json
index 55faad53754276..109187b21d3487 100644
--- a/packages/react-cards/CHANGELOG.json
+++ b/packages/react-cards/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-cards",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/react-cards_v0.205.197",
+      "version": "0.205.197",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-cards",
+            "comment": "Bump @fluentui/react to v8.122.8",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/react-cards_v0.205.196",
diff --git a/packages/react-cards/CHANGELOG.md b/packages/react-cards/CHANGELOG.md
index 6772d275a15ad3..df89134139661d 100644
--- a/packages/react-cards/CHANGELOG.md
+++ b/packages/react-cards/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-cards
 
-This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.205.197](https://github.com/microsoft/fluentui/tree/@fluentui/react-cards_v0.205.197)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-cards_v0.205.196..@fluentui/react-cards_v0.205.197)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.8 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+
 ## [0.205.196](https://github.com/microsoft/fluentui/tree/@fluentui/react-cards_v0.205.196)
 
 Fri, 17 Jan 2025 07:21:32 GMT 
diff --git a/packages/react-cards/package.json b/packages/react-cards/package.json
index 1d983cc06104c4..7fd8762fa3654e 100644
--- a/packages/react-cards/package.json
+++ b/packages/react-cards/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-cards",
-  "version": "0.205.196",
+  "version": "0.205.197",
   "description": "Deprecated experimental Card container components for Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -33,7 +33,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@fluentui/foundation-legacy": "^8.4.23",
     "@fluentui/set-version": "^8.2.23",
     "@microsoft/load-themed-styles": "^1.10.26",
diff --git a/packages/react-components/react-migration-v8-v9/library/package.json b/packages/react-components/react-migration-v8-v9/library/package.json
index d5f844d5560978..df3233a522a3b5 100644
--- a/packages/react-components/react-migration-v8-v9/library/package.json
+++ b/packages/react-components/react-migration-v8-v9/library/package.json
@@ -19,8 +19,8 @@
   },
   "dependencies": {
     "@ctrl/tinycolor": "^3.3.4",
-    "@fluentui/fluent2-theme": "^8.107.124",
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/fluent2-theme": "^8.107.125",
+    "@fluentui/react": "^8.122.8",
     "@fluentui/react-components": "^9.57.0",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-hooks": "^8.8.16",
diff --git a/packages/react-date-time/CHANGELOG.json b/packages/react-date-time/CHANGELOG.json
index 75114f82fe8458..647d4ff874c3b4 100644
--- a/packages/react-date-time/CHANGELOG.json
+++ b/packages/react-date-time/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-date-time",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/react-date-time_v8.7.197",
+      "version": "8.7.197",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-date-time",
+            "comment": "Bump @fluentui/react to v8.122.8",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 20 Jan 2025 07:21:44 GMT",
       "tag": "@fluentui/react-date-time_v8.7.196",
diff --git a/packages/react-date-time/CHANGELOG.md b/packages/react-date-time/CHANGELOG.md
index e5498181ef7b9c..d2c86a0a5b9693 100644
--- a/packages/react-date-time/CHANGELOG.md
+++ b/packages/react-date-time/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-date-time
 
-This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.7.197](https://github.com/microsoft/fluentui/tree/@fluentui/react-date-time_v8.7.197)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-date-time_v8.7.196..@fluentui/react-date-time_v8.7.197)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.8 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+
 ## [8.7.196](https://github.com/microsoft/fluentui/tree/@fluentui/react-date-time_v8.7.196)
 
 Fri, 17 Jan 2025 07:21:32 GMT 
diff --git a/packages/react-date-time/package.json b/packages/react-date-time/package.json
index dad5ed73ea5ba7..bcce27e0081ff9 100644
--- a/packages/react-date-time/package.json
+++ b/packages/react-date-time/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-date-time",
-  "version": "8.7.196",
+  "version": "8.7.197",
   "description": "Date and time related React components for building experiences for Microsoft 365.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -27,7 +27,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@fluentui/set-version": "^8.2.23",
     "tslib": "^2.1.0"
   },
diff --git a/packages/react-docsite-components/CHANGELOG.json b/packages/react-docsite-components/CHANGELOG.json
index 5e649d24d2a9c5..4e4713abc16d2d 100644
--- a/packages/react-docsite-components/CHANGELOG.json
+++ b/packages/react-docsite-components/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-docsite-components",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/react-docsite-components_v8.13.164",
+      "version": "8.13.164",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react to v8.122.8",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-docsite-components",
+            "comment": "Bump @fluentui/react-monaco-editor to v1.7.282",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          }
+        ]
+      }
+    },
     {
       "date": "Tue, 21 Jan 2025 07:13:51 GMT",
       "tag": "@fluentui/react-docsite-components_v8.13.163",
diff --git a/packages/react-docsite-components/CHANGELOG.md b/packages/react-docsite-components/CHANGELOG.md
index 14b7ea915169e2..1ef89494b13355 100644
--- a/packages/react-docsite-components/CHANGELOG.md
+++ b/packages/react-docsite-components/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-docsite-components
 
-This log was last generated on Tue, 21 Jan 2025 07:13:51 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.13.164](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.164)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-docsite-components_v8.13.163..@fluentui/react-docsite-components_v8.13.164)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.8 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+- Bump @fluentui/react-monaco-editor to v1.7.282 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+
 ## [8.13.163](https://github.com/microsoft/fluentui/tree/@fluentui/react-docsite-components_v8.13.163)
 
 Tue, 21 Jan 2025 07:13:51 GMT 
diff --git a/packages/react-docsite-components/package.json b/packages/react-docsite-components/package.json
index b8257ed0fc401d..abab114325df30 100644
--- a/packages/react-docsite-components/package.json
+++ b/packages/react-docsite-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-docsite-components",
-  "version": "8.13.163",
+  "version": "8.13.164",
   "description": "Fluent UI React components for building documentation sites.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -35,14 +35,14 @@
     "react-dom": ">=16.8.0 <19.0.0"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@fluentui/theme": "^2.6.64",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/public-docsite-setup": "^0.3.34",
     "@fluentui/react-hooks": "^8.8.16",
     "@fluentui/set-version": "^8.2.23",
-    "@fluentui/react-monaco-editor": "^1.7.281",
+    "@fluentui/react-monaco-editor": "^1.7.282",
     "color-check": "0.0.2",
     "markdown-to-jsx": "^7.0.0",
     "office-ui-fabric-core": "^11.0.0",
diff --git a/packages/react-examples/package.json b/packages/react-examples/package.json
index ca5e20d784014d..6bacbfd4dff619 100644
--- a/packages/react-examples/package.json
+++ b/packages/react-examples/package.json
@@ -27,18 +27,18 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/azure-themes": "^8.6.120",
+    "@fluentui/azure-themes": "^8.6.121",
     "@fluentui/date-time-utilities": "^8.6.9",
     "@fluentui/dom-utilities": "^2.3.9",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/font-icons-mdl2": "^8.5.57",
     "@fluentui/foundation-legacy": "^8.4.23",
     "@fluentui/merge-styles": "^8.6.13",
-    "@fluentui/react": "^8.122.7",
-    "@fluentui/react-cards": "^0.205.196",
-    "@fluentui/react-charting": "^5.23.43",
-    "@fluentui/react-docsite-components": "^8.13.163",
-    "@fluentui/react-experiments": "^8.14.193",
+    "@fluentui/react": "^8.122.8",
+    "@fluentui/react-cards": "^0.205.197",
+    "@fluentui/react-charting": "^5.23.44",
+    "@fluentui/react-docsite-components": "^8.13.164",
+    "@fluentui/react-experiments": "^8.14.194",
     "@fluentui/react-file-type-icons": "^8.12.7",
     "@fluentui/react-focus": "^8.9.20",
     "@fluentui/react-hooks": "^8.8.16",
@@ -47,7 +47,7 @@
     "@fluentui/scheme-utilities": "^8.3.65",
     "@fluentui/style-utilities": "^8.11.6",
     "@fluentui/theme": "^2.6.64",
-    "@fluentui/theme-samples": "^8.7.196",
+    "@fluentui/theme-samples": "^8.7.197",
     "@fluentui/utilities": "^8.15.19",
     "@microsoft/load-themed-styles": "^1.10.26",
     "d3-fetch": "3.0.1",
diff --git a/packages/react-experiments/CHANGELOG.json b/packages/react-experiments/CHANGELOG.json
index 213ae0a64004fe..b0f4e6f2d8fd3e 100644
--- a/packages/react-experiments/CHANGELOG.json
+++ b/packages/react-experiments/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-experiments",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/react-experiments_v8.14.194",
+      "version": "8.14.194",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-experiments",
+            "comment": "Bump @fluentui/react to v8.122.8",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 20 Jan 2025 07:21:44 GMT",
       "tag": "@fluentui/react-experiments_v8.14.193",
diff --git a/packages/react-experiments/CHANGELOG.md b/packages/react-experiments/CHANGELOG.md
index c4bcce1227cca6..3000e20911e01b 100644
--- a/packages/react-experiments/CHANGELOG.md
+++ b/packages/react-experiments/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-experiments
 
-This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.14.194](https://github.com/microsoft/fluentui/tree/@fluentui/react-experiments_v8.14.194)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-experiments_v8.14.193..@fluentui/react-experiments_v8.14.194)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.8 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+
 ## [8.14.193](https://github.com/microsoft/fluentui/tree/@fluentui/react-experiments_v8.14.193)
 
 Fri, 17 Jan 2025 07:21:32 GMT 
diff --git a/packages/react-experiments/package.json b/packages/react-experiments/package.json
index c08698e4eb6eb4..7dae13598d11ca 100644
--- a/packages/react-experiments/package.json
+++ b/packages/react-experiments/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-experiments",
-  "version": "8.14.193",
+  "version": "8.14.194",
   "description": "Experimental React components for building experiences for Microsoft 365.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -38,7 +38,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@fluentui/theme": "^2.6.64",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
diff --git a/packages/react-monaco-editor/CHANGELOG.json b/packages/react-monaco-editor/CHANGELOG.json
index 272c9adba363fd..520705d278ed88 100644
--- a/packages/react-monaco-editor/CHANGELOG.json
+++ b/packages/react-monaco-editor/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-monaco-editor",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/react-monaco-editor_v1.7.282",
+      "version": "1.7.282",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react to v8.122.8",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-monaco-editor",
+            "comment": "Bump @fluentui/react-charting to v5.23.44",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          }
+        ]
+      }
+    },
     {
       "date": "Tue, 21 Jan 2025 07:13:51 GMT",
       "tag": "@fluentui/react-monaco-editor_v1.7.281",
diff --git a/packages/react-monaco-editor/CHANGELOG.md b/packages/react-monaco-editor/CHANGELOG.md
index 3ea218b12d6b2a..7455c40d5f1fd0 100644
--- a/packages/react-monaco-editor/CHANGELOG.md
+++ b/packages/react-monaco-editor/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-monaco-editor
 
-This log was last generated on Tue, 21 Jan 2025 07:13:51 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [1.7.282](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.282)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-monaco-editor_v1.7.281..@fluentui/react-monaco-editor_v1.7.282)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.8 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+- Bump @fluentui/react-charting to v5.23.44 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+
 ## [1.7.281](https://github.com/microsoft/fluentui/tree/@fluentui/react-monaco-editor_v1.7.281)
 
 Tue, 21 Jan 2025 07:13:51 GMT 
diff --git a/packages/react-monaco-editor/package.json b/packages/react-monaco-editor/package.json
index f20c04f3ff0a78..8c8ed891c4b016 100644
--- a/packages/react-monaco-editor/package.json
+++ b/packages/react-monaco-editor/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-monaco-editor",
-  "version": "1.7.281",
+  "version": "1.7.282",
   "description": "Live React example editing using monaco",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -29,12 +29,12 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@microsoft/load-themed-styles": "^1.10.26",
     "@fluentui/example-data": "^8.4.25",
     "@fluentui/monaco-editor": "^1.3.24",
     "@fluentui/react-hooks": "^8.8.16",
-    "@fluentui/react-charting": "^5.23.43",
+    "@fluentui/react-charting": "^5.23.44",
     "raw-loader": "4.0.2",
     "react-syntax-highlighter": "^10.1.3",
     "tslib": "^2.1.0"
diff --git a/packages/react/CHANGELOG.json b/packages/react/CHANGELOG.json
index 59b59940d8660f..32f8a0eb066bbd 100644
--- a/packages/react/CHANGELOG.json
+++ b/packages/react/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/react_v8.122.8",
+      "version": "8.122.8",
+      "comments": {
+        "patch": [
+          {
+            "author": "706967+KevinTCoughlin@users.noreply.github.com",
+            "package": "@fluentui/react",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2",
+            "comment": "Async dispose to release references"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 20 Jan 2025 07:21:47 GMT",
       "tag": "@fluentui/react_v8.122.7",
diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md
index 8e1e2d1642a521..e42a107901ba98 100644
--- a/packages/react/CHANGELOG.md
+++ b/packages/react/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react
 
-This log was last generated on Fri, 17 Jan 2025 07:21:31 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.122.8](https://github.com/microsoft/fluentui/tree/@fluentui/react_v8.122.8)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react_v8.122.7..@fluentui/react_v8.122.8)
+
+### Patches
+
+- Async dispose to release references ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by 706967+KevinTCoughlin@users.noreply.github.com)
+
 ## [8.122.7](https://github.com/microsoft/fluentui/tree/@fluentui/react_v8.122.7)
 
 Fri, 17 Jan 2025 07:21:31 GMT 
diff --git a/packages/react/package.json b/packages/react/package.json
index fe335a033141be..63f77740d6a543 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react",
-  "version": "8.122.7",
+  "version": "8.122.8",
   "description": "Reusable React components for building web experiences.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/storybook/package.json b/packages/storybook/package.json
index fdace2fd7618c0..42aba8e780bc14 100644
--- a/packages/storybook/package.json
+++ b/packages/storybook/package.json
@@ -22,11 +22,11 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@fluentui/theme": "^2.6.64",
     "@storybook/addon-essentials": "7.6.20",
-    "@fluentui/azure-themes": "^8.6.120",
-    "@fluentui/theme-samples": "^8.7.196",
+    "@fluentui/azure-themes": "^8.6.121",
+    "@fluentui/theme-samples": "^8.7.197",
     "tslib": "^2.1.0"
   },
   "peerDependencies": {
diff --git a/packages/theme-samples/CHANGELOG.json b/packages/theme-samples/CHANGELOG.json
index ff0fa6af1a1f81..efe450fbdc39b9 100644
--- a/packages/theme-samples/CHANGELOG.json
+++ b/packages/theme-samples/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/theme-samples",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 07:21:49 GMT",
+      "tag": "@fluentui/theme-samples_v8.7.197",
+      "version": "8.7.197",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/theme-samples",
+            "comment": "Bump @fluentui/react to v8.122.8",
+            "commit": "012298d98651800023aac24c591831e9bc51bea2"
+          }
+        ]
+      }
+    },
     {
       "date": "Fri, 17 Jan 2025 07:21:32 GMT",
       "tag": "@fluentui/theme-samples_v8.7.196",
diff --git a/packages/theme-samples/CHANGELOG.md b/packages/theme-samples/CHANGELOG.md
index 6ed21c779e917d..6acf3094183296 100644
--- a/packages/theme-samples/CHANGELOG.md
+++ b/packages/theme-samples/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/theme-samples
 
-This log was last generated on Fri, 17 Jan 2025 07:21:32 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 07:21:49 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [8.7.197](https://github.com/microsoft/fluentui/tree/@fluentui/theme-samples_v8.7.197)
+
+Wed, 22 Jan 2025 07:21:49 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/theme-samples_v8.7.196..@fluentui/theme-samples_v8.7.197)
+
+### Patches
+
+- Bump @fluentui/react to v8.122.8 ([PR #33685](https://github.com/microsoft/fluentui/pull/33685) by beachball)
+
 ## [8.7.196](https://github.com/microsoft/fluentui/tree/@fluentui/theme-samples_v8.7.196)
 
 Fri, 17 Jan 2025 07:21:32 GMT 
diff --git a/packages/theme-samples/package.json b/packages/theme-samples/package.json
index d46cde211cdeaa..acb886ed069d77 100644
--- a/packages/theme-samples/package.json
+++ b/packages/theme-samples/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/theme-samples",
-  "version": "8.7.196",
+  "version": "8.7.197",
   "description": "Sample themes for use with Fabric components.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -26,7 +26,7 @@
     "@fluentui/scripts-webpack": "*"
   },
   "dependencies": {
-    "@fluentui/react": "^8.122.7",
+    "@fluentui/react": "^8.122.8",
     "@fluentui/set-version": "^8.2.23",
     "@fluentui/scheme-utilities": "^8.3.65",
     "tslib": "^2.1.0"

From f91bddab1340f723e3de863a73c10a334a384522 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 22 Jan 2025 11:14:28 +0100
Subject: [PATCH 71/78] chore(deps-dev): bump vite from 6.0.7 to 6.0.9 (#33698)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
 package.json |  2 +-
 yarn.lock    | 39 ++++++++++++++++++++++++++++++++-------
 2 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/package.json b/package.json
index b05c90218db7e1..ab198d1871b4b1 100644
--- a/package.json
+++ b/package.json
@@ -342,7 +342,7 @@
     "tslib": "2.6.3",
     "typescript": "5.3.3",
     "vinyl": "2.2.0",
-    "vite": "6.0.7",
+    "vite": "6.0.9",
     "webpack": "5.94.0",
     "webpack-bundle-analyzer": "4.10.1",
     "webpack-cli": "5.1.4",
diff --git a/yarn.lock b/yarn.lock
index ccea6816c1add4..60998a81babad6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -21729,7 +21729,7 @@ string-length@^5.0.1:
     char-regex "^2.0.0"
     strip-ansi "^7.0.1"
 
-"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+"string-width-cjs@npm:string-width@^4.2.0":
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
   integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -21764,6 +21764,15 @@ string-width@^3.0.0, string-width@^3.1.0:
     is-fullwidth-code-point "^2.0.0"
     strip-ansi "^5.1.0"
 
+string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+  version "4.2.3"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+  integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+  dependencies:
+    emoji-regex "^8.0.0"
+    is-fullwidth-code-point "^3.0.0"
+    strip-ansi "^6.0.1"
+
 string-width@^5.0.1, string-width@^5.1.2:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
@@ -21864,7 +21873,7 @@ stringify-object@^3.3.0:
     is-obj "^1.0.1"
     is-regexp "^1.0.0"
 
-"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
   version "6.0.1"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
   integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -21899,6 +21908,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
   dependencies:
     ansi-regex "^4.1.0"
 
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+  dependencies:
+    ansi-regex "^5.0.1"
+
 strip-ansi@^7.0.1, strip-ansi@^7.1.0:
   version "7.1.0"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
@@ -23780,10 +23796,10 @@ vinyl@^0.5.0:
     clone-stats "^0.0.1"
     replace-ext "0.0.1"
 
-vite@6.0.7:
-  version "6.0.7"
-  resolved "https://registry.yarnpkg.com/vite/-/vite-6.0.7.tgz#f0f8c120733b04af52b4a1e3e7cb54eb851a799b"
-  integrity sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==
+vite@6.0.9:
+  version "6.0.9"
+  resolved "https://registry.yarnpkg.com/vite/-/vite-6.0.9.tgz#0a830b767ef7aa762360b56bdef955c1395dc1ee"
+  integrity sha512-MSgUxHcaXLtnBPktkbUSoQUANApKYuxZ6DrbVENlIorbhL2dZydTLaZ01tjUoE3szeFzlFk9ANOKk0xurh4MKA==
   dependencies:
     esbuild "^0.24.2"
     postcss "^8.4.49"
@@ -24228,7 +24244,7 @@ workspace-tools@^0.27.0:
     js-yaml "^4.1.0"
     micromatch "^4.0.0"
 
-"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
   version "7.0.0"
   resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
   integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -24263,6 +24279,15 @@ wrap-ansi@^6.2.0:
     string-width "^4.1.0"
     strip-ansi "^6.0.0"
 
+wrap-ansi@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+  dependencies:
+    ansi-styles "^4.0.0"
+    string-width "^4.1.0"
+    strip-ansi "^6.0.0"
+
 wrap-ansi@^8.1.0:
   version "8.1.0"
   resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"

From cb051bc143d3fde05a46c24de7827cebf9a79de0 Mon Sep 17 00:00:00 2001
From: Martin Hochel <martinhochel@microsoft.com>
Date: Wed, 22 Jan 2025 12:44:47 +0100
Subject: [PATCH 72/78] ci: trigger VRT PR workflow only against testing branch
 (#33701)

---
 .github/workflows/pr-vrt.yml | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/pr-vrt.yml b/.github/workflows/pr-vrt.yml
index 7cb8853eb8e604..90901135c32cb7 100644
--- a/.github/workflows/pr-vrt.yml
+++ b/.github/workflows/pr-vrt.yml
@@ -1,8 +1,9 @@
 name: VRT CI
 on:
-  # TODO: once testing is done enable pull_request trigger again
-  # pull_request:
-  workflow_dispatch:
+  pull_request:
+    # TODO: once testing is done enable pull_request on all branches again
+    branches:
+      - vrt-gha-testing
 
 concurrency:
   # see https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow

From 5e95b13c1b6f513e6bdd9a4c688139748f912695 Mon Sep 17 00:00:00 2001
From: Dmytro Kirpa <dmytrokirpa@microsoft.com>
Date: Wed, 22 Jan 2025 14:32:02 +0100
Subject: [PATCH 73/78] feat: add vite sandbox template (#33631)

---
 package.json                                  |  3 +-
 starter-templates/README.md                   | 43 +++++++++++++++++++
 starter-templates/package.json                |  7 +++
 starter-templates/project.json                |  6 +++
 .../src/react-components-vite/.gitignore      | 24 +++++++++++
 .../src/react-components-vite/README.md       | 32 ++++++++++++++
 .../src/react-components-vite/index.html      | 13 ++++++
 .../src/react-components-vite/package.json    | 22 ++++++++++
 .../src/react-components-vite/src/App.tsx     | 12 ++++++
 .../src/react-components-vite/src/Example.tsx | 26 +++++++++++
 .../src/react-components-vite/src/main.tsx    | 11 +++++
 .../react-components-vite/tsconfig.app.json   | 26 +++++++++++
 .../src/react-components-vite/tsconfig.json   |  4 ++
 .../react-components-vite/tsconfig.node.json  | 24 +++++++++++
 .../src/react-components-vite/vite.config.ts  |  7 +++
 15 files changed, 259 insertions(+), 1 deletion(-)
 create mode 100644 starter-templates/README.md
 create mode 100644 starter-templates/package.json
 create mode 100644 starter-templates/project.json
 create mode 100644 starter-templates/src/react-components-vite/.gitignore
 create mode 100644 starter-templates/src/react-components-vite/README.md
 create mode 100644 starter-templates/src/react-components-vite/index.html
 create mode 100644 starter-templates/src/react-components-vite/package.json
 create mode 100644 starter-templates/src/react-components-vite/src/App.tsx
 create mode 100644 starter-templates/src/react-components-vite/src/Example.tsx
 create mode 100644 starter-templates/src/react-components-vite/src/main.tsx
 create mode 100644 starter-templates/src/react-components-vite/tsconfig.app.json
 create mode 100644 starter-templates/src/react-components-vite/tsconfig.json
 create mode 100644 starter-templates/src/react-components-vite/tsconfig.node.json
 create mode 100644 starter-templates/src/react-components-vite/vite.config.ts

diff --git a/package.json b/package.json
index ab198d1871b4b1..fe776603835202 100644
--- a/package.json
+++ b/package.json
@@ -370,7 +370,8 @@
       "packages/charts/*/*",
       "scripts/*",
       "tools/*",
-      "typings"
+      "typings",
+      "starter-templates"
     ]
   },
   "resolutions": {
diff --git a/starter-templates/README.md b/starter-templates/README.md
new file mode 100644
index 00000000000000..78c740c64fecc2
--- /dev/null
+++ b/starter-templates/README.md
@@ -0,0 +1,43 @@
+# FluentUI v9 Starter Templates
+
+Collection of starter templates for FluentUI v9 with popular frameworks and build tools.
+
+## Available Templates
+
+- [React Components + Vite](src/react-components-vite/README.md) - Modern starter template using Vite and FluentUI React Components
+
+## Project Structure
+
+```
+starter-templates/
+├── project.json
+├── package.json
+├── README.md
+└── src/
+    └── react-components-vite/
+        ├── README.md
+        └── ...
+```
+
+## Contributing
+
+We welcome contributions! You can help by:
+
+- Improving existing templates
+- Adding new starter templates following the guidelines below
+
+### Adding New Templates
+
+1. Create a new directory under `src/`
+2. Follow the naming convention: `react-components-{framework}`
+3. Include a comprehensive README.md with:
+   - Setup instructions
+   - Usage examples
+   - Configuration details
+   - Development guidelines
+4. Test the template thoroughly
+5. Submit a pull request
+
+## License
+
+This project is licensed under the MIT License - see the [LICENSE](../LICENSE) file for details.
diff --git a/starter-templates/package.json b/starter-templates/package.json
new file mode 100644
index 00000000000000..2b8553d03020c3
--- /dev/null
+++ b/starter-templates/package.json
@@ -0,0 +1,7 @@
+{
+  "name": "@fluentui/starter-templates",
+  "version": "0.0.1",
+  "private": true,
+  "description": "Starter templates for Fluent UI",
+  "license": "MIT"
+}
diff --git a/starter-templates/project.json b/starter-templates/project.json
new file mode 100644
index 00000000000000..470a19c617a900
--- /dev/null
+++ b/starter-templates/project.json
@@ -0,0 +1,6 @@
+{
+  "name": "stater-templates",
+  "$schema": "../node_modules/nx/schemas/project-schema.json",
+  "projectType": "application",
+  "tags": ["vNext", "tools"]
+}
diff --git a/starter-templates/src/react-components-vite/.gitignore b/starter-templates/src/react-components-vite/.gitignore
new file mode 100644
index 00000000000000..a547bf36d8d11a
--- /dev/null
+++ b/starter-templates/src/react-components-vite/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/starter-templates/src/react-components-vite/README.md b/starter-templates/src/react-components-vite/README.md
new file mode 100644
index 00000000000000..81ae49cb019ee5
--- /dev/null
+++ b/starter-templates/src/react-components-vite/README.md
@@ -0,0 +1,32 @@
+# FluentUI React v9 - Vite.js example
+
+## How to use
+
+Download the example [or clone the repo](https://github.com/microsoft/fluentui):
+
+```bash
+npx degit microsoft/fluentui/starter-templates/src/react-components-vite
+cd react-components-vite
+```
+
+Install it and run:
+
+```bash
+npm install
+npm run dev
+```
+
+or:
+
+[![Edit on StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/microsoft/fluentui/tree/master/starter-templates/src/react-components-vite)
+
+[![Edit on CodeSandbox](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/p/sandbox/github/microsoft/fluentui/tree/master/starter-templates/src/react-components-vite)
+
+## The idea behind the example
+
+This example uses [Vite.js](https://github.com/vitejs/vite).
+It includes `@fluentui/react-components` and its peer dependencies, including `@fluentui/react-icons`.
+
+## What's next?
+
+You now have a working example project. To continue, you can explore the [FluentUI React documentation](https://react.fluentui.dev) for more information and advanced usage.
diff --git a/starter-templates/src/react-components-vite/index.html b/starter-templates/src/react-components-vite/index.html
new file mode 100644
index 00000000000000..e0d1c840806ee7
--- /dev/null
+++ b/starter-templates/src/react-components-vite/index.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Vite + React + TS</title>
+  </head>
+  <body>
+    <div id="root"></div>
+    <script type="module" src="/src/main.tsx"></script>
+  </body>
+</html>
diff --git a/starter-templates/src/react-components-vite/package.json b/starter-templates/src/react-components-vite/package.json
new file mode 100644
index 00000000000000..e25dd4aaca2ffe
--- /dev/null
+++ b/starter-templates/src/react-components-vite/package.json
@@ -0,0 +1,22 @@
+{
+  "name": "react-components-vite",
+  "private": true,
+  "version": "0.0.0",
+  "type": "module",
+  "scripts": {
+    "dev": "vite",
+    "build": "tsc -b && vite build",
+    "preview": "vite preview"
+  },
+  "dependencies": {
+    "react": "^18.3.1",
+    "react-dom": "^18.3.1"
+  },
+  "devDependencies": {
+    "@types/react": "^18.3.18",
+    "@types/react-dom": "^18.3.5",
+    "@vitejs/plugin-react": "^4.3.4",
+    "typescript": "~5.6.2",
+    "vite": "^6.0.5"
+  }
+}
diff --git a/starter-templates/src/react-components-vite/src/App.tsx b/starter-templates/src/react-components-vite/src/App.tsx
new file mode 100644
index 00000000000000..935f87718d024f
--- /dev/null
+++ b/starter-templates/src/react-components-vite/src/App.tsx
@@ -0,0 +1,12 @@
+import { FluentProvider, webLightTheme } from '@fluentui/react-components';
+import { Example } from './Example';
+
+const App = () => {
+  return (
+    <FluentProvider theme={webLightTheme}>
+      <Example />
+    </FluentProvider>
+  );
+};
+
+export default App;
diff --git a/starter-templates/src/react-components-vite/src/Example.tsx b/starter-templates/src/react-components-vite/src/Example.tsx
new file mode 100644
index 00000000000000..88d9ba87a2b31a
--- /dev/null
+++ b/starter-templates/src/react-components-vite/src/Example.tsx
@@ -0,0 +1,26 @@
+import { Button, Title1, makeStyles } from '@fluentui/react-components';
+import { bundleIcon, CalendarMonthFilled, CalendarMonthRegular } from '@fluentui/react-icons';
+
+const CalendarMonth = bundleIcon(CalendarMonthFilled, CalendarMonthRegular);
+
+const useStyles = makeStyles({
+  container: {
+    display: 'flex',
+    flexDirection: 'column',
+    gap: '16px',
+    padding: '32px',
+  },
+});
+
+export const Example = () => {
+  const styles = useStyles();
+
+  return (
+    <div className={styles.container}>
+      <Title1>Hello, Fluent UI!</Title1>
+      <Button appearance="primary" icon={<CalendarMonth />}>
+        Click Me
+      </Button>
+    </div>
+  );
+};
diff --git a/starter-templates/src/react-components-vite/src/main.tsx b/starter-templates/src/react-components-vite/src/main.tsx
new file mode 100644
index 00000000000000..ff9107a7d32da5
--- /dev/null
+++ b/starter-templates/src/react-components-vite/src/main.tsx
@@ -0,0 +1,11 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+import App from './App.tsx';
+
+const root = createRoot(document.getElementById('root') as HTMLElement);
+
+root.render(
+  <StrictMode>
+    <App />
+  </StrictMode>,
+);
diff --git a/starter-templates/src/react-components-vite/tsconfig.app.json b/starter-templates/src/react-components-vite/tsconfig.app.json
new file mode 100644
index 00000000000000..358ca9ba93f089
--- /dev/null
+++ b/starter-templates/src/react-components-vite/tsconfig.app.json
@@ -0,0 +1,26 @@
+{
+  "compilerOptions": {
+    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+    "target": "ES2020",
+    "useDefineForClassFields": true,
+    "lib": ["ES2020", "DOM", "DOM.Iterable"],
+    "module": "ESNext",
+    "skipLibCheck": true,
+
+    /* Bundler mode */
+    "moduleResolution": "bundler",
+    "allowImportingTsExtensions": true,
+    "isolatedModules": true,
+    "moduleDetection": "force",
+    "noEmit": true,
+    "jsx": "react-jsx",
+
+    /* Linting */
+    "strict": true,
+    "noUnusedLocals": true,
+    "noUnusedParameters": true,
+    "noFallthroughCasesInSwitch": true,
+    "noUncheckedSideEffectImports": true
+  },
+  "include": ["src"]
+}
diff --git a/starter-templates/src/react-components-vite/tsconfig.json b/starter-templates/src/react-components-vite/tsconfig.json
new file mode 100644
index 00000000000000..d32ff682003e0f
--- /dev/null
+++ b/starter-templates/src/react-components-vite/tsconfig.json
@@ -0,0 +1,4 @@
+{
+  "files": [],
+  "references": [{ "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" }]
+}
diff --git a/starter-templates/src/react-components-vite/tsconfig.node.json b/starter-templates/src/react-components-vite/tsconfig.node.json
new file mode 100644
index 00000000000000..db0becc8b033a4
--- /dev/null
+++ b/starter-templates/src/react-components-vite/tsconfig.node.json
@@ -0,0 +1,24 @@
+{
+  "compilerOptions": {
+    "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+    "target": "ES2022",
+    "lib": ["ES2023"],
+    "module": "ESNext",
+    "skipLibCheck": true,
+
+    /* Bundler mode */
+    "moduleResolution": "bundler",
+    "allowImportingTsExtensions": true,
+    "isolatedModules": true,
+    "moduleDetection": "force",
+    "noEmit": true,
+
+    /* Linting */
+    "strict": true,
+    "noUnusedLocals": true,
+    "noUnusedParameters": true,
+    "noFallthroughCasesInSwitch": true,
+    "noUncheckedSideEffectImports": true
+  },
+  "include": ["vite.config.ts"]
+}
diff --git a/starter-templates/src/react-components-vite/vite.config.ts b/starter-templates/src/react-components-vite/vite.config.ts
new file mode 100644
index 00000000000000..4a5def4c3d78f7
--- /dev/null
+++ b/starter-templates/src/react-components-vite/vite.config.ts
@@ -0,0 +1,7 @@
+import { defineConfig } from 'vite';
+import react from '@vitejs/plugin-react';
+
+// https://vite.dev/config/
+export default defineConfig({
+  plugins: [react()],
+});

From 58fb29e201d7546b86e543f7bdc77e8a33f7c100 Mon Sep 17 00:00:00 2001
From: Fluent UI Build <fluentui-internal@service.microsoft.com>
Date: Wed, 22 Jan 2025 14:00:41 +0000
Subject: [PATCH 74/78] release: applying package updates - react-components

---
 ...-b082df99-c014-4ba8-8523-fdc134b25bcb.json |   7 -
 ...-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json |   7 -
 ...-9cab8d3a-1bcd-4c03-8138-82520de36649.json |   7 -
 ...-1411f212-27ea-4335-bcd3-b210359b0bd1.json |   7 -
 ...-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json |   7 -
 ...-8a924d25-d099-4172-ab21-290a69090030.json |   7 -
 ...-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json |   7 -
 ...-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json |   7 -
 ...-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json |   7 -
 ...-2c418aac-078d-45dc-ad47-4bf796a2e600.json |   7 -
 ...-8e070f58-09e6-4a66-bd63-bbd13b27db88.json |   7 -
 ...-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json |   7 -
 ...-4944bee5-948a-4649-87a1-8362f68d4635.json |   7 -
 ...-d79ea04c-0316-4c1e-9c1e-96710298947a.json |   7 -
 ...-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json |   7 -
 ...-51e8bb80-2224-47a8-8a42-282214bcee42.json |   7 -
 ...-045b67fd-ae48-4ed9-abbd-669235409ead.json |   7 -
 ...-d059899d-0a8a-4a74-8136-70b89e36f065.json |   7 -
 ...-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json |   7 -
 ...-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json |   7 -
 ...-67537ce1-b461-4bec-bbcb-61d9202e6632.json |   7 -
 ...-7795f18a-df86-480a-8546-efca47ef6069.json |   7 -
 ...-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json |   7 -
 ...-b0930295-331e-4b55-96fc-c17b84ce854b.json |   7 -
 ...-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json |   7 -
 ...-f1f67efd-37ec-4bf3-a0b8-470029586904.json |   7 -
 ...-f95778aa-ad54-4ba0-9ef8-38237de444a8.json |   7 -
 ...-02147114-2b1f-427d-a369-c495dcc060f7.json |   7 -
 ...-7ff1890e-77cb-4078-be01-2673bb29a80b.json |   7 -
 ...-9f506bc2-b69a-4140-b85e-67b97c87e955.json |   7 -
 ...-59106324-2e52-43e5-b407-87f41706faa5.json |   7 -
 ...-a56360e5-91b4-443c-90d7-d16c9a672862.json |   7 -
 ...-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json |   7 -
 ...-041ffd34-f086-4af7-a72a-66dbbd56617b.json |   7 -
 ...-c489edef-c7ee-4bf0-8f32-8565edccb381.json |   7 -
 ...-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json |   7 -
 ...-a4a177a3-0514-4657-9fdd-a0e90d44e813.json |   7 -
 ...-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json |   7 -
 ...-f788c84a-933e-4291-9111-2a6187517663.json |   7 -
 ...-b6083bc4-f97c-4ad1-a457-a150145f3543.json |   7 -
 ...-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json |   7 -
 ...-4088de96-b20d-4c18-9567-9987be622dbf.json |   7 -
 ...-7be3b676-890f-4c2c-8a08-d7abf38084de.json |   7 -
 ...-287da350-699b-410f-bd97-7cb590731302.json |   7 -
 ...-69773403-5633-414b-866a-f20aedf4bc0c.json |   7 -
 ...-b452026f-0282-4a88-a922-34c2a983c77c.json |   7 -
 ...-0b333279-3531-4fce-a0ee-8e9c05d6f830.json |   7 -
 ...-82544042-02b6-4262-91cd-e7f9fe24bad2.json |   7 -
 ...-00dd23f0-89d0-486d-844f-30a880feb0f5.json |   7 -
 ...-d6716ae8-9732-454c-9c6f-65ab98953a42.json |   7 -
 .../library/CHANGELOG.json                    |  51 +++
 .../react-charts-preview/library/CHANGELOG.md |  17 +-
 .../react-charts-preview/library/package.json |  16 +-
 .../CHANGELOG.json                            |  15 +
 .../babel-preset-global-context/CHANGELOG.md  |  11 +-
 .../babel-preset-global-context/package.json  |   4 +-
 .../global-context/CHANGELOG.json             |  21 ++
 .../global-context/CHANGELOG.md               |  12 +-
 .../global-context/package.json               |   6 +-
 .../react-accordion/library/CHANGELOG.json    |  59 ++++
 .../react-accordion/library/CHANGELOG.md      |  17 +-
 .../react-accordion/library/package.json      |  16 +-
 .../react-aria/library/CHANGELOG.json         |  35 ++
 .../react-aria/library/CHANGELOG.md           |  13 +-
 .../react-aria/library/package.json           |   8 +-
 .../react-avatar/library/CHANGELOG.json       |  59 ++++
 .../react-avatar/library/CHANGELOG.md         |  17 +-
 .../react-avatar/library/package.json         |  16 +-
 .../react-badge/library/CHANGELOG.json        |  21 ++
 .../react-badge/library/CHANGELOG.md          |  12 +-
 .../react-badge/library/package.json          |   6 +-
 .../react-breadcrumb/library/CHANGELOG.json   |  45 +++
 .../react-breadcrumb/library/CHANGELOG.md     |  16 +-
 .../react-breadcrumb/library/package.json     |  14 +-
 .../react-button/library/CHANGELOG.json       |  33 ++
 .../react-button/library/CHANGELOG.md         |  14 +-
 .../react-button/library/package.json         |  10 +-
 .../library/CHANGELOG.json                    |  27 ++
 .../library/CHANGELOG.md                      |  13 +-
 .../library/package.json                      |   8 +-
 .../react-card/library/CHANGELOG.json         |  33 ++
 .../react-card/library/CHANGELOG.md           |  14 +-
 .../react-card/library/package.json           |  10 +-
 .../react-carousel/library/CHANGELOG.json     |  45 +++
 .../react-carousel/library/CHANGELOG.md       |  16 +-
 .../react-carousel/library/package.json       |  14 +-
 .../react-checkbox/library/CHANGELOG.json     |  39 +++
 .../react-checkbox/library/CHANGELOG.md       |  15 +-
 .../react-checkbox/library/package.json       |  12 +-
 .../library/CHANGELOG.json                    |  65 ++++
 .../library/CHANGELOG.md                      |  17 +-
 .../library/package.json                      |  10 +-
 .../react-colorpicker-compat/package.json     |   4 +-
 .../react-combobox/library/CHANGELOG.json     |  65 ++++
 .../react-combobox/library/CHANGELOG.md       |  18 +-
 .../react-combobox/library/package.json       |  18 +-
 .../react-components/CHANGELOG.json           | 313 ++++++++++++++++++
 .../react-components/CHANGELOG.md             |  48 ++-
 .../react-components/package.json             | 110 +++---
 .../react-context-selector/CHANGELOG.json     |  15 +
 .../react-context-selector/CHANGELOG.md       |  11 +-
 .../react-context-selector/package.json       |   4 +-
 .../library/CHANGELOG.json                    |  63 ++++
 .../library/CHANGELOG.md                      |  19 +-
 .../library/package.json                      |  20 +-
 .../react-dialog/library/CHANGELOG.json       |  57 ++++
 .../react-dialog/library/CHANGELOG.md         |  18 +-
 .../react-dialog/library/package.json         |  18 +-
 .../react-divider/library/CHANGELOG.json      |  21 ++
 .../react-divider/library/CHANGELOG.md        |  12 +-
 .../react-divider/library/package.json        |   6 +-
 .../react-drawer/library/CHANGELOG.json       |  45 +++
 .../react-drawer/library/CHANGELOG.md         |  16 +-
 .../react-drawer/library/package.json         |  14 +-
 .../react-field/library/CHANGELOG.json        |  33 ++
 .../react-field/library/CHANGELOG.md          |  14 +-
 .../react-field/library/package.json          |  10 +-
 .../react-icons-compat/library/CHANGELOG.json |  29 ++
 .../react-icons-compat/library/CHANGELOG.md   |  12 +-
 .../react-icons-compat/library/package.json   |   6 +-
 .../react-image/library/CHANGELOG.json        |  21 ++
 .../react-image/library/CHANGELOG.md          |  12 +-
 .../react-image/library/package.json          |   6 +-
 .../react-infolabel/library/CHANGELOG.json    |  39 +++
 .../react-infolabel/library/CHANGELOG.md      |  15 +-
 .../react-infolabel/library/package.json      |  12 +-
 .../react-input/library/CHANGELOG.json        |  27 ++
 .../react-input/library/CHANGELOG.md          |  13 +-
 .../react-input/library/package.json          |   8 +-
 .../react-jsx-runtime/CHANGELOG.json          |  15 +
 .../react-jsx-runtime/CHANGELOG.md            |  11 +-
 .../react-jsx-runtime/package.json            |   4 +-
 .../react-label/library/CHANGELOG.json        |  21 ++
 .../react-label/library/CHANGELOG.md          |  12 +-
 .../react-label/library/package.json          |   6 +-
 .../react-link/library/CHANGELOG.json         |  33 ++
 .../react-link/library/CHANGELOG.md           |  14 +-
 .../react-link/library/package.json           |   8 +-
 .../react-list/library/CHANGELOG.json         |  39 +++
 .../react-list/library/CHANGELOG.md           |  15 +-
 .../react-list/library/package.json           |  12 +-
 .../react-menu/library/CHANGELOG.json         |  59 ++++
 .../react-menu/library/CHANGELOG.md           |  17 +-
 .../react-menu/library/package.json           |  16 +-
 .../react-message-bar/library/CHANGELOG.json  |  53 +++
 .../react-message-bar/library/CHANGELOG.md    |  16 +-
 .../react-message-bar/library/package.json    |  14 +-
 .../library/CHANGELOG.json                    |  45 +++
 .../library/CHANGELOG.md                      |  16 +-
 .../library/package.json                      |  14 +-
 .../library/CHANGELOG.json                    |  21 ++
 .../library/CHANGELOG.md                      |  12 +-
 .../library/package.json                      |   4 +-
 .../library/CHANGELOG.json                    |  29 ++
 .../library/CHANGELOG.md                      |  11 +-
 .../library/package.json                      |   2 +-
 .../react-motion/library/CHANGELOG.json       |  29 ++
 .../react-motion/library/CHANGELOG.md         |  12 +-
 .../react-motion/library/package.json         |   4 +-
 .../react-nav-preview/library/CHANGELOG.json  |  91 +++++
 .../react-nav-preview/library/CHANGELOG.md    |  25 +-
 .../react-nav-preview/library/package.json    |  20 +-
 .../react-overflow/library/CHANGELOG.json     |  21 ++
 .../react-overflow/library/CHANGELOG.md       |  12 +-
 .../react-overflow/library/package.json       |   6 +-
 .../react-persona/library/CHANGELOG.json      |  33 ++
 .../react-persona/library/CHANGELOG.md        |  14 +-
 .../react-persona/library/package.json        |  10 +-
 .../react-popover/library/CHANGELOG.json      |  59 ++++
 .../react-popover/library/CHANGELOG.md        |  17 +-
 .../react-popover/library/package.json        |  16 +-
 .../react-portal-compat/CHANGELOG.json        |  21 ++
 .../react-portal-compat/CHANGELOG.md          |  12 +-
 .../react-portal-compat/package.json          |   6 +-
 .../react-portal/library/CHANGELOG.json       |  21 ++
 .../react-portal/library/CHANGELOG.md         |  12 +-
 .../react-portal/library/package.json         |   6 +-
 .../react-positioning/CHANGELOG.json          |  23 ++
 .../react-positioning/CHANGELOG.md            |  11 +-
 .../react-positioning/package.json            |   4 +-
 .../react-progress/library/CHANGELOG.json     |  27 ++
 .../react-progress/library/CHANGELOG.md       |  13 +-
 .../react-progress/library/package.json       |   8 +-
 .../react-provider/library/CHANGELOG.json     |  33 ++
 .../react-provider/library/CHANGELOG.md       |  14 +-
 .../react-provider/library/package.json       |   8 +-
 .../react-radio/library/CHANGELOG.json        |  47 +++
 .../react-radio/library/CHANGELOG.md          |  15 +-
 .../react-radio/library/package.json          |  12 +-
 .../react-rating/library/CHANGELOG.json       |  27 ++
 .../react-rating/library/CHANGELOG.md         |  13 +-
 .../react-rating/library/package.json         |   8 +-
 .../react-search/library/CHANGELOG.json       |  27 ++
 .../react-search/library/CHANGELOG.md         |  13 +-
 .../react-search/library/package.json         |   8 +-
 .../react-select/library/CHANGELOG.json       |  27 ++
 .../react-select/library/CHANGELOG.md         |  13 +-
 .../react-select/library/package.json         |   8 +-
 .../react-skeleton/library/CHANGELOG.json     |  27 ++
 .../react-skeleton/library/CHANGELOG.md       |  13 +-
 .../react-skeleton/library/package.json       |   8 +-
 .../react-slider/library/CHANGELOG.json       |  33 ++
 .../react-slider/library/CHANGELOG.md         |  14 +-
 .../react-slider/library/package.json         |  10 +-
 .../react-spinbutton/library/CHANGELOG.json   |  33 ++
 .../react-spinbutton/library/CHANGELOG.md     |  14 +-
 .../react-spinbutton/library/package.json     |   8 +-
 .../react-spinner/library/CHANGELOG.json      |  27 ++
 .../react-spinner/library/CHANGELOG.md        |  13 +-
 .../react-spinner/library/package.json        |   8 +-
 .../react-storybook-addon/package.json        |   4 +-
 .../library/CHANGELOG.json                    |  39 +++
 .../react-swatch-picker/library/CHANGELOG.md  |  15 +-
 .../react-swatch-picker/library/package.json  |  12 +-
 .../react-switch/library/CHANGELOG.json       |  47 +++
 .../react-switch/library/CHANGELOG.md         |  15 +-
 .../react-switch/library/package.json         |  12 +-
 .../react-table/library/CHANGELOG.json        |  65 ++++
 .../react-table/library/CHANGELOG.md          |  18 +-
 .../react-table/library/package.json          |  18 +-
 .../react-tabs/library/CHANGELOG.json         |  41 +++
 .../react-tabs/library/CHANGELOG.md           |  14 +-
 .../react-tabs/library/package.json           |  10 +-
 .../react-tabster/CHANGELOG.json              |  29 ++
 .../react-tabster/CHANGELOG.md                |  11 +-
 .../react-tabster/package.json                |   4 +-
 .../react-tag-picker/library/CHANGELOG.json   |  83 +++++
 .../react-tag-picker/library/CHANGELOG.md     |  25 +-
 .../react-tag-picker/library/package.json     |  22 +-
 .../react-tags/library/CHANGELOG.json         |  39 +++
 .../react-tags/library/CHANGELOG.md           |  15 +-
 .../react-tags/library/package.json           |  12 +-
 .../library/CHANGELOG.json                    |  51 +++
 .../library/CHANGELOG.md                      |  17 +-
 .../library/package.json                      |  16 +-
 .../react-text/library/CHANGELOG.json         |  21 ++
 .../react-text/library/CHANGELOG.md           |  12 +-
 .../react-text/library/package.json           |   6 +-
 .../react-textarea/library/CHANGELOG.json     |  27 ++
 .../react-textarea/library/CHANGELOG.md       |  13 +-
 .../react-textarea/library/package.json       |   8 +-
 .../library/CHANGELOG.json                    |  33 ++
 .../library/CHANGELOG.md                      |  14 +-
 .../library/package.json                      |  10 +-
 .../react-toast/library/CHANGELOG.json        |  59 ++++
 .../react-toast/library/CHANGELOG.md          |  17 +-
 .../react-toast/library/package.json          |  16 +-
 .../react-toolbar/library/CHANGELOG.json      |  51 +++
 .../react-toolbar/library/CHANGELOG.md        |  17 +-
 .../react-toolbar/library/package.json        |  16 +-
 .../react-tooltip/library/CHANGELOG.json      |  59 ++++
 .../react-tooltip/library/CHANGELOG.md        |  16 +-
 .../react-tooltip/library/package.json        |  12 +-
 .../react-tree/library/CHANGELOG.json         |  95 ++++++
 .../react-tree/library/CHANGELOG.md           |  23 +-
 .../react-tree/library/package.json           |  24 +-
 .../library/package.json                      |   4 +-
 .../react-utilities/CHANGELOG.json            |  23 ++
 .../react-utilities/CHANGELOG.md              |  11 +-
 .../react-utilities/package.json              |   2 +-
 .../react-virtualizer/library/CHANGELOG.json  |  35 ++
 .../react-virtualizer/library/CHANGELOG.md    |  12 +-
 .../react-virtualizer/library/package.json    |   6 +-
 .../react-components/recipes/package.json     |   6 +-
 .../theme-designer/package.json               |   6 +-
 packages/react-conformance/CHANGELOG.json     |  15 +
 266 files changed, 4415 insertions(+), 845 deletions(-)
 delete mode 100644 change/@fluentui-react-accordion-b082df99-c014-4ba8-8523-fdc134b25bcb.json
 delete mode 100644 change/@fluentui-react-aria-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json
 delete mode 100644 change/@fluentui-react-avatar-9cab8d3a-1bcd-4c03-8138-82520de36649.json
 delete mode 100644 change/@fluentui-react-color-picker-preview-1411f212-27ea-4335-bcd3-b210359b0bd1.json
 delete mode 100644 change/@fluentui-react-color-picker-preview-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json
 delete mode 100644 change/@fluentui-react-color-picker-preview-8a924d25-d099-4172-ab21-290a69090030.json
 delete mode 100644 change/@fluentui-react-color-picker-preview-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json
 delete mode 100644 change/@fluentui-react-color-picker-preview-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json
 delete mode 100644 change/@fluentui-react-combobox-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json
 delete mode 100644 change/@fluentui-react-components-2c418aac-078d-45dc-ad47-4bf796a2e600.json
 delete mode 100644 change/@fluentui-react-components-8e070f58-09e6-4a66-bd63-bbd13b27db88.json
 delete mode 100644 change/@fluentui-react-components-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json
 delete mode 100644 change/@fluentui-react-conformance-4944bee5-948a-4649-87a1-8362f68d4635.json
 delete mode 100644 change/@fluentui-react-icons-compat-d79ea04c-0316-4c1e-9c1e-96710298947a.json
 delete mode 100644 change/@fluentui-react-link-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json
 delete mode 100644 change/@fluentui-react-menu-51e8bb80-2224-47a8-8a42-282214bcee42.json
 delete mode 100644 change/@fluentui-react-message-bar-045b67fd-ae48-4ed9-abbd-669235409ead.json
 delete mode 100644 change/@fluentui-react-migration-v8-v9-d059899d-0a8a-4a74-8136-70b89e36f065.json
 delete mode 100644 change/@fluentui-react-motion-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json
 delete mode 100644 change/@fluentui-react-motion-components-preview-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json
 delete mode 100644 change/@fluentui-react-motion-components-preview-67537ce1-b461-4bec-bbcb-61d9202e6632.json
 delete mode 100644 change/@fluentui-react-motion-components-preview-7795f18a-df86-480a-8546-efca47ef6069.json
 delete mode 100644 change/@fluentui-react-motion-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json
 delete mode 100644 change/@fluentui-react-nav-preview-b0930295-331e-4b55-96fc-c17b84ce854b.json
 delete mode 100644 change/@fluentui-react-nav-preview-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json
 delete mode 100644 change/@fluentui-react-nav-preview-f1f67efd-37ec-4bf3-a0b8-470029586904.json
 delete mode 100644 change/@fluentui-react-nav-preview-f95778aa-ad54-4ba0-9ef8-38237de444a8.json
 delete mode 100644 change/@fluentui-react-popover-02147114-2b1f-427d-a369-c495dcc060f7.json
 delete mode 100644 change/@fluentui-react-positioning-7ff1890e-77cb-4078-be01-2673bb29a80b.json
 delete mode 100644 change/@fluentui-react-provider-9f506bc2-b69a-4140-b85e-67b97c87e955.json
 delete mode 100644 change/@fluentui-react-radio-59106324-2e52-43e5-b407-87f41706faa5.json
 delete mode 100644 change/@fluentui-react-spinbutton-a56360e5-91b4-443c-90d7-d16c9a672862.json
 delete mode 100644 change/@fluentui-react-switch-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json
 delete mode 100644 change/@fluentui-react-table-041ffd34-f086-4af7-a72a-66dbbd56617b.json
 delete mode 100644 change/@fluentui-react-tabs-c489edef-c7ee-4bf0-8f32-8565edccb381.json
 delete mode 100644 change/@fluentui-react-tabster-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json
 delete mode 100644 change/@fluentui-react-tabster-a4a177a3-0514-4657-9fdd-a0e90d44e813.json
 delete mode 100644 change/@fluentui-react-tag-picker-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json
 delete mode 100644 change/@fluentui-react-tag-picker-f788c84a-933e-4291-9111-2a6187517663.json
 delete mode 100644 change/@fluentui-react-toast-b6083bc4-f97c-4ad1-a457-a150145f3543.json
 delete mode 100644 change/@fluentui-react-tooltip-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json
 delete mode 100644 change/@fluentui-react-tooltip-4088de96-b20d-4c18-9567-9987be622dbf.json
 delete mode 100644 change/@fluentui-react-tooltip-7be3b676-890f-4c2c-8a08-d7abf38084de.json
 delete mode 100644 change/@fluentui-react-tree-287da350-699b-410f-bd97-7cb590731302.json
 delete mode 100644 change/@fluentui-react-tree-69773403-5633-414b-866a-f20aedf4bc0c.json
 delete mode 100644 change/@fluentui-react-tree-b452026f-0282-4a88-a922-34c2a983c77c.json
 delete mode 100644 change/@fluentui-react-utilities-0b333279-3531-4fce-a0ee-8e9c05d6f830.json
 delete mode 100644 change/@fluentui-react-utilities-82544042-02b6-4262-91cd-e7f9fe24bad2.json
 delete mode 100644 change/@fluentui-react-virtualizer-00dd23f0-89d0-486d-844f-30a880feb0f5.json
 delete mode 100644 change/@fluentui-react-virtualizer-d6716ae8-9732-454c-9c6f-65ab98953a42.json

diff --git a/change/@fluentui-react-accordion-b082df99-c014-4ba8-8523-fdc134b25bcb.json b/change/@fluentui-react-accordion-b082df99-c014-4ba8-8523-fdc134b25bcb.json
deleted file mode 100644
index ae55ba19bba18f..00000000000000
--- a/change/@fluentui-react-accordion-b082df99-c014-4ba8-8523-fdc134b25bcb.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-accordion",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-aria-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json b/change/@fluentui-react-aria-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json
deleted file mode 100644
index dc9f1971ad978a..00000000000000
--- a/change/@fluentui-react-aria-ece4e8b8-ef6f-487c-a209-1a55c9dc6bfb.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-aria",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-avatar-9cab8d3a-1bcd-4c03-8138-82520de36649.json b/change/@fluentui-react-avatar-9cab8d3a-1bcd-4c03-8138-82520de36649.json
deleted file mode 100644
index 9d3bbebf5cb5e1..00000000000000
--- a/change/@fluentui-react-avatar-9cab8d3a-1bcd-4c03-8138-82520de36649.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-avatar",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-color-picker-preview-1411f212-27ea-4335-bcd3-b210359b0bd1.json b/change/@fluentui-react-color-picker-preview-1411f212-27ea-4335-bcd3-b210359b0bd1.json
deleted file mode 100644
index 6e323e0af85625..00000000000000
--- a/change/@fluentui-react-color-picker-preview-1411f212-27ea-4335-bcd3-b210359b0bd1.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-color-picker-preview",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-color-picker-preview-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json b/change/@fluentui-react-color-picker-preview-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json
deleted file mode 100644
index 65b78e7e086001..00000000000000
--- a/change/@fluentui-react-color-picker-preview-4f2e285e-18a9-4ad5-8543-5310072fd1e9.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "fix: make api.md up to date",
-  "packageName": "@fluentui/react-color-picker-preview",
-  "email": "martinhochel@microsoft.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-color-picker-preview-8a924d25-d099-4172-ab21-290a69090030.json b/change/@fluentui-react-color-picker-preview-8a924d25-d099-4172-ab21-290a69090030.json
deleted file mode 100644
index 448468fae0103b..00000000000000
--- a/change/@fluentui-react-color-picker-preview-8a924d25-d099-4172-ab21-290a69090030.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages.",
-  "packageName": "@fluentui/react-color-picker-preview",
-  "email": "makotom@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-color-picker-preview-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json b/change/@fluentui-react-color-picker-preview-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json
deleted file mode 100644
index 659240a99245b9..00000000000000
--- a/change/@fluentui-react-color-picker-preview-c30cb79c-aed3-4e9b-ad55-b1f946c8c691.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: focus jumps to inputY instead of next element",
-  "packageName": "@fluentui/react-color-picker-preview",
-  "email": "vkozlova@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-color-picker-preview-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json b/change/@fluentui-react-color-picker-preview-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json
deleted file mode 100644
index f30eab37953f98..00000000000000
--- a/change/@fluentui-react-color-picker-preview-d36c4ad2-9cc0-4131-bdee-dd557b75c0bb.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "feat: Added `transparent` option to the AlphaSlider",
-  "packageName": "@fluentui/react-color-picker-preview",
-  "email": "v.kozlova13@gmail.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-combobox-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json b/change/@fluentui-react-combobox-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json
deleted file mode 100644
index 793132b08fa9f9..00000000000000
--- a/change/@fluentui-react-combobox-6b28f16b-50a6-4ea3-8afc-d21e6b99bc5e.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-combobox",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-components-2c418aac-078d-45dc-ad47-4bf796a2e600.json b/change/@fluentui-react-components-2c418aac-078d-45dc-ad47-4bf796a2e600.json
deleted file mode 100644
index d1657869b81f19..00000000000000
--- a/change/@fluentui-react-components-2c418aac-078d-45dc-ad47-4bf796a2e600.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "feature: re-export react-tag-picker context",
-  "packageName": "@fluentui/react-components",
-  "email": "bernardo.sunderhus@gmail.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-components-8e070f58-09e6-4a66-bd63-bbd13b27db88.json b/change/@fluentui-react-components-8e070f58-09e6-4a66-bd63-bbd13b27db88.json
deleted file mode 100644
index ddc6a6c41d1080..00000000000000
--- a/change/@fluentui-react-components-8e070f58-09e6-4a66-bd63-bbd13b27db88.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "feature: TreeRootReset component",
-  "packageName": "@fluentui/react-components",
-  "email": "bernardo.sunderhus@gmail.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-components-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json b/change/@fluentui-react-components-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json
deleted file mode 100644
index 6c9209a8e0effa..00000000000000
--- a/change/@fluentui-react-components-a1ed2f9c-dd8c-4d5c-82ae-295a90a26772.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-components",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-conformance-4944bee5-948a-4649-87a1-8362f68d4635.json b/change/@fluentui-react-conformance-4944bee5-948a-4649-87a1-8362f68d4635.json
deleted file mode 100644
index 58fe9ad666bf04..00000000000000
--- a/change/@fluentui-react-conformance-4944bee5-948a-4649-87a1-8362f68d4635.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-conformance",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-icons-compat-d79ea04c-0316-4c1e-9c1e-96710298947a.json b/change/@fluentui-react-icons-compat-d79ea04c-0316-4c1e-9c1e-96710298947a.json
deleted file mode 100644
index 3fb672d36efa9b..00000000000000
--- a/change/@fluentui-react-icons-compat-d79ea04c-0316-4c1e-9c1e-96710298947a.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-icons-compat",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-link-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json b/change/@fluentui-react-link-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json
deleted file mode 100644
index c77906f88a7d1f..00000000000000
--- a/change/@fluentui-react-link-3fcc87af-d93e-43d3-8c48-d38b192fd9ac.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: support Enter and Space interaction, if rendered as span",
-  "packageName": "@fluentui/react-link",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-menu-51e8bb80-2224-47a8-8a42-282214bcee42.json b/change/@fluentui-react-menu-51e8bb80-2224-47a8-8a42-282214bcee42.json
deleted file mode 100644
index 369c63a243bb20..00000000000000
--- a/change/@fluentui-react-menu-51e8bb80-2224-47a8-8a42-282214bcee42.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-menu",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-message-bar-045b67fd-ae48-4ed9-abbd-669235409ead.json b/change/@fluentui-react-message-bar-045b67fd-ae48-4ed9-abbd-669235409ead.json
deleted file mode 100644
index f62fce2bae66b0..00000000000000
--- a/change/@fluentui-react-message-bar-045b67fd-ae48-4ed9-abbd-669235409ead.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-message-bar",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-migration-v8-v9-d059899d-0a8a-4a74-8136-70b89e36f065.json b/change/@fluentui-react-migration-v8-v9-d059899d-0a8a-4a74-8136-70b89e36f065.json
deleted file mode 100644
index dac1b4b49e6557..00000000000000
--- a/change/@fluentui-react-migration-v8-v9-d059899d-0a8a-4a74-8136-70b89e36f065.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages.",
-  "packageName": "@fluentui/react-migration-v8-v9",
-  "email": "makotom@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-motion-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json b/change/@fluentui-react-motion-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json
deleted file mode 100644
index 57cfdd1c1b62b2..00000000000000
--- a/change/@fluentui-react-motion-32b72aa4-8d6a-42e7-8adc-3d0eb8162c7a.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-motion",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-motion-components-preview-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json b/change/@fluentui-react-motion-components-preview-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json
deleted file mode 100644
index 1599dbedebc4be..00000000000000
--- a/change/@fluentui-react-motion-components-preview-1e0e7b65-3a13-46be-9f9c-01fdb511c16f.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "fix: make api.md up to date",
-  "packageName": "@fluentui/react-motion-components-preview",
-  "email": "martinhochel@microsoft.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-motion-components-preview-67537ce1-b461-4bec-bbcb-61d9202e6632.json b/change/@fluentui-react-motion-components-preview-67537ce1-b461-4bec-bbcb-61d9202e6632.json
deleted file mode 100644
index 970d564c51cda6..00000000000000
--- a/change/@fluentui-react-motion-components-preview-67537ce1-b461-4bec-bbcb-61d9202e6632.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "refactor(Collapse): streamline motion atom functions",
-  "packageName": "@fluentui/react-motion-components-preview",
-  "email": "robertpenner@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-motion-components-preview-7795f18a-df86-480a-8546-efca47ef6069.json b/change/@fluentui-react-motion-components-preview-7795f18a-df86-480a-8546-efca47ef6069.json
deleted file mode 100644
index 36a3d3b7e344cc..00000000000000
--- a/change/@fluentui-react-motion-components-preview-7795f18a-df86-480a-8546-efca47ef6069.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-motion-components-preview",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-motion-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json b/change/@fluentui-react-motion-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json
deleted file mode 100644
index cba37e60ef3fdd..00000000000000
--- a/change/@fluentui-react-motion-f4c1433b-f36e-4b2c-a9bd-9b16f37489fc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "feat: add extended support for reduced motion",
-  "packageName": "@fluentui/react-motion",
-  "email": "olfedias@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-nav-preview-b0930295-331e-4b55-96fc-c17b84ce854b.json b/change/@fluentui-react-nav-preview-b0930295-331e-4b55-96fc-c17b84ce854b.json
deleted file mode 100644
index 15efc7af0656d4..00000000000000
--- a/change/@fluentui-react-nav-preview-b0930295-331e-4b55-96fc-c17b84ce854b.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: Speeding up animations in Nav.",
-  "packageName": "@fluentui/react-nav-preview",
-  "email": "matejera@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-nav-preview-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json b/change/@fluentui-react-nav-preview-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json
deleted file mode 100644
index 6330f4d3225373..00000000000000
--- a/change/@fluentui-react-nav-preview-dbba66d7-ef68-4cb3-ac4f-dccf895fdd97.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "[BREAKING CHANGE] Replacing NavSize type and size prop with NavDensity type and density prop to avoid collisions with size on base Drawer component. ",
-  "packageName": "@fluentui/react-nav-preview",
-  "email": "matejera@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-nav-preview-f1f67efd-37ec-4bf3-a0b8-470029586904.json b/change/@fluentui-react-nav-preview-f1f67efd-37ec-4bf3-a0b8-470029586904.json
deleted file mode 100644
index f180fa0c84851c..00000000000000
--- a/change/@fluentui-react-nav-preview-f1f67efd-37ec-4bf3-a0b8-470029586904.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix - changing hover animation curve to linear.",
-  "packageName": "@fluentui/react-nav-preview",
-  "email": "matejera@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-nav-preview-f95778aa-ad54-4ba0-9ef8-38237de444a8.json b/change/@fluentui-react-nav-preview-f95778aa-ad54-4ba0-9ef8-38237de444a8.json
deleted file mode 100644
index 86031271d82853..00000000000000
--- a/change/@fluentui-react-nav-preview-f95778aa-ad54-4ba0-9ef8-38237de444a8.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "fix: make api.md up to date",
-  "packageName": "@fluentui/react-nav-preview",
-  "email": "martinhochel@microsoft.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-popover-02147114-2b1f-427d-a369-c495dcc060f7.json b/change/@fluentui-react-popover-02147114-2b1f-427d-a369-c495dcc060f7.json
deleted file mode 100644
index 7c818960694aea..00000000000000
--- a/change/@fluentui-react-popover-02147114-2b1f-427d-a369-c495dcc060f7.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-popover",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-positioning-7ff1890e-77cb-4078-be01-2673bb29a80b.json b/change/@fluentui-react-positioning-7ff1890e-77cb-4078-be01-2673bb29a80b.json
deleted file mode 100644
index fa917f363eb6e0..00000000000000
--- a/change/@fluentui-react-positioning-7ff1890e-77cb-4078-be01-2673bb29a80b.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-positioning",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-provider-9f506bc2-b69a-4140-b85e-67b97c87e955.json b/change/@fluentui-react-provider-9f506bc2-b69a-4140-b85e-67b97c87e955.json
deleted file mode 100644
index c7f52f2deb033f..00000000000000
--- a/change/@fluentui-react-provider-9f506bc2-b69a-4140-b85e-67b97c87e955.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "fix: Updating FluentProvider types to avoid implicit import in API definition.",
-  "packageName": "@fluentui/react-provider",
-  "email": "makotom@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-radio-59106324-2e52-43e5-b407-87f41706faa5.json b/change/@fluentui-react-radio-59106324-2e52-43e5-b407-87f41706faa5.json
deleted file mode 100644
index 85b8c6c078c718..00000000000000
--- a/change/@fluentui-react-radio-59106324-2e52-43e5-b407-87f41706faa5.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-radio",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-spinbutton-a56360e5-91b4-443c-90d7-d16c9a672862.json b/change/@fluentui-react-spinbutton-a56360e5-91b4-443c-90d7-d16c9a672862.json
deleted file mode 100644
index 3f61d17745a214..00000000000000
--- a/change/@fluentui-react-spinbutton-a56360e5-91b4-443c-90d7-d16c9a672862.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix spinbutton test",
-  "packageName": "@fluentui/react-spinbutton",
-  "email": "carla.muntean@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-switch-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json b/change/@fluentui-react-switch-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json
deleted file mode 100644
index e6327946c49fac..00000000000000
--- a/change/@fluentui-react-switch-eef105b5-30ee-4c92-bac3-3eb2f1db9980.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-switch",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-table-041ffd34-f086-4af7-a72a-66dbbd56617b.json b/change/@fluentui-react-table-041ffd34-f086-4af7-a72a-66dbbd56617b.json
deleted file mode 100644
index 9855003d9f9cca..00000000000000
--- a/change/@fluentui-react-table-041ffd34-f086-4af7-a72a-66dbbd56617b.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-table",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-tabs-c489edef-c7ee-4bf0-8f32-8565edccb381.json b/change/@fluentui-react-tabs-c489edef-c7ee-4bf0-8f32-8565edccb381.json
deleted file mode 100644
index add9f9f3024781..00000000000000
--- a/change/@fluentui-react-tabs-c489edef-c7ee-4bf0-8f32-8565edccb381.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-tabs",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-tabster-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json b/change/@fluentui-react-tabster-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json
deleted file mode 100644
index 9931e30185f731..00000000000000
--- a/change/@fluentui-react-tabster-53bcacad-3ce8-4391-a3eb-72bc219d93f9.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "docs: fix invalid TSdoc that is causing warnings within generate-api task",
-  "packageName": "@fluentui/react-tabster",
-  "email": "martinhochel@microsoft.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-tabster-a4a177a3-0514-4657-9fdd-a0e90d44e813.json b/change/@fluentui-react-tabster-a4a177a3-0514-4657-9fdd-a0e90d44e813.json
deleted file mode 100644
index 8e5d56c1248819..00000000000000
--- a/change/@fluentui-react-tabster-a4a177a3-0514-4657-9fdd-a0e90d44e813.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-tabster",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-tag-picker-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json b/change/@fluentui-react-tag-picker-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json
deleted file mode 100644
index 9060ffa1cb620a..00000000000000
--- a/change/@fluentui-react-tag-picker-7ed3243d-60b5-4678-9762-f1b1722ca0fe.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "feature: single line layout",
-  "packageName": "@fluentui/react-tag-picker",
-  "email": "bernardo.sunderhus@gmail.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-tag-picker-f788c84a-933e-4291-9111-2a6187517663.json b/change/@fluentui-react-tag-picker-f788c84a-933e-4291-9111-2a6187517663.json
deleted file mode 100644
index 3f3abb7239db9f..00000000000000
--- a/change/@fluentui-react-tag-picker-f788c84a-933e-4291-9111-2a6187517663.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "bugfix: secondaryContent not displaying properly",
-  "packageName": "@fluentui/react-tag-picker",
-  "email": "bernardo.sunderhus@gmail.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-toast-b6083bc4-f97c-4ad1-a457-a150145f3543.json b/change/@fluentui-react-toast-b6083bc4-f97c-4ad1-a457-a150145f3543.json
deleted file mode 100644
index 6bf5ab81b5af14..00000000000000
--- a/change/@fluentui-react-toast-b6083bc4-f97c-4ad1-a457-a150145f3543.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "fix: make api.md up to date",
-  "packageName": "@fluentui/react-toast",
-  "email": "martinhochel@microsoft.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-tooltip-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json b/change/@fluentui-react-tooltip-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json
deleted file mode 100644
index c1ea720b6a9e45..00000000000000
--- a/change/@fluentui-react-tooltip-058754b5-d9ec-459a-acc5-ba9ff587c4e3.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-tooltip",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-tooltip-4088de96-b20d-4c18-9567-9987be622dbf.json b/change/@fluentui-react-tooltip-4088de96-b20d-4c18-9567-9987be622dbf.json
deleted file mode 100644
index d8e0b5362d896c..00000000000000
--- a/change/@fluentui-react-tooltip-4088de96-b20d-4c18-9567-9987be622dbf.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: wrong call of useIsNavigatingWithKeyboard",
-  "packageName": "@fluentui/react-tooltip",
-  "email": "viktorgenaev@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-tooltip-7be3b676-890f-4c2c-8a08-d7abf38084de.json b/change/@fluentui-react-tooltip-7be3b676-890f-4c2c-8a08-d7abf38084de.json
deleted file mode 100644
index 985a836a6abda3..00000000000000
--- a/change/@fluentui-react-tooltip-7be3b676-890f-4c2c-8a08-d7abf38084de.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "fix: make api.md up to date",
-  "packageName": "@fluentui/react-tooltip",
-  "email": "martinhochel@microsoft.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-tree-287da350-699b-410f-bd97-7cb590731302.json b/change/@fluentui-react-tree-287da350-699b-410f-bd97-7cb590731302.json
deleted file mode 100644
index 712df07693df6e..00000000000000
--- a/change/@fluentui-react-tree-287da350-699b-410f-bd97-7cb590731302.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-tree",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-tree-69773403-5633-414b-866a-f20aedf4bc0c.json b/change/@fluentui-react-tree-69773403-5633-414b-866a-f20aedf4bc0c.json
deleted file mode 100644
index 299a1892740844..00000000000000
--- a/change/@fluentui-react-tree-69773403-5633-414b-866a-f20aedf4bc0c.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "feature: introduces navigationMode property",
-  "packageName": "@fluentui/react-tree",
-  "email": "bernardo.sunderhus@gmail.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-tree-b452026f-0282-4a88-a922-34c2a983c77c.json b/change/@fluentui-react-tree-b452026f-0282-4a88-a922-34c2a983c77c.json
deleted file mode 100644
index 7e09b55e865d5d..00000000000000
--- a/change/@fluentui-react-tree-b452026f-0282-4a88-a922-34c2a983c77c.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "minor",
-  "comment": "feature: TreeRootReset component",
-  "packageName": "@fluentui/react-tree",
-  "email": "bernardo.sunderhus@gmail.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-utilities-0b333279-3531-4fce-a0ee-8e9c05d6f830.json b/change/@fluentui-react-utilities-0b333279-3531-4fce-a0ee-8e9c05d6f830.json
deleted file mode 100644
index 050e7fdba7a165..00000000000000
--- a/change/@fluentui-react-utilities-0b333279-3531-4fce-a0ee-8e9c05d6f830.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "patch",
-  "comment": "fix: add autoCorrect and minLength input properties support to getNativeProps utility",
-  "packageName": "@fluentui/react-utilities",
-  "email": "dmytrokirpa@microsoft.com",
-  "dependentChangeType": "patch"
-}
diff --git a/change/@fluentui-react-utilities-82544042-02b6-4262-91cd-e7f9fe24bad2.json b/change/@fluentui-react-utilities-82544042-02b6-4262-91cd-e7f9fe24bad2.json
deleted file mode 100644
index 6b1ae1f1853dd9..00000000000000
--- a/change/@fluentui-react-utilities-82544042-02b6-4262-91cd-e7f9fe24bad2.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-utilities",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-virtualizer-00dd23f0-89d0-486d-844f-30a880feb0f5.json b/change/@fluentui-react-virtualizer-00dd23f0-89d0-486d-844f-30a880feb0f5.json
deleted file mode 100644
index 556a8a1950726c..00000000000000
--- a/change/@fluentui-react-virtualizer-00dd23f0-89d0-486d-844f-30a880feb0f5.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule",
-  "packageName": "@fluentui/react-virtualizer",
-  "email": "vgenaev@gmail.com",
-  "dependentChangeType": "none"
-}
diff --git a/change/@fluentui-react-virtualizer-d6716ae8-9732-454c-9c6f-65ab98953a42.json b/change/@fluentui-react-virtualizer-d6716ae8-9732-454c-9c6f-65ab98953a42.json
deleted file mode 100644
index d4ed76c700480b..00000000000000
--- a/change/@fluentui-react-virtualizer-d6716ae8-9732-454c-9c6f-65ab98953a42.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "none",
-  "comment": "fix: make api.md up to date",
-  "packageName": "@fluentui/react-virtualizer",
-  "email": "martinhochel@microsoft.com",
-  "dependentChangeType": "none"
-}
diff --git a/packages/charts/react-charts-preview/library/CHANGELOG.json b/packages/charts/react-charts-preview/library/CHANGELOG.json
index 94ed98519669a4..8c8ca8cd805bd6 100644
--- a/packages/charts/react-charts-preview/library/CHANGELOG.json
+++ b/packages/charts/react-charts-preview/library/CHANGELOG.json
@@ -1,6 +1,57 @@
 {
   "name": "@fluentui/react-charts-preview",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-charts-preview_v0.1.7",
+      "version": "0.1.7",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-button to v9.3.100",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-overflow to v9.2.7",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-popover to v9.9.31",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-tooltip to v9.5.4",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-charts-preview",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-charts-preview_v0.1.6",
diff --git a/packages/charts/react-charts-preview/library/CHANGELOG.md b/packages/charts/react-charts-preview/library/CHANGELOG.md
index ede8b5d0bf0233..804e04942d8714 100644
--- a/packages/charts/react-charts-preview/library/CHANGELOG.md
+++ b/packages/charts/react-charts-preview/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-charts-preview
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.1.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-charts-preview_v0.1.7)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charts-preview_v0.1.6..@fluentui/react-charts-preview_v0.1.7)
+
+### Patches
+
+- Bump @fluentui/react-button to v9.3.100 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-overflow to v9.2.7 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-popover to v9.9.31 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tooltip to v9.5.4 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [0.1.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-charts-preview_v0.1.6)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/charts/react-charts-preview/library/package.json b/packages/charts/react-charts-preview/library/package.json
index 2bcc9cb58d91b8..548ee0fe1f743c 100644
--- a/packages/charts/react-charts-preview/library/package.json
+++ b/packages/charts/react-charts-preview/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-charts-preview",
-  "version": "0.1.6",
+  "version": "0.1.7",
   "description": "React web chart controls for Microsoft fluentui v9 system.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -37,15 +37,15 @@
     "@fluentui/scripts-tasks": "*"
   },
   "dependencies": {
-    "@fluentui/react-button": "^9.3.99",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-overflow": "^9.2.6",
-    "@fluentui/react-popover": "^9.9.30",
+    "@fluentui/react-button": "^9.3.100",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-overflow": "^9.2.7",
+    "@fluentui/react-popover": "^9.9.31",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-tooltip": "^9.5.3",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-tooltip": "^9.5.4",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
     "@types/d3-array": "^3.0.0",
diff --git a/packages/react-components/babel-preset-global-context/CHANGELOG.json b/packages/react-components/babel-preset-global-context/CHANGELOG.json
index 4aad018887c9b1..e8a001752075a3 100644
--- a/packages/react-components/babel-preset-global-context/CHANGELOG.json
+++ b/packages/react-components/babel-preset-global-context/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/babel-preset-global-context",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/babel-preset-global-context_v9.0.0-beta.79",
+      "version": "9.0.0-beta.79",
+      "comments": {
+        "prerelease": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/babel-preset-global-context",
+            "comment": "Bump @fluentui/global-context to v9.0.0-beta.79",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/babel-preset-global-context_v9.0.0-beta.78",
diff --git a/packages/react-components/babel-preset-global-context/CHANGELOG.md b/packages/react-components/babel-preset-global-context/CHANGELOG.md
index 3c1e3659ab4490..d8a7774770321c 100644
--- a/packages/react-components/babel-preset-global-context/CHANGELOG.md
+++ b/packages/react-components/babel-preset-global-context/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/babel-preset-global-context
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.0-beta.79](https://github.com/microsoft/fluentui/tree/@fluentui/babel-preset-global-context_v9.0.0-beta.79)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/babel-preset-global-context_v9.0.0-beta.78..@fluentui/babel-preset-global-context_v9.0.0-beta.79)
+
+### Changes
+
+- Bump @fluentui/global-context to v9.0.0-beta.79 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.0-beta.78](https://github.com/microsoft/fluentui/tree/@fluentui/babel-preset-global-context_v9.0.0-beta.78)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/babel-preset-global-context/package.json b/packages/react-components/babel-preset-global-context/package.json
index ae065f3a0ae66e..561d0fcb493c63 100644
--- a/packages/react-components/babel-preset-global-context/package.json
+++ b/packages/react-components/babel-preset-global-context/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/babel-preset-global-context",
-  "version": "9.0.0-beta.78",
+  "version": "9.0.0-beta.79",
   "description": "Babel preset that transforms createContext calls to use global context shims",
   "main": "lib-commonjs/index.js",
   "typings": "./dist/index.d.ts",
@@ -25,7 +25,7 @@
     "find-up": "^5.0.0"
   },
   "peerDependencies": {
-    "@fluentui/global-context": "9.0.0-beta.78"
+    "@fluentui/global-context": "9.0.0-beta.79"
   },
   "beachball": {
     "disallowedChangeTypes": [
diff --git a/packages/react-components/global-context/CHANGELOG.json b/packages/react-components/global-context/CHANGELOG.json
index 883ca394b5b52e..1f4a5e1fbc23fc 100644
--- a/packages/react-components/global-context/CHANGELOG.json
+++ b/packages/react-components/global-context/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/global-context",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/global-context_v9.0.0-beta.79",
+      "version": "9.0.0-beta.79",
+      "comments": {
+        "prerelease": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/global-context",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/global-context",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/global-context_v9.0.0-beta.78",
diff --git a/packages/react-components/global-context/CHANGELOG.md b/packages/react-components/global-context/CHANGELOG.md
index edef96c00de15b..d9fa75d8193239 100644
--- a/packages/react-components/global-context/CHANGELOG.md
+++ b/packages/react-components/global-context/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/global-context
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.0-beta.79](https://github.com/microsoft/fluentui/tree/@fluentui/global-context_v9.0.0-beta.79)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/global-context_v9.0.0-beta.78..@fluentui/global-context_v9.0.0-beta.79)
+
+### Changes
+
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.0-beta.78](https://github.com/microsoft/fluentui/tree/@fluentui/global-context_v9.0.0-beta.78)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/global-context/package.json b/packages/react-components/global-context/package.json
index ba64f0ebcac54f..de6cb8687f61f5 100644
--- a/packages/react-components/global-context/package.json
+++ b/packages/react-components/global-context/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/global-context",
-  "version": "9.0.0-beta.78",
+  "version": "9.0.0-beta.79",
   "description": "Extension of React createContext to be a true singleton on the global scope",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -17,8 +17,8 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-utilities": "^9.18.20",
     "@swc/helpers": "^0.5.1"
   },
   "peerDependencies": {
diff --git a/packages/react-components/react-accordion/library/CHANGELOG.json b/packages/react-components/react-accordion/library/CHANGELOG.json
index 6d918b9c6a9ec7..4233a7d940dc2c 100644
--- a/packages/react-components/react-accordion/library/CHANGELOG.json
+++ b/packages/react-components/react-accordion/library/CHANGELOG.json
@@ -1,6 +1,65 @@
 {
   "name": "@fluentui/react-accordion",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:14 GMT",
+      "tag": "@fluentui/react-accordion_v9.5.14",
+      "version": "9.5.14",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-accordion",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-motion to v9.6.7",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-accordion",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-accordion_v9.5.13",
diff --git a/packages/react-components/react-accordion/library/CHANGELOG.md b/packages/react-components/react-accordion/library/CHANGELOG.md
index 5f4519eed6cf93..9af72439ec4335 100644
--- a/packages/react-components/react-accordion/library/CHANGELOG.md
+++ b/packages/react-components/react-accordion/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-accordion
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:14 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.5.14](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v9.5.14)
+
+Wed, 22 Jan 2025 14:00:14 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-accordion_v9.5.13..@fluentui/react-accordion_v9.5.14)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion to v9.6.7 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.5.13](https://github.com/microsoft/fluentui/tree/@fluentui/react-accordion_v9.5.13)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-accordion/library/package.json b/packages/react-components/react-accordion/library/package.json
index b9812bfd106852..ba589605e4aa54 100644
--- a/packages/react-components/react-accordion/library/package.json
+++ b/packages/react-components/react-accordion/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-accordion",
-  "version": "9.5.13",
+  "version": "9.5.14",
   "description": "Fluent UI accordion component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,16 +18,16 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-motion": "^9.6.6",
-    "@fluentui/react-motion-components-preview": "^0.4.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-motion": "^9.6.7",
+    "@fluentui/react-motion-components-preview": "^0.4.3",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-aria/library/CHANGELOG.json b/packages/react-components/react-aria/library/CHANGELOG.json
index bd4d8fd100391d..354ff83f424f2d 100644
--- a/packages/react-components/react-aria/library/CHANGELOG.json
+++ b/packages/react-components/react-aria/library/CHANGELOG.json
@@ -1,6 +1,41 @@
 {
   "name": "@fluentui/react-aria",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:14 GMT",
+      "tag": "@fluentui/react-aria_v9.13.14",
+      "version": "9.13.14",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-aria",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-aria",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-aria",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-aria",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-aria_v9.13.13",
diff --git a/packages/react-components/react-aria/library/CHANGELOG.md b/packages/react-components/react-aria/library/CHANGELOG.md
index de32309340dabb..1ad9d577a45748 100644
--- a/packages/react-components/react-aria/library/CHANGELOG.md
+++ b/packages/react-components/react-aria/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-aria
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:14 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.13.14](https://github.com/microsoft/fluentui/tree/@fluentui/react-aria_v9.13.14)
+
+Wed, 22 Jan 2025 14:00:14 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-aria_v9.13.13..@fluentui/react-aria_v9.13.14)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.13.13](https://github.com/microsoft/fluentui/tree/@fluentui/react-aria_v9.13.13)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-aria/library/package.json b/packages/react-components/react-aria/library/package.json
index 8df4f1e8f2d1dc..a3e71a3422df04 100644
--- a/packages/react-components/react-aria/library/package.json
+++ b/packages/react-components/react-aria/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-aria",
-  "version": "9.13.13",
+  "version": "9.13.14",
   "description": "React helper to ensure ARIA",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,9 +20,9 @@
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-tabster": "^9.23.3",
+    "@fluentui/react-utilities": "^9.18.20",
     "@swc/helpers": "^0.5.1"
   },
   "peerDependencies": {
diff --git a/packages/react-components/react-avatar/library/CHANGELOG.json b/packages/react-components/react-avatar/library/CHANGELOG.json
index 20f5de14d1b2a7..5d7f86f725c8c9 100644
--- a/packages/react-components/react-avatar/library/CHANGELOG.json
+++ b/packages/react-components/react-avatar/library/CHANGELOG.json
@@ -1,6 +1,65 @@
 {
   "name": "@fluentui/react-avatar",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:14 GMT",
+      "tag": "@fluentui/react-avatar_v9.6.49",
+      "version": "9.6.49",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-avatar",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-badge to v9.2.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-popover to v9.9.31",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-tooltip to v9.5.4",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-avatar",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-avatar_v9.6.48",
diff --git a/packages/react-components/react-avatar/library/CHANGELOG.md b/packages/react-components/react-avatar/library/CHANGELOG.md
index 944829443990ca..7256a95595839e 100644
--- a/packages/react-components/react-avatar/library/CHANGELOG.md
+++ b/packages/react-components/react-avatar/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-avatar
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:14 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.49](https://github.com/microsoft/fluentui/tree/@fluentui/react-avatar_v9.6.49)
+
+Wed, 22 Jan 2025 14:00:14 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-avatar_v9.6.48..@fluentui/react-avatar_v9.6.49)
+
+### Patches
+
+- Bump @fluentui/react-badge to v9.2.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-popover to v9.9.31 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tooltip to v9.5.4 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.6.48](https://github.com/microsoft/fluentui/tree/@fluentui/react-avatar_v9.6.48)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-avatar/library/package.json b/packages/react-components/react-avatar/library/package.json
index 2f9d349d45ee4e..4c02410c71da77 100644
--- a/packages/react-components/react-avatar/library/package.json
+++ b/packages/react-components/react-avatar/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-avatar",
-  "version": "9.6.48",
+  "version": "9.6.49",
   "description": "React components for building Microsoft web experiences.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,16 +21,16 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-badge": "^9.2.49",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-badge": "^9.2.50",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-popover": "^9.9.30",
+    "@fluentui/react-popover": "^9.9.31",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-tooltip": "^9.5.3",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-tooltip": "^9.5.4",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-badge/library/CHANGELOG.json b/packages/react-components/react-badge/library/CHANGELOG.json
index f1cc7a2126c9a1..efac2d70c8eec3 100644
--- a/packages/react-components/react-badge/library/CHANGELOG.json
+++ b/packages/react-components/react-badge/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-badge",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-badge_v9.2.50",
+      "version": "9.2.50",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-badge",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-badge",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-badge_v9.2.49",
diff --git a/packages/react-components/react-badge/library/CHANGELOG.md b/packages/react-components/react-badge/library/CHANGELOG.md
index 6c04179d03e350..33347dfe86ee72 100644
--- a/packages/react-components/react-badge/library/CHANGELOG.md
+++ b/packages/react-components/react-badge/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-badge
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.50](https://github.com/microsoft/fluentui/tree/@fluentui/react-badge_v9.2.50)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-badge_v9.2.49..@fluentui/react-badge_v9.2.50)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.49](https://github.com/microsoft/fluentui/tree/@fluentui/react-badge_v9.2.49)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-badge/library/package.json b/packages/react-components/react-badge/library/package.json
index 25d81efe78c90c..870712d4dac4f7 100644
--- a/packages/react-components/react-badge/library/package.json
+++ b/packages/react-components/react-badge/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-badge",
-  "version": "9.2.49",
+  "version": "9.2.50",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,10 +19,10 @@
   },
   "dependencies": {
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-breadcrumb/library/CHANGELOG.json b/packages/react-components/react-breadcrumb/library/CHANGELOG.json
index 0fb1591c357a6b..e6585c0b6e9822 100644
--- a/packages/react-components/react-breadcrumb/library/CHANGELOG.json
+++ b/packages/react-components/react-breadcrumb/library/CHANGELOG.json
@@ -1,6 +1,51 @@
 {
   "name": "@fluentui/react-breadcrumb",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-breadcrumb_v9.0.49",
+      "version": "9.0.49",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-button to v9.3.100",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-link to v9.3.7",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-breadcrumb",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-breadcrumb_v9.0.48",
diff --git a/packages/react-components/react-breadcrumb/library/CHANGELOG.md b/packages/react-components/react-breadcrumb/library/CHANGELOG.md
index 703053e51edcfd..009e8ab911cd64 100644
--- a/packages/react-components/react-breadcrumb/library/CHANGELOG.md
+++ b/packages/react-components/react-breadcrumb/library/CHANGELOG.md
@@ -1,9 +1,23 @@
 # Change Log - @fluentui/react-breadcrumb
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.49](https://github.com/microsoft/fluentui/tree/@fluentui/react-breadcrumb_v9.0.49)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-breadcrumb_v9.0.48..@fluentui/react-breadcrumb_v9.0.49)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-button to v9.3.100 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-link to v9.3.7 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.48](https://github.com/microsoft/fluentui/tree/@fluentui/react-breadcrumb_v9.0.48)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-breadcrumb/library/package.json b/packages/react-components/react-breadcrumb/library/package.json
index 55e7425017793e..16a086dc4ca01e 100644
--- a/packages/react-components/react-breadcrumb/library/package.json
+++ b/packages/react-components/react-breadcrumb/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-breadcrumb",
-  "version": "9.0.48",
+  "version": "9.0.49",
   "description": "Breadcrumb component for Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -22,15 +22,15 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-button": "^9.3.99",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-button": "^9.3.100",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-link": "^9.3.6",
+    "@fluentui/react-link": "^9.3.7",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-button/library/CHANGELOG.json b/packages/react-components/react-button/library/CHANGELOG.json
index d7913c861648d2..fa248b35557474 100644
--- a/packages/react-components/react-button/library/CHANGELOG.json
+++ b/packages/react-components/react-button/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-button",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-button_v9.3.100",
+      "version": "9.3.100",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-button",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-button",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-button",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-button",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-button_v9.3.99",
diff --git a/packages/react-components/react-button/library/CHANGELOG.md b/packages/react-components/react-button/library/CHANGELOG.md
index 55ed9021a9fb48..820d20a9ecd3a6 100644
--- a/packages/react-components/react-button/library/CHANGELOG.md
+++ b/packages/react-components/react-button/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-button
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.100](https://github.com/microsoft/fluentui/tree/@fluentui/react-button_v9.3.100)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-button_v9.3.99..@fluentui/react-button_v9.3.100)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.3.99](https://github.com/microsoft/fluentui/tree/@fluentui/react-button_v9.3.99)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-button/library/package.json b/packages/react-components/react-button/library/package.json
index b632cf2d08c840..536b17b0df1ee9 100644
--- a/packages/react-components/react-button/library/package.json
+++ b/packages/react-components/react-button/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-button",
-  "version": "9.3.99",
+  "version": "9.3.100",
   "description": "Fluent UI React Button component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,13 +20,13 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-aria": "^9.13.14",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-calendar-compat/library/CHANGELOG.json b/packages/react-components/react-calendar-compat/library/CHANGELOG.json
index edb0f761aaea45..e1687b5f89adb1 100644
--- a/packages/react-components/react-calendar-compat/library/CHANGELOG.json
+++ b/packages/react-components/react-calendar-compat/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-calendar-compat",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-calendar-compat_v0.1.26",
+      "version": "0.1.26",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-calendar-compat",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-calendar-compat",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-calendar-compat",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-calendar-compat_v0.1.25",
diff --git a/packages/react-components/react-calendar-compat/library/CHANGELOG.md b/packages/react-components/react-calendar-compat/library/CHANGELOG.md
index c0f3f3865b4c77..00592358ba8ed7 100644
--- a/packages/react-components/react-calendar-compat/library/CHANGELOG.md
+++ b/packages/react-components/react-calendar-compat/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-calendar-compat
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.1.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.1.26)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.1.25..@fluentui/react-calendar-compat_v0.1.26)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [0.1.25](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.1.25)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-calendar-compat/library/package.json b/packages/react-components/react-calendar-compat/library/package.json
index 8dfb256dc9abf6..89995e6fa3c48f 100644
--- a/packages/react-components/react-calendar-compat/library/package.json
+++ b/packages/react-components/react-calendar-compat/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-calendar-compat",
-  "version": "0.1.25",
+  "version": "0.1.26",
   "description": "Calendar compat component for Fluent UI v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,11 +20,11 @@
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-card/library/CHANGELOG.json b/packages/react-components/react-card/library/CHANGELOG.json
index 98cac8664bfbe8..e31bc1b0b00a6c 100644
--- a/packages/react-components/react-card/library/CHANGELOG.json
+++ b/packages/react-components/react-card/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-card",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-card_v9.0.102",
+      "version": "9.0.102",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-card",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-card",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-card",
+            "comment": "Bump @fluentui/react-text to v9.4.32",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-card",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-card_v9.0.101",
diff --git a/packages/react-components/react-card/library/CHANGELOG.md b/packages/react-components/react-card/library/CHANGELOG.md
index 3e15430679e69c..2cea98f8842eff 100644
--- a/packages/react-components/react-card/library/CHANGELOG.md
+++ b/packages/react-components/react-card/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-card
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.102](https://github.com/microsoft/fluentui/tree/@fluentui/react-card_v9.0.102)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-card_v9.0.101..@fluentui/react-card_v9.0.102)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-text to v9.4.32 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.101](https://github.com/microsoft/fluentui/tree/@fluentui/react-card_v9.0.101)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-card/library/package.json b/packages/react-components/react-card/library/package.json
index f0a088e09f34b2..7a18f4bc807fc9 100644
--- a/packages/react-components/react-card/library/package.json
+++ b/packages/react-components/react-card/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-card",
-  "version": "9.0.101",
+  "version": "9.0.102",
   "private": false,
   "description": "Card container components for Fluent UI React.",
   "main": "lib-commonjs/index.js",
@@ -23,11 +23,11 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-text": "^9.4.31",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-tabster": "^9.23.3",
+    "@fluentui/react-text": "^9.4.32",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-carousel/library/CHANGELOG.json b/packages/react-components/react-carousel/library/CHANGELOG.json
index 0081147104e9ac..792b4e5f87f761 100644
--- a/packages/react-components/react-carousel/library/CHANGELOG.json
+++ b/packages/react-components/react-carousel/library/CHANGELOG.json
@@ -1,6 +1,51 @@
 {
   "name": "@fluentui/react-carousel",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-carousel_v9.4.5",
+      "version": "9.4.5",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-carousel",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-carousel",
+            "comment": "Bump @fluentui/react-button to v9.3.100",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-carousel",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-carousel",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-carousel",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-carousel",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-carousel_v9.4.4",
diff --git a/packages/react-components/react-carousel/library/CHANGELOG.md b/packages/react-components/react-carousel/library/CHANGELOG.md
index ffcbf93a31bdd2..c0a4f27c42e88b 100644
--- a/packages/react-components/react-carousel/library/CHANGELOG.md
+++ b/packages/react-components/react-carousel/library/CHANGELOG.md
@@ -1,9 +1,23 @@
 # Change Log - @fluentui/react-carousel
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.4.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-carousel_v9.4.5)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-carousel_v9.4.4..@fluentui/react-carousel_v9.4.5)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-button to v9.3.100 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.4.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-carousel_v9.4.4)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-carousel/library/package.json b/packages/react-components/react-carousel/library/package.json
index 8f8e5514146c4f..b4003021fdc1f6 100644
--- a/packages/react-components/react-carousel/library/package.json
+++ b/packages/react-components/react-carousel/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-carousel",
-  "version": "9.4.4",
+  "version": "9.4.5",
   "description": "A composable carousel component that enables pagination with minimal rerenders",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -25,15 +25,15 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-button": "^9.3.99",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-button": "^9.3.100",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
     "embla-carousel": "^8.5.1",
diff --git a/packages/react-components/react-checkbox/library/CHANGELOG.json b/packages/react-components/react-checkbox/library/CHANGELOG.json
index be6eaffe0562ac..b004e64ea85311 100644
--- a/packages/react-components/react-checkbox/library/CHANGELOG.json
+++ b/packages/react-components/react-checkbox/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-checkbox",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-checkbox_v9.2.46",
+      "version": "9.2.46",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-checkbox",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-checkbox",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-checkbox",
+            "comment": "Bump @fluentui/react-label to v9.1.83",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-checkbox",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-checkbox",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-checkbox_v9.2.45",
diff --git a/packages/react-components/react-checkbox/library/CHANGELOG.md b/packages/react-components/react-checkbox/library/CHANGELOG.md
index 77f54ee619c374..ab98250e96c6ec 100644
--- a/packages/react-components/react-checkbox/library/CHANGELOG.md
+++ b/packages/react-components/react-checkbox/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-checkbox
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.46](https://github.com/microsoft/fluentui/tree/@fluentui/react-checkbox_v9.2.46)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-checkbox_v9.2.45..@fluentui/react-checkbox_v9.2.46)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-label to v9.1.83 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.45](https://github.com/microsoft/fluentui/tree/@fluentui/react-checkbox_v9.2.45)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-checkbox/library/package.json b/packages/react-components/react-checkbox/library/package.json
index 60de9de02621c0..a375e707c8dc70 100644
--- a/packages/react-components/react-checkbox/library/package.json
+++ b/packages/react-components/react-checkbox/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-checkbox",
-  "version": "9.2.45",
+  "version": "9.2.46",
   "description": "Fluent UI checkbox component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,14 +18,14 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-field": "^9.1.85",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-label": "^9.1.82",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-label": "^9.1.83",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-color-picker-preview/library/CHANGELOG.json b/packages/react-components/react-color-picker-preview/library/CHANGELOG.json
index f8e64896e9ddc1..564d0819ed10f7 100644
--- a/packages/react-components/react-color-picker-preview/library/CHANGELOG.json
+++ b/packages/react-components/react-color-picker-preview/library/CHANGELOG.json
@@ -1,6 +1,71 @@
 {
   "name": "@fluentui/react-color-picker-preview",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:14 GMT",
+      "tag": "@fluentui/react-color-picker-preview_v0.1.4",
+      "version": "0.1.4",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          }
+        ],
+        "patch": [
+          {
+            "author": "makotom@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "e7a954abbbe42a13ba302f28710a908cd34b72b9",
+            "comment": "chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages."
+          },
+          {
+            "author": "vkozlova@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "9ed5fce8dda03bb85d583a23478ed298e51d305d",
+            "comment": "fix: focus jumps to inputY instead of next element"
+          },
+          {
+            "author": "v.kozlova13@gmail.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "f1a15496cf7c7121f4d163e2394d5647fbe9eb96",
+            "comment": "feat: Added `transparent` option to the AlphaSlider"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-color-picker-preview",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-color-picker-preview",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-color-picker-preview",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-color-picker-preview",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:32 GMT",
       "tag": "@fluentui/react-color-picker-preview_v0.1.3",
diff --git a/packages/react-components/react-color-picker-preview/library/CHANGELOG.md b/packages/react-components/react-color-picker-preview/library/CHANGELOG.md
index 52bcf72cde4c4d..be239d64392bd9 100644
--- a/packages/react-components/react-color-picker-preview/library/CHANGELOG.md
+++ b/packages/react-components/react-color-picker-preview/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-color-picker-preview
 
-This log was last generated on Wed, 08 Jan 2025 18:33:32 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:14 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.1.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-color-picker-preview_v0.1.4)
+
+Wed, 22 Jan 2025 14:00:14 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-color-picker-preview_v0.1.3..@fluentui/react-color-picker-preview_v0.1.4)
+
+### Patches
+
+- chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages. ([PR #33611](https://github.com/microsoft/fluentui/pull/33611) by makotom@microsoft.com)
+- fix: focus jumps to inputY instead of next element ([PR #33620](https://github.com/microsoft/fluentui/pull/33620) by vkozlova@microsoft.com)
+- feat: Added `transparent` option to the AlphaSlider ([PR #33572](https://github.com/microsoft/fluentui/pull/33572) by v.kozlova13@gmail.com)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [0.1.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-color-picker-preview_v0.1.3)
 
 Wed, 08 Jan 2025 18:33:32 GMT 
diff --git a/packages/react-components/react-color-picker-preview/library/package.json b/packages/react-components/react-color-picker-preview/library/package.json
index 04b24ee067e828..66e8b1d5e9fd44 100644
--- a/packages/react-components/react-color-picker-preview/library/package.json
+++ b/packages/react-components/react-color-picker-preview/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-color-picker-preview",
-  "version": "0.1.3",
+  "version": "0.1.4",
   "description": "ColorPicker component for Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -25,12 +25,12 @@
   },
   "dependencies": {
     "@ctrl/tinycolor": "^3.3.4",
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-colorpicker-compat/package.json b/packages/react-components/react-colorpicker-compat/package.json
index e9209a38f85286..0b094aaac00793 100644
--- a/packages/react-components/react-colorpicker-compat/package.json
+++ b/packages/react-components/react-colorpicker-compat/package.json
@@ -19,9 +19,9 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-combobox/library/CHANGELOG.json b/packages/react-components/react-combobox/library/CHANGELOG.json
index 03ad9f5d9ce256..ef9f84b29bbb64 100644
--- a/packages/react-components/react-combobox/library/CHANGELOG.json
+++ b/packages/react-components/react-combobox/library/CHANGELOG.json
@@ -1,6 +1,71 @@
 {
   "name": "@fluentui/react-combobox",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:16 GMT",
+      "tag": "@fluentui/react-combobox_v9.13.17",
+      "version": "9.13.17",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-combobox",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-portal to v9.4.42",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-positioning to v9.16.2",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-combobox",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-combobox_v9.13.16",
diff --git a/packages/react-components/react-combobox/library/CHANGELOG.md b/packages/react-components/react-combobox/library/CHANGELOG.md
index 9d10ca0edeb740..e2f38640b8aaff 100644
--- a/packages/react-components/react-combobox/library/CHANGELOG.md
+++ b/packages/react-components/react-combobox/library/CHANGELOG.md
@@ -1,9 +1,25 @@
 # Change Log - @fluentui/react-combobox
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:16 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.13.17](https://github.com/microsoft/fluentui/tree/@fluentui/react-combobox_v9.13.17)
+
+Wed, 22 Jan 2025 14:00:16 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-combobox_v9.13.16..@fluentui/react-combobox_v9.13.17)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-portal to v9.4.42 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-positioning to v9.16.2 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.13.16](https://github.com/microsoft/fluentui/tree/@fluentui/react-combobox_v9.13.16)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-combobox/library/package.json b/packages/react-components/react-combobox/library/package.json
index 4500264946ddb9..5944cefc3a1ab2 100644
--- a/packages/react-components/react-combobox/library/package.json
+++ b/packages/react-components/react-combobox/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-combobox",
-  "version": "9.13.16",
+  "version": "9.13.17",
   "description": "Fluent UI React Combobox component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,18 +19,18 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-aria": "^9.13.14",
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-field": "^9.1.85",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-portal": "^9.4.41",
-    "@fluentui/react-positioning": "^9.16.1",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-portal": "^9.4.42",
+    "@fluentui/react-positioning": "^9.16.2",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-components/CHANGELOG.json b/packages/react-components/react-components/CHANGELOG.json
index c695eca381bf9f..1a601a7b97fa76 100644
--- a/packages/react-components/react-components/CHANGELOG.json
+++ b/packages/react-components/react-components/CHANGELOG.json
@@ -1,6 +1,319 @@
 {
   "name": "@fluentui/react-components",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:07 GMT",
+      "tag": "@fluentui/react-components_v9.58.0",
+      "version": "9.58.0",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-popover",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-positioning",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-radio",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-switch",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-table",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-tabs",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-tabster",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "docs: fix invalid TSdoc that is causing warnings within generate-api task"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-tabster",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-toast",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-tooltip",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-tooltip",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-tree",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-utilities",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-virtualizer",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-virtualizer",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-accordion",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-aria",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-avatar",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-combobox",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-components",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-conformance",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-icons-compat",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-menu",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-message-bar",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-motion",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-motion-components-preview",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-motion-components-preview",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-nav-preview",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          }
+        ],
+        "minor": [
+          {
+            "author": "makotom@microsoft.com",
+            "package": "@fluentui/react-provider",
+            "commit": "a8c0c467fdcdb1f721350b5cbd4ed6dd84e0715c",
+            "comment": "fix: Updating FluentProvider types to avoid implicit import in API definition."
+          },
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-tag-picker",
+            "commit": "e706ac0ac7f2aa46a7f6f48efda24938a539a835",
+            "comment": "feature: single line layout"
+          },
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-tree",
+            "commit": "246f5b3ed047531f7a329ad8ca7e5693cd3838a9",
+            "comment": "feature: introduces navigationMode property"
+          },
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-tree",
+            "commit": "620ea3f1daa6a4cf9bb37961569f4756c3b3f95f",
+            "comment": "feature: TreeRootReset component"
+          },
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-components",
+            "commit": "e706ac0ac7f2aa46a7f6f48efda24938a539a835",
+            "comment": "feature: re-export react-tag-picker context"
+          },
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-components",
+            "commit": "620ea3f1daa6a4cf9bb37961569f4756c3b3f95f",
+            "comment": "feature: TreeRootReset component"
+          },
+          {
+            "author": "matejera@microsoft.com",
+            "package": "@fluentui/react-nav-preview",
+            "commit": "93063df115dbd3bec400c581353b190e7952de6e",
+            "comment": "[BREAKING CHANGE] Replacing NavSize type and size prop with NavDensity type and density prop to avoid collisions with size on base Drawer component. "
+          }
+        ],
+        "patch": [
+          {
+            "author": "carla.muntean@microsoft.com",
+            "package": "@fluentui/react-spinbutton",
+            "commit": "5afd9daa49ae9ca719260238b2b64451e575d913",
+            "comment": "fix spinbutton test"
+          },
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-tag-picker",
+            "commit": "b987de6afa58c99706f17fa52aa0d64fc1f38643",
+            "comment": "bugfix: secondaryContent not displaying properly"
+          },
+          {
+            "author": "viktorgenaev@microsoft.com",
+            "package": "@fluentui/react-tooltip",
+            "commit": "4db8229aa6938526432af9511f247072c21a72ac",
+            "comment": "fix: wrong call of useIsNavigatingWithKeyboard"
+          },
+          {
+            "author": "dmytrokirpa@microsoft.com",
+            "package": "@fluentui/react-utilities",
+            "commit": "8cf401d626def27ad679f9e53928533df9f9ef52",
+            "comment": "fix: add autoCorrect and minLength input properties support to getNativeProps utility"
+          },
+          {
+            "author": "makotom@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "e7a954abbbe42a13ba302f28710a908cd34b72b9",
+            "comment": "chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages."
+          },
+          {
+            "author": "vkozlova@microsoft.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "9ed5fce8dda03bb85d583a23478ed298e51d305d",
+            "comment": "fix: focus jumps to inputY instead of next element"
+          },
+          {
+            "author": "v.kozlova13@gmail.com",
+            "package": "@fluentui/react-color-picker-preview",
+            "commit": "f1a15496cf7c7121f4d163e2394d5647fbe9eb96",
+            "comment": "feat: Added `transparent` option to the AlphaSlider"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-link",
+            "commit": "928fdced4834242a829327af1db00f51f9dbd382",
+            "comment": "fix: support Enter and Space interaction, if rendered as span"
+          },
+          {
+            "author": "makotom@microsoft.com",
+            "package": "@fluentui/react-migration-v8-v9",
+            "commit": "e7a954abbbe42a13ba302f28710a908cd34b72b9",
+            "comment": "chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages."
+          },
+          {
+            "author": "olfedias@microsoft.com",
+            "package": "@fluentui/react-motion",
+            "commit": "ab6a30284d152c9ecde274e0cfc0579d002a7bbb",
+            "comment": "feat: add extended support for reduced motion"
+          },
+          {
+            "author": "robertpenner@microsoft.com",
+            "package": "@fluentui/react-motion-components-preview",
+            "commit": "9331bcc59d84d033784c73eab870155a02286ce5",
+            "comment": "refactor(Collapse): streamline motion atom functions"
+          },
+          {
+            "author": "matejera@microsoft.com",
+            "package": "@fluentui/react-nav-preview",
+            "commit": "befe9020d9198ff7f3d7e9042fc2c249c874b050",
+            "comment": "fix: Speeding up animations in Nav."
+          },
+          {
+            "author": "matejera@microsoft.com",
+            "package": "@fluentui/react-nav-preview",
+            "commit": "e561700253aaaf2c6e17e5c70bf10c12c434bd96",
+            "comment": "fix - changing hover animation curve to linear."
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:32 GMT",
       "tag": "@fluentui/react-components_v9.57.0",
diff --git a/packages/react-components/react-components/CHANGELOG.md b/packages/react-components/react-components/CHANGELOG.md
index afacfc2fae0f59..e790e19b05fd4c 100644
--- a/packages/react-components/react-components/CHANGELOG.md
+++ b/packages/react-components/react-components/CHANGELOG.md
@@ -1,9 +1,55 @@
 # Change Log - @fluentui/react-components
 
-This log was last generated on Wed, 08 Jan 2025 18:33:32 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:07 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.58.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-components_v9.58.0)
+
+Wed, 22 Jan 2025 14:00:07 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.57.0..@fluentui/react-components_v9.58.0)
+
+### Minor changes
+
+- `@fluentui/react-provider`
+  - fix: Updating FluentProvider types to avoid implicit import in API definition. ([PR #33590](https://github.com/microsoft/fluentui/pull/33590) by makotom@microsoft.com)
+- `@fluentui/react-tag-picker`
+  - feature: single line layout ([PR #32247](https://github.com/microsoft/fluentui/pull/32247) by bernardo.sunderhus@gmail.com)
+- `@fluentui/react-tree`
+  - feature: introduces navigationMode property ([PR #33658](https://github.com/microsoft/fluentui/pull/33658) by bernardo.sunderhus@gmail.com)
+  - feature: TreeRootReset component ([PR #33663](https://github.com/microsoft/fluentui/pull/33663) by bernardo.sunderhus@gmail.com)
+- `@fluentui/react-components`
+  - feature: re-export react-tag-picker context ([PR #32247](https://github.com/microsoft/fluentui/pull/32247) by bernardo.sunderhus@gmail.com)
+  - feature: TreeRootReset component ([PR #33663](https://github.com/microsoft/fluentui/pull/33663) by bernardo.sunderhus@gmail.com)
+- `@fluentui/react-nav-preview`
+  - [BREAKING CHANGE] Replacing NavSize type and size prop with NavDensity type and density prop to avoid collisions with size on base Drawer component.  ([PR #33559](https://github.com/microsoft/fluentui/pull/33559) by matejera@microsoft.com)
+
+### Patches
+
+- `@fluentui/react-spinbutton`
+  - fix spinbutton test ([PR #33680](https://github.com/microsoft/fluentui/pull/33680) by carla.muntean@microsoft.com)
+- `@fluentui/react-tag-picker`
+  - bugfix: secondaryContent not displaying properly ([PR #33689](https://github.com/microsoft/fluentui/pull/33689) by bernardo.sunderhus@gmail.com)
+- `@fluentui/react-tooltip`
+  - fix: wrong call of useIsNavigatingWithKeyboard ([PR #33666](https://github.com/microsoft/fluentui/pull/33666) by viktorgenaev@microsoft.com)
+- `@fluentui/react-utilities`
+  - fix: add autoCorrect and minLength input properties support to getNativeProps utility ([PR #33642](https://github.com/microsoft/fluentui/pull/33642) by dmytrokirpa@microsoft.com)
+- `@fluentui/react-color-picker-preview`
+  - chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages. ([PR #33611](https://github.com/microsoft/fluentui/pull/33611) by makotom@microsoft.com)
+  - fix: focus jumps to inputY instead of next element ([PR #33620](https://github.com/microsoft/fluentui/pull/33620) by vkozlova@microsoft.com)
+  - feat: Added `transparent` option to the AlphaSlider ([PR #33572](https://github.com/microsoft/fluentui/pull/33572) by v.kozlova13@gmail.com)
+- `@fluentui/react-link`
+  - fix: support Enter and Space interaction, if rendered as span ([PR #33587](https://github.com/microsoft/fluentui/pull/33587) by vgenaev@gmail.com)
+- `@fluentui/react-migration-v8-v9`
+  - chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages. ([PR #33611](https://github.com/microsoft/fluentui/pull/33611) by makotom@microsoft.com)
+- `@fluentui/react-motion`
+  - feat: add extended support for reduced motion ([PR #33353](https://github.com/microsoft/fluentui/pull/33353) by olfedias@microsoft.com)
+- `@fluentui/react-motion-components-preview`
+  - refactor(Collapse): streamline motion atom functions ([PR #33463](https://github.com/microsoft/fluentui/pull/33463) by robertpenner@microsoft.com)
+- `@fluentui/react-nav-preview`
+  - fix: Speeding up animations in Nav. ([PR #33588](https://github.com/microsoft/fluentui/pull/33588) by matejera@microsoft.com)
+  - fix - changing hover animation curve to linear. ([PR #33633](https://github.com/microsoft/fluentui/pull/33633) by matejera@microsoft.com)
+
 ## [9.57.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-components_v9.57.0)
 
 Wed, 08 Jan 2025 18:33:32 GMT 
diff --git a/packages/react-components/react-components/package.json b/packages/react-components/react-components/package.json
index ba48442cdf3a95..01a23fc53c6cee 100644
--- a/packages/react-components/react-components/package.json
+++ b/packages/react-components/react-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-components",
-  "version": "9.57.0",
+  "version": "9.58.0",
   "description": "Suite package for converged React components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -16,66 +16,66 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-accordion": "^9.5.13",
+    "@fluentui/react-accordion": "^9.5.14",
     "@fluentui/react-alert": "9.0.0-beta.124",
-    "@fluentui/react-avatar": "^9.6.48",
-    "@fluentui/react-badge": "^9.2.49",
-    "@fluentui/react-button": "^9.3.99",
-    "@fluentui/react-card": "^9.0.101",
-    "@fluentui/react-checkbox": "^9.2.45",
-    "@fluentui/react-combobox": "^9.13.16",
-    "@fluentui/react-dialog": "^9.11.27",
-    "@fluentui/react-divider": "^9.2.81",
-    "@fluentui/react-drawer": "^9.6.7",
-    "@fluentui/react-field": "^9.1.84",
-    "@fluentui/react-image": "^9.1.79",
+    "@fluentui/react-avatar": "^9.6.49",
+    "@fluentui/react-badge": "^9.2.50",
+    "@fluentui/react-button": "^9.3.100",
+    "@fluentui/react-card": "^9.0.102",
+    "@fluentui/react-checkbox": "^9.2.46",
+    "@fluentui/react-combobox": "^9.13.17",
+    "@fluentui/react-dialog": "^9.11.28",
+    "@fluentui/react-divider": "^9.2.82",
+    "@fluentui/react-drawer": "^9.6.8",
+    "@fluentui/react-field": "^9.1.85",
+    "@fluentui/react-image": "^9.1.80",
     "@fluentui/react-infobutton": "9.0.0-beta.102",
-    "@fluentui/react-infolabel": "^9.0.55",
-    "@fluentui/react-input": "^9.4.97",
-    "@fluentui/react-label": "^9.1.82",
-    "@fluentui/react-link": "^9.3.6",
-    "@fluentui/react-list": "^9.0.0",
-    "@fluentui/react-menu": "^9.14.25",
-    "@fluentui/react-overflow": "^9.2.6",
-    "@fluentui/react-persona": "^9.2.107",
-    "@fluentui/react-portal": "^9.4.41",
-    "@fluentui/react-popover": "^9.9.30",
-    "@fluentui/react-positioning": "^9.16.1",
-    "@fluentui/react-progress": "^9.1.95",
-    "@fluentui/react-provider": "^9.18.3",
-    "@fluentui/react-radio": "^9.2.40",
-    "@fluentui/react-select": "^9.1.95",
+    "@fluentui/react-infolabel": "^9.0.56",
+    "@fluentui/react-input": "^9.4.98",
+    "@fluentui/react-label": "^9.1.83",
+    "@fluentui/react-link": "^9.3.7",
+    "@fluentui/react-list": "^9.0.1",
+    "@fluentui/react-menu": "^9.14.26",
+    "@fluentui/react-overflow": "^9.2.7",
+    "@fluentui/react-persona": "^9.2.108",
+    "@fluentui/react-portal": "^9.4.42",
+    "@fluentui/react-popover": "^9.9.31",
+    "@fluentui/react-positioning": "^9.16.2",
+    "@fluentui/react-progress": "^9.1.96",
+    "@fluentui/react-provider": "^9.19.0",
+    "@fluentui/react-radio": "^9.2.41",
+    "@fluentui/react-select": "^9.1.96",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-skeleton": "^9.1.24",
-    "@fluentui/react-slider": "^9.2.4",
-    "@fluentui/react-spinbutton": "^9.2.96",
-    "@fluentui/react-spinner": "^9.5.6",
-    "@fluentui/react-swatch-picker": "^9.1.18",
-    "@fluentui/react-switch": "^9.1.102",
-    "@fluentui/react-table": "^9.15.27",
-    "@fluentui/react-tabs": "^9.6.6",
-    "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-tags": "^9.3.28",
-    "@fluentui/react-textarea": "^9.3.96",
+    "@fluentui/react-skeleton": "^9.1.25",
+    "@fluentui/react-slider": "^9.2.5",
+    "@fluentui/react-spinbutton": "^9.2.97",
+    "@fluentui/react-spinner": "^9.5.7",
+    "@fluentui/react-swatch-picker": "^9.1.19",
+    "@fluentui/react-switch": "^9.1.103",
+    "@fluentui/react-table": "^9.15.28",
+    "@fluentui/react-tabs": "^9.6.7",
+    "@fluentui/react-tabster": "^9.23.3",
+    "@fluentui/react-tags": "^9.3.29",
+    "@fluentui/react-textarea": "^9.3.97",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-toast": "^9.3.64",
-    "@fluentui/react-toolbar": "^9.2.14",
-    "@fluentui/react-tooltip": "^9.5.3",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-text": "^9.4.31",
-    "@fluentui/react-virtualizer": "9.0.0-alpha.90",
-    "@fluentui/react-tree": "^9.8.12",
+    "@fluentui/react-toast": "^9.3.65",
+    "@fluentui/react-toolbar": "^9.2.15",
+    "@fluentui/react-tooltip": "^9.5.4",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-text": "^9.4.32",
+    "@fluentui/react-virtualizer": "9.0.0-alpha.91",
+    "@fluentui/react-tree": "^9.9.0",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
-    "@fluentui/react-message-bar": "^9.3.0",
-    "@fluentui/react-breadcrumb": "^9.0.48",
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-rating": "^9.0.27",
-    "@fluentui/react-search": "^9.0.27",
-    "@fluentui/react-teaching-popover": "^9.2.0",
-    "@fluentui/react-tag-picker": "^9.3.14",
-    "@fluentui/react-motion": "^9.6.6",
-    "@fluentui/react-carousel": "^9.4.4"
+    "@fluentui/react-message-bar": "^9.3.1",
+    "@fluentui/react-breadcrumb": "^9.0.49",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-rating": "^9.0.28",
+    "@fluentui/react-search": "^9.0.28",
+    "@fluentui/react-teaching-popover": "^9.2.1",
+    "@fluentui/react-tag-picker": "^9.4.0",
+    "@fluentui/react-motion": "^9.6.7",
+    "@fluentui/react-carousel": "^9.4.5"
   },
   "peerDependencies": {
     "@types/react": ">=16.14.0 <19.0.0",
diff --git a/packages/react-components/react-context-selector/CHANGELOG.json b/packages/react-components/react-context-selector/CHANGELOG.json
index 87a070ca7ae9e8..8404e6721276b8 100644
--- a/packages/react-components/react-context-selector/CHANGELOG.json
+++ b/packages/react-components/react-context-selector/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-context-selector",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-context-selector_v9.1.72",
+      "version": "9.1.72",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-context-selector",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-context-selector_v9.1.71",
diff --git a/packages/react-components/react-context-selector/CHANGELOG.md b/packages/react-components/react-context-selector/CHANGELOG.md
index b1e76c5e9f53a7..e31ba859334729 100644
--- a/packages/react-components/react-context-selector/CHANGELOG.md
+++ b/packages/react-components/react-context-selector/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-context-selector
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.72](https://github.com/microsoft/fluentui/tree/@fluentui/react-context-selector_v9.1.72)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-context-selector_v9.1.71..@fluentui/react-context-selector_v9.1.72)
+
+### Patches
+
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.1.71](https://github.com/microsoft/fluentui/tree/@fluentui/react-context-selector_v9.1.71)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-context-selector/package.json b/packages/react-components/react-context-selector/package.json
index 0e787078551d1b..49f1992c90f8f3 100644
--- a/packages/react-components/react-context-selector/package.json
+++ b/packages/react-components/react-context-selector/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-context-selector",
-  "version": "9.1.71",
+  "version": "9.1.72",
   "description": "React useContextSelector hook in userland",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -16,7 +16,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@swc/helpers": "^0.5.1"
   },
   "peerDependencies": {
diff --git a/packages/react-components/react-datepicker-compat/library/CHANGELOG.json b/packages/react-components/react-datepicker-compat/library/CHANGELOG.json
index 9d9fff5f088e67..e633ab6f8a85f5 100644
--- a/packages/react-components/react-datepicker-compat/library/CHANGELOG.json
+++ b/packages/react-components/react-datepicker-compat/library/CHANGELOG.json
@@ -1,6 +1,69 @@
 {
   "name": "@fluentui/react-datepicker-compat",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-datepicker-compat_v0.4.61",
+      "version": "0.4.61",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-calendar-compat to v0.1.26",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-input to v9.4.98",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-popover to v9.9.31",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-portal to v9.4.42",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-positioning to v9.16.2",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-datepicker-compat",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-datepicker-compat_v0.4.60",
diff --git a/packages/react-components/react-datepicker-compat/library/CHANGELOG.md b/packages/react-components/react-datepicker-compat/library/CHANGELOG.md
index c05f0a647e00ec..1277b0d87b59d9 100644
--- a/packages/react-components/react-datepicker-compat/library/CHANGELOG.md
+++ b/packages/react-components/react-datepicker-compat/library/CHANGELOG.md
@@ -1,9 +1,26 @@
 # Change Log - @fluentui/react-datepicker-compat
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.4.61](https://github.com/microsoft/fluentui/tree/@fluentui/react-datepicker-compat_v0.4.61)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-datepicker-compat_v0.4.60..@fluentui/react-datepicker-compat_v0.4.61)
+
+### Patches
+
+- Bump @fluentui/react-calendar-compat to v0.1.26 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-input to v9.4.98 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-popover to v9.9.31 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-portal to v9.4.42 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-positioning to v9.16.2 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [0.4.60](https://github.com/microsoft/fluentui/tree/@fluentui/react-datepicker-compat_v0.4.60)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-datepicker-compat/library/package.json b/packages/react-components/react-datepicker-compat/library/package.json
index c389c90fbe7add..e18db5a152383a 100644
--- a/packages/react-components/react-datepicker-compat/library/package.json
+++ b/packages/react-components/react-datepicker-compat/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-datepicker-compat",
-  "version": "0.4.60",
+  "version": "0.4.61",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,18 +21,18 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-calendar-compat": "^0.1.25",
-    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-calendar-compat": "^0.1.26",
+    "@fluentui/react-field": "^9.1.85",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-input": "^9.4.97",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-popover": "^9.9.30",
-    "@fluentui/react-portal": "^9.4.41",
-    "@fluentui/react-positioning": "^9.16.1",
+    "@fluentui/react-input": "^9.4.98",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-popover": "^9.9.31",
+    "@fluentui/react-portal": "^9.4.42",
+    "@fluentui/react-positioning": "^9.16.2",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-dialog/library/CHANGELOG.json b/packages/react-components/react-dialog/library/CHANGELOG.json
index db2f8af9726443..281dd4720b0954 100644
--- a/packages/react-components/react-dialog/library/CHANGELOG.json
+++ b/packages/react-components/react-dialog/library/CHANGELOG.json
@@ -1,6 +1,63 @@
 {
   "name": "@fluentui/react-dialog",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-dialog_v9.11.28",
+      "version": "9.11.28",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-motion to v9.6.7",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-dialog",
+            "comment": "Bump @fluentui/react-portal to v9.4.42",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-dialog_v9.11.27",
diff --git a/packages/react-components/react-dialog/library/CHANGELOG.md b/packages/react-components/react-dialog/library/CHANGELOG.md
index c81c59e32589b5..dee22beab2ce14 100644
--- a/packages/react-components/react-dialog/library/CHANGELOG.md
+++ b/packages/react-components/react-dialog/library/CHANGELOG.md
@@ -1,9 +1,25 @@
 # Change Log - @fluentui/react-dialog
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.11.28](https://github.com/microsoft/fluentui/tree/@fluentui/react-dialog_v9.11.28)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-dialog_v9.11.27..@fluentui/react-dialog_v9.11.28)
+
+### Patches
+
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion to v9.6.7 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-portal to v9.4.42 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.11.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-dialog_v9.11.27)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-dialog/library/package.json b/packages/react-components/react-dialog/library/package.json
index 35ebfdfe0dbc31..761fcd369479e2 100644
--- a/packages/react-components/react-dialog/library/package.json
+++ b/packages/react-components/react-dialog/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-dialog",
-  "version": "9.11.27",
+  "version": "9.11.28",
   "description": "Dialog component for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -24,18 +24,18 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-motion": "^9.6.6",
-    "@fluentui/react-motion-components-preview": "^0.4.2",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-motion": "^9.6.7",
+    "@fluentui/react-motion-components-preview": "^0.4.3",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-aria": "^9.13.14",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-portal": "^9.4.41",
+    "@fluentui/react-portal": "^9.4.42",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-divider/library/CHANGELOG.json b/packages/react-components/react-divider/library/CHANGELOG.json
index cfd921712513ba..a6565fd3e7afff 100644
--- a/packages/react-components/react-divider/library/CHANGELOG.json
+++ b/packages/react-components/react-divider/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-divider",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-divider_v9.2.82",
+      "version": "9.2.82",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-divider",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-divider",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-divider_v9.2.81",
diff --git a/packages/react-components/react-divider/library/CHANGELOG.md b/packages/react-components/react-divider/library/CHANGELOG.md
index 38a29a2f69e7f1..95d8e36cd4bad9 100644
--- a/packages/react-components/react-divider/library/CHANGELOG.md
+++ b/packages/react-components/react-divider/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-divider
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.82](https://github.com/microsoft/fluentui/tree/@fluentui/react-divider_v9.2.82)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-divider_v9.2.81..@fluentui/react-divider_v9.2.82)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.81](https://github.com/microsoft/fluentui/tree/@fluentui/react-divider_v9.2.81)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-divider/library/package.json b/packages/react-components/react-divider/library/package.json
index 485f8b83c26716..458ab8c0fe3bc2 100644
--- a/packages/react-components/react-divider/library/package.json
+++ b/packages/react-components/react-divider/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-divider",
-  "version": "9.2.81",
+  "version": "9.2.82",
   "description": "Fluent UI component to visually separate content.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,10 +18,10 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-drawer/library/CHANGELOG.json b/packages/react-components/react-drawer/library/CHANGELOG.json
index 673e1556b54f6e..d18f5ed840886d 100644
--- a/packages/react-components/react-drawer/library/CHANGELOG.json
+++ b/packages/react-components/react-drawer/library/CHANGELOG.json
@@ -1,6 +1,51 @@
 {
   "name": "@fluentui/react-drawer",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-drawer_v9.6.8",
+      "version": "9.6.8",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-dialog to v9.11.28",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-motion to v9.6.7",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-portal to v9.4.42",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-drawer",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-drawer_v9.6.7",
diff --git a/packages/react-components/react-drawer/library/CHANGELOG.md b/packages/react-components/react-drawer/library/CHANGELOG.md
index 6ddf6d54166b1d..389e08fa9a4b73 100644
--- a/packages/react-components/react-drawer/library/CHANGELOG.md
+++ b/packages/react-components/react-drawer/library/CHANGELOG.md
@@ -1,9 +1,23 @@
 # Change Log - @fluentui/react-drawer
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.8](https://github.com/microsoft/fluentui/tree/@fluentui/react-drawer_v9.6.8)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-drawer_v9.6.7..@fluentui/react-drawer_v9.6.8)
+
+### Patches
+
+- Bump @fluentui/react-dialog to v9.11.28 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion to v9.6.7 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-portal to v9.4.42 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.6.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-drawer_v9.6.7)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-drawer/library/package.json b/packages/react-components/react-drawer/library/package.json
index d94a138f8a88f9..86953cdefef275 100644
--- a/packages/react-components/react-drawer/library/package.json
+++ b/packages/react-components/react-drawer/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-drawer",
-  "version": "9.6.7",
+  "version": "9.6.8",
   "description": "Drawer components for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,14 +20,14 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-dialog": "^9.11.27",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-motion": "^9.6.6",
-    "@fluentui/react-portal": "^9.4.41",
+    "@fluentui/react-dialog": "^9.11.28",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-motion": "^9.6.7",
+    "@fluentui/react-portal": "^9.4.42",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-field/library/CHANGELOG.json b/packages/react-components/react-field/library/CHANGELOG.json
index 71f917cde5b92f..dc0aca8dca928f 100644
--- a/packages/react-components/react-field/library/CHANGELOG.json
+++ b/packages/react-components/react-field/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-field",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-field_v9.1.85",
+      "version": "9.1.85",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-field",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-field",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-field",
+            "comment": "Bump @fluentui/react-label to v9.1.83",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-field",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-field_v9.1.84",
diff --git a/packages/react-components/react-field/library/CHANGELOG.md b/packages/react-components/react-field/library/CHANGELOG.md
index 96c5540dc6f1da..26f293344ff396 100644
--- a/packages/react-components/react-field/library/CHANGELOG.md
+++ b/packages/react-components/react-field/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-field
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.85](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.1.85)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-field_v9.1.84..@fluentui/react-field_v9.1.85)
+
+### Patches
+
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-label to v9.1.83 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.1.84](https://github.com/microsoft/fluentui/tree/@fluentui/react-field_v9.1.84)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-field/library/package.json b/packages/react-components/react-field/library/package.json
index e8e239bba65a46..a710ba55ee5bbe 100644
--- a/packages/react-components/react-field/library/package.json
+++ b/packages/react-components/react-field/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-field",
-  "version": "9.1.84",
+  "version": "9.1.85",
   "description": "Fluent UI Field components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,12 +19,12 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-label": "^9.1.82",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-label": "^9.1.83",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-icons-compat/library/CHANGELOG.json b/packages/react-components/react-icons-compat/library/CHANGELOG.json
index 6c529be129823a..b91bbd49728cf5 100644
--- a/packages/react-components/react-icons-compat/library/CHANGELOG.json
+++ b/packages/react-components/react-icons-compat/library/CHANGELOG.json
@@ -1,6 +1,35 @@
 {
   "name": "@fluentui/react-icons-compat",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:17 GMT",
+      "tag": "@fluentui/react-icons-compat_v0.1.8",
+      "version": "0.1.8",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-icons-compat",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-icons-compat",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-icons-compat",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-icons-compat_v0.1.7",
diff --git a/packages/react-components/react-icons-compat/library/CHANGELOG.md b/packages/react-components/react-icons-compat/library/CHANGELOG.md
index b43bc400205907..943fb5ecbc6f7b 100644
--- a/packages/react-components/react-icons-compat/library/CHANGELOG.md
+++ b/packages/react-components/react-icons-compat/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-icons-compat
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:17 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.1.8](https://github.com/microsoft/fluentui/tree/@fluentui/react-icons-compat_v0.1.8)
+
+Wed, 22 Jan 2025 14:00:17 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-icons-compat_v0.1.7..@fluentui/react-icons-compat_v0.1.8)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [0.1.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-icons-compat_v0.1.7)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-icons-compat/library/package.json b/packages/react-components/react-icons-compat/library/package.json
index cf92fb784977c4..7157ccac2091c4 100644
--- a/packages/react-components/react-icons-compat/library/package.json
+++ b/packages/react-components/react-icons-compat/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-icons-compat",
-  "version": "0.1.7",
+  "version": "0.1.8",
   "description": "Package for icon utility methods used by font and svg icons.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -24,10 +24,10 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-image/library/CHANGELOG.json b/packages/react-components/react-image/library/CHANGELOG.json
index 53cc360c714a0b..9c9fe5863d24ce 100644
--- a/packages/react-components/react-image/library/CHANGELOG.json
+++ b/packages/react-components/react-image/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-image",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-image_v9.1.80",
+      "version": "9.1.80",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-image",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-image",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-image_v9.1.79",
diff --git a/packages/react-components/react-image/library/CHANGELOG.md b/packages/react-components/react-image/library/CHANGELOG.md
index dc84fa08a79a35..c8e493912d109d 100644
--- a/packages/react-components/react-image/library/CHANGELOG.md
+++ b/packages/react-components/react-image/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-image
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.80](https://github.com/microsoft/fluentui/tree/@fluentui/react-image_v9.1.80)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-image_v9.1.79..@fluentui/react-image_v9.1.80)
+
+### Patches
+
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.1.79](https://github.com/microsoft/fluentui/tree/@fluentui/react-image_v9.1.79)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-image/library/package.json b/packages/react-components/react-image/library/package.json
index aed4249848420b..876221a2db9bae 100644
--- a/packages/react-components/react-image/library/package.json
+++ b/packages/react-components/react-image/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-image",
-  "version": "9.1.79",
+  "version": "9.1.80",
   "description": "Fluent UI React Image component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,8 +19,8 @@
   },
   "dependencies": {
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-theme": "^9.1.24",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
diff --git a/packages/react-components/react-infolabel/library/CHANGELOG.json b/packages/react-components/react-infolabel/library/CHANGELOG.json
index 412ff5f8625b2f..cd866b237967e1 100644
--- a/packages/react-components/react-infolabel/library/CHANGELOG.json
+++ b/packages/react-components/react-infolabel/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-infolabel",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-infolabel_v9.0.56",
+      "version": "9.0.56",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-infolabel",
+            "comment": "Bump @fluentui/react-label to v9.1.83",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-infolabel",
+            "comment": "Bump @fluentui/react-popover to v9.9.31",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-infolabel",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-infolabel",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-infolabel",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-infolabel_v9.0.55",
diff --git a/packages/react-components/react-infolabel/library/CHANGELOG.md b/packages/react-components/react-infolabel/library/CHANGELOG.md
index fbbafa546ef0f0..0c6e12b8d9850c 100644
--- a/packages/react-components/react-infolabel/library/CHANGELOG.md
+++ b/packages/react-components/react-infolabel/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-infolabel
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.56](https://github.com/microsoft/fluentui/tree/@fluentui/react-infolabel_v9.0.56)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-infolabel_v9.0.55..@fluentui/react-infolabel_v9.0.56)
+
+### Patches
+
+- Bump @fluentui/react-label to v9.1.83 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-popover to v9.9.31 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.55](https://github.com/microsoft/fluentui/tree/@fluentui/react-infolabel_v9.0.55)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-infolabel/library/package.json b/packages/react-components/react-infolabel/library/package.json
index ca362048345b94..0eab2d3b7d2af5 100644
--- a/packages/react-components/react-infolabel/library/package.json
+++ b/packages/react-components/react-infolabel/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-infolabel",
-  "version": "9.0.55",
+  "version": "9.0.56",
   "description": "InfoLabel component for Fluent UI v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,12 +21,12 @@
   },
   "dependencies": {
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-label": "^9.1.82",
-    "@fluentui/react-popover": "^9.9.30",
-    "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-label": "^9.1.83",
+    "@fluentui/react-popover": "^9.9.31",
+    "@fluentui/react-tabster": "^9.23.3",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-input/library/CHANGELOG.json b/packages/react-components/react-input/library/CHANGELOG.json
index ba43058f1db9cb..5dbc52d2ff923d 100644
--- a/packages/react-components/react-input/library/CHANGELOG.json
+++ b/packages/react-components/react-input/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-input",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-input_v9.4.98",
+      "version": "9.4.98",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-input",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-input",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-input",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-input_v9.4.97",
diff --git a/packages/react-components/react-input/library/CHANGELOG.md b/packages/react-components/react-input/library/CHANGELOG.md
index 6bbbc3d63c5273..e39bf94c6b84e6 100644
--- a/packages/react-components/react-input/library/CHANGELOG.md
+++ b/packages/react-components/react-input/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-input
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.4.98](https://github.com/microsoft/fluentui/tree/@fluentui/react-input_v9.4.98)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-input_v9.4.97..@fluentui/react-input_v9.4.98)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.4.97](https://github.com/microsoft/fluentui/tree/@fluentui/react-input_v9.4.97)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-input/library/package.json b/packages/react-components/react-input/library/package.json
index d412181b1a0799..5a99dcbfc65858 100644
--- a/packages/react-components/react-input/library/package.json
+++ b/packages/react-components/react-input/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-input",
-  "version": "9.4.97",
+  "version": "9.4.98",
   "description": "Fluent UI React Input component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,11 +19,11 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.84",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-field": "^9.1.85",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-jsx-runtime/CHANGELOG.json b/packages/react-components/react-jsx-runtime/CHANGELOG.json
index f75a0a94944c02..032e36e6a5401d 100644
--- a/packages/react-components/react-jsx-runtime/CHANGELOG.json
+++ b/packages/react-components/react-jsx-runtime/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-jsx-runtime",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-jsx-runtime_v9.0.50",
+      "version": "9.0.50",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-jsx-runtime",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-jsx-runtime_v9.0.48",
diff --git a/packages/react-components/react-jsx-runtime/CHANGELOG.md b/packages/react-components/react-jsx-runtime/CHANGELOG.md
index b4953cd7bda75c..10d4b3d4bfe8c6 100644
--- a/packages/react-components/react-jsx-runtime/CHANGELOG.md
+++ b/packages/react-components/react-jsx-runtime/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-jsx-runtime
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.50](https://github.com/microsoft/fluentui/tree/@fluentui/react-jsx-runtime_v9.0.50)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-jsx-runtime_v9.0.48..@fluentui/react-jsx-runtime_v9.0.50)
+
+### Patches
+
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.48](https://github.com/microsoft/fluentui/tree/@fluentui/react-jsx-runtime_v9.0.48)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-jsx-runtime/package.json b/packages/react-components/react-jsx-runtime/package.json
index dd92ba6fb9fe72..66169ead93579b 100644
--- a/packages/react-components/react-jsx-runtime/package.json
+++ b/packages/react-components/react-jsx-runtime/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-jsx-runtime",
-  "version": "9.0.49",
+  "version": "9.0.50",
   "description": "Custom JSX runtime for @fluentui/react-components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,7 +18,7 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "react-is": "^17.0.2",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-label/library/CHANGELOG.json b/packages/react-components/react-label/library/CHANGELOG.json
index 4efc646a403d9e..844a9c76c6fb76 100644
--- a/packages/react-components/react-label/library/CHANGELOG.json
+++ b/packages/react-components/react-label/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-label",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-label_v9.1.83",
+      "version": "9.1.83",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-label",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-label",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-label_v9.1.82",
diff --git a/packages/react-components/react-label/library/CHANGELOG.md b/packages/react-components/react-label/library/CHANGELOG.md
index b79ad510eff75e..8efa645328f2c1 100644
--- a/packages/react-components/react-label/library/CHANGELOG.md
+++ b/packages/react-components/react-label/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-label
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.83](https://github.com/microsoft/fluentui/tree/@fluentui/react-label_v9.1.83)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-label_v9.1.82..@fluentui/react-label_v9.1.83)
+
+### Patches
+
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.1.82](https://github.com/microsoft/fluentui/tree/@fluentui/react-label_v9.1.82)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-label/library/package.json b/packages/react-components/react-label/library/package.json
index 73b906301626c4..31e1dbec1914e5 100644
--- a/packages/react-components/react-label/library/package.json
+++ b/packages/react-components/react-label/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-label",
-  "version": "9.1.82",
+  "version": "9.1.83",
   "description": "Fluent UI React Label component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,8 +20,8 @@
   "dependencies": {
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-link/library/CHANGELOG.json b/packages/react-components/react-link/library/CHANGELOG.json
index 8061cf7c2ee68f..59e2978f248640 100644
--- a/packages/react-components/react-link/library/CHANGELOG.json
+++ b/packages/react-components/react-link/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-link",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:17 GMT",
+      "tag": "@fluentui/react-link_v9.3.7",
+      "version": "9.3.7",
+      "comments": {
+        "patch": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-link",
+            "commit": "928fdced4834242a829327af1db00f51f9dbd382",
+            "comment": "fix: support Enter and Space interaction, if rendered as span"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-link",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-link",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-link",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-link_v9.3.6",
diff --git a/packages/react-components/react-link/library/CHANGELOG.md b/packages/react-components/react-link/library/CHANGELOG.md
index fcfc2d45b52b1e..050f8914edb7e7 100644
--- a/packages/react-components/react-link/library/CHANGELOG.md
+++ b/packages/react-components/react-link/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-link
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:17 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.3.7)
+
+Wed, 22 Jan 2025 14:00:17 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-link_v9.3.6..@fluentui/react-link_v9.3.7)
+
+### Patches
+
+- fix: support Enter and Space interaction, if rendered as span ([PR #33587](https://github.com/microsoft/fluentui/pull/33587) by vgenaev@gmail.com)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.3.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.3.6)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-link/library/package.json b/packages/react-components/react-link/library/package.json
index 91c545008a75ae..f90df1354b669c 100644
--- a/packages/react-components/react-link/library/package.json
+++ b/packages/react-components/react-link/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-link",
-  "version": "9.3.6",
+  "version": "9.3.7",
   "description": "Fluent UI React Link component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,11 +20,11 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-list/library/CHANGELOG.json b/packages/react-components/react-list/library/CHANGELOG.json
index 13cf7d94e5ff49..69b5f969c6660f 100644
--- a/packages/react-components/react-list/library/CHANGELOG.json
+++ b/packages/react-components/react-list/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-list",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-list_v9.0.1",
+      "version": "9.0.1",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-list",
+            "comment": "Bump @fluentui/react-checkbox to v9.2.46",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-list",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-list",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-list",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-list",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:34 GMT",
       "tag": "@fluentui/react-list_v9.0.0",
diff --git a/packages/react-components/react-list/library/CHANGELOG.md b/packages/react-components/react-list/library/CHANGELOG.md
index 746ef1c75daf81..036c1df2e7b78e 100644
--- a/packages/react-components/react-list/library/CHANGELOG.md
+++ b/packages/react-components/react-list/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-list
 
-This log was last generated on Wed, 08 Jan 2025 18:33:34 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-list_v9.0.1)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-list_v9.0.0..@fluentui/react-list_v9.0.1)
+
+### Patches
+
+- Bump @fluentui/react-checkbox to v9.2.46 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-list_v9.0.0)
 
 Wed, 08 Jan 2025 18:33:34 GMT 
diff --git a/packages/react-components/react-list/library/package.json b/packages/react-components/react-list/library/package.json
index 06086197b8399f..4aebcbb739740f 100644
--- a/packages/react-components/react-list/library/package.json
+++ b/packages/react-components/react-list/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-list",
-  "version": "9.0.0",
+  "version": "9.0.1",
   "description": "React List v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -26,13 +26,13 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-checkbox": "^9.2.45",
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-checkbox": "^9.2.46",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
diff --git a/packages/react-components/react-menu/library/CHANGELOG.json b/packages/react-components/react-menu/library/CHANGELOG.json
index ed7f7f386ba708..3e6fb8e39d44fa 100644
--- a/packages/react-components/react-menu/library/CHANGELOG.json
+++ b/packages/react-components/react-menu/library/CHANGELOG.json
@@ -1,6 +1,65 @@
 {
   "name": "@fluentui/react-menu",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:18 GMT",
+      "tag": "@fluentui/react-menu_v9.14.26",
+      "version": "9.14.26",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-menu",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-portal to v9.4.42",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-positioning to v9.16.2",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-menu",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-menu_v9.14.25",
diff --git a/packages/react-components/react-menu/library/CHANGELOG.md b/packages/react-components/react-menu/library/CHANGELOG.md
index 75a603f314dc95..79721b8c26d433 100644
--- a/packages/react-components/react-menu/library/CHANGELOG.md
+++ b/packages/react-components/react-menu/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-menu
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:18 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.14.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-menu_v9.14.26)
+
+Wed, 22 Jan 2025 14:00:18 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-menu_v9.14.25..@fluentui/react-menu_v9.14.26)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-portal to v9.4.42 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-positioning to v9.16.2 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.14.25](https://github.com/microsoft/fluentui/tree/@fluentui/react-menu_v9.14.25)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-menu/library/package.json b/packages/react-components/react-menu/library/package.json
index ff33f37bbafc2d..33eb6dae9bc6b9 100644
--- a/packages/react-components/react-menu/library/package.json
+++ b/packages/react-components/react-menu/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-menu",
-  "version": "9.14.25",
+  "version": "9.14.26",
   "description": "Fluent UI menu component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,16 +21,16 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-portal": "^9.4.41",
-    "@fluentui/react-positioning": "^9.16.1",
+    "@fluentui/react-portal": "^9.4.42",
+    "@fluentui/react-positioning": "^9.16.2",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-message-bar/library/CHANGELOG.json b/packages/react-components/react-message-bar/library/CHANGELOG.json
index b0c4cd2750ca7b..35ce73a3fd4647 100644
--- a/packages/react-components/react-message-bar/library/CHANGELOG.json
+++ b/packages/react-components/react-message-bar/library/CHANGELOG.json
@@ -1,6 +1,59 @@
 {
   "name": "@fluentui/react-message-bar",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:18 GMT",
+      "tag": "@fluentui/react-message-bar_v9.3.1",
+      "version": "9.3.1",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-message-bar",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-button to v9.3.100",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-motion to v9.6.7",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-link to v9.3.7",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-message-bar",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:34 GMT",
       "tag": "@fluentui/react-message-bar_v9.3.0",
diff --git a/packages/react-components/react-message-bar/library/CHANGELOG.md b/packages/react-components/react-message-bar/library/CHANGELOG.md
index 8ae29562aba1e7..e6343fe6223bb5 100644
--- a/packages/react-components/react-message-bar/library/CHANGELOG.md
+++ b/packages/react-components/react-message-bar/library/CHANGELOG.md
@@ -1,9 +1,23 @@
 # Change Log - @fluentui/react-message-bar
 
-This log was last generated on Wed, 08 Jan 2025 18:33:34 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:18 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-message-bar_v9.3.1)
+
+Wed, 22 Jan 2025 14:00:18 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-message-bar_v9.3.0..@fluentui/react-message-bar_v9.3.1)
+
+### Patches
+
+- Bump @fluentui/react-button to v9.3.100 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion to v9.6.7 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-link to v9.3.7 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.3.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-message-bar_v9.3.0)
 
 Wed, 08 Jan 2025 18:33:34 GMT 
diff --git a/packages/react-components/react-message-bar/library/package.json b/packages/react-components/react-message-bar/library/package.json
index e0524bef605bf4..3da19acc65cde8 100644
--- a/packages/react-components/react-message-bar/library/package.json
+++ b/packages/react-components/react-message-bar/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-message-bar",
-  "version": "9.3.0",
+  "version": "9.3.1",
   "description": "Fluent UI MessageBar component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,15 +18,15 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-button": "^9.3.99",
+    "@fluentui/react-button": "^9.3.100",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-motion": "^9.6.6",
-    "@fluentui/react-motion-components-preview": "^0.4.2",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-motion": "^9.6.7",
+    "@fluentui/react-motion-components-preview": "^0.4.3",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-link": "^9.3.6",
+    "@fluentui/react-link": "^9.3.7",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-migration-v0-v9/library/CHANGELOG.json b/packages/react-components/react-migration-v0-v9/library/CHANGELOG.json
index 4419d284333423..e4036357c8a3ec 100644
--- a/packages/react-components/react-migration-v0-v9/library/CHANGELOG.json
+++ b/packages/react-components/react-migration-v0-v9/library/CHANGELOG.json
@@ -1,6 +1,51 @@
 {
   "name": "@fluentui/react-migration-v0-v9",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-migration-v0-v9_v9.2.27",
+      "version": "9.2.27",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v0-v9",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v0-v9",
+            "comment": "Bump @fluentui/react-components to v9.58.0",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v0-v9",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v0-v9",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v0-v9",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v0-v9",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-migration-v0-v9_v9.2.26",
diff --git a/packages/react-components/react-migration-v0-v9/library/CHANGELOG.md b/packages/react-components/react-migration-v0-v9/library/CHANGELOG.md
index 981da181f3b33e..ca058bd23be25a 100644
--- a/packages/react-components/react-migration-v0-v9/library/CHANGELOG.md
+++ b/packages/react-components/react-migration-v0-v9/library/CHANGELOG.md
@@ -1,9 +1,23 @@
 # Change Log - @fluentui/react-migration-v0-v9
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-migration-v0-v9_v9.2.27)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-migration-v0-v9_v9.2.26..@fluentui/react-migration-v0-v9_v9.2.27)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-components to v9.58.0 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.26](https://github.com/microsoft/fluentui/tree/@fluentui/react-migration-v0-v9_v9.2.26)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-migration-v0-v9/library/package.json b/packages/react-components/react-migration-v0-v9/library/package.json
index e858ab14609575..69f314595d9a13 100644
--- a/packages/react-components/react-migration-v0-v9/library/package.json
+++ b/packages/react-components/react-migration-v0-v9/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-migration-v0-v9",
-  "version": "9.2.26",
+  "version": "9.2.27",
   "description": "Migration shim components and methods for hybrid v0/v9 applications building on Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,15 +20,15 @@
     "@fluentui/scripts-storybook": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-components": "^9.57.0",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-components": "^9.58.0",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-migration-v8-v9/library/CHANGELOG.json b/packages/react-components/react-migration-v8-v9/library/CHANGELOG.json
index fcdd600308112f..dc131c3d2f2724 100644
--- a/packages/react-components/react-migration-v8-v9/library/CHANGELOG.json
+++ b/packages/react-components/react-migration-v8-v9/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-migration-v8-v9",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:18 GMT",
+      "tag": "@fluentui/react-migration-v8-v9_v9.6.46",
+      "version": "9.6.46",
+      "comments": {
+        "patch": [
+          {
+            "author": "makotom@microsoft.com",
+            "package": "@fluentui/react-migration-v8-v9",
+            "commit": "e7a954abbbe42a13ba302f28710a908cd34b72b9",
+            "comment": "chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages."
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-migration-v8-v9",
+            "comment": "Bump @fluentui/react-components to v9.58.0",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-migration-v8-v9_v9.6.45",
diff --git a/packages/react-components/react-migration-v8-v9/library/CHANGELOG.md b/packages/react-components/react-migration-v8-v9/library/CHANGELOG.md
index 0accaa8a4bde60..489502fc3421f1 100644
--- a/packages/react-components/react-migration-v8-v9/library/CHANGELOG.md
+++ b/packages/react-components/react-migration-v8-v9/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-migration-v8-v9
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:18 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.46](https://github.com/microsoft/fluentui/tree/@fluentui/react-migration-v8-v9_v9.6.46)
+
+Wed, 22 Jan 2025 14:00:18 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-migration-v8-v9_v9.6.45..@fluentui/react-migration-v8-v9_v9.6.46)
+
+### Patches
+
+- chore: Moving @ctrl/tinycolor dependency to be a caret dependency in production packages. ([PR #33611](https://github.com/microsoft/fluentui/pull/33611) by makotom@microsoft.com)
+- Bump @fluentui/react-components to v9.58.0 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.6.45](https://github.com/microsoft/fluentui/tree/@fluentui/react-migration-v8-v9_v9.6.45)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-migration-v8-v9/library/package.json b/packages/react-components/react-migration-v8-v9/library/package.json
index df3233a522a3b5..ed73b6f337017c 100644
--- a/packages/react-components/react-migration-v8-v9/library/package.json
+++ b/packages/react-components/react-migration-v8-v9/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-migration-v8-v9",
-  "version": "9.6.45",
+  "version": "9.6.46",
   "description": "Migration shim components and methods for hybrid v8/v9 applications building on Fluent UI React.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,7 +21,7 @@
     "@ctrl/tinycolor": "^3.3.4",
     "@fluentui/fluent2-theme": "^8.107.125",
     "@fluentui/react": "^8.122.8",
-    "@fluentui/react-components": "^9.57.0",
+    "@fluentui/react-components": "^9.58.0",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-hooks": "^8.8.16",
     "@griffel/react": "^1.5.22",
diff --git a/packages/react-components/react-motion-components-preview/library/CHANGELOG.json b/packages/react-components/react-motion-components-preview/library/CHANGELOG.json
index a9a6bceff3452b..1fea2c4a8fd9d1 100644
--- a/packages/react-components/react-motion-components-preview/library/CHANGELOG.json
+++ b/packages/react-components/react-motion-components-preview/library/CHANGELOG.json
@@ -1,6 +1,35 @@
 {
   "name": "@fluentui/react-motion-components-preview",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:19 GMT",
+      "tag": "@fluentui/react-motion-components-preview_v0.4.3",
+      "version": "0.4.3",
+      "comments": {
+        "none": [
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-motion-components-preview",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-motion-components-preview",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "robertpenner@microsoft.com",
+            "package": "@fluentui/react-motion-components-preview",
+            "commit": "9331bcc59d84d033784c73eab870155a02286ce5",
+            "comment": "refactor(Collapse): streamline motion atom functions"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 09 Dec 2024 17:38:13 GMT",
       "tag": "@fluentui/react-motion-components-preview_v0.4.0",
diff --git a/packages/react-components/react-motion-components-preview/library/CHANGELOG.md b/packages/react-components/react-motion-components-preview/library/CHANGELOG.md
index af954ec47a0fa6..95601accd7b10d 100644
--- a/packages/react-components/react-motion-components-preview/library/CHANGELOG.md
+++ b/packages/react-components/react-motion-components-preview/library/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-motion-components-preview
 
-This log was last generated on Mon, 09 Dec 2024 17:38:13 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:19 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.4.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-motion-components-preview_v0.4.3)
+
+Wed, 22 Jan 2025 14:00:19 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-motion-components-preview_v0.4.0..@fluentui/react-motion-components-preview_v0.4.3)
+
+### Patches
+
+- refactor(Collapse): streamline motion atom functions ([PR #33463](https://github.com/microsoft/fluentui/pull/33463) by robertpenner@microsoft.com)
+
 ## [0.4.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-motion-components-preview_v0.4.0)
 
 Mon, 09 Dec 2024 17:38:13 GMT 
diff --git a/packages/react-components/react-motion-components-preview/library/package.json b/packages/react-components/react-motion-components-preview/library/package.json
index aad5bb8e23a1c0..b79d2d791b1125 100644
--- a/packages/react-components/react-motion-components-preview/library/package.json
+++ b/packages/react-components/react-motion-components-preview/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-motion-components-preview",
-  "version": "0.4.2",
+  "version": "0.4.3",
   "description": "A preview package for Fluent UI motion components, providing a collection of components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/react-components/react-motion/library/CHANGELOG.json b/packages/react-components/react-motion/library/CHANGELOG.json
index 05292b2f68c12e..36d03049b7cccc 100644
--- a/packages/react-components/react-motion/library/CHANGELOG.json
+++ b/packages/react-components/react-motion/library/CHANGELOG.json
@@ -1,6 +1,35 @@
 {
   "name": "@fluentui/react-motion",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:19 GMT",
+      "tag": "@fluentui/react-motion_v9.6.7",
+      "version": "9.6.7",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-motion",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "olfedias@microsoft.com",
+            "package": "@fluentui/react-motion",
+            "commit": "ab6a30284d152c9ecde274e0cfc0579d002a7bbb",
+            "comment": "feat: add extended support for reduced motion"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-motion",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:34 GMT",
       "tag": "@fluentui/react-motion_v9.6.6",
diff --git a/packages/react-components/react-motion/library/CHANGELOG.md b/packages/react-components/react-motion/library/CHANGELOG.md
index 298064f61dda1d..8077e5720dac02 100644
--- a/packages/react-components/react-motion/library/CHANGELOG.md
+++ b/packages/react-components/react-motion/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-motion
 
-This log was last generated on Wed, 08 Jan 2025 18:33:34 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:19 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-motion_v9.6.7)
+
+Wed, 22 Jan 2025 14:00:19 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-motion_v9.6.6..@fluentui/react-motion_v9.6.7)
+
+### Patches
+
+- feat: add extended support for reduced motion ([PR #33353](https://github.com/microsoft/fluentui/pull/33353) by olfedias@microsoft.com)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.6.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-motion_v9.6.6)
 
 Wed, 08 Jan 2025 18:33:34 GMT 
diff --git a/packages/react-components/react-motion/library/package.json b/packages/react-components/react-motion/library/package.json
index 2b96ece2a6d9b6..d07e4b0ab6e631 100644
--- a/packages/react-components/react-motion/library/package.json
+++ b/packages/react-components/react-motion/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-motion",
-  "version": "9.6.6",
+  "version": "9.6.7",
   "description": "A package with utilities & motion definitions using Web Animations API",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -26,7 +26,7 @@
   },
   "dependencies": {
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@swc/helpers": "^0.5.1",
     "react-is": "^17.0.2"
   },
diff --git a/packages/react-components/react-nav-preview/library/CHANGELOG.json b/packages/react-components/react-nav-preview/library/CHANGELOG.json
index f9ffcea5af28db..92a4e70911a994 100644
--- a/packages/react-components/react-nav-preview/library/CHANGELOG.json
+++ b/packages/react-components/react-nav-preview/library/CHANGELOG.json
@@ -1,6 +1,97 @@
 {
   "name": "@fluentui/react-nav-preview",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:20 GMT",
+      "tag": "@fluentui/react-nav-preview_v0.11.0",
+      "version": "0.11.0",
+      "comments": {
+        "patch": [
+          {
+            "author": "matejera@microsoft.com",
+            "package": "@fluentui/react-nav-preview",
+            "commit": "befe9020d9198ff7f3d7e9042fc2c249c874b050",
+            "comment": "fix: Speeding up animations in Nav."
+          },
+          {
+            "author": "matejera@microsoft.com",
+            "package": "@fluentui/react-nav-preview",
+            "commit": "e561700253aaaf2c6e17e5c70bf10c12c434bd96",
+            "comment": "fix - changing hover animation curve to linear."
+          }
+        ],
+        "minor": [
+          {
+            "author": "matejera@microsoft.com",
+            "package": "@fluentui/react-nav-preview",
+            "commit": "93063df115dbd3bec400c581353b190e7952de6e",
+            "comment": "[BREAKING CHANGE] Replacing NavSize type and size prop with NavDensity type and density prop to avoid collisions with size on base Drawer component. "
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-button to v9.3.100",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-tooltip to v9.5.4",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-divider to v9.2.82",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-drawer to v9.6.8",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-nav-preview",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ],
+        "none": [
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-nav-preview",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-nav-preview_v0.10.7",
diff --git a/packages/react-components/react-nav-preview/library/CHANGELOG.md b/packages/react-components/react-nav-preview/library/CHANGELOG.md
index dc55f6c71f26f3..0809a7de2399aa 100644
--- a/packages/react-components/react-nav-preview/library/CHANGELOG.md
+++ b/packages/react-components/react-nav-preview/library/CHANGELOG.md
@@ -1,9 +1,32 @@
 # Change Log - @fluentui/react-nav-preview
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:20 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.11.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-nav-preview_v0.11.0)
+
+Wed, 22 Jan 2025 14:00:20 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-nav-preview_v0.10.7..@fluentui/react-nav-preview_v0.11.0)
+
+### Minor changes
+
+- [BREAKING CHANGE] Replacing NavSize type and size prop with NavDensity type and density prop to avoid collisions with size on base Drawer component.  ([PR #33559](https://github.com/microsoft/fluentui/pull/33559) by matejera@microsoft.com)
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-button to v9.3.100 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tooltip to v9.5.4 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-divider to v9.2.82 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-drawer to v9.6.8 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
+### Patches
+
+- fix: Speeding up animations in Nav. ([PR #33588](https://github.com/microsoft/fluentui/pull/33588) by matejera@microsoft.com)
+- fix - changing hover animation curve to linear. ([PR #33633](https://github.com/microsoft/fluentui/pull/33633) by matejera@microsoft.com)
+
 ## [0.10.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-nav-preview_v0.10.7)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-nav-preview/library/package.json b/packages/react-components/react-nav-preview/library/package.json
index 00060495d63485..cd63420ec6d93f 100644
--- a/packages/react-components/react-nav-preview/library/package.json
+++ b/packages/react-components/react-nav-preview/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-nav-preview",
-  "version": "0.10.7",
+  "version": "0.11.0",
   "description": "New fluentui react package",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,18 +18,18 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-button": "^9.3.99",
-    "@fluentui/react-tooltip": "^9.5.3",
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-divider": "^9.2.81",
-    "@fluentui/react-drawer": "^9.6.7",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-button": "^9.3.100",
+    "@fluentui/react-tooltip": "^9.5.4",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-divider": "^9.2.82",
+    "@fluentui/react-drawer": "^9.6.8",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-overflow/library/CHANGELOG.json b/packages/react-components/react-overflow/library/CHANGELOG.json
index 07dd24749e0236..0c16c778776e50 100644
--- a/packages/react-components/react-overflow/library/CHANGELOG.json
+++ b/packages/react-components/react-overflow/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-overflow",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-overflow_v9.2.7",
+      "version": "9.2.7",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-overflow",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-overflow",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-overflow_v9.2.4",
diff --git a/packages/react-components/react-overflow/library/CHANGELOG.md b/packages/react-components/react-overflow/library/CHANGELOG.md
index e0234500692649..4c5abc9e3b3d72 100644
--- a/packages/react-components/react-overflow/library/CHANGELOG.md
+++ b/packages/react-components/react-overflow/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-overflow
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-overflow_v9.2.7)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-overflow_v9.2.4..@fluentui/react-overflow_v9.2.7)
+
+### Patches
+
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-overflow_v9.2.4)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-overflow/library/package.json b/packages/react-components/react-overflow/library/package.json
index f043a99aaff0e8..1aa47882df8e53 100644
--- a/packages/react-components/react-overflow/library/package.json
+++ b/packages/react-components/react-overflow/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-overflow",
-  "version": "9.2.6",
+  "version": "9.2.7",
   "description": "React bindings for @fluentui/priority-overflow",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,9 +20,9 @@
   },
   "dependencies": {
     "@fluentui/priority-overflow": "^9.1.14",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-persona/library/CHANGELOG.json b/packages/react-components/react-persona/library/CHANGELOG.json
index 309665ce51dffd..dbb114ffe5e19f 100644
--- a/packages/react-components/react-persona/library/CHANGELOG.json
+++ b/packages/react-components/react-persona/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-persona",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-persona_v9.2.108",
+      "version": "9.2.108",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-persona",
+            "comment": "Bump @fluentui/react-avatar to v9.6.49",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-persona",
+            "comment": "Bump @fluentui/react-badge to v9.2.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-persona",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-persona",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-persona_v9.2.107",
diff --git a/packages/react-components/react-persona/library/CHANGELOG.md b/packages/react-components/react-persona/library/CHANGELOG.md
index ed990a25a7a6c1..5a23438117e548 100644
--- a/packages/react-components/react-persona/library/CHANGELOG.md
+++ b/packages/react-components/react-persona/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-persona
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.108](https://github.com/microsoft/fluentui/tree/@fluentui/react-persona_v9.2.108)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-persona_v9.2.107..@fluentui/react-persona_v9.2.108)
+
+### Patches
+
+- Bump @fluentui/react-avatar to v9.6.49 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-badge to v9.2.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.107](https://github.com/microsoft/fluentui/tree/@fluentui/react-persona_v9.2.107)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-persona/library/package.json b/packages/react-components/react-persona/library/package.json
index 9b28d4120f31a4..4ead50e3ebc1a5 100644
--- a/packages/react-components/react-persona/library/package.json
+++ b/packages/react-components/react-persona/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-persona",
-  "version": "9.2.107",
+  "version": "9.2.108",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,12 +18,12 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-avatar": "^9.6.48",
-    "@fluentui/react-badge": "^9.2.49",
+    "@fluentui/react-avatar": "^9.6.49",
+    "@fluentui/react-badge": "^9.2.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-popover/library/CHANGELOG.json b/packages/react-components/react-popover/library/CHANGELOG.json
index 5ce44b032d9446..854d56f04b9ff5 100644
--- a/packages/react-components/react-popover/library/CHANGELOG.json
+++ b/packages/react-components/react-popover/library/CHANGELOG.json
@@ -1,6 +1,65 @@
 {
   "name": "@fluentui/react-popover",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:07 GMT",
+      "tag": "@fluentui/react-popover_v9.9.31",
+      "version": "9.9.31",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-popover",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-portal to v9.4.42",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-positioning to v9.16.2",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-popover",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-popover_v9.9.30",
diff --git a/packages/react-components/react-popover/library/CHANGELOG.md b/packages/react-components/react-popover/library/CHANGELOG.md
index f89e0f32d6635f..6d9a2eac4307ce 100644
--- a/packages/react-components/react-popover/library/CHANGELOG.md
+++ b/packages/react-components/react-popover/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-popover
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:07 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.9.31](https://github.com/microsoft/fluentui/tree/@fluentui/react-popover_v9.9.31)
+
+Wed, 22 Jan 2025 14:00:07 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-popover_v9.9.30..@fluentui/react-popover_v9.9.31)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-portal to v9.4.42 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-positioning to v9.16.2 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.9.30](https://github.com/microsoft/fluentui/tree/@fluentui/react-popover_v9.9.30)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-popover/library/package.json b/packages/react-components/react-popover/library/package.json
index 56a67c2063dc3d..ae4ba8440df206 100644
--- a/packages/react-components/react-popover/library/package.json
+++ b/packages/react-components/react-popover/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-popover",
-  "version": "9.9.30",
+  "version": "9.9.31",
   "description": "Popover component for Fluent UI",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -22,15 +22,15 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-portal": "^9.4.41",
-    "@fluentui/react-positioning": "^9.16.1",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-portal": "^9.4.42",
+    "@fluentui/react-positioning": "^9.16.2",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-portal-compat/CHANGELOG.json b/packages/react-components/react-portal-compat/CHANGELOG.json
index 90ce8c3c195e61..cd2586bea29037 100644
--- a/packages/react-components/react-portal-compat/CHANGELOG.json
+++ b/packages/react-components/react-portal-compat/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-portal-compat",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-portal-compat_v9.0.178",
+      "version": "9.0.178",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-portal-compat",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-portal-compat",
+            "comment": "Bump @fluentui/react-components to v9.58.0",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-portal-compat_v9.0.177",
diff --git a/packages/react-components/react-portal-compat/CHANGELOG.md b/packages/react-components/react-portal-compat/CHANGELOG.md
index bd2c4bacc8df30..03ef3f564c639c 100644
--- a/packages/react-components/react-portal-compat/CHANGELOG.md
+++ b/packages/react-components/react-portal-compat/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-portal-compat
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.178](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal-compat_v9.0.178)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-portal-compat_v9.0.177..@fluentui/react-portal-compat_v9.0.178)
+
+### Patches
+
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-components to v9.58.0 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.177](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal-compat_v9.0.177)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-portal-compat/package.json b/packages/react-components/react-portal-compat/package.json
index ba113e75699290..02c4d97aa460f7 100644
--- a/packages/react-components/react-portal-compat/package.json
+++ b/packages/react-components/react-portal-compat/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-portal-compat",
-  "version": "9.0.177",
+  "version": "9.0.178",
   "description": "A package that contains compatibility layer for React Portals",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -23,11 +23,11 @@
   },
   "dependencies": {
     "@fluentui/react-portal-compat-context": "^9.0.13",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@swc/helpers": "^0.5.1"
   },
   "peerDependencies": {
-    "@fluentui/react-components": "^9.57.0",
+    "@fluentui/react-components": "^9.58.0",
     "@types/react": ">=16.14.0 <19.0.0",
     "react": ">=16.14.0 <19.0.0"
   },
diff --git a/packages/react-components/react-portal/library/CHANGELOG.json b/packages/react-components/react-portal/library/CHANGELOG.json
index c2d640a549518b..a3e9090d821139 100644
--- a/packages/react-components/react-portal/library/CHANGELOG.json
+++ b/packages/react-components/react-portal/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-portal",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-portal_v9.4.42",
+      "version": "9.4.42",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-portal",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-portal",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-portal_v9.4.40",
diff --git a/packages/react-components/react-portal/library/CHANGELOG.md b/packages/react-components/react-portal/library/CHANGELOG.md
index 2d1121a69bd90a..4f20dcbccbc6a5 100644
--- a/packages/react-components/react-portal/library/CHANGELOG.md
+++ b/packages/react-components/react-portal/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-portal
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.4.42](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal_v9.4.42)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-portal_v9.4.40..@fluentui/react-portal_v9.4.42)
+
+### Patches
+
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.4.40](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal_v9.4.40)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-portal/library/package.json b/packages/react-components/react-portal/library/package.json
index 3055707457ae4a..adddae60d67f8a 100644
--- a/packages/react-components/react-portal/library/package.json
+++ b/packages/react-components/react-portal/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-portal",
-  "version": "9.4.41",
+  "version": "9.4.42",
   "description": "A utility component that creates portals compatible with Fluent UI",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,8 +19,8 @@
   },
   "dependencies": {
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-tabster": "^9.23.3",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
     "use-disposable": "^1.0.1"
diff --git a/packages/react-components/react-positioning/CHANGELOG.json b/packages/react-components/react-positioning/CHANGELOG.json
index e22728dd3ce15f..a4759c705197aa 100644
--- a/packages/react-components/react-positioning/CHANGELOG.json
+++ b/packages/react-components/react-positioning/CHANGELOG.json
@@ -1,6 +1,29 @@
 {
   "name": "@fluentui/react-positioning",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:07 GMT",
+      "tag": "@fluentui/react-positioning_v9.16.2",
+      "version": "9.16.2",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-positioning",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-positioning",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:34 GMT",
       "tag": "@fluentui/react-positioning_v9.16.1",
diff --git a/packages/react-components/react-positioning/CHANGELOG.md b/packages/react-components/react-positioning/CHANGELOG.md
index b1be7944e080cb..5dd00971347076 100644
--- a/packages/react-components/react-positioning/CHANGELOG.md
+++ b/packages/react-components/react-positioning/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-positioning
 
-This log was last generated on Wed, 08 Jan 2025 18:33:34 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:07 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.16.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-positioning_v9.16.2)
+
+Wed, 22 Jan 2025 14:00:07 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-positioning_v9.16.1..@fluentui/react-positioning_v9.16.2)
+
+### Patches
+
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.16.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-positioning_v9.16.1)
 
 Wed, 08 Jan 2025 18:33:34 GMT 
diff --git a/packages/react-components/react-positioning/package.json b/packages/react-components/react-positioning/package.json
index 87b6218997dcdf..d09f9636f75761 100644
--- a/packages/react-components/react-positioning/package.json
+++ b/packages/react-components/react-positioning/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-positioning",
-  "version": "9.16.1",
+  "version": "9.16.2",
   "description": "A react wrapper around Popper.js for Fluent UI",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,7 +20,7 @@
     "@floating-ui/devtools": "0.2.1",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-progress/library/CHANGELOG.json b/packages/react-components/react-progress/library/CHANGELOG.json
index 4d4a0bbc6d3583..43b7a17dce0dfc 100644
--- a/packages/react-components/react-progress/library/CHANGELOG.json
+++ b/packages/react-components/react-progress/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-progress",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-progress_v9.1.96",
+      "version": "9.1.96",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-progress",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-progress",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-progress",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-progress_v9.1.95",
diff --git a/packages/react-components/react-progress/library/CHANGELOG.md b/packages/react-components/react-progress/library/CHANGELOG.md
index ef369438ccf483..d5e9102c4726a4 100644
--- a/packages/react-components/react-progress/library/CHANGELOG.md
+++ b/packages/react-components/react-progress/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-progress
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.96](https://github.com/microsoft/fluentui/tree/@fluentui/react-progress_v9.1.96)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-progress_v9.1.95..@fluentui/react-progress_v9.1.96)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.1.95](https://github.com/microsoft/fluentui/tree/@fluentui/react-progress_v9.1.95)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-progress/library/package.json b/packages/react-components/react-progress/library/package.json
index 8b1fb03db94805..7850c1fad720ca 100644
--- a/packages/react-components/react-progress/library/package.json
+++ b/packages/react-components/react-progress/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-progress",
-  "version": "9.1.95",
+  "version": "9.1.96",
   "description": "Progress component for FluentUI v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,11 +18,11 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.84",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-field": "^9.1.85",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-provider/library/CHANGELOG.json b/packages/react-components/react-provider/library/CHANGELOG.json
index 05211ef22f12dc..96ddbc5237d61d 100644
--- a/packages/react-components/react-provider/library/CHANGELOG.json
+++ b/packages/react-components/react-provider/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-provider",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:07 GMT",
+      "tag": "@fluentui/react-provider_v9.19.0",
+      "version": "9.19.0",
+      "comments": {
+        "minor": [
+          {
+            "author": "makotom@microsoft.com",
+            "package": "@fluentui/react-provider",
+            "commit": "a8c0c467fdcdb1f721350b5cbd4ed6dd84e0715c",
+            "comment": "fix: Updating FluentProvider types to avoid implicit import in API definition."
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-provider",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-provider",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-provider",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-provider_v9.18.3",
diff --git a/packages/react-components/react-provider/library/CHANGELOG.md b/packages/react-components/react-provider/library/CHANGELOG.md
index 999afeec8067a1..76de9b8be5d36b 100644
--- a/packages/react-components/react-provider/library/CHANGELOG.md
+++ b/packages/react-components/react-provider/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-provider
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:07 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.19.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-provider_v9.19.0)
+
+Wed, 22 Jan 2025 14:00:07 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-provider_v9.18.3..@fluentui/react-provider_v9.19.0)
+
+### Minor changes
+
+- fix: Updating FluentProvider types to avoid implicit import in API definition. ([PR #33590](https://github.com/microsoft/fluentui/pull/33590) by makotom@microsoft.com)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.18.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-provider_v9.18.3)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-provider/library/package.json b/packages/react-components/react-provider/library/package.json
index 79600a7aa21537..b0a66feb3389ba 100644
--- a/packages/react-components/react-provider/library/package.json
+++ b/packages/react-components/react-provider/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-provider",
-  "version": "9.18.3",
+  "version": "9.19.0",
   "description": "Fluent UI React provider component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,10 +20,10 @@
   "dependencies": {
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/core": "^1.16.0",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
diff --git a/packages/react-components/react-radio/library/CHANGELOG.json b/packages/react-components/react-radio/library/CHANGELOG.json
index 57d6d9e181e407..19e752bb231ef3 100644
--- a/packages/react-components/react-radio/library/CHANGELOG.json
+++ b/packages/react-components/react-radio/library/CHANGELOG.json
@@ -1,6 +1,53 @@
 {
   "name": "@fluentui/react-radio",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:08 GMT",
+      "tag": "@fluentui/react-radio_v9.2.41",
+      "version": "9.2.41",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-radio",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-radio",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-radio",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-radio",
+            "comment": "Bump @fluentui/react-label to v9.1.83",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-radio",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-radio",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-radio_v9.2.40",
diff --git a/packages/react-components/react-radio/library/CHANGELOG.md b/packages/react-components/react-radio/library/CHANGELOG.md
index a922d4370c8a52..6cb1319bd1e6bb 100644
--- a/packages/react-components/react-radio/library/CHANGELOG.md
+++ b/packages/react-components/react-radio/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-radio
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:08 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.41](https://github.com/microsoft/fluentui/tree/@fluentui/react-radio_v9.2.41)
+
+Wed, 22 Jan 2025 14:00:08 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-radio_v9.2.40..@fluentui/react-radio_v9.2.41)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-label to v9.1.83 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.40](https://github.com/microsoft/fluentui/tree/@fluentui/react-radio_v9.2.40)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-radio/library/package.json b/packages/react-components/react-radio/library/package.json
index 0c7a944e3a0dca..c41ee909a26c4d 100644
--- a/packages/react-components/react-radio/library/package.json
+++ b/packages/react-components/react-radio/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-radio",
-  "version": "9.2.40",
+  "version": "9.2.41",
   "description": "Fluent UI Radio component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,13 +18,13 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.84",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-label": "^9.1.82",
+    "@fluentui/react-field": "^9.1.85",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-label": "^9.1.83",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-rating/library/CHANGELOG.json b/packages/react-components/react-rating/library/CHANGELOG.json
index 753e044c2b8474..f1ab0e22419248 100644
--- a/packages/react-components/react-rating/library/CHANGELOG.json
+++ b/packages/react-components/react-rating/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-rating",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-rating_v9.0.28",
+      "version": "9.0.28",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-rating",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-rating",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-rating",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-rating_v9.0.27",
diff --git a/packages/react-components/react-rating/library/CHANGELOG.md b/packages/react-components/react-rating/library/CHANGELOG.md
index 522b9b150e0900..0cea6b7a372a86 100644
--- a/packages/react-components/react-rating/library/CHANGELOG.md
+++ b/packages/react-components/react-rating/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-rating
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.28](https://github.com/microsoft/fluentui/tree/@fluentui/react-rating_v9.0.28)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-rating_v9.0.27..@fluentui/react-rating_v9.0.28)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-rating_v9.0.27)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-rating/library/package.json b/packages/react-components/react-rating/library/package.json
index 9813715e14f83c..5e333860ac8685 100644
--- a/packages/react-components/react-rating/library/package.json
+++ b/packages/react-components/react-rating/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-rating",
-  "version": "9.0.27",
+  "version": "9.0.28",
   "description": "Rating component for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,11 +18,11 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-tabster": "^9.23.3",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-search/library/CHANGELOG.json b/packages/react-components/react-search/library/CHANGELOG.json
index efa469de9a9e3d..efe039f129558b 100644
--- a/packages/react-components/react-search/library/CHANGELOG.json
+++ b/packages/react-components/react-search/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-search",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-search_v9.0.28",
+      "version": "9.0.28",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-search",
+            "comment": "Bump @fluentui/react-input to v9.4.98",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-search",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-search",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-search_v9.0.27",
diff --git a/packages/react-components/react-search/library/CHANGELOG.md b/packages/react-components/react-search/library/CHANGELOG.md
index f8f5ef72e11ac7..b553f4fdc62bab 100644
--- a/packages/react-components/react-search/library/CHANGELOG.md
+++ b/packages/react-components/react-search/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-search
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.28](https://github.com/microsoft/fluentui/tree/@fluentui/react-search_v9.0.28)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-search_v9.0.27..@fluentui/react-search_v9.0.28)
+
+### Patches
+
+- Bump @fluentui/react-input to v9.4.98 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-search_v9.0.27)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-search/library/package.json b/packages/react-components/react-search/library/package.json
index 7ca2a9087c1ff9..1257b604d48dde 100644
--- a/packages/react-components/react-search/library/package.json
+++ b/packages/react-components/react-search/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-search",
-  "version": "9.0.27",
+  "version": "9.0.28",
   "description": "Search input for Fluent UI v9",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,10 +19,10 @@
   },
   "dependencies": {
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-input": "^9.4.97",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-input": "^9.4.98",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-select/library/CHANGELOG.json b/packages/react-components/react-select/library/CHANGELOG.json
index 1d631967311040..37b61313cd6b13 100644
--- a/packages/react-components/react-select/library/CHANGELOG.json
+++ b/packages/react-components/react-select/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-select",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-select_v9.1.96",
+      "version": "9.1.96",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-select",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-select",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-select",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-select_v9.1.95",
diff --git a/packages/react-components/react-select/library/CHANGELOG.md b/packages/react-components/react-select/library/CHANGELOG.md
index 27c2d8590820de..f80dcd84e95845 100644
--- a/packages/react-components/react-select/library/CHANGELOG.md
+++ b/packages/react-components/react-select/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-select
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.96](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.1.96)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-select_v9.1.95..@fluentui/react-select_v9.1.96)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.1.95](https://github.com/microsoft/fluentui/tree/@fluentui/react-select_v9.1.95)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-select/library/package.json b/packages/react-components/react-select/library/package.json
index b1b41ae03e5701..b3094fbc5a399b 100644
--- a/packages/react-components/react-select/library/package.json
+++ b/packages/react-components/react-select/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-select",
-  "version": "9.1.95",
+  "version": "9.1.96",
   "description": "Fluent UI React Select component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,12 +18,12 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-field": "^9.1.85",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-skeleton/library/CHANGELOG.json b/packages/react-components/react-skeleton/library/CHANGELOG.json
index 900979ee683885..69e2b9b916a29c 100644
--- a/packages/react-components/react-skeleton/library/CHANGELOG.json
+++ b/packages/react-components/react-skeleton/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-skeleton",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-skeleton_v9.1.25",
+      "version": "9.1.25",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-skeleton",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-skeleton",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-skeleton",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-skeleton_v9.1.24",
diff --git a/packages/react-components/react-skeleton/library/CHANGELOG.md b/packages/react-components/react-skeleton/library/CHANGELOG.md
index af93dc948549d1..35c05f03a2ef8a 100644
--- a/packages/react-components/react-skeleton/library/CHANGELOG.md
+++ b/packages/react-components/react-skeleton/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-skeleton
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.25](https://github.com/microsoft/fluentui/tree/@fluentui/react-skeleton_v9.1.25)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-skeleton_v9.1.24..@fluentui/react-skeleton_v9.1.25)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.1.24](https://github.com/microsoft/fluentui/tree/@fluentui/react-skeleton_v9.1.24)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-skeleton/library/package.json b/packages/react-components/react-skeleton/library/package.json
index 1c7f8beb5b1aad..1f3d0216127718 100644
--- a/packages/react-components/react-skeleton/library/package.json
+++ b/packages/react-components/react-skeleton/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-skeleton",
-  "version": "9.1.24",
+  "version": "9.1.25",
   "description": "Converged v9 Skeleton Component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,11 +18,11 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.84",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-field": "^9.1.85",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-slider/library/CHANGELOG.json b/packages/react-components/react-slider/library/CHANGELOG.json
index 897b1640bab726..205fa4f4409120 100644
--- a/packages/react-components/react-slider/library/CHANGELOG.json
+++ b/packages/react-components/react-slider/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-slider",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-slider_v9.2.5",
+      "version": "9.2.5",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-slider",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-slider",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-slider",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-slider",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-slider_v9.2.4",
diff --git a/packages/react-components/react-slider/library/CHANGELOG.md b/packages/react-components/react-slider/library/CHANGELOG.md
index 8ed1e09a45b67a..a5f8ff77fafba5 100644
--- a/packages/react-components/react-slider/library/CHANGELOG.md
+++ b/packages/react-components/react-slider/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-slider
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-slider_v9.2.5)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-slider_v9.2.4..@fluentui/react-slider_v9.2.5)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-slider_v9.2.4)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-slider/library/package.json b/packages/react-components/react-slider/library/package.json
index bc6355ab336e04..25383f9598bd23 100644
--- a/packages/react-components/react-slider/library/package.json
+++ b/packages/react-components/react-slider/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-slider",
-  "version": "9.2.4",
+  "version": "9.2.5",
   "description": "Fluent UI React Slider component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,12 +19,12 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.84",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-field": "^9.1.85",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-spinbutton/library/CHANGELOG.json b/packages/react-components/react-spinbutton/library/CHANGELOG.json
index 8018e6b7edd7e7..194c303dd08a15 100644
--- a/packages/react-components/react-spinbutton/library/CHANGELOG.json
+++ b/packages/react-components/react-spinbutton/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-spinbutton",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:08 GMT",
+      "tag": "@fluentui/react-spinbutton_v9.2.97",
+      "version": "9.2.97",
+      "comments": {
+        "patch": [
+          {
+            "author": "carla.muntean@microsoft.com",
+            "package": "@fluentui/react-spinbutton",
+            "commit": "5afd9daa49ae9ca719260238b2b64451e575d913",
+            "comment": "fix spinbutton test"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinbutton",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinbutton",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinbutton",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-spinbutton_v9.2.96",
diff --git a/packages/react-components/react-spinbutton/library/CHANGELOG.md b/packages/react-components/react-spinbutton/library/CHANGELOG.md
index 05f57ff9e7d707..63a99ab1b6eb67 100644
--- a/packages/react-components/react-spinbutton/library/CHANGELOG.md
+++ b/packages/react-components/react-spinbutton/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-spinbutton
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:08 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.97](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v9.2.97)
+
+Wed, 22 Jan 2025 14:00:08 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinbutton_v9.2.96..@fluentui/react-spinbutton_v9.2.97)
+
+### Patches
+
+- fix spinbutton test ([PR #33680](https://github.com/microsoft/fluentui/pull/33680) by carla.muntean@microsoft.com)
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.96](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v9.2.96)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-spinbutton/library/package.json b/packages/react-components/react-spinbutton/library/package.json
index b5cf8472b53796..dcf681ca42c00b 100644
--- a/packages/react-components/react-spinbutton/library/package.json
+++ b/packages/react-components/react-spinbutton/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-spinbutton",
-  "version": "9.2.96",
+  "version": "9.2.97",
   "description": "Fluent UI React SpinButton component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,12 +20,12 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-field": "^9.1.85",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-spinner/library/CHANGELOG.json b/packages/react-components/react-spinner/library/CHANGELOG.json
index 1a41b356e3b9be..5ee2c71121d528 100644
--- a/packages/react-components/react-spinner/library/CHANGELOG.json
+++ b/packages/react-components/react-spinner/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-spinner",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-spinner_v9.5.7",
+      "version": "9.5.7",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinner",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinner",
+            "comment": "Bump @fluentui/react-label to v9.1.83",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-spinner",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-spinner_v9.5.6",
diff --git a/packages/react-components/react-spinner/library/CHANGELOG.md b/packages/react-components/react-spinner/library/CHANGELOG.md
index 7074cc9fd1c101..084b82c4889fd6 100644
--- a/packages/react-components/react-spinner/library/CHANGELOG.md
+++ b/packages/react-components/react-spinner/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-spinner
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.5.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinner_v9.5.7)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinner_v9.5.6..@fluentui/react-spinner_v9.5.7)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-label to v9.1.83 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.5.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinner_v9.5.6)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-spinner/library/package.json b/packages/react-components/react-spinner/library/package.json
index 75407220d5e09c..9032c711b1683b 100644
--- a/packages/react-components/react-spinner/library/package.json
+++ b/packages/react-components/react-spinner/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-spinner",
-  "version": "9.5.6",
+  "version": "9.5.7",
   "description": "Spinner component for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,11 +18,11 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-label": "^9.1.82",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-label": "^9.1.83",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-storybook-addon/package.json b/packages/react-components/react-storybook-addon/package.json
index 85f0abd762c951..d30ffe975e0ab9 100644
--- a/packages/react-components/react-storybook-addon/package.json
+++ b/packages/react-components/react-storybook-addon/package.json
@@ -17,8 +17,8 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-provider": "^9.18.3",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-provider": "^9.19.0",
     "@fluentui/react-theme": "^9.1.24",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-swatch-picker/library/CHANGELOG.json b/packages/react-components/react-swatch-picker/library/CHANGELOG.json
index 5cd3633c8601ca..a044421b73b5dd 100644
--- a/packages/react-components/react-swatch-picker/library/CHANGELOG.json
+++ b/packages/react-components/react-swatch-picker/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-swatch-picker",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-swatch-picker_v9.1.19",
+      "version": "9.1.19",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-swatch-picker",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-swatch-picker",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-swatch-picker",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-swatch-picker",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-swatch-picker",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-swatch-picker_v9.1.18",
diff --git a/packages/react-components/react-swatch-picker/library/CHANGELOG.md b/packages/react-components/react-swatch-picker/library/CHANGELOG.md
index c26125e374a697..914866221f7d5a 100644
--- a/packages/react-components/react-swatch-picker/library/CHANGELOG.md
+++ b/packages/react-components/react-swatch-picker/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-swatch-picker
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.19](https://github.com/microsoft/fluentui/tree/@fluentui/react-swatch-picker_v9.1.19)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-swatch-picker_v9.1.18..@fluentui/react-swatch-picker_v9.1.19)
+
+### Patches
+
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.1.18](https://github.com/microsoft/fluentui/tree/@fluentui/react-swatch-picker_v9.1.18)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-swatch-picker/library/package.json b/packages/react-components/react-swatch-picker/library/package.json
index c2bc2a4cb65ff9..20d0aa7289269f 100644
--- a/packages/react-components/react-swatch-picker/library/package.json
+++ b/packages/react-components/react-swatch-picker/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-swatch-picker",
-  "version": "9.1.18",
+  "version": "9.1.19",
   "description": "New fluentui react package",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,14 +20,14 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-field": "^9.1.85",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-switch/library/CHANGELOG.json b/packages/react-components/react-switch/library/CHANGELOG.json
index a04f296cc6c8f4..e0fb60d98d6771 100644
--- a/packages/react-components/react-switch/library/CHANGELOG.json
+++ b/packages/react-components/react-switch/library/CHANGELOG.json
@@ -1,6 +1,53 @@
 {
   "name": "@fluentui/react-switch",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:08 GMT",
+      "tag": "@fluentui/react-switch_v9.1.103",
+      "version": "9.1.103",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-switch",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-switch",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-switch",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-switch",
+            "comment": "Bump @fluentui/react-label to v9.1.83",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-switch",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-switch",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-switch_v9.1.102",
diff --git a/packages/react-components/react-switch/library/CHANGELOG.md b/packages/react-components/react-switch/library/CHANGELOG.md
index 03080221d07978..44c9a75081a1a9 100644
--- a/packages/react-components/react-switch/library/CHANGELOG.md
+++ b/packages/react-components/react-switch/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-switch
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:08 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.1.103](https://github.com/microsoft/fluentui/tree/@fluentui/react-switch_v9.1.103)
+
+Wed, 22 Jan 2025 14:00:08 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-switch_v9.1.102..@fluentui/react-switch_v9.1.103)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-label to v9.1.83 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.1.102](https://github.com/microsoft/fluentui/tree/@fluentui/react-switch_v9.1.102)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-switch/library/package.json b/packages/react-components/react-switch/library/package.json
index 2b11b352e15869..ff4131e78d9d9a 100644
--- a/packages/react-components/react-switch/library/package.json
+++ b/packages/react-components/react-switch/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-switch",
-  "version": "9.1.102",
+  "version": "9.1.103",
   "description": "Fluent UI React Switch component.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,14 +18,14 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-field": "^9.1.85",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-label": "^9.1.82",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-label": "^9.1.83",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-table/library/CHANGELOG.json b/packages/react-components/react-table/library/CHANGELOG.json
index 8fe333c75e9d26..ade47e634f36ca 100644
--- a/packages/react-components/react-table/library/CHANGELOG.json
+++ b/packages/react-components/react-table/library/CHANGELOG.json
@@ -1,6 +1,71 @@
 {
   "name": "@fluentui/react-table",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:09 GMT",
+      "tag": "@fluentui/react-table_v9.15.28",
+      "version": "9.15.28",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-table",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-avatar to v9.6.49",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-checkbox to v9.2.46",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-radio to v9.2.41",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-table",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-table_v9.15.27",
diff --git a/packages/react-components/react-table/library/CHANGELOG.md b/packages/react-components/react-table/library/CHANGELOG.md
index b9f25c208af8f2..52a719a83942f0 100644
--- a/packages/react-components/react-table/library/CHANGELOG.md
+++ b/packages/react-components/react-table/library/CHANGELOG.md
@@ -1,9 +1,25 @@
 # Change Log - @fluentui/react-table
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:09 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.15.28](https://github.com/microsoft/fluentui/tree/@fluentui/react-table_v9.15.28)
+
+Wed, 22 Jan 2025 14:00:09 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-table_v9.15.27..@fluentui/react-table_v9.15.28)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-avatar to v9.6.49 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-checkbox to v9.2.46 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-radio to v9.2.41 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.15.27](https://github.com/microsoft/fluentui/tree/@fluentui/react-table_v9.15.27)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-table/library/package.json b/packages/react-components/react-table/library/package.json
index c689784c43e4d0..28145b2790e3eb 100644
--- a/packages/react-components/react-table/library/package.json
+++ b/packages/react-components/react-table/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-table",
-  "version": "9.15.27",
+  "version": "9.15.28",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,17 +21,17 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-avatar": "^9.6.48",
-    "@fluentui/react-checkbox": "^9.2.45",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-avatar": "^9.6.49",
+    "@fluentui/react-checkbox": "^9.2.46",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-radio": "^9.2.40",
+    "@fluentui/react-radio": "^9.2.41",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-tabs/library/CHANGELOG.json b/packages/react-components/react-tabs/library/CHANGELOG.json
index 92a23bf4ad3592..105cdbebf4a28f 100644
--- a/packages/react-components/react-tabs/library/CHANGELOG.json
+++ b/packages/react-components/react-tabs/library/CHANGELOG.json
@@ -1,6 +1,47 @@
 {
   "name": "@fluentui/react-tabs",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:09 GMT",
+      "tag": "@fluentui/react-tabs_v9.6.7",
+      "version": "9.6.7",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-tabs",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tabs",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tabs",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tabs",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tabs",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:35 GMT",
       "tag": "@fluentui/react-tabs_v9.6.6",
diff --git a/packages/react-components/react-tabs/library/CHANGELOG.md b/packages/react-components/react-tabs/library/CHANGELOG.md
index aea9dcd16bdf24..42c7fcacdb8ac5 100644
--- a/packages/react-components/react-tabs/library/CHANGELOG.md
+++ b/packages/react-components/react-tabs/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-tabs
 
-This log was last generated on Wed, 08 Jan 2025 18:33:35 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:09 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.6.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabs_v9.6.7)
+
+Wed, 22 Jan 2025 14:00:09 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tabs_v9.6.6..@fluentui/react-tabs_v9.6.7)
+
+### Patches
+
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.6.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabs_v9.6.6)
 
 Wed, 08 Jan 2025 18:33:35 GMT 
diff --git a/packages/react-components/react-tabs/library/package.json b/packages/react-components/react-tabs/library/package.json
index a8fe90af743ee2..56a397316fd4f2 100644
--- a/packages/react-components/react-tabs/library/package.json
+++ b/packages/react-components/react-tabs/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tabs",
-  "version": "9.6.6",
+  "version": "9.6.7",
   "description": "Fluent UI React tabs components",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,12 +18,12 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-tabster/CHANGELOG.json b/packages/react-components/react-tabster/CHANGELOG.json
index 934289e9a14cd4..85af702d746bff 100644
--- a/packages/react-components/react-tabster/CHANGELOG.json
+++ b/packages/react-components/react-tabster/CHANGELOG.json
@@ -1,6 +1,35 @@
 {
   "name": "@fluentui/react-tabster",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:09 GMT",
+      "tag": "@fluentui/react-tabster_v9.23.3",
+      "version": "9.23.3",
+      "comments": {
+        "none": [
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-tabster",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "docs: fix invalid TSdoc that is causing warnings within generate-api task"
+          },
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-tabster",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tabster",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-tabster_v9.23.2",
diff --git a/packages/react-components/react-tabster/CHANGELOG.md b/packages/react-components/react-tabster/CHANGELOG.md
index 2f0c6f916a3473..2a36ad89843658 100644
--- a/packages/react-components/react-tabster/CHANGELOG.md
+++ b/packages/react-components/react-tabster/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-tabster
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:09 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.23.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabster_v9.23.3)
+
+Wed, 22 Jan 2025 14:00:09 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tabster_v9.23.2..@fluentui/react-tabster_v9.23.3)
+
+### Patches
+
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.23.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabster_v9.23.2)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-tabster/package.json b/packages/react-components/react-tabster/package.json
index ea1b271027f42b..9867f3108438b6 100644
--- a/packages/react-components/react-tabster/package.json
+++ b/packages/react-components/react-tabster/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tabster",
-  "version": "9.23.2",
+  "version": "9.23.3",
   "description": "Utilities for focus management and facade for tabster",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,7 +19,7 @@
   "dependencies": {
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
     "keyborg": "^2.6.0",
diff --git a/packages/react-components/react-tag-picker/library/CHANGELOG.json b/packages/react-components/react-tag-picker/library/CHANGELOG.json
index 59c378ad76f988..1676118863d7ae 100644
--- a/packages/react-components/react-tag-picker/library/CHANGELOG.json
+++ b/packages/react-components/react-tag-picker/library/CHANGELOG.json
@@ -1,6 +1,89 @@
 {
   "name": "@fluentui/react-tag-picker",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:10 GMT",
+      "tag": "@fluentui/react-tag-picker_v9.4.0",
+      "version": "9.4.0",
+      "comments": {
+        "minor": [
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-tag-picker",
+            "commit": "e706ac0ac7f2aa46a7f6f48efda24938a539a835",
+            "comment": "feature: single line layout"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-portal to v9.4.42",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-combobox to v9.13.17",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-tags to v9.3.29",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-positioning to v9.16.2",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tag-picker",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ],
+        "patch": [
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-tag-picker",
+            "commit": "b987de6afa58c99706f17fa52aa0d64fc1f38643",
+            "comment": "bugfix: secondaryContent not displaying properly"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-tag-picker_v9.3.14",
diff --git a/packages/react-components/react-tag-picker/library/CHANGELOG.md b/packages/react-components/react-tag-picker/library/CHANGELOG.md
index 47a429155cacba..aee4c9286db192 100644
--- a/packages/react-components/react-tag-picker/library/CHANGELOG.md
+++ b/packages/react-components/react-tag-picker/library/CHANGELOG.md
@@ -1,9 +1,32 @@
 # Change Log - @fluentui/react-tag-picker
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:10 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.4.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-tag-picker_v9.4.0)
+
+Wed, 22 Jan 2025 14:00:10 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tag-picker_v9.3.14..@fluentui/react-tag-picker_v9.4.0)
+
+### Minor changes
+
+- feature: single line layout ([PR #32247](https://github.com/microsoft/fluentui/pull/32247) by bernardo.sunderhus@gmail.com)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-portal to v9.4.42 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-combobox to v9.13.17 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tags to v9.3.29 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-positioning to v9.16.2 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
+### Patches
+
+- bugfix: secondaryContent not displaying properly ([PR #33689](https://github.com/microsoft/fluentui/pull/33689) by bernardo.sunderhus@gmail.com)
+
 ## [9.3.14](https://github.com/microsoft/fluentui/tree/@fluentui/react-tag-picker_v9.3.14)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-tag-picker/library/package.json b/packages/react-components/react-tag-picker/library/package.json
index 20c3a7e79e3b55..f77e4154bb50ac 100644
--- a/packages/react-components/react-tag-picker/library/package.json
+++ b/packages/react-components/react-tag-picker/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tag-picker",
-  "version": "9.3.14",
+  "version": "9.4.0",
   "description": "FluentUI TagPicker component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -28,20 +28,20 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-portal": "^9.4.41",
-    "@fluentui/react-tabster": "^9.23.2",
-    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-portal": "^9.4.42",
+    "@fluentui/react-tabster": "^9.23.3",
+    "@fluentui/react-aria": "^9.13.14",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-combobox": "^9.13.16",
-    "@fluentui/react-tags": "^9.3.28",
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-positioning": "^9.16.1",
+    "@fluentui/react-combobox": "^9.13.17",
+    "@fluentui/react-tags": "^9.3.29",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-positioning": "^9.16.2",
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-field": "^9.1.85",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-tags/library/CHANGELOG.json b/packages/react-components/react-tags/library/CHANGELOG.json
index 3184e3dc41e7c9..e1a8f0ffb188de 100644
--- a/packages/react-components/react-tags/library/CHANGELOG.json
+++ b/packages/react-components/react-tags/library/CHANGELOG.json
@@ -1,6 +1,45 @@
 {
   "name": "@fluentui/react-tags",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-tags_v9.3.29",
+      "version": "9.3.29",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tags",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tags",
+            "comment": "Bump @fluentui/react-avatar to v9.6.49",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tags",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tags",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tags",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-tags_v9.3.28",
diff --git a/packages/react-components/react-tags/library/CHANGELOG.md b/packages/react-components/react-tags/library/CHANGELOG.md
index e5767dadce9caf..5fc9c863131423 100644
--- a/packages/react-components/react-tags/library/CHANGELOG.md
+++ b/packages/react-components/react-tags/library/CHANGELOG.md
@@ -1,9 +1,22 @@
 # Change Log - @fluentui/react-tags
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.29](https://github.com/microsoft/fluentui/tree/@fluentui/react-tags_v9.3.29)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tags_v9.3.28..@fluentui/react-tags_v9.3.29)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-avatar to v9.6.49 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.3.28](https://github.com/microsoft/fluentui/tree/@fluentui/react-tags_v9.3.28)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-tags/library/package.json b/packages/react-components/react-tags/library/package.json
index 54045929a198da..a091cafa9ce80f 100644
--- a/packages/react-components/react-tags/library/package.json
+++ b/packages/react-components/react-tags/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tags",
-  "version": "9.3.28",
+  "version": "9.3.29",
   "description": "Fluent UI Tag component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,14 +21,14 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-avatar": "^9.6.48",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-avatar": "^9.6.49",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-teaching-popover/library/CHANGELOG.json b/packages/react-components/react-teaching-popover/library/CHANGELOG.json
index bf57242cc48bd5..c22aa33309b804 100644
--- a/packages/react-components/react-teaching-popover/library/CHANGELOG.json
+++ b/packages/react-components/react-teaching-popover/library/CHANGELOG.json
@@ -1,6 +1,57 @@
 {
   "name": "@fluentui/react-teaching-popover",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-teaching-popover_v9.2.1",
+      "version": "9.2.1",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-popover to v9.9.31",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-button to v9.3.100",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-teaching-popover",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:35 GMT",
       "tag": "@fluentui/react-teaching-popover_v9.2.0",
diff --git a/packages/react-components/react-teaching-popover/library/CHANGELOG.md b/packages/react-components/react-teaching-popover/library/CHANGELOG.md
index dfd3e92c3e9a66..c2c1abd780c0cb 100644
--- a/packages/react-components/react-teaching-popover/library/CHANGELOG.md
+++ b/packages/react-components/react-teaching-popover/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-teaching-popover
 
-This log was last generated on Wed, 08 Jan 2025 18:33:35 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-teaching-popover_v9.2.1)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-teaching-popover_v9.2.0..@fluentui/react-teaching-popover_v9.2.1)
+
+### Patches
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-popover to v9.9.31 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-button to v9.3.100 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-teaching-popover_v9.2.0)
 
 Wed, 08 Jan 2025 18:33:35 GMT 
diff --git a/packages/react-components/react-teaching-popover/library/package.json b/packages/react-components/react-teaching-popover/library/package.json
index 71051338731bf5..eee25677d17eca 100644
--- a/packages/react-components/react-teaching-popover/library/package.json
+++ b/packages/react-components/react-teaching-popover/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-teaching-popover",
-  "version": "9.2.0",
+  "version": "9.2.1",
   "description": "New fluentui react package",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -24,18 +24,18 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-popover": "^9.9.30",
-    "@fluentui/react-button": "^9.3.99",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-popover": "^9.9.31",
+    "@fluentui/react-button": "^9.3.100",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-context-selector": "^9.1.72",
     "use-sync-external-store": "^1.2.0"
   },
   "peerDependencies": {
diff --git a/packages/react-components/react-text/library/CHANGELOG.json b/packages/react-components/react-text/library/CHANGELOG.json
index 000c38549c4fe4..30f1c35efa7f89 100644
--- a/packages/react-components/react-text/library/CHANGELOG.json
+++ b/packages/react-components/react-text/library/CHANGELOG.json
@@ -1,6 +1,27 @@
 {
   "name": "@fluentui/react-text",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-text_v9.4.32",
+      "version": "9.4.32",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-text",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-text",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-text_v9.4.31",
diff --git a/packages/react-components/react-text/library/CHANGELOG.md b/packages/react-components/react-text/library/CHANGELOG.md
index 141a7d41f48f09..b1c462cf5032b2 100644
--- a/packages/react-components/react-text/library/CHANGELOG.md
+++ b/packages/react-components/react-text/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-text
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.4.32](https://github.com/microsoft/fluentui/tree/@fluentui/react-text_v9.4.32)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-text_v9.4.31..@fluentui/react-text_v9.4.32)
+
+### Patches
+
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.4.31](https://github.com/microsoft/fluentui/tree/@fluentui/react-text_v9.4.31)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-text/library/package.json b/packages/react-components/react-text/library/package.json
index 915cb6d2e42d65..6ea7a240b36543 100644
--- a/packages/react-components/react-text/library/package.json
+++ b/packages/react-components/react-text/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-text",
-  "version": "9.4.31",
+  "version": "9.4.32",
   "description": "Text is a typography and styling abstraction component that can be used to ensure the consistency of all text across your application.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,8 +20,8 @@
   "dependencies": {
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-textarea/library/CHANGELOG.json b/packages/react-components/react-textarea/library/CHANGELOG.json
index 10476a2cd14da6..6bd3c149d8b66e 100644
--- a/packages/react-components/react-textarea/library/CHANGELOG.json
+++ b/packages/react-components/react-textarea/library/CHANGELOG.json
@@ -1,6 +1,33 @@
 {
   "name": "@fluentui/react-textarea",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-textarea_v9.3.97",
+      "version": "9.3.97",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-textarea",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-textarea",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-textarea",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-textarea_v9.3.96",
diff --git a/packages/react-components/react-textarea/library/CHANGELOG.md b/packages/react-components/react-textarea/library/CHANGELOG.md
index 40d3ce4eb73a94..5f29245d00984a 100644
--- a/packages/react-components/react-textarea/library/CHANGELOG.md
+++ b/packages/react-components/react-textarea/library/CHANGELOG.md
@@ -1,9 +1,20 @@
 # Change Log - @fluentui/react-textarea
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.97](https://github.com/microsoft/fluentui/tree/@fluentui/react-textarea_v9.3.97)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-textarea_v9.3.96..@fluentui/react-textarea_v9.3.97)
+
+### Patches
+
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.3.96](https://github.com/microsoft/fluentui/tree/@fluentui/react-textarea_v9.3.96)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-textarea/library/package.json b/packages/react-components/react-textarea/library/package.json
index ab0f6978f6093b..05f8e99c745a0d 100644
--- a/packages/react-components/react-textarea/library/package.json
+++ b/packages/react-components/react-textarea/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-textarea",
-  "version": "9.3.96",
+  "version": "9.3.97",
   "description": "Fluent UI TextArea component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,11 +18,11 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-field": "^9.1.84",
+    "@fluentui/react-field": "^9.1.85",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-timepicker-compat/library/CHANGELOG.json b/packages/react-components/react-timepicker-compat/library/CHANGELOG.json
index e8f43b5ac291f3..26eceb53a66260 100644
--- a/packages/react-components/react-timepicker-compat/library/CHANGELOG.json
+++ b/packages/react-components/react-timepicker-compat/library/CHANGELOG.json
@@ -1,6 +1,39 @@
 {
   "name": "@fluentui/react-timepicker-compat",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-timepicker-compat_v0.2.47",
+      "version": "0.2.47",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-timepicker-compat",
+            "comment": "Bump @fluentui/react-combobox to v9.13.17",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-timepicker-compat",
+            "comment": "Bump @fluentui/react-field to v9.1.85",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-timepicker-compat",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-timepicker-compat",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-timepicker-compat_v0.2.46",
diff --git a/packages/react-components/react-timepicker-compat/library/CHANGELOG.md b/packages/react-components/react-timepicker-compat/library/CHANGELOG.md
index 99fddd77436dca..56dfa865555de6 100644
--- a/packages/react-components/react-timepicker-compat/library/CHANGELOG.md
+++ b/packages/react-components/react-timepicker-compat/library/CHANGELOG.md
@@ -1,9 +1,21 @@
 # Change Log - @fluentui/react-timepicker-compat
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [0.2.47](https://github.com/microsoft/fluentui/tree/@fluentui/react-timepicker-compat_v0.2.47)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-timepicker-compat_v0.2.46..@fluentui/react-timepicker-compat_v0.2.47)
+
+### Patches
+
+- Bump @fluentui/react-combobox to v9.13.17 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-field to v9.1.85 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [0.2.46](https://github.com/microsoft/fluentui/tree/@fluentui/react-timepicker-compat_v0.2.46)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-timepicker-compat/library/package.json b/packages/react-components/react-timepicker-compat/library/package.json
index 7c7f9cf217a4e6..a9cffa47b36f5f 100644
--- a/packages/react-components/react-timepicker-compat/library/package.json
+++ b/packages/react-components/react-timepicker-compat/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-timepicker-compat",
-  "version": "0.2.46",
+  "version": "0.2.47",
   "description": "Fluent UI TimePicker Compat Component",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -28,12 +28,12 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-combobox": "^9.13.16",
-    "@fluentui/react-field": "^9.1.84",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-combobox": "^9.13.17",
+    "@fluentui/react-field": "^9.1.85",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-toast/library/CHANGELOG.json b/packages/react-components/react-toast/library/CHANGELOG.json
index 7d756df4532bcf..470d7f6f3394f8 100644
--- a/packages/react-components/react-toast/library/CHANGELOG.json
+++ b/packages/react-components/react-toast/library/CHANGELOG.json
@@ -1,6 +1,65 @@
 {
   "name": "@fluentui/react-toast",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:10 GMT",
+      "tag": "@fluentui/react-toast_v9.3.65",
+      "version": "9.3.65",
+      "comments": {
+        "none": [
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-toast",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          }
+        ],
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-motion to v9.6.7",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-portal to v9.4.42",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toast",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:35 GMT",
       "tag": "@fluentui/react-toast_v9.3.64",
diff --git a/packages/react-components/react-toast/library/CHANGELOG.md b/packages/react-components/react-toast/library/CHANGELOG.md
index fd8c6b52b431d8..87e47117d5e877 100644
--- a/packages/react-components/react-toast/library/CHANGELOG.md
+++ b/packages/react-components/react-toast/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-toast
 
-This log was last generated on Wed, 08 Jan 2025 18:33:35 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:10 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.3.65](https://github.com/microsoft/fluentui/tree/@fluentui/react-toast_v9.3.65)
+
+Wed, 22 Jan 2025 14:00:10 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-toast_v9.3.64..@fluentui/react-toast_v9.3.65)
+
+### Patches
+
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion to v9.6.7 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-portal to v9.4.42 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.3.64](https://github.com/microsoft/fluentui/tree/@fluentui/react-toast_v9.3.64)
 
 Wed, 08 Jan 2025 18:33:35 GMT 
diff --git a/packages/react-components/react-toast/library/package.json b/packages/react-components/react-toast/library/package.json
index f293206e1e0164..71d03d3b86c9e9 100644
--- a/packages/react-components/react-toast/library/package.json
+++ b/packages/react-components/react-toast/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-toast",
-  "version": "9.3.64",
+  "version": "9.3.65",
   "description": "Toast component for Fluent UI",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,16 +21,16 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.13",
+    "@fluentui/react-aria": "^9.13.14",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-motion": "^9.6.6",
-    "@fluentui/react-motion-components-preview": "^0.4.2",
-    "@fluentui/react-portal": "^9.4.41",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-motion": "^9.6.7",
+    "@fluentui/react-motion-components-preview": "^0.4.3",
+    "@fluentui/react-portal": "^9.4.42",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-toolbar/library/CHANGELOG.json b/packages/react-components/react-toolbar/library/CHANGELOG.json
index 7687952f67677f..f9d6f20976c0cc 100644
--- a/packages/react-components/react-toolbar/library/CHANGELOG.json
+++ b/packages/react-components/react-toolbar/library/CHANGELOG.json
@@ -1,6 +1,57 @@
 {
   "name": "@fluentui/react-toolbar",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:21 GMT",
+      "tag": "@fluentui/react-toolbar_v9.2.15",
+      "version": "9.2.15",
+      "comments": {
+        "patch": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-button to v9.3.100",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-divider to v9.2.82",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-radio to v9.2.41",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-toolbar",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-toolbar_v9.2.14",
diff --git a/packages/react-components/react-toolbar/library/CHANGELOG.md b/packages/react-components/react-toolbar/library/CHANGELOG.md
index f8de414f13cd9f..059f33d62eba3b 100644
--- a/packages/react-components/react-toolbar/library/CHANGELOG.md
+++ b/packages/react-components/react-toolbar/library/CHANGELOG.md
@@ -1,9 +1,24 @@
 # Change Log - @fluentui/react-toolbar
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:21 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.2.15](https://github.com/microsoft/fluentui/tree/@fluentui/react-toolbar_v9.2.15)
+
+Wed, 22 Jan 2025 14:00:21 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-toolbar_v9.2.14..@fluentui/react-toolbar_v9.2.15)
+
+### Patches
+
+- Bump @fluentui/react-button to v9.3.100 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-divider to v9.2.82 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-radio to v9.2.41 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.2.14](https://github.com/microsoft/fluentui/tree/@fluentui/react-toolbar_v9.2.14)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-toolbar/library/package.json b/packages/react-components/react-toolbar/library/package.json
index d27a6121e3a1be..6133da3e46adcb 100644
--- a/packages/react-components/react-toolbar/library/package.json
+++ b/packages/react-components/react-toolbar/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-toolbar",
-  "version": "9.2.14",
+  "version": "9.2.15",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -20,15 +20,15 @@
     "@fluentui/scripts-cypress": "*"
   },
   "dependencies": {
-    "@fluentui/react-button": "^9.3.99",
-    "@fluentui/react-divider": "^9.2.81",
+    "@fluentui/react-button": "^9.3.100",
+    "@fluentui/react-divider": "^9.2.82",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-context-selector": "^9.1.71",
-    "@fluentui/react-radio": "^9.2.40",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-context-selector": "^9.1.72",
+    "@fluentui/react-radio": "^9.2.41",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-tooltip/library/CHANGELOG.json b/packages/react-components/react-tooltip/library/CHANGELOG.json
index 6a00ff1c9fcc92..1d706b1c65308b 100644
--- a/packages/react-components/react-tooltip/library/CHANGELOG.json
+++ b/packages/react-components/react-tooltip/library/CHANGELOG.json
@@ -1,6 +1,65 @@
 {
   "name": "@fluentui/react-tooltip",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:11 GMT",
+      "tag": "@fluentui/react-tooltip_v9.5.4",
+      "version": "9.5.4",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-tooltip",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-tooltip",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          }
+        ],
+        "patch": [
+          {
+            "author": "viktorgenaev@microsoft.com",
+            "package": "@fluentui/react-tooltip",
+            "commit": "4db8229aa6938526432af9511f247072c21a72ac",
+            "comment": "fix: wrong call of useIsNavigatingWithKeyboard"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tooltip",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tooltip",
+            "comment": "Bump @fluentui/react-portal to v9.4.42",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tooltip",
+            "comment": "Bump @fluentui/react-positioning to v9.16.2",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tooltip",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tooltip",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-tooltip_v9.5.3",
diff --git a/packages/react-components/react-tooltip/library/CHANGELOG.md b/packages/react-components/react-tooltip/library/CHANGELOG.md
index ec6e48cf3f019a..f13b87a2983da9 100644
--- a/packages/react-components/react-tooltip/library/CHANGELOG.md
+++ b/packages/react-components/react-tooltip/library/CHANGELOG.md
@@ -1,9 +1,23 @@
 # Change Log - @fluentui/react-tooltip
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:11 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.5.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-tooltip_v9.5.4)
+
+Wed, 22 Jan 2025 14:00:11 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tooltip_v9.5.3..@fluentui/react-tooltip_v9.5.4)
+
+### Patches
+
+- fix: wrong call of useIsNavigatingWithKeyboard ([PR #33666](https://github.com/microsoft/fluentui/pull/33666) by viktorgenaev@microsoft.com)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-portal to v9.4.42 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-positioning to v9.16.2 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.5.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-tooltip_v9.5.3)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-tooltip/library/package.json b/packages/react-components/react-tooltip/library/package.json
index 83f0b10c1d815f..afda8aba19adf7 100644
--- a/packages/react-components/react-tooltip/library/package.json
+++ b/packages/react-components/react-tooltip/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tooltip",
-  "version": "9.5.3",
+  "version": "9.5.4",
   "description": "React components for building web experiences",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -19,13 +19,13 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-portal": "^9.4.41",
-    "@fluentui/react-positioning": "^9.16.1",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-portal": "^9.4.42",
+    "@fluentui/react-positioning": "^9.16.2",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-tree/library/CHANGELOG.json b/packages/react-components/react-tree/library/CHANGELOG.json
index cfab14d7ff9094..d7952f046b000e 100644
--- a/packages/react-components/react-tree/library/CHANGELOG.json
+++ b/packages/react-components/react-tree/library/CHANGELOG.json
@@ -1,6 +1,101 @@
 {
   "name": "@fluentui/react-tree",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:11 GMT",
+      "tag": "@fluentui/react-tree_v9.9.0",
+      "version": "9.9.0",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-tree",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ],
+        "minor": [
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-tree",
+            "commit": "246f5b3ed047531f7a329ad8ca7e5693cd3838a9",
+            "comment": "feature: introduces navigationMode property"
+          },
+          {
+            "author": "bernardo.sunderhus@gmail.com",
+            "package": "@fluentui/react-tree",
+            "commit": "620ea3f1daa6a4cf9bb37961569f4756c3b3f95f",
+            "comment": "feature: TreeRootReset component"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-aria to v9.13.14",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-avatar to v9.6.49",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-button to v9.3.100",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-checkbox to v9.2.46",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-context-selector to v9.1.72",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-motion-components-preview to v0.4.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-motion to v9.6.7",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-radio to v9.2.41",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-tabster to v9.23.3",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-tree",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-tree_v9.8.12",
diff --git a/packages/react-components/react-tree/library/CHANGELOG.md b/packages/react-components/react-tree/library/CHANGELOG.md
index 722c479af322d0..64afc767775b77 100644
--- a/packages/react-components/react-tree/library/CHANGELOG.md
+++ b/packages/react-components/react-tree/library/CHANGELOG.md
@@ -1,9 +1,30 @@
 # Change Log - @fluentui/react-tree
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:11 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.9.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.9.0)
+
+Wed, 22 Jan 2025 14:00:11 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tree_v9.8.12..@fluentui/react-tree_v9.9.0)
+
+### Minor changes
+
+- feature: introduces navigationMode property ([PR #33658](https://github.com/microsoft/fluentui/pull/33658) by bernardo.sunderhus@gmail.com)
+- feature: TreeRootReset component ([PR #33663](https://github.com/microsoft/fluentui/pull/33663) by bernardo.sunderhus@gmail.com)
+- Bump @fluentui/react-aria to v9.13.14 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-avatar to v9.6.49 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-button to v9.3.100 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-checkbox to v9.2.46 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-context-selector to v9.1.72 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion-components-preview to v0.4.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-motion to v9.6.7 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-radio to v9.2.41 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-tabster to v9.23.3 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.8.12](https://github.com/microsoft/fluentui/tree/@fluentui/react-tree_v9.8.12)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-tree/library/package.json b/packages/react-components/react-tree/library/package.json
index a9ac047a35ecdf..6233300e807ba1 100644
--- a/packages/react-components/react-tree/library/package.json
+++ b/packages/react-components/react-tree/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-tree",
-  "version": "9.8.12",
+  "version": "9.9.0",
   "description": "Tree component for Fluent UI React",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -21,20 +21,20 @@
   },
   "dependencies": {
     "@fluentui/keyboard-keys": "^9.0.8",
-    "@fluentui/react-aria": "^9.13.13",
-    "@fluentui/react-avatar": "^9.6.48",
-    "@fluentui/react-button": "^9.3.99",
-    "@fluentui/react-checkbox": "^9.2.45",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-aria": "^9.13.14",
+    "@fluentui/react-avatar": "^9.6.49",
+    "@fluentui/react-button": "^9.3.100",
+    "@fluentui/react-checkbox": "^9.2.46",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-icons": "^2.0.245",
-    "@fluentui/react-motion-components-preview": "^0.4.2",
-    "@fluentui/react-motion": "^9.6.6",
-    "@fluentui/react-radio": "^9.2.40",
+    "@fluentui/react-motion-components-preview": "^0.4.3",
+    "@fluentui/react-motion": "^9.6.7",
+    "@fluentui/react-radio": "^9.2.41",
     "@fluentui/react-shared-contexts": "^9.21.2",
-    "@fluentui/react-tabster": "^9.23.2",
+    "@fluentui/react-tabster": "^9.23.3",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-utilities": "^9.18.20",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-utilities-compat/library/package.json b/packages/react-components/react-utilities-compat/library/package.json
index 3fa4d8ea8a47f5..807e045afe15f5 100644
--- a/packages/react-components/react-utilities-compat/library/package.json
+++ b/packages/react-components/react-utilities-compat/library/package.json
@@ -25,10 +25,10 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.49",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
   },
diff --git a/packages/react-components/react-utilities/CHANGELOG.json b/packages/react-components/react-utilities/CHANGELOG.json
index 367c066afffdfe..82821b0455d328 100644
--- a/packages/react-components/react-utilities/CHANGELOG.json
+++ b/packages/react-components/react-utilities/CHANGELOG.json
@@ -1,6 +1,29 @@
 {
   "name": "@fluentui/react-utilities",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:12 GMT",
+      "tag": "@fluentui/react-utilities_v9.18.20",
+      "version": "9.18.20",
+      "comments": {
+        "patch": [
+          {
+            "author": "dmytrokirpa@microsoft.com",
+            "package": "@fluentui/react-utilities",
+            "commit": "8cf401d626def27ad679f9e53928533df9f9ef52",
+            "comment": "fix: add autoCorrect and minLength input properties support to getNativeProps utility"
+          }
+        ],
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-utilities",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Mon, 16 Dec 2024 16:26:49 GMT",
       "tag": "@fluentui/react-utilities_v9.18.19",
diff --git a/packages/react-components/react-utilities/CHANGELOG.md b/packages/react-components/react-utilities/CHANGELOG.md
index 252e26ad6b2c13..d75cfc7c5792b6 100644
--- a/packages/react-components/react-utilities/CHANGELOG.md
+++ b/packages/react-components/react-utilities/CHANGELOG.md
@@ -1,9 +1,18 @@
 # Change Log - @fluentui/react-utilities
 
-This log was last generated on Mon, 16 Dec 2024 16:26:49 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:12 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.18.20](https://github.com/microsoft/fluentui/tree/@fluentui/react-utilities_v9.18.20)
+
+Wed, 22 Jan 2025 14:00:12 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-utilities_v9.18.19..@fluentui/react-utilities_v9.18.20)
+
+### Patches
+
+- fix: add autoCorrect and minLength input properties support to getNativeProps utility ([PR #33642](https://github.com/microsoft/fluentui/pull/33642) by dmytrokirpa@microsoft.com)
+
 ## [9.18.19](https://github.com/microsoft/fluentui/tree/@fluentui/react-utilities_v9.18.19)
 
 Mon, 16 Dec 2024 16:26:49 GMT 
diff --git a/packages/react-components/react-utilities/package.json b/packages/react-components/react-utilities/package.json
index 0bad717290ed49..e6e0b642888f94 100644
--- a/packages/react-components/react-utilities/package.json
+++ b/packages/react-components/react-utilities/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-utilities",
-  "version": "9.18.19",
+  "version": "9.18.20",
   "description": "A set of general React-specific utilities.",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
diff --git a/packages/react-components/react-virtualizer/library/CHANGELOG.json b/packages/react-components/react-virtualizer/library/CHANGELOG.json
index b3b4da467af753..f379649aa8dd2e 100644
--- a/packages/react-components/react-virtualizer/library/CHANGELOG.json
+++ b/packages/react-components/react-virtualizer/library/CHANGELOG.json
@@ -1,6 +1,41 @@
 {
   "name": "@fluentui/react-virtualizer",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:13 GMT",
+      "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.91",
+      "version": "9.0.0-alpha.91",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-virtualizer",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          },
+          {
+            "author": "martinhochel@microsoft.com",
+            "package": "@fluentui/react-virtualizer",
+            "commit": "2f88d062a57e6dc44ecd65df2ab067652ae4c7ce",
+            "comment": "fix: make api.md up to date"
+          }
+        ],
+        "prerelease": [
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-virtualizer",
+            "comment": "Bump @fluentui/react-jsx-runtime to v9.0.50",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          },
+          {
+            "author": "beachball",
+            "package": "@fluentui/react-virtualizer",
+            "comment": "Bump @fluentui/react-utilities to v9.18.20",
+            "commit": "5e95b13c1b6f513e6bdd9a4c688139748f912695"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:36 GMT",
       "tag": "@fluentui/react-virtualizer_v9.0.0-alpha.90",
diff --git a/packages/react-components/react-virtualizer/library/CHANGELOG.md b/packages/react-components/react-virtualizer/library/CHANGELOG.md
index 5fc5628f4f265e..f11950b7bb7814 100644
--- a/packages/react-components/react-virtualizer/library/CHANGELOG.md
+++ b/packages/react-components/react-virtualizer/library/CHANGELOG.md
@@ -1,9 +1,19 @@
 # Change Log - @fluentui/react-virtualizer
 
-This log was last generated on Wed, 08 Jan 2025 18:33:36 GMT and should not be manually modified.
+This log was last generated on Wed, 22 Jan 2025 14:00:13 GMT and should not be manually modified.
 
 <!-- Start content -->
 
+## [9.0.0-alpha.91](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.91)
+
+Wed, 22 Jan 2025 14:00:13 GMT 
+[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-virtualizer_v9.0.0-alpha.90..@fluentui/react-virtualizer_v9.0.0-alpha.91)
+
+### Changes
+
+- Bump @fluentui/react-jsx-runtime to v9.0.50 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+- Bump @fluentui/react-utilities to v9.18.20 ([PR #33631](https://github.com/microsoft/fluentui/pull/33631) by beachball)
+
 ## [9.0.0-alpha.90](https://github.com/microsoft/fluentui/tree/@fluentui/react-virtualizer_v9.0.0-alpha.90)
 
 Wed, 08 Jan 2025 18:33:36 GMT 
diff --git a/packages/react-components/react-virtualizer/library/package.json b/packages/react-components/react-virtualizer/library/package.json
index c991049a75c83b..bb7d8232489ce7 100644
--- a/packages/react-components/react-virtualizer/library/package.json
+++ b/packages/react-components/react-virtualizer/library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@fluentui/react-virtualizer",
-  "version": "9.0.0-alpha.90",
+  "version": "9.0.0-alpha.91",
   "description": "Generic and composable virtualizer framework built on browser intersection observer",
   "main": "lib-commonjs/index.js",
   "module": "lib/index.js",
@@ -18,8 +18,8 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-jsx-runtime": "^9.0.49",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-jsx-runtime": "^9.0.50",
+    "@fluentui/react-utilities": "^9.18.20",
     "@fluentui/react-shared-contexts": "^9.21.2",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1"
diff --git a/packages/react-components/recipes/package.json b/packages/react-components/recipes/package.json
index 84a5bc9b94a2da..d42541dcc16a29 100644
--- a/packages/react-components/recipes/package.json
+++ b/packages/react-components/recipes/package.json
@@ -27,10 +27,10 @@
     "@fluentui/react-storybook-addon-export-to-sandbox": "*"
   },
   "dependencies": {
-    "@fluentui/react-provider": "^9.18.3",
+    "@fluentui/react-provider": "^9.19.0",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-text": "^9.4.31",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-text": "^9.4.32",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
     "@fluentui/react-icons": "^2.0.245"
diff --git a/packages/react-components/theme-designer/package.json b/packages/react-components/theme-designer/package.json
index 4031580527472e..0eede2c6ca912b 100644
--- a/packages/react-components/theme-designer/package.json
+++ b/packages/react-components/theme-designer/package.json
@@ -17,12 +17,12 @@
     "@fluentui/scripts-api-extractor": "*"
   },
   "dependencies": {
-    "@fluentui/react-components": "^9.57.0",
-    "@fluentui/react-context-selector": "^9.1.71",
+    "@fluentui/react-components": "^9.58.0",
+    "@fluentui/react-context-selector": "^9.1.72",
     "@fluentui/react-icons": "^2.0.245",
     "@fluentui/react-storybook-addon-export-to-sandbox": "^0.1.0",
     "@fluentui/react-theme": "^9.1.24",
-    "@fluentui/react-utilities": "^9.18.19",
+    "@fluentui/react-utilities": "^9.18.20",
     "@griffel/react": "^1.5.22",
     "@swc/helpers": "^0.5.1",
     "dedent": "^1.2.0",
diff --git a/packages/react-conformance/CHANGELOG.json b/packages/react-conformance/CHANGELOG.json
index 482e753f9b5323..0ef7a01eab3896 100644
--- a/packages/react-conformance/CHANGELOG.json
+++ b/packages/react-conformance/CHANGELOG.json
@@ -1,6 +1,21 @@
 {
   "name": "@fluentui/react-conformance",
   "entries": [
+    {
+      "date": "Wed, 22 Jan 2025 14:00:17 GMT",
+      "tag": "@fluentui/react-conformance_v0.19.3",
+      "version": "0.19.3",
+      "comments": {
+        "none": [
+          {
+            "author": "vgenaev@gmail.com",
+            "package": "@fluentui/react-conformance",
+            "commit": "fd420e1e0b66e04c8a423cff3eea6d21d9434d2d",
+            "comment": "chore: migrate from deprecation plugin to ts-eslint/no-deprecated rule"
+          }
+        ]
+      }
+    },
     {
       "date": "Wed, 08 Jan 2025 18:33:33 GMT",
       "tag": "@fluentui/react-conformance_v0.19.3",

From 82ef8b9000a1223756a4253aacde35fe4eaea401 Mon Sep 17 00:00:00 2001
From: Anush Gupta <74965306+Anush2303@users.noreply.github.com>
Date: Wed, 22 Jan 2025 21:04:35 +0530
Subject: [PATCH 75/78] feat(declarative-chart): Support for Dashed and Dotted
 lines (#33694)

---
 ...-5f3118c9-244c-41d1-8067-bca1566ec9bd.json |  7 +++
 .../react-charting/etc/react-charting.api.md  |  1 +
 .../DeclarativeChart/DeclarativeChart.tsx     |  1 -
 .../DeclarativeChart/PlotlySchemaAdapter.ts   | 46 ++++++++++++++++++-
 .../VerticalStackedBarChart.base.tsx          |  5 +-
 .../react-charting/src/types/IDataPoint.ts    |  4 ++
 6 files changed, 60 insertions(+), 4 deletions(-)
 create mode 100644 change/@fluentui-react-charting-5f3118c9-244c-41d1-8067-bca1566ec9bd.json

diff --git a/change/@fluentui-react-charting-5f3118c9-244c-41d1-8067-bca1566ec9bd.json b/change/@fluentui-react-charting-5f3118c9-244c-41d1-8067-bca1566ec9bd.json
new file mode 100644
index 00000000000000..62e2f67fdb0cb4
--- /dev/null
+++ b/change/@fluentui-react-charting-5f3118c9-244c-41d1-8067-bca1566ec9bd.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "Support for dashed and dotted line in Declarative chart",
+  "packageName": "@fluentui/react-charting",
+  "email": "74965306+Anush2303@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/charts/react-charting/etc/react-charting.api.md b/packages/charts/react-charting/etc/react-charting.api.md
index 207610b95c35a0..8d333966eb58cf 100644
--- a/packages/charts/react-charting/etc/react-charting.api.md
+++ b/packages/charts/react-charting/etc/react-charting.api.md
@@ -1042,6 +1042,7 @@ export interface ILineDataInVerticalStackedBarChart {
     data?: number;
     // (undocumented)
     legend: string;
+    lineOptions?: ILineChartLineOptions;
     useSecondaryYScale?: boolean;
     // (undocumented)
     y: number;
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx b/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx
index c84024a8684b7a..fc6dcf1dbd4050 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/DeclarativeChart.tsx
@@ -5,7 +5,6 @@ import { IRefObject } from '@fluentui/react/lib/Utilities';
 import { DonutChart } from '../DonutChart/index';
 import { VerticalStackedBarChart } from '../VerticalStackedBarChart/index';
 import { PlotData, PlotlySchema } from './PlotlySchema';
-//import type { Data, Layout } from './PlotlySchema';
 import {
   isArrayOrTypedArray,
   isDateArray,
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
index 728bc2cf4f1b38..b0ee50789c429a 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/PlotlySchemaAdapter.ts
@@ -39,6 +39,44 @@ interface ISecondaryYAxisValues {
 }
 
 const SUPPORTED_PLOT_TYPES = ['pie', 'bar', 'scatter', 'heatmap', 'sankey', 'indicator', 'histogram'];
+const dashOptions = {
+  dot: {
+    strokeDasharray: '1, 5',
+    strokeLinecap: 'round',
+    strokeWidth: '2',
+    lineBorderWidth: '4',
+  },
+  dash: {
+    strokeDasharray: '5, 5',
+    strokeLinecap: 'butt',
+    strokeWidth: '2',
+    lineBorderWidth: '4',
+  },
+  longdash: {
+    strokeDasharray: '10, 5',
+    strokeLinecap: 'butt',
+    strokeWidth: '2',
+    lineBorderWidth: '4',
+  },
+  dashdot: {
+    strokeDasharray: '5, 5, 1, 5',
+    strokeLinecap: 'butt',
+    strokeWidth: '2',
+    lineBorderWidth: '4',
+  },
+  longdashdot: {
+    strokeDasharray: '10, 5, 1, 5',
+    strokeLinecap: 'butt',
+    strokeWidth: '2',
+    lineBorderWidth: '4',
+  },
+  solid: {
+    strokeDasharray: '0',
+    strokeLinecap: 'butt',
+    strokeWidth: '2',
+    lineBorderWidth: '4',
+  },
+} as const;
 const isDate = (value: any): boolean => {
   const parsedDate = new Date(Date.parse(value));
   if (isNaN(parsedDate.getTime())) {
@@ -284,6 +322,9 @@ export const transformPlotlyJsonToVSBCProps = (
         const color = getColor(legend, colorMap, isDarkTheme);
         mapXToDataPoints[x].lineData!.push({
           legend,
+          ...(series.line?.dash && dashOptions[series.line.dash]
+            ? { lineOptions: { ...dashOptions[series.line.dash] } }
+            : {}),
           y: yVal,
           color,
         });
@@ -473,6 +514,9 @@ export const transformPlotlyJsonToScatterChartProps = (
 
     return {
       legend,
+      ...(series.line?.dash && dashOptions[series.line.dash]
+        ? { lineOptions: { ...dashOptions[series.line.dash] } }
+        : {}),
       data: xValues.map((x, i: number) => ({
         x: isString ? (isXDate ? new Date(x as string) : isXNumber ? parseFloat(x as string) : x) : x,
         y: series.y[i],
@@ -592,7 +636,7 @@ export const transformPlotlyJsonToHeatmapProps = (input: PlotlySchema): IHeatMap
   };
 
   // Initialize domain and range to default values
-  const defaultDomain = [zMin, zMax];
+  const defaultDomain = [zMin, (zMax + zMin) / 2, zMax];
   const defaultRange = [
     getColorFromToken(DataVizPalette.color1),
     getColorFromToken(DataVizPalette.color2),
diff --git a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
index 7b897388bb9203..5f2e25f9ac3745 100644
--- a/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
+++ b/packages/charts/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx
@@ -441,8 +441,9 @@ export class VerticalStackedBarChartBase
             x2={x2}
             y2={y2}
             opacity={shouldHighlight ? 1 : 0.1}
-            strokeWidth={3}
-            strokeLinecap="round"
+            strokeWidth={lineObject[item][0].lineOptions?.strokeWidth ?? 3}
+            strokeLinecap={lineObject[item][0].lineOptions?.strokeLinecap ?? 'round'}
+            strokeDasharray={lineObject[item][0].lineOptions?.strokeDasharray}
             stroke={lineObject[item][i].color}
             transform={`translate(${xScaleBandwidthTranslate}, 0)`}
             {...(this._isLegendHighlighted(item) && {
diff --git a/packages/charts/react-charting/src/types/IDataPoint.ts b/packages/charts/react-charting/src/types/IDataPoint.ts
index dda593a408f4f5..5ca0f1393677e1 100644
--- a/packages/charts/react-charting/src/types/IDataPoint.ts
+++ b/packages/charts/react-charting/src/types/IDataPoint.ts
@@ -650,6 +650,10 @@ export interface ILineDataInVerticalStackedBarChart {
    * False by default.
    */
   useSecondaryYScale?: boolean;
+  /**
+   * options for the line drawn
+   */
+  lineOptions?: ILineChartLineOptions;
 }
 
 /**

From d9e58109843ce340b96de6b8fefa12c5daf66443 Mon Sep 17 00:00:00 2001
From: Sean Monahan <seanmonahan@microsoft.com>
Date: Wed, 22 Jan 2025 07:45:43 -0800
Subject: [PATCH 76/78] fix: remove forced synchronous layout in Drawer
 (#33665)

---
 ...t-drawer-592aa752-5056-4be4-bf91-b47f98cea7d4.json |  7 +++++++
 .../src/components/DrawerBody/useDrawerBody.ts        | 11 +++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)
 create mode 100644 change/@fluentui-react-drawer-592aa752-5056-4be4-bf91-b47f98cea7d4.json

diff --git a/change/@fluentui-react-drawer-592aa752-5056-4be4-bf91-b47f98cea7d4.json b/change/@fluentui-react-drawer-592aa752-5056-4be4-bf91-b47f98cea7d4.json
new file mode 100644
index 00000000000000..a38922c618dafb
--- /dev/null
+++ b/change/@fluentui-react-drawer-592aa752-5056-4be4-bf91-b47f98cea7d4.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "fix: remove forced synchronous layout in Drawer",
+  "packageName": "@fluentui/react-drawer",
+  "email": "seanmonahan@microsoft.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-drawer/library/src/components/DrawerBody/useDrawerBody.ts b/packages/react-components/react-drawer/library/src/components/DrawerBody/useDrawerBody.ts
index e4b8338791cb94..2542b992f883e9 100644
--- a/packages/react-components/react-drawer/library/src/components/DrawerBody/useDrawerBody.ts
+++ b/packages/react-components/react-drawer/library/src/components/DrawerBody/useDrawerBody.ts
@@ -65,15 +65,18 @@ export const useDrawerBody_unstable = (props: DrawerBodyProps, ref: React.Ref<HT
   }, [cancelAnimationFrame, setAnimationFrame, updateScrollState]);
 
   useIsomorphicLayoutEffect(() => {
-    updateScrollState();
+    cancelAnimationFrame();
+    setAnimationFrame(() => updateScrollState());
     /* update scroll state when children changes */
-  }, [props.children, updateScrollState]);
+    return () => cancelAnimationFrame();
+  }, [props.children, cancelAnimationFrame, updateScrollState, setAnimationFrame]);
 
   useIsomorphicLayoutEffect(() => {
-    updateScrollState();
+    cancelAnimationFrame();
+    setAnimationFrame(() => updateScrollState());
 
     return () => cancelAnimationFrame();
-  }, [cancelAnimationFrame, updateScrollState]);
+  }, [cancelAnimationFrame, updateScrollState, setAnimationFrame]);
 
   return {
     components: {

From d0f533ab48c3a296b03aa789da59f6dbdcf7cbb1 Mon Sep 17 00:00:00 2001
From: Valentyna <vkozlova@microsoft.com>
Date: Wed, 22 Jan 2025 08:06:49 -0800
Subject: [PATCH 77/78] test(color-picker): Added VR tests for ColorSlider and
 AlphaSlider (#33672)

---
 .../ColorPicker/ColorPicker.stories.tsx       | 18 ++++++++++++-
 .../src/stories/ColorPicker/utils.tsx         | 27 ++++++++++++++-----
 2 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/apps/vr-tests-react-components/src/stories/ColorPicker/ColorPicker.stories.tsx b/apps/vr-tests-react-components/src/stories/ColorPicker/ColorPicker.stories.tsx
index fd45bdc75342b1..174df5aae6913f 100644
--- a/apps/vr-tests-react-components/src/stories/ColorPicker/ColorPicker.stories.tsx
+++ b/apps/vr-tests-react-components/src/stories/ColorPicker/ColorPicker.stories.tsx
@@ -1,6 +1,6 @@
 import * as React from 'react';
 import type { Meta } from '@storybook/react';
-import { ColorPicker } from '@fluentui/react-color-picker-preview';
+import { ColorPicker, ColorSlider, AlphaSlider } from '@fluentui/react-color-picker-preview';
 import { SampleColorPicker } from './utils';
 import { Steps } from 'storywright';
 
@@ -15,6 +15,22 @@ export default {
 
 export const Default = () => <SampleColorPicker color={{ h: 109, s: 1, v: 0.91 }} />;
 
+export const ColorSliders = () => (
+  <>
+    <ColorSlider color={{ h: 109, s: 1, v: 0.9 }} />
+    <ColorSlider color={{ h: 184, s: 1, v: 0.9 }} vertical />
+  </>
+);
+
+export const AlphaSliders = () => (
+  <>
+    <AlphaSlider color={{ h: 12, s: 1, v: 0.9, a: 0.7 }} />
+    <AlphaSlider color={{ h: 59, s: 1, v: 1 }} vertical />
+    <AlphaSlider color={{ h: 276, s: 1, v: 0.9, a: 0.2 }} transparency />
+    <AlphaSlider color={{ h: 332, s: 1, v: 0.9, a: 0.1 }} transparency vertical />
+  </>
+);
+
 export const DefaultDarkMode = getStoryVariant(Default, DARK_MODE);
 
 export const DefaultHighContrast = getStoryVariant(Default, HIGH_CONTRAST);
diff --git a/apps/vr-tests-react-components/src/stories/ColorPicker/utils.tsx b/apps/vr-tests-react-components/src/stories/ColorPicker/utils.tsx
index dd5166d0fa2db2..b8f5ae6a950f3b 100644
--- a/apps/vr-tests-react-components/src/stories/ColorPicker/utils.tsx
+++ b/apps/vr-tests-react-components/src/stories/ColorPicker/utils.tsx
@@ -6,11 +6,24 @@ import {
   ColorSlider,
   type ColorPickerProps,
 } from '@fluentui/react-color-picker-preview';
+import { makeStyles } from '@griffel/react';
 
-export const SampleColorPicker = (props: ColorPickerProps) => (
-  <ColorPicker {...props}>
-    <ColorArea />
-    <ColorSlider />
-    <AlphaSlider />
-  </ColorPicker>
-);
+const useStyles = makeStyles({
+  example: {
+    width: '300px',
+    display: 'flex',
+    flexDirection: 'column',
+    gap: '8px',
+  },
+});
+
+export const SampleColorPicker = (props: ColorPickerProps) => {
+  const styles = useStyles();
+  return (
+    <ColorPicker className={styles.example} {...props}>
+      <ColorArea />
+      <ColorSlider />
+      <AlphaSlider />
+    </ColorPicker>
+  );
+};

From af631b94cfaa3e9a9d79160236a7f0679240777b Mon Sep 17 00:00:00 2001
From: Anush Gupta <74965306+Anush2303@users.noreply.github.com>
Date: Wed, 22 Jan 2025 22:05:06 +0530
Subject: [PATCH 78/78] feat(react-charting): Heatmap text color based on
 Contrast Ratio (#33659)

---
 ...-e1bc4943-8298-429b-b844-5503943dff7c.json |   7 +
 packages/charts/react-charting/package.json   |   2 +
 .../DeclarativeChartRTL.test.tsx.snap         | 800 +++++++++---------
 .../DeclarativeChart/imageExporter.ts         |  10 +-
 .../HeatMapChart/HeatMapChart.base.tsx        |  18 +
 .../HeatMapChart/HeatMapChart.styles.ts       |   1 -
 .../HeatMapChartRTL.test.tsx.snap             |  16 +-
 .../react-charting/src/utilities/colors.ts    |  25 +
 .../react-charting/src/utilities/utilities.ts |   9 +
 yarn.lock                                     |   7 +-
 10 files changed, 476 insertions(+), 419 deletions(-)
 create mode 100644 change/@fluentui-react-charting-e1bc4943-8298-429b-b844-5503943dff7c.json

diff --git a/change/@fluentui-react-charting-e1bc4943-8298-429b-b844-5503943dff7c.json b/change/@fluentui-react-charting-e1bc4943-8298-429b-b844-5503943dff7c.json
new file mode 100644
index 00000000000000..6197adf65a9d81
--- /dev/null
+++ b/change/@fluentui-react-charting-e1bc4943-8298-429b-b844-5503943dff7c.json
@@ -0,0 +1,7 @@
+{
+  "type": "patch",
+  "comment": "Heatmap text color based on contrast ratio",
+  "packageName": "@fluentui/react-charting",
+  "email": "74965306+Anush2303@users.noreply.github.com",
+  "dependentChangeType": "patch"
+}
diff --git a/packages/charts/react-charting/package.json b/packages/charts/react-charting/package.json
index 78a0a53fde6f4e..3538c4ed6ed6d1 100644
--- a/packages/charts/react-charting/package.json
+++ b/packages/charts/react-charting/package.json
@@ -52,6 +52,7 @@
     "@types/d3-shape": "^3.0.0",
     "@types/d3-time-format": "^3.0.0",
     "@types/d3-time": "^3.0.0",
+    "@types/d3-color": "^3.0.0",
     "@fluentui/set-version": "^8.2.23",
     "d3-array": "^3.0.0",
     "d3-axis": "^3.0.0",
@@ -63,6 +64,7 @@
     "d3-shape": "^3.0.0",
     "d3-time-format": "^3.0.0",
     "d3-time": "^3.0.0",
+    "d3-color": "^3.0.0",
     "tslib": "^2.1.0"
   },
   "peerDependencies": {
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
index 5f131e387622e1..e6c11ebe4c8f29 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/__snapshots__/DeclarativeChartRTL.test.tsx.snap
@@ -5664,13 +5664,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5696,13 +5696,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5728,13 +5728,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5760,13 +5760,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5792,13 +5792,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5824,13 +5824,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5856,13 +5856,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5888,13 +5888,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5920,13 +5920,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5952,13 +5952,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -5984,13 +5984,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6016,13 +6016,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6048,13 +6048,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6080,13 +6080,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6112,13 +6112,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6144,13 +6144,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6176,13 +6176,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6208,13 +6208,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6240,13 +6240,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6272,13 +6272,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6304,13 +6304,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6336,13 +6336,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6368,13 +6368,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6400,13 +6400,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6432,13 +6432,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6464,13 +6464,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6496,13 +6496,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6528,13 +6528,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6560,13 +6560,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6592,13 +6592,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6624,13 +6624,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6656,13 +6656,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6688,13 +6688,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6720,13 +6720,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6752,13 +6752,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6784,13 +6784,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6816,13 +6816,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6848,13 +6848,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6880,13 +6880,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6912,13 +6912,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6944,13 +6944,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -6976,13 +6976,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7008,13 +7008,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7040,13 +7040,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7072,13 +7072,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7104,13 +7104,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7136,13 +7136,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7168,13 +7168,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7200,13 +7200,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7232,13 +7232,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7264,13 +7264,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7296,13 +7296,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7328,13 +7328,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7360,13 +7360,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7392,13 +7392,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7424,13 +7424,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7456,13 +7456,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7488,13 +7488,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7520,13 +7520,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7552,13 +7552,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7584,13 +7584,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7616,13 +7616,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7648,13 +7648,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7680,13 +7680,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7712,13 +7712,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7744,13 +7744,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7776,13 +7776,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7808,13 +7808,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7840,13 +7840,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7872,13 +7872,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7904,13 +7904,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7936,13 +7936,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -7968,13 +7968,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8000,13 +8000,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8032,13 +8032,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8064,13 +8064,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8096,13 +8096,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8128,13 +8128,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8160,13 +8160,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8192,13 +8192,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8224,13 +8224,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8256,13 +8256,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8288,13 +8288,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8320,13 +8320,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8352,13 +8352,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8384,13 +8384,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8416,13 +8416,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8448,13 +8448,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8480,13 +8480,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8512,13 +8512,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8544,13 +8544,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8576,13 +8576,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8608,13 +8608,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8640,13 +8640,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8672,13 +8672,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8704,13 +8704,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8736,13 +8736,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8768,13 +8768,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8800,13 +8800,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8832,13 +8832,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8864,13 +8864,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8896,13 +8896,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8928,13 +8928,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8960,13 +8960,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -8992,13 +8992,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9024,13 +9024,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9056,13 +9056,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9088,13 +9088,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9120,13 +9120,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9152,13 +9152,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9184,13 +9184,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9216,13 +9216,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9248,13 +9248,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9280,13 +9280,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9312,13 +9312,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9344,13 +9344,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9376,13 +9376,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9408,13 +9408,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9440,13 +9440,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9472,13 +9472,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9504,13 +9504,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9536,13 +9536,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9568,13 +9568,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9600,13 +9600,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9632,13 +9632,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9664,13 +9664,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9696,13 +9696,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9728,13 +9728,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9760,13 +9760,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9792,13 +9792,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9824,13 +9824,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9856,13 +9856,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9888,13 +9888,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9920,13 +9920,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9952,13 +9952,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -9984,13 +9984,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10016,13 +10016,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10048,13 +10048,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10080,13 +10080,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10112,13 +10112,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10144,13 +10144,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10176,13 +10176,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10208,13 +10208,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10240,13 +10240,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10272,13 +10272,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10304,13 +10304,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10336,13 +10336,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10368,13 +10368,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10400,13 +10400,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10432,13 +10432,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10464,13 +10464,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10496,13 +10496,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10528,13 +10528,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10560,13 +10560,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10592,13 +10592,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10624,13 +10624,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10656,13 +10656,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10688,13 +10688,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10720,13 +10720,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10752,13 +10752,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10784,13 +10784,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10816,13 +10816,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10848,13 +10848,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10880,13 +10880,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10912,13 +10912,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10944,13 +10944,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -10976,13 +10976,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11008,13 +11008,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11040,13 +11040,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11072,13 +11072,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11104,13 +11104,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11136,13 +11136,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11168,13 +11168,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11200,13 +11200,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11232,13 +11232,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11264,13 +11264,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11296,13 +11296,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11328,13 +11328,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11360,13 +11360,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11392,13 +11392,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11424,13 +11424,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11456,13 +11456,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11488,13 +11488,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11520,13 +11520,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11552,13 +11552,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11584,13 +11584,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11616,13 +11616,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11648,13 +11648,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11680,13 +11680,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11712,13 +11712,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11744,13 +11744,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11776,13 +11776,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11808,13 +11808,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11840,13 +11840,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11872,13 +11872,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11904,13 +11904,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11936,13 +11936,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -11968,13 +11968,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12000,13 +12000,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12032,13 +12032,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12064,13 +12064,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12096,13 +12096,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12128,13 +12128,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12160,13 +12160,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12192,13 +12192,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12224,13 +12224,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12256,13 +12256,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12288,13 +12288,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12320,13 +12320,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12352,13 +12352,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12384,13 +12384,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12416,13 +12416,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12448,13 +12448,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12480,13 +12480,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12512,13 +12512,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12544,13 +12544,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12576,13 +12576,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12608,13 +12608,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12640,13 +12640,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12672,13 +12672,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12704,13 +12704,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12736,13 +12736,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12768,13 +12768,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12800,13 +12800,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12832,13 +12832,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12864,13 +12864,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12896,13 +12896,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12928,13 +12928,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12960,13 +12960,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -12992,13 +12992,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13024,13 +13024,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13056,13 +13056,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13088,13 +13088,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13120,13 +13120,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13152,13 +13152,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13184,13 +13184,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13216,13 +13216,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13248,13 +13248,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13280,13 +13280,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13312,13 +13312,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13344,13 +13344,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13376,13 +13376,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13408,13 +13408,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13440,13 +13440,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13472,13 +13472,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13504,13 +13504,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13536,13 +13536,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13568,13 +13568,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13600,13 +13600,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13632,13 +13632,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13664,13 +13664,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13696,13 +13696,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13728,13 +13728,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13760,13 +13760,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13792,13 +13792,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13824,13 +13824,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13856,13 +13856,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13888,13 +13888,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13920,13 +13920,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13952,13 +13952,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -13984,13 +13984,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14016,13 +14016,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14048,13 +14048,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14080,13 +14080,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14112,13 +14112,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14144,13 +14144,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14176,13 +14176,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14208,13 +14208,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14240,13 +14240,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14272,13 +14272,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14304,13 +14304,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14336,13 +14336,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14368,13 +14368,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14400,13 +14400,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14432,13 +14432,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14464,13 +14464,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14496,13 +14496,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14528,13 +14528,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14560,13 +14560,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14592,13 +14592,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14624,13 +14624,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14656,13 +14656,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14688,13 +14688,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14720,13 +14720,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14752,13 +14752,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14784,13 +14784,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14816,13 +14816,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14848,13 +14848,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14880,13 +14880,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14912,13 +14912,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14944,13 +14944,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -14976,13 +14976,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15008,13 +15008,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15040,13 +15040,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15072,13 +15072,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15104,13 +15104,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15136,13 +15136,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15168,13 +15168,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15200,13 +15200,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15232,13 +15232,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15264,13 +15264,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15296,13 +15296,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15328,13 +15328,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15360,13 +15360,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15392,13 +15392,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15424,13 +15424,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15456,13 +15456,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15488,13 +15488,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15520,13 +15520,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15552,13 +15552,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15584,13 +15584,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15616,13 +15616,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15648,13 +15648,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15680,13 +15680,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15712,13 +15712,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15744,13 +15744,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15776,13 +15776,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15808,13 +15808,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15840,13 +15840,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15872,13 +15872,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15904,13 +15904,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15936,13 +15936,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -15968,13 +15968,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16000,13 +16000,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16032,13 +16032,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16064,13 +16064,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16096,13 +16096,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16128,13 +16128,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16160,13 +16160,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16192,13 +16192,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16224,13 +16224,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16256,13 +16256,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16288,13 +16288,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16320,13 +16320,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16352,13 +16352,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16384,13 +16384,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16416,13 +16416,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16448,13 +16448,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16480,13 +16480,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16512,13 +16512,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16544,13 +16544,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16576,13 +16576,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16608,13 +16608,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16640,13 +16640,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16672,13 +16672,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16704,13 +16704,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#ffffff"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16736,13 +16736,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16768,13 +16768,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16800,13 +16800,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16832,13 +16832,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16864,13 +16864,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16896,13 +16896,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16928,13 +16928,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16960,13 +16960,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -16992,13 +16992,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17024,13 +17024,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17056,13 +17056,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17088,13 +17088,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17120,13 +17120,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17152,13 +17152,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17184,13 +17184,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17216,13 +17216,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17248,13 +17248,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17280,13 +17280,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17312,13 +17312,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17344,13 +17344,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17376,13 +17376,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17408,13 +17408,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17440,13 +17440,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17472,13 +17472,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17504,13 +17504,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17536,13 +17536,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17568,13 +17568,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17600,13 +17600,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17632,13 +17632,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17664,13 +17664,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17696,13 +17696,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17728,13 +17728,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17760,13 +17760,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17792,13 +17792,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17824,13 +17824,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17856,13 +17856,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17888,13 +17888,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17920,13 +17920,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17952,13 +17952,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -17984,13 +17984,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18016,13 +18016,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18048,13 +18048,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18080,13 +18080,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18112,13 +18112,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18144,13 +18144,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18176,13 +18176,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18208,13 +18208,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18240,13 +18240,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18272,13 +18272,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18304,13 +18304,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18336,13 +18336,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18368,13 +18368,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18400,13 +18400,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
@@ -18432,13 +18432,13 @@ exports[`DeclarativeChart Should render heatmapchart in DeclarativeChart 1`] = `
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(1.5664335664335665, 1.346153846153846)"
           >
diff --git a/packages/charts/react-charting/src/components/DeclarativeChart/imageExporter.ts b/packages/charts/react-charting/src/components/DeclarativeChart/imageExporter.ts
index cab5167bf6ccb2..ef5716d9fa2af4 100644
--- a/packages/charts/react-charting/src/components/DeclarativeChart/imageExporter.ts
+++ b/packages/charts/react-charting/src/components/DeclarativeChart/imageExporter.ts
@@ -1,4 +1,5 @@
 import { create as d3Create, select as d3Select, Selection } from 'd3-selection';
+import { resolveCSSVariables } from '../../utilities/index';
 
 /**
  * {@docCategory DeclarativeChart}
@@ -196,15 +197,6 @@ function cloneLegendsToSVG(chartContainer: HTMLElement, svgWidth: number, svgHei
   };
 }
 
-const cssVarRegExp = /var\((--[a-zA-Z0-9\-]+)\)/g;
-
-function resolveCSSVariables(chartContainer: HTMLElement, styleRules: string) {
-  const containerStyles = getComputedStyle(chartContainer);
-  return styleRules.replace(cssVarRegExp, (match, group1) => {
-    return containerStyles.getPropertyValue(group1);
-  });
-}
-
 function svgToPng(svgDataUrl: string, opts: IImageExportOptions = {}): Promise<string> {
   return new Promise((resolve, reject) => {
     const scale = opts.scale || 1;
diff --git a/packages/charts/react-charting/src/components/HeatMapChart/HeatMapChart.base.tsx b/packages/charts/react-charting/src/components/HeatMapChart/HeatMapChart.base.tsx
index cbd89e2e80b38f..7967f30f2a94a8 100644
--- a/packages/charts/react-charting/src/components/HeatMapChart/HeatMapChart.base.tsx
+++ b/packages/charts/react-charting/src/components/HeatMapChart/HeatMapChart.base.tsx
@@ -20,10 +20,12 @@ import {
   IDomainNRange,
   domainRangeOfXStringAxis,
   createStringYAxis,
+  resolveCSSVariables,
 } from '../../utilities/utilities';
 import { Target } from '@fluentui/react';
 import { format as d3Format } from 'd3-format';
 import { timeFormat as d3TimeFormat } from 'd3-time-format';
+import { getColorContrast } from '../../utilities/colors';
 
 type DataSet = {
   dataSet: RectanglesGraphData;
@@ -351,6 +353,12 @@ export class HeatMapChartBase extends React.Component<IHeatMapChartProps, IHeatM
     });
   };
 
+  private _getInvertedTextColor = (color: string): string => {
+    return color === this.props.theme!.semanticColors.bodyText
+      ? this.props.theme!.semanticColors.bodyBackground
+      : this.props.theme!.semanticColors.bodyText;
+  };
+
   /**
    * This is the function which is responsible for
    * drawing the rectangle in the graph and also
@@ -374,6 +382,15 @@ export class HeatMapChartBase extends React.Component<IHeatMapChartProps, IHeatM
            * data point such as x, y , value, rectText property of the rectangle
            */
           const dataPointObject = this._dataSet[yAxisDataPoint][index];
+          let styleRules = '';
+          let foregroundColor = this.props.theme!.semanticColors.bodyText;
+          if (this.chartContainer) {
+            styleRules = resolveCSSVariables(this.chartContainer!, foregroundColor);
+          }
+          const contrastRatio = getColorContrast(styleRules, this._colorScale(dataPointObject.value));
+          if (contrastRatio < 3) {
+            foregroundColor = this._getInvertedTextColor(foregroundColor);
+          }
           rectElement = (
             <g
               key={id}
@@ -401,6 +418,7 @@ export class HeatMapChartBase extends React.Component<IHeatMapChartProps, IHeatM
                 textAnchor={'middle'}
                 className={this._classNames.text}
                 transform={`translate(${this._xAxisScale.bandwidth() / 2}, ${this._yAxisScale.bandwidth() / 2})`}
+                fill={foregroundColor}
               >
                 {convertToLocaleString(dataPointObject.rectText, this.props.culture)}
               </text>
diff --git a/packages/charts/react-charting/src/components/HeatMapChart/HeatMapChart.styles.ts b/packages/charts/react-charting/src/components/HeatMapChart/HeatMapChart.styles.ts
index 49ac43d30a0d0b..d4b005062e412c 100644
--- a/packages/charts/react-charting/src/components/HeatMapChart/HeatMapChart.styles.ts
+++ b/packages/charts/react-charting/src/components/HeatMapChart/HeatMapChart.styles.ts
@@ -9,7 +9,6 @@ export const getHeatMapChartStyles = (props: IHeatMapChartStyleProps): IHeatMapC
       theme.fonts.medium,
       {
         pointerEvents: 'none',
-        fill: theme.palette.white,
         fontWeight: FontWeights.semibold,
       },
     ],
diff --git a/packages/charts/react-charting/src/components/HeatMapChart/__snapshots__/HeatMapChartRTL.test.tsx.snap b/packages/charts/react-charting/src/components/HeatMapChart/__snapshots__/HeatMapChartRTL.test.tsx.snap
index 6234c328964630..8883b9f15e1586 100644
--- a/packages/charts/react-charting/src/components/HeatMapChart/__snapshots__/HeatMapChartRTL.test.tsx.snap
+++ b/packages/charts/react-charting/src/components/HeatMapChart/__snapshots__/HeatMapChartRTL.test.tsx.snap
@@ -828,13 +828,13 @@ exports[`HeatMapChart snapshot tests should render HeatMapChart correctly with n
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(143.11881188118812, 57.49009900990099)"
           />
@@ -858,13 +858,13 @@ exports[`HeatMapChart snapshot tests should render HeatMapChart correctly with n
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(143.11881188118812, 57.49009900990099)"
           />
@@ -888,13 +888,13 @@ exports[`HeatMapChart snapshot tests should render HeatMapChart correctly with n
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(143.11881188118812, 57.49009900990099)"
           />
@@ -918,13 +918,13 @@ exports[`HeatMapChart snapshot tests should render HeatMapChart correctly with n
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(143.11881188118812, 57.49009900990099)"
           />
@@ -1428,13 +1428,13 @@ exports[`HeatMapChart snapshot tests should render axis labels correctly When cu
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(143.11881188118812, 57.49009900990099)"
           >
@@ -1460,13 +1460,13 @@ exports[`HeatMapChart snapshot tests should render axis labels correctly When cu
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(143.11881188118812, 57.49009900990099)"
           >
@@ -1492,13 +1492,13 @@ exports[`HeatMapChart snapshot tests should render axis labels correctly When cu
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(143.11881188118812, 57.49009900990099)"
           >
@@ -1524,13 +1524,13 @@ exports[`HeatMapChart snapshot tests should render axis labels correctly When cu
                 {
                   -moz-osx-font-smoothing: grayscale;
                   -webkit-font-smoothing: antialiased;
-                  fill: #ffffff;
                   font-family: 'Segoe UI', 'Segoe UI Web (West European)', 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif;
                   font-size: 14px;
                   font-weight: 600;
                   pointer-events: none;
                 }
             dominant-baseline="middle"
+            fill="#323130"
             text-anchor="middle"
             transform="translate(143.11881188118812, 57.49009900990099)"
           >
diff --git a/packages/charts/react-charting/src/utilities/colors.ts b/packages/charts/react-charting/src/utilities/colors.ts
index ff7ec92b35be45..d58c07bf0244d5 100644
--- a/packages/charts/react-charting/src/utilities/colors.ts
+++ b/packages/charts/react-charting/src/utilities/colors.ts
@@ -1,3 +1,5 @@
+import { rgb as d3Rgb } from 'd3-color';
+
 export const DataVizPalette = {
   color1: 'qualitative.1',
   color2: 'qualitative.2',
@@ -141,3 +143,26 @@ export const getColorFromToken = (token: string, isDarkTheme: boolean = false):
   }
   return token;
 };
+
+//For reference to how these numbers are calculated, refer https://www.w3.org/TR/WCAG/#dfn-contrast-ratio
+const rgbLrgb1 = (v: number): number => {
+  return v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4;
+};
+
+const rgbLrgb = ({ r, g, b }: { r: number; g: number; b: number }): { r: number; g: number; b: number } => {
+  return {
+    r: rgbLrgb1(r / 255),
+    g: rgbLrgb1(g / 255),
+    b: rgbLrgb1(b / 255),
+  };
+};
+
+const lrgbLuminance = ({ r, g, b }: { r: number; g: number; b: number }): number => {
+  return 0.2126 * r + 0.7152 * g + 0.0722 * b;
+};
+
+export const getColorContrast = (c1: string, c2: string): number => {
+  const l1 = lrgbLuminance(rgbLrgb(d3Rgb(c1)));
+  const l2 = lrgbLuminance(rgbLrgb(d3Rgb(c2)));
+  return (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05);
+};
diff --git a/packages/charts/react-charting/src/utilities/utilities.ts b/packages/charts/react-charting/src/utilities/utilities.ts
index 9396c424fdce08..1655dba0fbc66c 100644
--- a/packages/charts/react-charting/src/utilities/utilities.ts
+++ b/packages/charts/react-charting/src/utilities/utilities.ts
@@ -1426,3 +1426,12 @@ export function areArraysEqual(arr1?: string[], arr2?: string[]): boolean {
   }
   return true;
 }
+
+const cssVarRegExp = /var\((--[a-zA-Z0-9\-]+)\)/g;
+
+export function resolveCSSVariables(chartContainer: HTMLElement, styleRules: string) {
+  const containerStyles = getComputedStyle(chartContainer);
+  return styleRules.replace(cssVarRegExp, (match, group1) => {
+    return containerStyles.getPropertyValue(group1);
+  });
+}
diff --git a/yarn.lock b/yarn.lock
index 60998a81babad6..721f54e0470a68 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5079,6 +5079,11 @@
   dependencies:
     "@types/d3-selection" "*"
 
+"@types/d3-color@^3.0.0":
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2"
+  integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==
+
 "@types/d3-dsv@*":
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/@types/d3-dsv/-/d3-dsv-3.0.0.tgz#f3c61fb117bd493ec0e814856feb804a14cfc311"
@@ -9365,7 +9370,7 @@ d3-collection@^1.0.7:
   resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
   integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==
 
-"d3-color@1 - 3", d3-color@^3.1.0:
+"d3-color@1 - 3", d3-color@^3.0.0, d3-color@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2"
   integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==