@linzjs/lui 20.1.0 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # [21.0.0](https://github.com/linz/lui/compare/v20.1.0...v21.0.0) (2023-09-29)
2
+
3
+
4
+ * feat!: removes formik from Lui (#1019) ([4aa11fe](https://github.com/linz/lui/commit/4aa11fe2279843b53a4a0489a143f2ec219906b8)), closes [#1019](https://github.com/linz/lui/issues/1019)
5
+
6
+
7
+ ### BREAKING CHANGES
8
+
9
+ * also refactors the BearingInput to not use Formik
10
+
11
+ Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
12
+
1
13
  # [20.1.0](https://github.com/linz/lui/compare/v20.0.3...v20.1.0) (2023-09-28)
2
14
 
3
15
 
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode } from 'react';
2
- import { LuiCommonInputProps } from '../LuiFormikForms/LuiFormikForm';
2
+ import { LuiCommonInputProps } from '../LuiCommonInputProps';
3
3
  interface LuiBearingInputProps {
4
4
  name: string;
5
5
  label?: string;
@@ -13,11 +13,4 @@ interface LuiBearingInputProps {
13
13
  preferValidationError?: boolean;
14
14
  }
15
15
  export declare const LuiBearingInput: React.FC<React.PropsWithChildren<LuiBearingInputProps & LuiCommonInputProps>>;
16
- interface LuiBearingFormikInputProps {
17
- name: string;
18
- label: string;
19
- /** If true, validationError prop takes precedence over the LuiBearingInput internalError value. */
20
- preferValidationError?: boolean;
21
- }
22
- export declare const LuiBearingFormikInput: React.FC<React.PropsWithChildren<LuiBearingFormikInputProps & LuiCommonInputProps>>;
23
16
  export {};
@@ -0,0 +1,5 @@
1
+ export interface LuiCommonInputProps {
2
+ inputProps?: object;
3
+ required?: boolean;
4
+ disabled?: boolean;
5
+ }
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { LuiTab } from './components/LuiTabs/LuiTab/LuiTab';
16
16
  export { LuiTabsGroup } from './components/LuiTabs/LuiTabsGroup/LuiTabsGroup';
17
17
  export { LuiTabsPanel } from './components/LuiTabs/LuiTabsPanel/LuiTabsPanel';
18
18
  export { LuiTabsPanelSwitch } from './components/LuiTabs/LuiTabsPanelSwitch/LuiTabsPanelSwitch';
19
- export { LuiCommonInputProps, LuiFormikForm, } from './components/LuiFormikForms/LuiFormikForm';
19
+ export { LuiCommonInputProps } from './components/LuiCommonInputProps';
20
20
  export { LuiCheckboxInput } from './components/LuiFormElements/LuiCheckboxInput/LuiCheckboxInput';
21
21
  export { LuiFileInputBox } from './components/LuiFormElements/LuiFileInputBox/LuiFileInputBox';
22
22
  export { LuiSelectInput } from './components/LuiFormElements/LuiSelectInput/LuiSelectInput';
@@ -25,15 +25,8 @@ export { LuiTextInput } from './components/LuiFormElements/LuiTextInput/LuiTextI
25
25
  export { LuiDateInput } from './components/LuiFormElements/LuiDateInput/LuiDateInput';
26
26
  export { LuiMoneyInput } from './components/LuiFormElements/LuiMoneyInput/LuiMoneyInput';
27
27
  export { LuiRadioInput } from './components/LuiFormElements/LuiRadioInput/LuiRadioInput';
28
- export { LuiFormikCheckbox } from './components/LuiFormikForms/LuiFormikCheckbox/LuiFormikCheckbox';
29
- export { LuiFormikTextInput } from './components/LuiFormikForms/LuiFormikTextInput/LuiFormikTextInput';
30
- export { LuiFormikFormLabel } from './components/LuiFormikForms/LuiFormikFormLabel/LuiFormikFormLabel';
31
- export { LuiFormikRadioButton } from './components/LuiFormikForms/LuiFormikRadioButton/LuiFormikRadioButton';
32
- export { LuiFormikRadioGroup } from './components/LuiFormikForms/LuiFormikRadioGroup/LuiFormikRadioGroup';
33
- export { LuiFormikFormSubmitButton } from './components/LuiFormikForms/LuiFormikFormSubmitButton/LuiFormikFormSubmitButton';
34
- export { LuiFormikSelect } from './components/LuiFormikForms/LuiFormikSelect/LuiFormikSelect';
35
28
  export { LuiIcon } from './components/LuiIcon/LuiIcon';
36
- export { LuiBearingFormikInput, LuiBearingInput, } from './components/LuiBearingInput/LuiBearingInput';
29
+ export { LuiBearingInput } from './components/LuiBearingInput/LuiBearingInput';
37
30
  export { LuiFooter } from './components/LuiFooter/LuiFooter';
38
31
  export { LuiComboSelect, LuiComboSelectProps, LuiComboSelectOption, } from './components/LuiForms/LuiComboSelect/LuiComboSelect';
39
32
  export { LuiFormSectionHeader, IFormSectionHeaderProps, } from './components/LuiForms/LuiFormSection/LuiFormSectionHeader';
package/dist/index.js CHANGED
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var reactMenu = require('@szhsin/react-menu');
7
7
  var crypto$1 = require('crypto');
8
- var formik = require('formik');
9
8
  var require$$1 = require('react-dom');
10
9
  var lottie = require('lottie-web/build/player/lottie_light');
11
10
 
@@ -28090,28 +28089,6 @@ var LuiTabsPanelSwitch = function (props) {
28090
28089
  } }, props.children));
28091
28090
  };
28092
28091
 
28093
- function useDeprecatedWarning(componentName) {
28094
- React.useEffect(function () {
28095
- if (window.location.hostname.includes('localhost')) {
28096
- console.warn("".concat(componentName, " will be deprecated in future versions of Lui. Please see the 'Current Deprecations' page in Lui docs."));
28097
- }
28098
- }, []);
28099
- }
28100
-
28101
- function LuiFormikForm(props) {
28102
- useDeprecatedWarning('LuiFormikForm');
28103
- // this spreads all keys, except className
28104
- var _a = __assign({}, props); _a.className; var formikProps = __rest(_a, ["className"]);
28105
- var classNames = clsx(props.className);
28106
- return (
28107
- // @ts-ignore not fixing due this component being deprecated
28108
- React__default["default"].createElement(formik.Formik, __assign({}, formikProps),
28109
- React__default["default"].createElement("div", { className: classNames },
28110
- React__default["default"].createElement(formik.Form, null,
28111
- props.children,
28112
- " "))));
28113
- }
28114
-
28115
28092
  var css_248z$b = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiError {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: 600;\n margin-bottom: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5rem;\n color: #2a292c;\n}\n.LuiError-errorIcon {\n vertical-align: middle;\n display: inline-block;\n}\n.LuiError-errorText {\n margin-left: 0.5rem;\n}";
28116
28093
  styleInject(css_248z$b);
28117
28094
 
@@ -28733,237 +28710,6 @@ var LuiRadioInput = function (props) {
28733
28710
  React__default["default"].createElement("p", null, props.warning))))));
28734
28711
  };
28735
28712
 
28736
- function LuiFormikCheckbox(props) {
28737
- useDeprecatedWarning('LuiFormikCheckbox');
28738
- var ctx = formik.useFormikContext();
28739
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
28740
- React__default["default"].createElement(formik.Field, { name: props.name }, function (_a) {
28741
- var field = _a.field;
28742
- var showError = formik.getIn(ctx === null || ctx === void 0 ? void 0 : ctx.errors, props.name);
28743
- return (React__default["default"].createElement("div", { className: clsx(showError && 'lui-input-error') },
28744
- React__default["default"].createElement("div", { className: "lui-input-group-wrapper " },
28745
- showError && (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
28746
- React__default["default"].createElement("div", { className: clsx('lui-checkbox-container', props.className) },
28747
- React__default["default"].createElement("input", __assign({}, props.inputProps, { type: "checkbox", id: props.value, disabled: !!props.disabled, checked: field.value }, field)),
28748
- typeof props.label === 'string' ? (React__default["default"].createElement("label", { htmlFor: props.value }, props.label)) : (props.label)))));
28749
- })));
28750
- }
28751
-
28752
- var LuiFormikFormLabel = function (props) {
28753
- useDeprecatedWarning('LuiFormikFormLabel');
28754
- return (React__default["default"].createElement("div", { className: clsx('LuiFormLabel-wrapper', props.className && "".concat(props.className)) },
28755
- props.children,
28756
- React__default["default"].createElement("label", { className: "LuiFormLabel", htmlFor: props["for"] },
28757
- props.required && React__default["default"].createElement("span", { className: "lui-required-input-icon" }, "*"),
28758
- props.label),
28759
- props.tooltip && React__default["default"].createElement("i", { className: "material-icons-round" }, "help")));
28760
- };
28761
-
28762
- var LuiFormikTextInput = formik.connect(function (props) {
28763
- var error = formik.getIn(props.formik.errors, props.name);
28764
- var touch = formik.getIn(props.formik.touched, props.name);
28765
- var showError = touch && error;
28766
- var setFieldValue = formik.useFormikContext().setFieldValue;
28767
- useDeprecatedWarning('LuiFormikTextInput');
28768
- var multiLineToggle = function (field) {
28769
- return !props.multiLine ? (React__default["default"].createElement("input", __assign({ id: props.name, "data-testid": props.name }, field, { type: "text" }, props.inputProps, { onChange: function (event) {
28770
- var _a;
28771
- setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
28772
- if (props.onValueChange) {
28773
- props.onValueChange({
28774
- value: event.target.value,
28775
- formik: props.formik
28776
- });
28777
- }
28778
- } }))) : (React__default["default"].createElement("textarea", __assign({ id: props.name, "data-testid": props.name }, field, { rows: 1 }, props.inputProps, { onChange: function (event) {
28779
- var _a;
28780
- setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
28781
- if (props.onValueChange) {
28782
- props.onValueChange({
28783
- value: event.target.value,
28784
- formik: props.formik
28785
- });
28786
- }
28787
- } })));
28788
- };
28789
- return (React__default["default"].createElement("div", { className: clsx(props.className && "".concat(props.className)) },
28790
- props.label && (React__default["default"].createElement(LuiFormikFormLabel, { required: props.required, label: props.label, "for": props.name, tooltip: props.tooltip })),
28791
- props.helperInfo,
28792
- React__default["default"].createElement(formik.Field, { name: props.name, validate: props.validate }, function (_a) {
28793
- var field = _a.field;
28794
- return (React__default["default"].createElement("div", { className: clsx(showError && 'lui-input-error') },
28795
- React__default["default"].createElement(formik.ErrorMessage, { name: props.name, render: function () { return (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")); } }),
28796
- multiLineToggle(field),
28797
- React__default["default"].createElement(formik.ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" })));
28798
- })));
28799
- });
28800
-
28801
- var LuiFormikRadioButton = function (props) {
28802
- var _a = formik.useField(props), field = _a[0], meta = _a[1];
28803
- useDeprecatedWarning('LuiFormikRadioButton');
28804
- return (React__default["default"].createElement("div", { className: props.className },
28805
- meta.touched && meta.error && (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
28806
- React__default["default"].createElement("div", { className: 'lui-radio-container' },
28807
- React__default["default"].createElement("input", __assign({ disabled: !!props.disabled }, field, { checked: props.value === field.value, value: props.value, id: props.value, type: "radio" }, props.inputProps)),
28808
- React__default["default"].createElement("label", { htmlFor: props.value }, props.label))));
28809
- };
28810
-
28811
- var camelcase$1 = {exports: {}};
28812
-
28813
- const UPPERCASE = /[\p{Lu}]/u;
28814
- const LOWERCASE = /[\p{Ll}]/u;
28815
- const LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu;
28816
- const IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
28817
- const SEPARATORS = /[_.\- ]+/;
28818
-
28819
- const LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);
28820
- const SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');
28821
- const NUMBERS_AND_IDENTIFIER = new RegExp('\\d+' + IDENTIFIER.source, 'gu');
28822
-
28823
- const preserveCamelCase = (string, toLowerCase, toUpperCase) => {
28824
- let isLastCharLower = false;
28825
- let isLastCharUpper = false;
28826
- let isLastLastCharUpper = false;
28827
-
28828
- for (let i = 0; i < string.length; i++) {
28829
- const character = string[i];
28830
-
28831
- if (isLastCharLower && UPPERCASE.test(character)) {
28832
- string = string.slice(0, i) + '-' + string.slice(i);
28833
- isLastCharLower = false;
28834
- isLastLastCharUpper = isLastCharUpper;
28835
- isLastCharUpper = true;
28836
- i++;
28837
- } else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {
28838
- string = string.slice(0, i - 1) + '-' + string.slice(i - 1);
28839
- isLastLastCharUpper = isLastCharUpper;
28840
- isLastCharUpper = false;
28841
- isLastCharLower = true;
28842
- } else {
28843
- isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;
28844
- isLastLastCharUpper = isLastCharUpper;
28845
- isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;
28846
- }
28847
- }
28848
-
28849
- return string;
28850
- };
28851
-
28852
- const preserveConsecutiveUppercase = (input, toLowerCase) => {
28853
- LEADING_CAPITAL.lastIndex = 0;
28854
-
28855
- return input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));
28856
- };
28857
-
28858
- const postProcess = (input, toUpperCase) => {
28859
- SEPARATORS_AND_IDENTIFIER.lastIndex = 0;
28860
- NUMBERS_AND_IDENTIFIER.lastIndex = 0;
28861
-
28862
- return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))
28863
- .replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));
28864
- };
28865
-
28866
- const camelCase = (input, options) => {
28867
- if (!(typeof input === 'string' || Array.isArray(input))) {
28868
- throw new TypeError('Expected the input to be `string | string[]`');
28869
- }
28870
-
28871
- options = {
28872
- pascalCase: false,
28873
- preserveConsecutiveUppercase: false,
28874
- ...options
28875
- };
28876
-
28877
- if (Array.isArray(input)) {
28878
- input = input.map(x => x.trim())
28879
- .filter(x => x.length)
28880
- .join('-');
28881
- } else {
28882
- input = input.trim();
28883
- }
28884
-
28885
- if (input.length === 0) {
28886
- return '';
28887
- }
28888
-
28889
- const toLowerCase = options.locale === false ?
28890
- string => string.toLowerCase() :
28891
- string => string.toLocaleLowerCase(options.locale);
28892
- const toUpperCase = options.locale === false ?
28893
- string => string.toUpperCase() :
28894
- string => string.toLocaleUpperCase(options.locale);
28895
-
28896
- if (input.length === 1) {
28897
- return options.pascalCase ? toUpperCase(input) : toLowerCase(input);
28898
- }
28899
-
28900
- const hasUpperCase = input !== toLowerCase(input);
28901
-
28902
- if (hasUpperCase) {
28903
- input = preserveCamelCase(input, toLowerCase, toUpperCase);
28904
- }
28905
-
28906
- input = input.replace(LEADING_SEPARATORS, '');
28907
-
28908
- if (options.preserveConsecutiveUppercase) {
28909
- input = preserveConsecutiveUppercase(input, toLowerCase);
28910
- } else {
28911
- input = toLowerCase(input);
28912
- }
28913
-
28914
- if (options.pascalCase) {
28915
- input = toUpperCase(input.charAt(0)) + input.slice(1);
28916
- }
28917
-
28918
- return postProcess(input, toUpperCase);
28919
- };
28920
-
28921
- camelcase$1.exports = camelCase;
28922
- // TODO: Remove this for the next major release
28923
- camelcase$1.exports.default = camelCase;
28924
-
28925
- var camelcase = camelcase$1.exports;
28926
-
28927
- // TODO: It's annoying that we have to pass name into the RadioGroup and RadioButton
28928
- var LuiFormikRadioGroup = function (props) {
28929
- var ctx = formik.useFormikContext();
28930
- var error = formik.getIn(ctx.errors, props.name);
28931
- var touch = formik.getIn(ctx.touched, props.name);
28932
- var showError = touch && error;
28933
- useDeprecatedWarning('LuiFormikRadioGroup');
28934
- var describedby = props.hint && camelcase(props === null || props === void 0 ? void 0 : props.hint) + 'Id';
28935
- var errorDescribedBy = error && camelcase(error) + 'Id';
28936
- return (React__default["default"].createElement("div", { className: clsx('lui-fieldsetBlock-form-group', showError && 'lui-input-error') },
28937
- React__default["default"].createElement("fieldset", { "aria-describedby": clsx(props.hint && describedby + 'Id', showError && errorDescribedBy) },
28938
- React__default["default"].createElement("legend", null,
28939
- props.required && React__default["default"].createElement("span", { className: "lui-required-input-icon" }, "*"),
28940
- props.legend),
28941
- showError && (React__default["default"].createElement("p", { id: errorDescribedBy },
28942
- React__default["default"].createElement("span", { className: "LuiScreenReadersOnly" }, " Error: "),
28943
- error)),
28944
- props.hint && (React__default["default"].createElement("p", { className: "lui-fieldset-support-txt small", id: describedby }, props.hint)),
28945
- React__default["default"].createElement("div", { className: "lui-input-group-wrapper" }, props.children))));
28946
- };
28947
-
28948
- var LuiFormikFormSubmitButton = formik.connect(function (props) {
28949
- useDeprecatedWarning('LuiFormikFormSubmitButton');
28950
- return (React__default["default"].createElement(LuiButton, { type: "submit", className: props.className, level: "primary", "data-testid": props['data-testid'], disabled: !!props.disabled }, props.children));
28951
- });
28952
-
28953
- var LuiFormikSelect = formik.connect(function (props) {
28954
- useDeprecatedWarning('LuiFormikSelect');
28955
- var error = formik.getIn(props.formik.errors, props.name);
28956
- var touch = formik.getIn(props.formik.touched, props.name);
28957
- var showError = touch && error;
28958
- return (React__default["default"].createElement("div", { className: props.className },
28959
- props.label && (React__default["default"].createElement(LuiFormikFormLabel, { className: 'lui-margin-bottom-xxs', "for": props.name, label: props.label, required: !!props.required, tooltip: props.tooltip })),
28960
- props.helperInfo,
28961
- React__default["default"].createElement("div", { className: clsx('lui-input-wrapper', showError && 'lui-input-error') },
28962
- React__default["default"].createElement(formik.ErrorMessage, { name: props.name, render: function () { return (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")); } }),
28963
- React__default["default"].createElement(formik.Field, __assign({ disabled: props.disabled, defaultValue: props.defaultValue, name: props.name, id: props.name, validate: props.validate, as: "select" }, props.inputProps), props.children),
28964
- React__default["default"].createElement(formik.ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" }))));
28965
- });
28966
-
28967
28713
  var LuiBearingInput = function (props) {
28968
28714
  var maxDecimal = 1;
28969
28715
  var maxAfterDP = 4 + maxDecimal;
@@ -29018,7 +28764,11 @@ var LuiBearingInput = function (props) {
29018
28764
  var showError = error !== null;
29019
28765
  props.onValidate && props.onValidate(internalError);
29020
28766
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
29021
- props.label && (React__default["default"].createElement(LuiFormikFormLabel, { required: !!props.required, label: props.label, "for": props.name, tooltip: props.tooltip })),
28767
+ props.label && (React__default["default"].createElement("div", { className: 'LuiFormLabel-wrapper' },
28768
+ React__default["default"].createElement("label", { className: "LuiFormLabel", htmlFor: props.name },
28769
+ !!props.required && (React__default["default"].createElement("span", { className: "lui-required-input-icon" }, "*")),
28770
+ props.label),
28771
+ props.tooltip && React__default["default"].createElement("i", { className: "material-icons-round" }, "help"))),
29022
28772
  props.helperInfo,
29023
28773
  React__default["default"].createElement("div", { className: clsx('lui-margin-top-xs', showError && 'lui-input-error') },
29024
28774
  showError && (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
@@ -29026,20 +28776,6 @@ var LuiBearingInput = function (props) {
29026
28776
  React__default["default"].createElement("input", __assign({ id: props.name, type: "text", disabled: props.disabled }, props.inputProps, { onChange: onChange, value: props.value })),
29027
28777
  React__default["default"].createElement("div", { className: 'lui-bearing-display' }, formatBearing(props.value || '0'))),
29028
28778
  showError && React__default["default"].createElement("p", null, error))));
29029
- };
29030
- var LuiBearingFormikInput = function (props) {
29031
- var ctx = formik.useFormikContext();
29032
- var _a = React.useState(null), error = _a[0], setError = _a[1];
29033
- function validateBearing() {
29034
- return error;
29035
- }
29036
- function onValidate(error) {
29037
- setError(error);
29038
- }
29039
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
29040
- React__default["default"].createElement(formik.Field, { name: props.name, validate: validateBearing }, function (renderProps) {
29041
- return (React__default["default"].createElement(LuiBearingInput, __assign({ name: props.name }, renderProps.field, { validationError: formik.getIn(ctx === null || ctx === void 0 ? void 0 : ctx.errors, props.name), required: true, onValidate: onValidate, inputProps: props.inputProps, preferValidationError: props.preferValidationError })));
29042
- })));
29043
28779
  };
29044
28780
 
29045
28781
  var LinzLogoFooter = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxODAiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MjMuMjEgOTcuMjYiPgogICAgPGcgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIuNyI+CiAgICA8cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNTcuNyA0NC42OSA1Ny43IDQ0LjY5IDU3LjcgNDQuNjkgNTcuNyA0NC42OSIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjU4LjAxIDQ1Ljg2IDU4LjAxIDQ1Ljg2IDU4LjAxIDQ1Ljg2IDU4LjAxIDQ1Ljg2Ii8+CiAgICA8cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNjEuNDcgMTQuNDEgNjEuNDcgMTQuNDEgNjEuNDcgMTQuNDEgNjEuNDcgMTQuNDEiLz4KICAgIDxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSI2Ny4xNiAxOS4wNiA2Ny4xNiAxOS4wNiA2Ny4xNiAxOS4wNiA2Ny4xNiAxOS4wNiIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjI5LjcyIDMyLjM2IDI5LjcyIDMyLjM2IDI5LjcyIDMyLjM2IDI5LjcyIDMyLjM2Ii8+CiAgICA8cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNDYuNTUgNS43NSA0Ni41NSA1Ljc1IDQ2LjU1IDUuNzUgNDYuNTUgNS43NSIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTc3LjczLDg4LjQ0YzAsLjExLS4wOC40OC0uMDguNDhhMy44MSwzLjgxLDAsMCwwLS40My0uMDhsLS40MSwwYy0yMS4xNS0yLTQzLjQtMi02MS4xMi0uMTgtLjcsMi42OC0xLjI5LDUuMjQtMS43OCw3LjYyYTIyMi4yNywyMjIuMjcsMCwwLDEsMzAuNC0xLjgzLDMzNS4xMiwzMzUuMTIsMCwwLDEsNDAuNTMsMi40N0M4OC40OCw3Myw5Ni41MSw0MC40OCwxMDguMzMsMjBjLTIuNzYtLjIyLTUuNjUtLjQyLTguNi0uNTlDODkuOTQsMzguNDEsODIuMTYsNjIuNzcsNzcuOCw4OFoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik0yMC41OSw1Ni4xOWgtLjE0bC0yLjM5LjEyLTUuMzQuM2MtLjI2Ljg4LS41MiwxLjc2LS43NywyLjY1LS44MSwyLjg1LTEuNiw1LjgtMi4zMyw4Ljc4bDEuNzktLjE1LjM4LDAsMi4xNS0uMTZIMTRsMi40Ny0uMTcuNjcsMCwyLjE4LS4xNGMuOTUtMy44NSwyLTcuNjMsMy0xMS4yNFoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik0xMC4xOSw1Ni43OWMtMy43Mi4yNC02LjMxLjQ1LTcuMjcuNTRDMS43NSw2MS40NC43Niw2NS4zOCwwLDY5LjA1YzEuNzYtLjI0LDQtLjQ5LDYuNTktLjc0bDEuMzQtLjEyYzEtMy45MiwyLTcuNzcsMy4wOS0xMS40NloiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik0xOS4zMywzMy40MWMtNCwuMjYtNi45Mi40OS04LjI1LjYtMS4zNiwzLjI1LTIuNjYsNi42Mi0zLjg3LDEwLDEuNC0uMTIsNC0uMzIsNy40MS0uNTRsLjc3LS4wNUMxNi42Myw0MCwxOCwzNi42NCwxOS4zMywzMy40MVoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik0xNC44LDQ1LjA4Yy00LjExLjI3LTcsLjUtOC4xOC42LTEuMTgsMy4zNy0yLjI2LDYuNzItMy4yMiwxMCwxLjMxLS4xMSwzLjczLS4zLDctLjUxbDEuMTQtLjA3QzEyLjU0LDUxLjY5LDEzLjY0LDQ4LjMzLDE0LjgsNDUuMDhaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICBkPSJNNDcuNDMsMjAuODFjLTMuMDcuMDUtNi4yNi4xNS05LjQ5LjI4LTEuNjUsMy4xOC0zLjI2LDYuNTQtNC43OCwxMCwyLS4wOCw0LjEyLS4xNCw2LjE4LS4xOWwzLjM4LS4wN0M0NC4yMiwyNy4zOCw0NS44LDI0LDQ3LjQzLDIwLjgxWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTIyLjc2LDQ0LjYyYy0yLjI1LjEyLTQuMzQuMjMtNi4yMy4zNS0xLjE2LDMuMjUtMi4yNyw2LjYxLTMuMzIsMTAsMS41Ni0uMSwzLjI1LS4xOSw1LS4yOGwyLjM4LS4xMmguMTJsMi4xMi0uMDljMS0zLjQxLDIuMTQtNi43OCwzLjI5LTEwWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTM1LjI1LDQ0LjE1aC0uMTZjLTIuMzkuMDYtNC44MS4xNC03LjIxLjIzLTEuMTYsMy4yNS0yLjI3LDYuNjItMy4zMiwxMEwyNyw1NC4zM2wzLjM1LS4xLjY2LDAsMy4yLS4wN2MxLTMuNDIsMi4xNC02Ljc5LDMuMjgtMTBaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICBkPSJNNDguNjUsMzAuNzljMS44NiwwLDMuNjcsMCw1LjQxLDAsMS41MS0zLjQ3LDMuMS02Ljg1LDQuNzMtMTAuMDYtMywwLTYuMjIsMC05LjU1LDAtMS42NSwzLjE5LTMuMjUsNi41Ni00Ljc3LDEwWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTYwLjU3LDEzLjkzbC0uMDYtLjA4LS4wOC0uMTItLjc5LTEuMTYtLjc5LTEuMTMtLjI3LS4zOC0uNTEtLjY5LS4yLS4yNS0uMjMtLjMxYTEuNzIsMS43MiwwLDAsMS0uMTctLjI4aDBhMS4wOCwxLjA4LDAsMCwxLS4xLS4zMXMwLS4wNSwwLS4wN3YwSDU1LjkzYy0uNTEuOC0xLDEuNjYtMS42LDIuNTZzLTEuMTIsMS44OC0xLjcsMi44N0w1MS4yNSwxN2wtLjQ5Ljg5LS4yNy41LS40MS43Nmg1LjQ1YzEuMzYsMCwyLjczLDAsNC4wOCwwLC42NS0xLjI0LDEuMzEtMi40NSwyLTMuNjhsLS40Ny0uNzEsMC0uMDYsMC0uMDZaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICBkPSJNNDAuNzgsNTQuMDhjMS42NCwwLDMuMjUsMCw0LjgsMCwxLTMuNDMsMi4xNC02LjgxLDMuMjktMTAuMDYtMywwLTYuMjcsMC05LjY1LDAtMS4xNiwzLjI2LTIuMjcsNi42My0zLjMxLDEwQzM3LjU2LDU0LjA5LDM5LjE5LDU0LjA4LDQwLjc4LDU0LjA4WiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTExLjc4LDMyLjM0YzEuNjQtLjEzLDQuMzYtLjMzLDcuODgtLjU2bC4zOCwwYzEuNS0zLjQ0LDMuMDgtNi44LDQuNzEtMTAtNC4yOS4yNy03LjM0LjUyLTguMzYuNjFDMTQuODIsMjUuNTIsMTMuMjcsMjguODYsMTEuNzgsMzIuMzRaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICBkPSJNNDMuNzcsMzIuNDJjLTEuMzgsMy4yNC0yLjcxLDYuNjEtNCwxMGw0LjcxLDBjMS42OSwwLDMuMzQsMCw0LjkzLDAsMS4yNS0zLjQ0LDIuNTctNi44MSwzLjk0LTEwQzUwLjM1LDMyLjM4LDQ3LjEyLDMyLjM4LDQzLjc3LDMyLjQyWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTM2LjEsMjEuMTZjLTMuMTMuMTQtNi4zMi4zLTkuNS41LTEuNjUsMy4xOC0zLjI1LDYuNTQtNC43NywxMCwyLjIzLS4xMyw0LjUtLjI1LDYuNzQtLjM2bDIuODEtLjEyQzMyLjg4LDI3LjcyLDM0LjQ3LDI0LjM2LDM2LjEsMjEuMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICBkPSJNMzguMDksNDIuNDljMS4yNS0zLjQzLDIuNTctNi44MSwzLjkzLTEwTDM5LDMyLjUyYy0yLjE4LDAtNC4zNi4xMi02LjUuMjEtMS4zOCwzLjI0LTIuNzIsNi42MS00LDEwbDQuMTMtLjE0LDIuNzctLjA4aC4xMloiLz4KICAgIDxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSI2NC41IDMyLjMzIDY0LjUxIDMyLjMyIDY0LjUgMzIuMzMgNjQuNSAzMi4zMyIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTY3LjUyLDQxLjI5bDAtLjIxYS41MS41MSwwLDAsMSwwLS4xM2MwLS4xMiwwLS4yMiwwLS4zM3YtLjE5YS40OS40OSwwLDAsMCwwLS4xMmMwLS4xMiwwLS4yMywwLS4zNHYtLjE2YS4xNy4xNywwLDAsMSwwLS4wNywyLDIsMCwwLDAtLjEzLS40N2gwYTEuMTcsMS4xNywwLDAsMC0uMTQtLjI1LDEsMSwwLDAsMC0uMTktLjIzLDEuMzgsMS4zOCwwLDAsMC0uMzYtLjI2bC0uMjUtLjEyYy0uMjYtLjEtLjUxLS4xNi0uNzYtLjIzTDY1LjI3LDM4bC0uMDcsMC0uMDgsMC0uMzMtLjEzLS4wNywwLS4yNy0uMTNoMGwtLjM5LDFjLS41NywxLjQ1LTEuMTIsMi45LTEuNjUsNC4zNCwxLjQ5LjEyLDMsLjI2LDQuNDEuNDJhMS44NywxLjg3LDAsMCwwLC4xMi0uMjVsLjEyLS4yNiwwLS4wNy4yMS0uNTgsMC0uMDguMTYtLjYsMC0uMTFaIi8+CiAgICA8cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNjguMDUgMzkuODcgNjguMDUgMzkuODcgNjguMDUgMzkuODcgNjguMDUgMzkuODciLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTY3LDQ0LjE4aDAiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik0yOC4yOCwzMi45MWMtMi40LjExLTQuODEuMjQtNy4xNy4zOS0xLjM5LDMuMjMtMi43Miw2LjYtNCwxMCwxLjc5LS4xMSwzLjc2LS4yMiw1Ljg1LS4zMmwxLjgxLS4wOWguMzZsMS41OS0uMDdDMjgsMzkuNCwyOS4zMSwzNiwzMC42OCwzMi44bC0uODIsMGgtLjEyWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTM4LjEsMTcuMzcsMzguODYsMTZsLjI0LS40NEw0MCwxMy45MWwxLTEuNzRjLjU1LS45MSwxLjEtMS44LDEuNjMtMi42NWwtMS4wNi4wNWgwbC00Ljg0LjI0Yy0xLjIyLjA2LTIuMzguMTMtMy40Ny4ybC0uMjIuMzQtLjY3LDEuMDYsMCwuMDhjLS4yMS4zNC0uNDMuNjgtLjY0LDFsLS4xMi4xOWMtLjIuMzItLjQuNjYtLjYsMWwtLjE5LjMxLS41Ni45NC0uMjcuNDhjLS4xNy4yOC0uMzMuNTctLjUuODZsLTEuNiwyLjg5Yy0uMTUuMjYtLjI5LjUzLS40NC44LDIuNjktLjE2LDUuMzgtLjMsOC0uNDFMMzcsMTkuNTNjLjI5LS41Ny41OC0xLjExLjg4LTEuNjVaIi8+CiAgICA8cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNDUuMTggNi42MSA0NS4xOCA2LjYxIDQ1LjE4IDYuNjEgNDUuMTggNi42MSIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTM0LjQzLDguMzQsMzYsOC4yNWw3Ljc0LS4zOC40NS0uNjguMDYtLjA4LjUyLS43NywwLS4wNy41MS0uNzVjLjE5LS4yNi4zNi0uNTEuNTMtLjc2LDEuNS0yLjEyLDIuNzItMy42NywzLjU0LTQuNjctMywuMTEtNi4wOC4yNy05LjExLjQ3QTcyLjYyLDcyLjYyLDAsMCwwLDM0LjQzLDguMzRaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICBkPSJNNDMsMTJsLS43NCwxLjI0LTEuMzksMi4zOGMtLjIzLjQxLS40Ny44Mi0uNywxLjI0bC0uMjQuNDQtLjU0LDEtLjI0LjQ0LS4zOC43YzMuMjctLjEyLDYuNDUtLjIxLDkuNDctLjI2TDQ4LjkxLDE4bC4yNi0uNS41LS45MSwxLjM4LTIuNDdjLjU2LTEsMS4xMS0xLjkxLDEuNjQtMi43OWwuMDUtLjA4LjYtMUw1NCw5LjE2Yy0zLC4wNi02LjE2LjE1LTkuMzcuMjgtLjQ3LjczLS45NSwxLjUtMS40NSwyLjMxWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTE3LjI0LDIwLjcxYzEuNjItLjEzLDQuNTUtLjM1LDguMzctLjU5LjIxLS40Mi40My0uODIuNjUtMS4yM3MuNS0uOTMuNzUtMS4zOGMxLjQyLTIuNTksMi44OC01LjA3LDQuMzQtNy4zOC00LjMzLjI4LTcuMzcuNTMtOC4zNi42MkMyMS4wNywxMy43MSwxOS4xNCwxNy4wNiwxNy4yNCwyMC43MVoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik0zMC4xNywxLjQ4YTU3LjUxLDU3LjUxLDAsMCwwLTYuMDUsNy41N2MxLjY2LS4xMyw0LjU4LS4zNSw4LjMxLS41OUE4OS4zNCw4OS4zNCwwLDAsMSwzOC4wNi43MkMzNS4xNy45NCwzMi41MiwxLjIsMzAuMTcsMS40OFoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik0yMy44OSw2Ny4xMWguMTZMMjYsNjdoLjM1bDEuOC0uMDdoLjMzbDEuNzktLjA1LjU0LDBjLjkzLTMuODEsMS45NC03LjU0LDMtMTEuMTFsLTIuOTEuMDdoMGwtLjcsMC0zLjM3LjEtMi43LjFDMjMsNTkuNjQsMjIsNjMuNDEsMjEsNjcuMjZsMS0uMDZaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICBkPSJNNTIuMzMsNDcuNzhhMS44OSwxLjg5LDAsMCwwLC41NC0yYzAtLjEsMC0uMiwwLS4yOWwwLS4yNGE1LjEyLDUuMTIsMCwwLDEtLjExLS45LDEuODEsMS44MSwwLDAsMSwwLS4yNWwtMi4xNC0uMDZjLTEuMTYsMy4yNi0yLjI3LDYuNjMtMy4zMiwxMC4wNmwuNzcsMGguMDlsLjEtLjE1LjE4LS4zMSwwLS4wNiwwLS4wNy4xOS0uMzUsMC0uMDdjLjA3LS4xNC4xMy0uMjguMTktLjQxbDAtLjEyLjEyLS4yNywwLS4xMSwwLS4wNi41My0xLjkydi0uMDlsMC0uMTZ2LS4wOGwwLS4yNmMuMTEtLjU4LjUxLS43NS45My0uOTNBNi4yOCw2LjI4LDAsMCwwLDUyLjMzLDQ3Ljc4WiIvPgogICAgPHJlY3QgY2xhc3M9ImNscy0xIiB4PSI1MC4xNiIgeT0iNTAuMSIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTMwLjI2LDY4Ljc2bC0xLjcsMC0yLjM0LjA5TDI0LjQsNjlsLTQuNDcuMjMtMS44Ny4xMi00LjUxLjMxYy0yLjQ5LjE4LTQuODYuMzgtNywuNTktLjczLDIuODEtMS4zNyw1LjUyLTEuOSw4LjA3LDEuNzYtLjI1LDMuOTMtLjUsNi4zMS0uNzRoMGwyLS4yaC4xNGMxLjQyLS4xMywyLjg4LS4yNSw0LjM4LS4zN2wxLjQ0LS4xLDEuODEtLjEyLjg0LDAsMS44LS4xMS44NywwLDEuODQtLjA4LjksMGMuNjMsMCwxLjI3LS4wNSwxLjktLjA2LDAtLjA5LDAtLjE4LDAtLjI4YTguODEsOC44MSwwLDAsMSwuNjEtM0ExMC4zNCwxMC4zNCwwLDAsMSwzMiw2OS4yMmMuMTktLjE4LjM4LS4zNy41Ni0uNTdsLTEuMy4wNloiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik02NC45MiwyMC45M2MtMS40NC0uMDUtMi45LS4xLTQuMzUtLjEzLTEuNjUsMy4yMS0zLjI2LDYuNTktNC43OCwxMC4wNywzLC4wNyw1LjkuMiw4LjYyLjM4YTMsMywwLDAsMCwuNjgtLjkxLDkuNjUsOS42NSwwLDAsMCwuOC0yLjg1bC4wNi0uNDRjMC0uMy4wNy0uNTkuMS0uODdsMC0uNDFjMC0uMjQsMC0uNDgsMC0uNywwLDAsMC0uMDgsMC0uMTF2LS4xMmEzLjg4LDMuODgsMCwwLDAsMC0uNDEuNjguNjgsMCwwLDAsMC0uMTRsMC0uMThjMC0uMSwwLS4yLDAtLjI5czAtLjA5LDAtLjE0bDAtLjA4YzAtLjE1LS4wNy0uMjctLjExLS4zOUw2NS43NCwyM2MwLS4xNS0uMS0uMzEtLjE3LS40OHMtLjI0LS42Mi0uMzctLjk0WiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTUxLjEzLDQyLjUxYy45MywwLDEuODQsMCwyLjc1LjA4YTMuMjEsMy4yMSwwLDAsMSwyLTEuMDUsMS45MSwxLjkxLDAsMCwxLC40MSwwLC42MS42MSwwLDAsMSwuNDcuMzguNjQuNjQsMCwwLDEtLjEyLjU4bDAsLjA2LS4wNy4xMWMxLjQ1LjA2LDIuODUuMTQsNC4xNi4yMy4zOS0xLjA3Ljc4LTIuMTIsMS4xOC0zLjE1cy43Ni0yLDEuMTQtMi45MmwtLjItLjEtLjM4LS4yYTQsNCwwLDAsMS0xLS42NCwyLjA4LDIuMDgsMCwwLDEtLjMtLjM4LDIuMiwyLjIsMCwwLDEtLjMzLTEsMi45MiwyLjkyLDAsMCwxLDAtLjU5Ljc1Ljc1LDAsMCwxLDAtLjE2LDIuMjUsMi4yNSwwLDAsMSwuMTMtLjM3bC4xLS4xOGExLjc5LDEuNzksMCwwLDEsLjItLjI2bC4xNC0uMTUuMTUtLjEyYy0yLjEyLS4xMS00LjMyLS4xOS02LjU3LS4yNEM1My43MiwzNS42OSw1Mi4zOSwzOS4wNyw1MS4xMyw0Mi41MVoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik01OC41Myw0NS44NmgwbC4zLS4yNS4xMS0uMDlhNiw2LDAsMCwxLDEuMTctLjg0bC4wNi0uMi0yLS4xMmExLjQxLDEuNDEsMCwwLDAsMCwuMmwwLC4xLDAsLjE4LjE1LjU3YzAsLjA3LDAsLjEzLjA3LjE5bDAsLjA3WiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTYzLjEyLDE3LjI2YS45My45MywwLDAsMS0uMS0uMzcuNzQuNzQsMCwwLDEsMC0uMTguODguODgsMCwwLDEtLjI4LDBjLS40OC44Ni0uOTMsMS42OS0xLjM3LDIuNTIsMSwwLDEuOS4wNSwyLjg1LjA5LS4zLS42My0uNTktMS4xLS44LTEuNDZTNjMuMTgsMTcuNCw2My4xMiwxNy4yNloiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTMzLjA5LDY4LjEzdjAiLz4KICAgIDxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIzMy41NyA2OC4xMyAzMy41NyA2OC4xMiAzMy41NyA2OC4xMyAzMy41NyA2OC4xMyIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTQ2LjQsNi44MWwtLjU4Ljg1LS4wOS4xNGMzLjItLjEyLDYuMzMtLjIxLDkuMzItLjI2LjM5LS41OS43Ny0xLjE2LDEuMTQtMS43bC0uMTItLjE3LS4yMS0uMjhhMy4yMywzLjIzLDAsMCwwLS4yMy0uMjdsMC0uMDYtLjI5LS4zYy0uMSwwLS4zOS0uNzItLjM5LS43M0ExOC4zMSwxOC4zMSwwLDAsMCw1Mi42OS4zMiwyLDIsMCwwLDAsNTIuMzQsMGwtLjc3LDBBNzAuMTYsNzAuMTYsMCwwLDAsNDcsNlY2WiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTQxLjY0LDYwLjE4bDEuMTUtLjkyLDEuNjgtMS4zNS42My0yLjJjLTMuMDUsMC02LjMsMC05LjY3LDAtMS4wNiwzLjU1LTIuMDYsNy4yNy0zLDExLjA2aC4zNGwxLjE3LS4wNi4yNy0uNDNhNS42NCw1LjY0LDAsMCwxLDIuNDEtMi41OWwuMzItLjE1LjExLS4wNi4zMi0uMTguMTEtLjA2LDEuNTktMS4wN1oiLz4KICAgIDxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIzNy42MiA2My43MiAzNy42MiA2My43MiAzNy42MiA2My43MiAzNy42MiA2My43MiIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjM3LjIxIDYzLjk0IDM3LjIxIDYzLjk0IDM3LjIxIDYzLjk0IDM3LjIxIDYzLjk0Ii8+CiAgICA8cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iODQuNzEgMjQuMDUgODQuNzEgMjQuMDQgODQuNzEgMjQuMDQgODQuNzEgMjQuMDUiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgIGQ9Ik02Ny41OSwxOC43NmwuMjguMTNhMy40LDMuNCwwLDAsMSwxLjQxLDEuNCw0LjA1LDQuMDUsMCwwLDAsLjQ4LjYxLDUuMTYsNS4xNiwwLDAsMC0uMjgtLjY3QTQuNjMsNC42MywwLDAsMSw2OSwxOC43NmMwLS4wOCwwLS4xNiwwLS4yMywwLS40MSwwLTEuNzYuNjctMmExLDEsMCwwLDEsLjIxLDAsLjc0Ljc0LDAsMCwxLC42My4zOS43NS43NSwwLDAsMCwuNDIuMjMsMS42LDEuNiwwLDAsMSwxLjE5LDEuMiwxLjYyLDEuNjIsMCwwLDEsMCwuMTksMjUuNTgsMjUuNTgsMCwwLDAsMS40Miw1LjE3Yy4zMy41LDIuODEsMS4zNiw0LDEuNzZsMS4xLjM5Yy42LjIzLDEuMy0uNCwyLTFhNSw1LDAsMCwxLDEuMzItMWwuMzktLjE0LjM4LS4xMi4yNy0uMDcuMjMtLjA1aC4wOWwuMTMsMGguOGExLjEzLDEuMTMsMCwwLDEsLjE4LDBoLjFhMTcwLjE1LDE3MC4xNSwwLDAsMSw4LTE1LjY4TDkzLjU3LDZhMzMzLjQsMzMzLjQsMCwwLDAtMzUuNy0xLDMuNjUsMy42NSwwLDAsMCwuODIuODdjLjE5LjE3LjQuMzUuNjEuNTZBMi43MiwyLjcyLDAsMCwwLDYwLjQ0LDdhMTEuNjYsMTEuNjYsMCwwLDEsMywxLjUsNyw3LDAsMCwxLDEuNDMsMS4yMiwzLjYsMy42LDAsMCwxLC4zMS40bDAsLjA5YTIuOSwyLjksMCwwLDEsLjM1Ljc5bDAsLjA4YTIuNjgsMi42OCwwLDAsMSwwLC43NXYuMDhhMy43MiwzLjcyLDAsMCwxLS4xMi42NmwtLjA5LjM1Yy0uMDYuMjIsMCwuMzcuNDUuOGEzLjEsMy4xLDAsMCwxLDEsMi42MSwzLjM3LDMuMzcsMCwwLDAsLjIxLDIsLjYxLjYxLDAsMCwwLC4xMi4xNmwuMTUuMTQuMDYsMFoiLz4KICAgIDxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSI4NC40MiAyMy45NSA4NC40MyAyMy45MiA4NC40MiAyMy45MiA4NC40MiAyMy45NSIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTYyLjYxLDQ1aC4wOWEuODYuODYsMCwwLDEsLjc1LjE1LjY1LjY1LDAsMCwxLC4yMi41LDIuNDUsMi40NSwwLDAsMS0uMywxQTMuNDcsMy40NywwLDAsMCw2Myw0Ny44NmMwLC4yMi4xLjMuNDQuNDRzLjcyLjMyLjYuODVhNS4yOSw1LjI5LDAsMCwxLS45MSwxLjZsLS4yLjNhMTEuMTIsMTEuMTIsMCwwLDEtMSwxLjMsNy4zNSw3LjM1LDAsMCwwLTEuMjgsMS44MWwtLjA1LjFDNTkuODMsNTUuNzQsNTksNTcuNDIsNTcuNjYsNThjLS43LjMxLS42OS41Ny0uNjUsMS4yOCwwLC4xNiwwLC4zMiwwLC41czAsLjE2LjUxLjM0YTEuNywxLjcsMCwwLDEsMS4zMywxLjQxLDEuMjYsMS4yNiwwLDAsMS0uNDgsMS4yNywyLjI1LDIuMjUsMCwwLDEtMi4xMi0uMDhjLS40LS4xOS0uNS0uMTctMS40NS4xMmwtMS4xMy4zNGE2LjI0LDYuMjQsMCwwLDAtMy42MywzLjYxLDguMTUsOC4xNSwwLDAsMC0uMjYsMS40NiwxNS43NCwxNS43NCwwLDAsMS0yLjI2LDYuOTFjLTIuODQsNC40Ny02LjA2LDUuMTYtNyw1LjI3YTUuMyw1LjMsMCwwLDEtMy43OC0uODcsMS43MSwxLjcxLDAsMCwwLTEtLjEyYy0uNDgsMC0xLDAtMS4zLS40MWExLjUyLDEuNTIsMCwwLDAtMS4yMy0uMzRsLS4wOCwwYTMuNjksMy42OSwwLDAsMS0zLjQxLS41MmwtMi41Mi4wOC0uNzksMC0yLC4wOS0uNzcsMC0yLjE3LjEyLS42NiwwLTIuNDcuMTctLjIxLDBjLTIuNDYuMTgtNC44NS4zOC03LjA5LjYtLjczLDIuODUtMS4zNyw1LjU4LTEuOSw4LjE0LDItLjI5LDQuMTEtLjU1LDYuMy0uNzhsMy4xOS0uMzIuMjcsMGMxLjA2LS4xLDIuMTMtLjE4LDMuMjEtLjI2bC4yOCwwLDMuMzctLjIyYzIuMzItLjE0LDQuNy0uMjYsNy4xMy0uMzRoLjM0bDMuNDQtLjFoLjQxYzEuMTcsMCwyLjM0LDAsMy41My0uMDZoLjIyYzEuMjIsMCwyLjQ2LDAsMy43LDBsMy42NywwaC40NWwzLjUyLjA3aC41NWwzLjU2LjExaC40MWwzLjY4LjE2aC4wN2wzLjY3LjE5LjUzLDAsMy41Mi4yMy42NCwwcTEuNzUuMTIsMy41MS4yN2wuNTIsMCwzLjI0LjI4Yy4yMy0xLjMyLjQ3LTIuNjQuNzItNGwuMTItLjYzYy4yNi0xLjM4LjU0LTIuNzYuODItNC4xM2wuMTYtLjc3Yy4yOS0xLjM3LjU5LTIuNzMuODktNC4wOWwuMTQtLjYyYy4zMy0xLjQyLjY2LTIuODMsMS00LjI0cy43LTIuODEsMS4wNi00LjJsLjE1LS41OGMuMzUtMS4zMy43MS0yLjY1LDEuMDgtMy45NWwuMi0uNzFjLjM3LTEuMzEuNzQtMi42MSwxLjEzLTMuODlsLjE3LS41OGMuNDEtMS4zNS44Mi0yLjY4LDEuMjUtNHMuODYtMi42NiwxLjMxLTRsLjE3LS41MmMuNDMtMS4yNC44Ny0yLjQ4LDEuMzEtMy43MWwuMjMtLjYzYy40NC0xLjIzLjktMi40NCwxLjM2LTMuNjRsLjItLjUxcS43Mi0xLjg3LDEuNDctMy43MmgwYy41LTEuMjQsMS0yLjQ1LDEuNTMtMy42NmwuMTktLjQzYy41LTEuMTUsMS0yLjI5LDEuNTItMy40MWwuMjYtLjU2Yy41Mi0xLjEyLDEtMi4yMiwxLjU3LTMuM2wuMjItLjQ2Yy41Ni0xLjEzLDEuMTItMi4yNSwxLjY5LTMuMzUsMS4yOC0yLjQ3LDIuNi00Ljg3LDMuOTQtNy4xNi0zLS4yMy02LS40My05LjE1LS42MS0uMzEuNTctLjYzLDEuMTQtLjk0LDEuNzJsLS42LDEuMTQtLjUzLDFjLS4yNy41MS0uNTMsMS0uOCwxLjU2bC0uMjguNTZjLS4yOS41Ny0uNTcsMS4xNC0uODUsMS43Mi0xLjA5LDIuMjItMi4xMiw0LjQyLTMsNi41NWE1Ljc1LDUuNzUsMCwwLDEtLjQ3LDEuNGwtLjE5LjQ0LS4wNy4xOWEzLjI1LDMuMjUsMCwwLDAtLjEzLjM1bDAsLjExYzAsLjE0LS4wOS4yOS0uMTMuNDVsMCwuMDljMCwuMTktLjA5LjM2LS4xMi41M0EzLjE1LDMuMTUsMCwwLDEsODMuMDUsMzFhMS42NywxLjY3LDAsMCwwLS43NS43NmMtLjA2LjE1LS4yNS42NCwwLC43OGEuNjUuNjUsMCwwLDEsLjMxLjgyLDMuMzQsMy4zNCwwLDAsMS0uODQsMS4yNy41OC41OCwwLDAsMS0uNTguMS42NS42NSwwLDAsMS0uMy0uNjdjMC0uMTgsMC0uNDctLjEyLS41N2E0LjI3LDQuMjcsMCwwLDAtMS4zMSwwYy0xLjI0LjI4LTIuMjIuNS0yLjgyLDEuNjlhLjY3LjY3LDAsMCwwLC4zNiwxYy4zNi4xOC42NS4zNS43NC42N2EuODkuODksMCwwLDEtLjEzLjcxYy0uMDkuMTUtLjIuMzYtLjM1LjYzYTI5LjgxLDI5LjgxLDAsMCwxLTIuOTEsNC42MiwxNS42NiwxNS42NiwwLDAsMC0xLjM2LDJBOC43Miw4LjcyLDAsMCwxLDcwLjI0LDQ4Yy0xLjM5LjgxLTIsMS0yLjQyLjc0YS45Mi45MiwwLDAsMS0uMzktLjg0YzAtLjI2LS4xMi0uMzgtLjE1LS4zOWExLjcyLDEuNzIsMCwwLDEtMS44Ny0uMzUsMSwxLDAsMCwxLS4zOS0xczAtLjA5LDAtLjFhMS40MywxLjQzLDAsMCwxLC4wOC0uMjJsLjA1LS4xYTIuMzYsMi4zNiwwLDAsMSwuMTUtLjI1bDAtLjA2LjItLjI4LjA4LS4wOWExLjQ3LDEuNDcsMCwwLDEsLjEtLjEzYy0xLjA5LS4xMi0yLjItLjIyLTMuMzItLjMxQS45MS45MSwwLDAsMSw2Mi42MSw0NVpNMzcuMTQsODMuMzVhMS40NywxLjQ3LDAsMCwxLTEuMDguNGgtLjE5Yy0uMzcsMC0uMzcsMC0uNi4zYTEuMjcsMS4yNywwLDAsMS0uOS41OGgtLjA2YS43Ny43NywwLDAsMS0uNTktLjQzLDEuOSwxLjksMCwwLDEsLjA4LTEuNDVsLjA5LS4zMWExLjU5LDEuNTksMCwwLDEsLjM1LS42NC4yOS4yOSwwLDAsMCwuMS0uMjljMC0uMTEsMC0uMjQtLjA2LS4zNkExLjE2LDEuMTYsMCwwLDEsMzQuNDMsODBhMSwxLDAsMCwxLDEtLjEzLDIuOTEsMi45MSwwLDAsMSwyLDIuMzNBMS41NSwxLjU1LDAsMCwxLDM3LjE0LDgzLjM1WiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzUuMzUsNzguNTVoMFoiLz4KICAgIDxnIGlkPSJfR3JvdXBfIiBkYXRhLW5hbWU9IiZsdDtHcm91cCZndDsiPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMTQyLjA4LDYuNzJjLTMsMC01LjY3LS4wOS05LjE2LS4wOSwwLC45MywwLDIsMCwyLjY5VjI0LjY1YzAsMS42LDAsNC44OC4xNyw2LjA1aC03LjIzYy4yMS0yLC4yOS03LjM5LjI5LTEwLjEyVjEzLjE5YzAtMS42NCwwLTQuMzMtLjA4LTYuNTYtMy40OSwwLTYuMzQsMC05LjMzLjA5LjEzLTEuNjguMTctMy44Ny4xNy01LjgsNCwuMTMsNy45LjIxLDEyLjY1LjIxczguODYtLjA4LDEyLjg5LS4yMUE0OC41OCw0OC41OCwwLDAsMCwxNDIuMDgsNi43MloiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTE0OC4wNiwzMS40NmE5Ljg1LDkuODUsMCwwLDEtMTAuMTctMTAuMjFjMC02LjQzLDQuMjktMTEuMjEsMTAuNzEtMTEuMjFhOS44Myw5LjgzLDAsMCwxLDEwLjIxLDEwLjJDMTU4LjgxLDI2LjY3LDE1NC41NywzMS40NiwxNDguMDYsMzEuNDZabS4zOC0xNi43MmMtMi42NSwwLTQuMzcsMi4yMy00LjM3LDUuODQsMCw0LjMzLDEuNzIsNi4xNyw0LjIsNi4xNywyLjczLDAsNC4zNy0yLjE4LDQuMzctNS44OEMxNTIuNjQsMTYuNSwxNTAuNzksMTQuNzQsMTQ4LjQ0LDE0Ljc0WiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMTY1LjE3LDYuOTNhMy40LDMuNCwwLDAsMS0zLjY1LTMuMjhBMy41OCwzLjU4LDAsMCwxLDE2NS4zLjEyYTMuNDUsMy40NSwwLDAsMSwzLjYxLDMuMzJBMy41NCwzLjU0LDAsMCwxLDE2NS4xNyw2LjkzWk0xNjEuNTYsMzAuN2E2Ni4xOCw2Ni4xOCwwLDAsMCwuMjktNi44OXYtNmMwLTIuNDQtLjA4LTUuMzQtLjI5LTcuMTQsMS41MSwwLDUuNTQtLjI2LDYuOC0uMzgtLjEyLDEuMDktLjE2LDMtLjE2LDQuNDlWMjYuNjNjMCwxLjQ3LDAsMywuMTYsNC4wN1oiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTE4NSwzMC4yYTkuODMsOS44MywwLDAsMS00LjcxLDEuMTdjLTQuMjQsMC02LjYzLTEuOC02LjYzLTYuOTNWMTVoLTMuNDVsMS00LjUzaDIuNTJsLjM4LTQuMTJMMTgwLDQuNDVWMTAuNWg1LjE3Yy0uMDkuOTItLjEzLDMtLjEzLDQuNTNoLTV2OC43OGMwLDIuMS44LDIuNjEsMi4xNCwyLjYxYTUuODEsNS44MSwwLDAsMCwzLS45M1oiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTIwMi4yNiwzMC43bC0uNjgtMy41M2E4LjEzLDguMTMsMCwwLDEtNi44LDQuMjljLTQuNDEsMC02LjY0LTIuNjUtNi42NC03LjY1VjE3LjY4YzAtMi4zOS0uMDgtNS0uMjEtNi45MywyLjM1LDAsNC43OS0uMTMsNi43Ni0uMjlhNDAuODgsNDAuODgsMCwwLDAtLjIxLDQuNjZ2Ny4xNGMwLDIuODYuNzYsNC4yLDMuMTEsNC4yYTQuMTYsNC4xNiwwLDAsMCwzLjkxLTMuOTFWMTcuNjhjMC0yLjM5LS4wOC01LS4yNS02LjkzLDIuMzUsMCw0Ljg3LS4xMyw2Ljg0LS4yOWE0MC4xOSw0MC4xOSwwLDAsMC0uMjUsNC42NnY4LjYxYTY5LjMsNjkuMywwLDAsMCwuMyw3Wk0yMDUuMiw2LjM4Yy0xLjg1LDAtMy4zNi0uMDgtNS0uMDhoLTQuNDZjLTIsMC0zLjQ0LDAtNSwuMDguMDgtMSwuMTItMywuMTItNC4yOCwyLjQuMDgsNC4xMi4xMiw3LjM1LjEyLDIuMjMsMCw0LjgzLDAsNy4xOS0uMTJDMjA1LjI4LDMuMzEsMjA1LjIsNSwyMDUuMiw2LjM4WiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMjQyLjg0LDYuNzJjLTMsMC01LjY3LS4wOS05LjE1LS4wOS0uMDUuOTMtLjA1LDItLjA1LDIuNjlWMjQuNjVjMCwxLjYuMDUsNC44OC4xNyw2LjA1aC03LjIyYy4yMS0yLC4yOS03LjM5LjI5LTEwLjEyVjEzLjE5YzAtMS42NCwwLTQuMzMtLjA4LTYuNTYtMy40OSwwLTYuMzUsMC05LjMzLjA5LjEzLTEuNjguMTctMy44Ny4xNy01LjgsNCwuMTMsNy45LjIxLDEyLjY0LjIxczguODctLjA4LDEyLjktLjIxQTQ4LjQ2LDQ4LjQ2LDAsMCwwLDI0Mi44NCw2LjcyWiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMjU3LjUxLDIxLjU5bC0xMS43Mi4zM2MuMjEsMy4wNywyLDQuNzEsNS4zNCw0LjcxYTEzLjMsMTMuMywwLDAsMCw3LjUyLTIuNGwtLjEzLDQuODNhMTUsMTUsMCwwLDEtOC4xMSwyLjM2Yy03LjIyLDAtMTAuNzUtNC42Ny0xMC43NS0xMC4yOUMyMzkuNjYsMTQuNywyNDQsMTAsMjUwLjQxLDEwczksNC40MSw5LDkuOTFabS0zLjY5LTNjLS4yNi0yLjY0LTEuMzEtNC4xMS0zLjYyLTQuMTEtMi40OCwwLTQsMS44NC00LjM3LDQuMzJaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0zMDIuMjIsMjIuNzJjLTEuMywzLjU3LTIuMDYsNS44LTIuODIsOC4yNGwtNC4zMi4zN0wyODguMzEsMTJsLTQsMTEuNjhjLS44LDIuMzktMS43Miw0Ljc4LTIuNjQsNy41NmgtNC4zN0wyNjkuODMsOS44M2MtLjg4LTIuNjEtMi4wNi02LTMuMDctOC41M0wyNzQsMWw2LDE5LjgzTDI4NC4xMSw4Yy41NS0xLjY4LDEuODEtNS4zLDIuMzEtNi45M2w0LjEyLS4zOCw2LjY4LDIwTDMwMC44Myw4LjFsMi02Ljg5aDdaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0zMjQuMjIsMzAuN2MuMjEtMS44LjMtNC43LjMtNy4xNFYxOC45YzAtMi40NC0uNjMtMy44Ny0yLjY1LTMuODdhNC41Miw0LjUyLDAsMCwwLTQuMzcsNC4yVjI2LjVhNDAuMzksNDAuMzksMCwwLDAsLjE3LDQuMmgtNi43NmMuMTYtMS44LjI1LTQuNTMuMjUtN3YtMTZjMC0yLjQ0LS4wOS01LS4yNS02Ljc2LDEuNDctLjA5LDUuNS0uNTEsNi43Ni0uNzYtLjEzLDEuMDktLjE3LDQuODMtLjE3LDUuNTl2OC43OEE4Ljg5LDguODksMCwwLDEsMzI0Ljc3LDEwYzQuMTYsMCw2LjA5LDIuNjgsNi4wOSw3LjE0djkuMmMwLDEuNDcuMDgsMy4yMy4xNyw0LjMyWiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMzUxLjYzLDIxLjU5bC0xMS43Mi4zM2MuMjEsMy4wNywyLDQuNzEsNS4zMyw0LjcxYTEzLjI3LDEzLjI3LDAsMCwwLDcuNTItMi40bC0uMTIsNC44M2ExNSwxNSwwLDAsMS04LjExLDIuMzZjLTcuMjMsMC0xMC43Ni00LjY3LTEwLjc2LTEwLjI5LDAtNi40Myw0LjM3LTExLjA5LDEwLjc2LTExLjA5czksNC40MSw5LDkuOTFabS0zLjctM2MtLjI1LTIuNjQtMS4zLTQuMTEtMy42MS00LjExLTIuNDgsMC00LDEuODQtNC4zNyw0LjMyWiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMzY5LjcsMzAuN2MuMjEtMS44LjMtNC43LjMtNy4xNFYxOC45YzAtMi40NC0uNjMtMy44Ny0yLjY1LTMuODdhNC41NSw0LjU1LDAsMCwwLTQuMzcsNC4ydjcuMTVhNDIuODYsNDIuODYsMCwwLDAsLjE3LDQuMzJoLTYuNzZjLjE2LTEuOC4yNS00LjcuMjUtNy4xNHYtNS44YzAtMi40My0uMDktNS4xMi0uMjUtNi45MywxLjQ3LDAsNS0uNDIsNi4yNi0uNTRsLjI5LDQuMjRBOSw5LDAsMCwxLDM3MC4yNSwxMGM0LjE2LDAsNi4wOSwyLjY4LDYuMDksNy4xNHY5LjJjMCwxLjQ3LjA4LDMuMjMuMTcsNC4zMloiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTM5NC40NCwzMC43bC0uNjctMy41M0E4LjEzLDguMTMsMCwwLDEsMzg3LDMxLjQ2Yy00LjQxLDAtNi42My0yLjY1LTYuNjMtNy42NVYxNy42OGMwLTIuMzktLjA5LTUtLjIxLTYuOTMsMi4zNSwwLDQuNzktLjEzLDYuNzYtLjI5YTM4LjcsMzguNywwLDAsMC0uMjEsNC42NnY3LjE0YzAsMi44Ni43Niw0LjIsMy4xMSw0LjJhNC4xNiw0LjE2LDAsMCwwLDMuOS0zLjkxVjE3LjY4YzAtMi4zOS0uMDgtNS0uMjUtNi45MywyLjM2LDAsNC44OC0uMTMsNi44NS0uMjlhMzguMDksMzguMDksMCwwLDAtLjI1LDQuNjZ2OC42MWE2OS41Miw2OS41MiwwLDAsMCwuMjksN1oiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTQwMi45MiwyNS42MmMwLTQsMy40NS02LjcyLDEwLjM0LTYuNzIuNDYsMCwxLDAsMS41NS4wOGwuMDUtLjU5Yy4wOC0yLjIyLS44OS0zLjM2LTMuNDUtMy4zNmExMi4xNiwxMi4xNiwwLDAsMC02LjA5LDEuODVsLS44OC00LjY2QTE3LjEsMTcuMSwwLDAsMSw0MTIuNjcsMTBjNS44LDAsOC40LDIuODEsOC4yOCw4LjA2bC0uMjEsNy4zNWMtLjA1LDEuMTguMzMsMS41NiwxLjIxLDEuNTZhMy40NiwzLjQ2LDAsMCwwLDEuMjYtLjI2bC0uMjksMy43OWExMCwxMCwwLDAsMS0zLjQuNjcsNCw0LDAsMCwxLTQuMzMtMy4yOCw3LjE2LDcuMTYsMCwwLDEtNi4xMywzLjMyQzQwNS4zMiwzMS4yNSw0MDIuOTIsMjkuMTEsNDAyLjkyLDI1LjYyWm0xMS44MS0xLjg5LDAtMS44OWMtLjQ2LDAtLjg4LS4wOC0xLjM0LS4wOC0zLjM2LDAtNC42NywxLjM0LTQuNjcsMy4xYTIuMzUsMi4zNSwwLDAsMCwyLjU3LDIuNDhDNDEzLjIyLDI3LjM0LDQxNC42NSwyNiw0MTQuNzMsMjMuNzNaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0xMzguMDYsNjUuODNjLTItLjEzLTQuMzgtLjE2LTYuNzktLjE2cy01LDAtNy4xLjE2Yy4xNS0xLjQ5LjIxLTUuNjIuMjEtNy42M1Y1MS4zOGMwLTItLjA2LTYtLjIxLTcuNDcsMS4yMSwwLDQuMjcsMCw1LjMtLjE2LS4wOS45LS4xMywzLjM4LS4xMyw0LjU5VjYwYTE1LjMyLDE1LjMyLDAsMCwwLC4wNywxLjczYy44LDAsMS42NywwLDIuNTEsMCwyLjM4LDAsNC40MywwLDYuNDItLjA5QzEzOC4xOCw2MywxMzguMTIsNjQuMzEsMTM4LjA2LDY1LjgzWiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMTM5Ljc3LDYyYzAtMywyLjU0LTUsNy42My01LC4zNCwwLC43NCwwLDEuMTUuMDZsMC0uNDNjLjA2LTEuNjQtLjY1LTIuNDgtMi41NS0yLjQ4YTksOSwwLDAsMC00LjQ5LDEuMzZsLS42NS0zLjQ0QTEyLjYsMTIuNiwwLDAsMSwxNDcsNTAuNDVjNC4yOCwwLDYuMjEsMi4wOCw2LjExLDUuOTVsLS4xNSw1LjQzYzAsLjg3LjI1LDEuMTQuOSwxLjE0YTIuNjgsMi42OCwwLDAsMCwuOTMtLjE4bC0uMjIsMi43OWE3LjI0LDcuMjQsMCwwLDEtMi41MS41LDMsMywwLDAsMS0zLjE5LTIuNDIsNS4zMSw1LjMxLDAsMCwxLTQuNTMsMi40NUMxNDEuNTQsNjYuMTEsMTM5Ljc3LDY0LjUyLDEzOS43Nyw2MlptOC43MS0xLjM5LDAtMS40Yy0uMzQsMC0uNjUtLjA2LTEtLjA2LTIuNDgsMC0zLjQ0LDEtMy40NCwyLjI5QTEuNzIsMS43MiwwLDAsMCwxNDYsNjMuMjIsMi40OSwyLjQ5LDAsMCwwLDE0OC40OCw2MC41NloiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTE2Ni4zNCw2NS43Yy4xNS0xLjMzLjIxLTMuNDcuMjEtNS4yN1Y1N2MwLTEuOC0uNDYtMi44NS0yLTIuODVhMy4zNSwzLjM1LDAsMCwwLTMuMjIsMy4xdjUuMjdjMCwxLjA4LDAsMi4zOS4xMiwzLjE5aC01Yy4xMi0xLjMzLjE4LTMuNDcuMTgtNS4yN1Y1Ni4xNWMwLTEuOC0uMDYtMy43OC0uMTgtNS4xMSwxLjA4LDAsMy42OS0uMzEsNC42Mi0uNDFsLjIxLDMuMTRhNi42NSw2LjY1LDAsMCwxLDUuNC0zLjMyYzMuMDcsMCw0LjUsMiw0LjUsNS4yN3Y2Ljc5YzAsMS4wOC4wNiwyLjM5LjEyLDMuMTlaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0xODQuMjUsNTEuMzhsMC0yLjczYzAtMS44LDAtMy42My0uMTYtNSwxLjEyLS4wOSw0LjA3LS4zNyw1LS41Ni0uMS44MS0uMTMsMi4zMy0uMTMsMy4zOFY2MC41NmMwLDEuNzkuMDcsMy43Mi4yMiw1LjE0aC00LjQ3bC0uMjEtMS41NWE1LjM4LDUuMzgsMCwwLDEtNC4yOCwyLjExYy00LjEyLDAtNi41Ny0zLjQ0LTYuNTctNy4zNSwwLTQuOCwzLjEtOC40Niw3LjM4LTguNDZBNS43Niw1Ljc2LDAsMCwxLDE4NC4yNSw1MS4zOFptLTUuOTUsNy4wN2MwLDIuOTQsMS40OSw0LjQsMy4zNSw0LjRhMi45NCwyLjk0LDAsMCwwLDIuNi0xLjUyVjU0Ljc5YTMuNDEsMy40MSwwLDAsMC0yLjUxLS45M0MxNzkuNTQsNTMuODYsMTc4LjMsNTUuOTQsMTc4LjMsNTguNDVaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0xOTkuNSw2NS43Yy4xNi0xLjQ5LjIyLTUuNDUuMjItNy40N1Y1MS4zOGMwLTItLjA2LTYtLjIyLTcuNDcsMS4yMSwwLDQuMzEsMCw1LjMzLS4xNi0uMDkuOS0uMTIsMy4zOC0uMTIsNC41OXYxMi45YzAsMS4xOCwwLDMuNTkuMTIsNC40NloiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTIxOC40Nyw2NS43Yy4xNS0xLjMzLjIxLTMuNDcuMjEtNS4yN1Y1N2MwLTEuOC0uNDYtMi44NS0yLTIuODVhMy4zNSwzLjM1LDAsMCwwLTMuMjIsMy4xdjUuMjdjMCwxLjA4LDAsMi4zOS4xMiwzLjE5aC01Yy4xMi0xLjMzLjE5LTMuNDcuMTktNS4yN1Y1Ni4xNWMwLTEuOC0uMDctMy43OC0uMTktNS4xMSwxLjA4LDAsMy42OS0uMzEsNC42Mi0uNDFsLjIyLDMuMTRhNi42Miw2LjYyLDAsMCwxLDUuMzktMy4zMmMzLjA3LDAsNC41LDIsNC41LDUuMjd2Ni43OWMwLDEuMDguMDYsMi4zOS4xMiwzLjE5WiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMjM2LjExLDQ3LjA3YTQsNCwwLDAsMC0xLjQtLjIyYy0xLjY3LDAtMi40OCwxLTIuNDgsMi45NXYxaDMuNjZjLS4wOS42OC0uMTIsMi4yMy0uMTIsMy4zNWgtMy41NFY2Mi43YTI5LjIxLDI5LjIxLDAsMCwwLC4xMiwzaC01YTQ3LDQ3LDAsMCwwLC4yMi01LjA1VjU0LjE0SDIyNWwuNzEtMy4zNWgxLjg2VjUwYzAtNC4yNywyLjE3LTYuOTEsNi4yNi02LjkxYTcuODcsNy44NywwLDAsMSwyLC4yNVoiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTI0NCw2Ni4yNmE3LjI3LDcuMjcsMCwwLDEtNy41LTcuNTNjMC00Ljc1LDMuMTYtOC4yOCw3LjktOC4yOEE3LjI2LDcuMjYsMCwwLDEsMjUyLDU4QzI1Miw2Mi43MywyNDguODQsNjYuMjYsMjQ0LDY2LjI2Wm0uMjgtMTIuMzRjLTIsMC0zLjIzLDEuNjQtMy4yMyw0LjMxLDAsMy4xOSwxLjI3LDQuNTYsMy4xLDQuNTYsMiwwLDMuMjMtMS42MSwzLjIzLTQuMzRDMjQ3LjQxLDU1LjIyLDI0Niw1My45MiwyNDQuMzEsNTMuOTJaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0yNjQsNTVjLTIuMzktLjMxLTQuOS40OS00LjksMy4xdjQuNGMwLDEuMDgsMCwyLjM5LjEyLDMuMTloLTVhNTIuMjMsNTIuMjMsMCwwLDAsLjE5LTUuMjdWNTUuODFhMzMuNjcsMzMuNjcsMCwwLDAtLjI1LTQuNjgsNDMuMTksNDMuMTksMCwwLDAsNC42NS0uNTNsLjI1LDMuNDRhNi4wNiw2LjA2LDAsMCwxLDUuMy0zLjU5WiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMjg0Ljc1LDY1LjdhNTIuMjMsNTIuMjMsMCwwLDAsLjE5LTUuMjdWNTdjMC0xLjgtLjM3LTIuODUtMS44My0yLjg1QTIuODcsMi44NywwLDAsMCwyODAuMjMsNTd2NS40OWMwLDEuMDgsMCwyLjM5LjEyLDMuMTloLTVjLjE1LTEuMzMuMTgtMy40Ny4xOC01LjI3VjU3YzAtMS44LS4zMS0yLjg1LTEuNzYtMi44NUEyLjksMi45LDAsMCwwLDI3MC44Myw1N3Y1LjQ5QTMwLjQyLDMwLjQyLDAsMCwwLDI3MSw2NS43aC01Yy4xMy0xLjMzLjE5LTMuNDcuMTktNS4yN1Y1Ni4xNWMwLTEuOC0uMDYtMy43OC0uMTktNS4xMSwxLjA5LDAsMy42OS0uMzEsNC42Mi0uNDFsLjIyLDIuNzlhNi4yNSw2LjI1LDAsMCwxLDUtMywzLjkzLDMuOTMsMCwwLDEsNC4yMiwzLjEsNi4xNCw2LjE0LDAsMCwxLDUuMTUtMy4xYzMuMSwwLDQuNTIsMiw0LjUyLDUuMjd2Ni43OWEzMC40MiwzMC40MiwwLDAsMCwuMTMsMy4xOVoiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTI5MS44Nyw2MmMwLTMsMi41NC01LDcuNjItNSwuMzUsMCwuNzUsMCwxLjE1LjA2bDAtLjQzYy4wNi0xLjY0LS42NS0yLjQ4LTIuNTQtMi40OGE5LDksMCwwLDAtNC41LDEuMzZMMjkzLDUyLjA2YTEyLjY3LDEyLjY3LDAsMCwxLDYuMDgtMS42MWM0LjI4LDAsNi4yLDIuMDgsNi4xMSw1Ljk1TDMwNSw2MS44M2MwLC44Ny4yNSwxLjE0LjksMS4xNGEyLjY4LDIuNjgsMCwwLDAsLjkzLS4xOGwtLjIxLDIuNzlhNy4yNSw3LjI1LDAsMCwxLTIuNTIuNSwzLDMsMCwwLDEtMy4xOS0yLjQyLDUuMyw1LjMsMCwwLDEtNC41MywyLjQ1QzI5My42Myw2Ni4xMSwyOTEuODcsNjQuNTIsMjkxLjg3LDYyWm04LjcxLTEuMzksMC0xLjRjLS4zNCwwLS42NS0uMDYtMS0uMDYtMi40OCwwLTMuNDQsMS0zLjQ0LDIuMjlhMS43MiwxLjcyLDAsMCwwLDEuODksMS44M0EyLjUsMi41LDAsMCwwLDMwMC41OCw2MC41NloiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTMxNy44NCw2NS4zM2E3LjE2LDcuMTYsMCwwLDEtMy40Ny44N2MtMy4xMywwLTQuOS0xLjMzLTQuOS01LjEyVjU0LjE0aC0yLjU0bC43NC0zLjM1aDEuODZsLjI4LTMsNC4zNC0xLjQzdjQuNDdIMzE4Yy0uMDcuNjgtLjEsMi4yMy0uMSwzLjM1aC0zLjcydjYuNDhjMCwxLjU1LjU5LDEuOTIsMS41OCwxLjkyYTQuMzQsNC4zNCwwLDAsMCwyLjI0LS42OFoiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTMyMi43OSw0OC4xNWEyLjUxLDIuNTEsMCwwLDEtMi43LTIuNDEsMi42NSwyLjY1LDAsMCwxLDIuNzktMi42MSwyLjU1LDIuNTUsMCwwLDEsMi42NywyLjQ1QTIuNjIsMi42MiwwLDAsMSwzMjIuNzksNDguMTVaTTMyMC4xMiw2NS43YTUwLDUwLDAsMCwwLC4yMi01LjA4VjU2LjE4YzAtMS43OS0uMDctMy45My0uMjItNS4yNywxLjEyLDAsNC4wOS0uMTgsNS0uMjgtLjA5LjgxLS4xMiwyLjI0LS4xMiwzLjMyVjYyLjdhMjkuNTksMjkuNTksMCwwLDAsLjEyLDNaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0zMzQuODgsNjYuMjZhNy4yNyw3LjI3LDAsMCwxLTcuNS03LjUzYzAtNC43NSwzLjE2LTguMjgsNy45MS04LjI4QTcuMjYsNy4yNiwwLDAsMSwzNDIuODIsNThDMzQyLjgyLDYyLjczLDMzOS42OSw2Ni4yNiwzMzQuODgsNjYuMjZabS4yOC0xMi4zNGMtMiwwLTMuMjIsMS42NC0zLjIyLDQuMzEsMCwzLjE5LDEuMjcsNC41NiwzLjEsNC41NiwyLDAsMy4yMi0xLjYxLDMuMjItNC4zNEMzMzguMjYsNTUuMjIsMzM2LjksNTMuOTIsMzM1LjE2LDUzLjkyWiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMzU0LjkyLDY1LjdhNTEuNDgsNTEuNDgsMCwwLDAsLjIyLTUuMjdWNTdjMC0xLjgtLjQ3LTIuODUtMS45NS0yLjg1YTMuMzUsMy4zNSwwLDAsMC0zLjIzLDMuMXY1LjI3YTMwLjQyLDMwLjQyLDAsMCwwLC4xMywzLjE5aC01Yy4xMy0xLjMzLjE5LTMuNDcuMTktNS4yN1Y1Ni4xNWMwLTEuOC0uMDYtMy43OC0uMTktNS4xMSwxLjA5LDAsMy42OS0uMzEsNC42Mi0uNDFsLjIyLDMuMTRhNi42Miw2LjYyLDAsMCwxLDUuNC0zLjMyYzMuMDYsMCw0LjQ5LDIsNC40OSw1LjI3djYuNzljMCwxLjA4LjA2LDIuMzkuMTMsMy4xOVoiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTEyNC4yOSw4OS4yM2wuMDYtNy4xOWMwLTIsMC01Ljc3LS4xNS03LjI2bDMuMDctLjI4LDExLjcyLDE0VjgyLjM4YzAtMi0uMDctNi0uMjUtNy40NywxLjIxLDAsNC4wOSwwLDUuMTUtLjE2LS4xMy45LS4xOSwzLjM4LS4xOSw0LjU5bC0uMDksMTNjMCwxLjIxLDAsMy42OS4wNiw0LjU2bC0zLC4yOEwxMjksODMuMTh2OS4wNmMwLDEuMjEsMCwzLjU5LjEzLDQuNDZIMTI0QzEyNC4xMyw5NS4yMSwxMjQuMjYsOTEuMjUsMTI0LjI5LDg5LjIzWiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMTYwLDkwbC04LjY1LjI1Yy4xNiwyLjI3LDEuNDYsMy40OCwzLjk0LDMuNDhhOS44OCw5Ljg4LDAsMCwwLDUuNTUtMS43N2wtLjA5LDMuNTZhMTEuMDcsMTEuMDcsMCwwLDEtNiwxLjc0Yy01LjMzLDAtNy45NC0zLjQ0LTcuOTQtNy42LDAtNC43NCwzLjIzLTguMTgsNy45NC04LjE4czYuNjcsMy4yNSw2LjY3LDcuMzJabS0yLjczLTIuMjNjLS4xOC0xLjk1LTEtMy0yLjY2LTNzLTMsMS4zNy0zLjIzLDMuMloiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTE2NS4zOCw5MS43N2wtMS40OS00Yy0uNjgtMS44My0xLjYxLTQuMzctMi4yMy01LjczLjQ5LDAsNC4xNS0uMjgsNC42OC0uMzFsMi43OSw4Ljc3LDEuMjEtMy40MSwxLjc2LTUuMjEsMy4xNC0uMTUsMyw4Ljc0LDEuMTItMy40MWMuMTktLjYyLDEuMzctNC4zNCwxLjU4LTUuMTgsMS43NCwwLDMsMCw0LjQ3LS4wOWwtNS42MSwxNS0zLjI2LjE4Yy0uNDctMS41OC0xLjE1LTMuNTMtMS45Mi01LjYxbC0xLjEyLTMuMS0zLjEzLDguNTMtMy4yOS4xNUMxNjYuNzEsOTUuNDYsMTY2LjA2LDkzLjYzLDE2NS4zOCw5MS43N1oiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTIxMS4yLDc2LjkyLDE5OS40OCw5Mi44aDMuNzJjMi42NiwwLDUuNzMsMCw3LjUtLjEtLjEyLDEuMjQtLjIyLDIuNjQtLjI1LDQuMTMtMS44Ni0uMTMtNS40Mi0uMTYtOC40My0uMTYtMy41NywwLTYuODIsMC05LjEyLjE2bC0uMzctMi4zLDExLjY2LTE1Ljc4aC0zLjQxYy0yLjc2LDAtNS4yMSwwLTcuMzUuMDYuMTYtMS4xNC4zMS0yLjc2LjM3LTQuMDksMy4wNy4wOSw0LjQxLjE1LDguNS4xNSwzLjkxLDAsNi4zNS0uMDYsOC40OS0uMTVaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0yMjUuNTgsOTBsLTguNjUuMjVjLjE2LDIuMjcsMS40NiwzLjQ4LDMuOTQsMy40OGE5Ljg1LDkuODUsMCwwLDAsNS41NS0xLjc3bC0uMDksMy41NmExMS4wNywxMS4wNywwLDAsMS02LDEuNzRjLTUuMzMsMC03LjkzLTMuNDQtNy45My03LjYsMC00Ljc0LDMuMjItOC4xOCw3LjkzLTguMThTMjI3LDg0LjcsMjI3LDg4Ljc3Wm0tMi43My0yLjIzYy0uMTgtMS45NS0xLTMtMi42Ni0zcy0zLDEuMzctMy4yMywzLjJaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0yMjguMyw5M2MwLTMsMi41NC01LDcuNjMtNSwuMzQsMCwuNzQsMCwxLjE1LjA2bDAtLjQzYy4wNi0xLjY0LS42NS0yLjQ4LTIuNTUtMi40OGE4Ljk0LDguOTQsMCwwLDAtNC40OSwxLjM2bC0uNjUtMy40NGExMi42MSwxMi42MSwwLDAsMSw2LjA4LTEuNjFjNC4yNywwLDYuMiwyLjA4LDYuMSw2bC0uMTUsNS40M2MwLC44Ny4yNSwxLjE0LjksMS4xNGEyLjY4LDIuNjgsMCwwLDAsLjkzLS4xOGwtLjIyLDIuNzlhNy4yNCw3LjI0LDAsMCwxLTIuNTEuNSwzLDMsMCwwLDEtMy4xOS0yLjQyLDUuMzEsNS4zMSwwLDAsMS00LjUzLDIuNDVDMjMwLjA3LDk3LjExLDIyOC4zLDk1LjUyLDIyOC4zLDkzWk0yMzcsOTEuNTZsMC0xLjRjLS4zNSwwLS42Ni0uMDYtMS0uMDYtMi40OCwwLTMuNDQsMS0zLjQ0LDIuMjlhMS43MiwxLjcyLDAsMCwwLDEuODksMS44M0EyLjQ5LDIuNDksMCwwLDAsMjM3LDkxLjU2WiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIKICAgICAgICAgICAgICBkPSJNMjQ1LDk2LjdjLjEyLTEuMzMuMTgtMy4zNS4xOC01LjE3Vjc5LjY4YzAtMS44LS4wNi0zLjY2LS4xOC01LDEuMDgtLjA2LDQuMDYtLjM3LDUtLjU2LS4wOS44MS0uMTIsMy41Ny0uMTIsNC4xMlY5My42YzAsMS4wOSwwLDIuMy4xMiwzLjFaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0yNTIuMTcsOTNjMC0zLDIuNTQtNSw3LjYzLTUsLjM0LDAsLjc0LDAsMS4xNC4wNmwwLS40M2MuMDctMS42NC0uNjUtMi40OC0yLjU0LTIuNDhhOSw5LDAsMCwwLTQuNSwxLjM2bC0uNjUtMy40NGExMi42NywxMi42NywwLDAsMSw2LjA4LTEuNjFjNC4yOCwwLDYuMiwyLjA4LDYuMTEsNmwtLjE2LDUuNDNjMCwuODcuMjUsMS4xNC45LDEuMTRhMi42OCwyLjY4LDAsMCwwLC45My0uMThsLS4yMSwyLjc5YTcuMjQsNy4yNCwwLDAsMS0yLjUxLjUsMywzLDAsMCwxLTMuMi0yLjQyLDUuMyw1LjMsMCwwLDEtNC41MywyLjQ1QzI1My45Myw5Ny4xMSwyNTIuMTcsOTUuNTIsMjUyLjE3LDkzWm04LjcxLTEuMzksMC0xLjRjLS4zNCwwLS42NS0uMDYtMS0uMDYtMi40OCwwLTMuNDQsMS0zLjQ0LDIuMjlhMS43MiwxLjcyLDAsMCwwLDEuODksMS44M0EyLjUsMi41LDAsMCwwLDI2MC44OCw5MS41NloiLz4KICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgZD0iTTI3OC43Myw5Ni43YTUxLjQ4LDUxLjQ4LDAsMCwwLC4yMi01LjI3Vjg4YzAtMS44LS40Ni0yLjg1LTEuOTUtMi44NWEzLjM1LDMuMzUsMCwwLDAtMy4yMywzLjF2NS4yN2EzMC40MiwzMC40MiwwLDAsMCwuMTMsMy4xOWgtNWMuMTItMS4zMy4xOC0zLjQ3LjE4LTUuMjdWODcuMTVjMC0xLjgtLjA2LTMuNzgtLjE4LTUuMTEsMS4wOCwwLDMuNjgtLjMxLDQuNjEtLjQxbC4yMiwzLjE0YTYuNjIsNi42MiwwLDAsMSw1LjQtMy4zMmMzLjA3LDAsNC40OSwyLDQuNDksNS4yN3Y2Ljc5YzAsMS4wOC4wNiwyLjM5LjEzLDMuMTlaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgIGQ9Ik0yOTYuNjUsODIuMzhsMC0yLjczYzAtMS44LDAtMy42My0uMTYtNSwxLjEyLS4wOSw0LjA2LS4zNyw1LS41Ni0uMDkuODEtLjEyLDIuMzMtLjEyLDMuMzh2MTRhNTAuMTEsNTAuMTEsMCwwLDAsLjIyLDUuMTRoLTQuNDdsLS4yMS0xLjU1YTUuMzgsNS4zOCwwLDAsMS00LjI4LDIuMTFjLTQuMTMsMC02LjU4LTMuNDQtNi41OC03LjM1LDAtNC44LDMuMS04LjQ2LDcuMzgtOC40NkE1Ljc3LDUuNzcsMCwwLDEsMjk2LjY1LDgyLjM4Wm0tNS45NSw3LjA3YzAsMi45NCwxLjQ4LDQuNCwzLjM0LDQuNGEzLDMsMCwwLDAsMi42MS0xLjUyVjg1Ljc5YTMuNDIsMy40MiwwLDAsMC0yLjUxLS45M0MyOTEuOTQsODQuODYsMjkwLjcsODYuOTQsMjkwLjcsODkuNDVaIi8+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=';
@@ -40112,6 +39848,14 @@ var buildHideClassDict = function (_a) {
40112
39848
  };
40113
39849
  };
40114
39850
 
39851
+ function useDeprecatedWarning(componentName) {
39852
+ React.useEffect(function () {
39853
+ if (window.location.hostname.includes('localhost')) {
39854
+ console.warn("".concat(componentName, " will be deprecated in future versions of Lui. Please see the 'Current Deprecations' page in Lui docs."));
39855
+ }
39856
+ }, []);
39857
+ }
39858
+
40115
39859
  /**
40116
39860
  * @deprecated: this is replaced by LuiHeaderV2
40117
39861
  */
@@ -58450,7 +58194,6 @@ exports.LuiAlertModalButtons = LuiAlertModalButtons;
58450
58194
  exports.LuiBadge = LuiBadge;
58451
58195
  exports.LuiBanner = LuiBanner;
58452
58196
  exports.LuiBannerContent = LuiBannerContent;
58453
- exports.LuiBearingFormikInput = LuiBearingFormikInput;
58454
58197
  exports.LuiBearingInput = LuiBearingInput;
58455
58198
  exports.LuiButton = LuiButton;
58456
58199
  exports.LuiButtonGroup = LuiButtonGroup;
@@ -58485,14 +58228,6 @@ exports.LuiFloatingWindow = LuiFloatingWindow;
58485
58228
  exports.LuiFloatingWindowContextProvider = $F;
58486
58229
  exports.LuiFooter = LuiFooter;
58487
58230
  exports.LuiFormSectionHeader = LuiFormSectionHeader;
58488
- exports.LuiFormikCheckbox = LuiFormikCheckbox;
58489
- exports.LuiFormikForm = LuiFormikForm;
58490
- exports.LuiFormikFormLabel = LuiFormikFormLabel;
58491
- exports.LuiFormikFormSubmitButton = LuiFormikFormSubmitButton;
58492
- exports.LuiFormikRadioButton = LuiFormikRadioButton;
58493
- exports.LuiFormikRadioGroup = LuiFormikRadioGroup;
58494
- exports.LuiFormikSelect = LuiFormikSelect;
58495
- exports.LuiFormikTextInput = LuiFormikTextInput;
58496
58231
  exports.LuiHeader = LuiHeader;
58497
58232
  exports.LuiHeaderMenuItem = LuiHeaderMenuItem;
58498
58233
  exports.LuiHeaderMenuItemV2 = LuiHeaderMenuItemV2;